@section('content')
- <div class="faded-small">
+ <div class="faded-small toolbar">
<div class="container">
<div class="row">
<div class="col-sm-6 faded">
<div class="breadcrumbs">
- <a href="{{$book->getUrl()}}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $book->name }}</a>
+ <a href="{{ $book->getUrl() }}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $book->getShortName() }}</a>
@if($page->hasChapter())
<span class="sep">»</span>
<a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
<i class="zmdi zmdi-collection-bookmark"></i>
- {{$page->chapter->name}}
+ {{ $page->chapter->getShortName() }}
</a>
@endif
</div>
</div>
<div class="col-sm-6 faded">
<div class="action-buttons">
- @if($currentUser->can('page-update'))
- <a href="{{$page->getUrl() . '/revisions'}}" class="text-primary text-button"><i class="zmdi zmdi-replay"></i>Revisions</a>
- <a href="{{$page->getUrl() . '/edit'}}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>Edit</a>
+ <span dropdown class="dropdown-container">
+ <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>Export</div>
+ <ul class="wide">
+ <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">Contained Web File <span class="text-muted float right">.html</span></a></li>
+ <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">PDF File <span class="text-muted float right">.pdf</span></a></li>
+ <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">Plain Text File <span class="text-muted float right">.txt</span></a></li>
+ </ul>
+ </span>
+ @if(userCan('page-update', $page))
+ <a href="{{ $page->getUrl('/edit') }}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>Edit</a>
@endif
- @if($currentUser->can('page-delete'))
- <a href="{{$page->getUrl() . '/delete'}}" class="text-neg text-button"><i class="zmdi zmdi-delete"></i>Delete</a>
+ @if(userCan('page-update', $page) || userCan('restrictions-manage', $page) || userCan('page-delete', $page))
+ <div dropdown class="dropdown-container">
+ <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
+ <ul>
+ @if(userCan('page-update', $page))
+ <li><a href="{{ $page->getUrl('/move') }}" class="text-primary" ><i class="zmdi zmdi-folder"></i>Move</a></li>
+ <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary"><i class="zmdi zmdi-replay"></i>Revisions</a></li>
+ @endif
+ @if(userCan('restrictions-manage', $page))
+ <li><a href="{{ $page->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>Permissions</a></li>
+ @endif
+ @if(userCan('page-delete', $page))
+ <li><a href="{{ $page->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete</a></li>
+ @endif
+ </ul>
+ </div>
@endif
+
</div>
</div>
</div>
</div>
- <div class="container">
+ <div class="container" id="page-show" ng-non-bindable>
<div class="row">
- <div class="col-md-9">
- <div class="page-content anim fadeIn">
+ <div class="col-md-9 print-full-width">
+ <div class="page-content">
<div class="pointer-container" id="pointer">
<div class="pointer anim">
<hr>
<p class="text-muted small">
- Created {{$page->created_at->diffForHumans()}} @if($page->createdBy) by {{$page->createdBy->name}} @endif
+ Created {{ $page->created_at->diffForHumans() }} @if($page->createdBy) by <a href="{{ $page->createdBy->getProfileUrl() }}">{{$page->createdBy->name}}</a> @endif
<br>
- Last Updated {{$page->updated_at->diffForHumans()}} @if($page->createdBy) by {{$page->updatedBy->name}} @endif
+ Last Updated {{ $page->updated_at->diffForHumans() }} @if($page->updatedBy) by <a href="{{ $page->updatedBy->getProfileUrl() }}">{{$page->updatedBy->name}}</a> @endif
</p>
</div>
</div>
- <div class="col-md-3">
-
- @include('pages/sidebar-tree-list', ['book' => $book])
- </div>
- </div>
- </div>
+ <div class="col-md-3 print-hidden">
+ <div class="margin-top large"></div>
+ @if($book->restricted || ($page->chapter && $page->chapter->restricted) || $page->restricted)
+ <div class="text-muted">
+
+ @if($book->restricted)
+ @if(userCan('restrictions-manage', $book))
+ <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Book Permissions Active</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>Book Permissions Active
+ @endif
+ <br>
+ @endif
+ @if($page->chapter && $page->chapter->restricted)
+ @if(userCan('restrictions-manage', $page->chapter))
+ <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active
+ @endif
+ <br>
+ @endif
+ @if($page->restricted)
+ @if(userCan('restrictions-manage', $page))
+ <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Page Permissions Active</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>Page Permissions Active
+ @endif
+ <br>
+ @endif
+ </div>
+ @endif
+ @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree, 'pageNav' => $pageNav])
+ </div>
+ </div>
+ </div>
- <script>
- $(document).ready(function() {
-
-
- // Set up pointer
- var $pointer = $('#pointer').detach();
- var pageId = {{$page->id}};
- var isSelection = false;
-
- $pointer.find('input').click(function(e){$(this).select();e.stopPropagation();});
- new ZeroClipboard( $pointer.find('button').first()[0] );
-
- $(document.body).find('*').on('click focus', function(e) {
- if(!isSelection) {
- $pointer.detach();
- }
- });
-
- $('.page-content [id^="bkmrk"]').on('mouseup keyup', function(e) {
- var selection = window.getSelection();
- if(selection.toString().length === 0) return;
- // Show pointer and set link
- var $elem = $(this);
- var link = window.location.protocol + "//" + window.location.host + '/link/' + pageId + '#' + $elem.attr('id');
- $pointer.find('input').val(link);
- $pointer.find('button').first().attr('data-clipboard-text', link);
- $elem.before($pointer);
- $pointer.show();
- e.stopPropagation();
-
- isSelection = true;
- setTimeout(function() {
- isSelection = false;
- }, 100);
- });
-
- function goToText(text) {
- var idElem = $('.page-content').find('#' + text).first();
- if(idElem.length !== 0) {
- idElem.smoothScrollTo();
- } else {
- $('.page-content').find(':contains("'+text+'")').smoothScrollTo();
- }
- }
-
- if(window.location.hash) {
- var text = window.location.hash.replace(/\%20/g, ' ').substr(1);
- goToText(text);
- }
-
- });
- </script>
+ @include('partials/highlight')
+@stop
- <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/styles/solarized_light.min.css">
- <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/highlight.min.js"></script>
+@section('scripts')
<script>
- window.onload = function() {
- var aCodes = document.getElementsByTagName('pre');
- for (var i=0; i < aCodes.length; i++) {
- hljs.highlightBlock(aCodes[i]);
- }
- };
+ setupPageShow({{$page->id}});
</script>
@stop