]> BookStack Code Mirror - bookstack/blobdiff - resources/views/pages/show.blade.php
Add zh_TW Locales.
[bookstack] / resources / views / pages / show.blade.php
index db5e5168167fbd8de2e0656c2a5999946c72d564..f11da0f4f8f0daadcbfec9c6447188794f72423f 100644 (file)
-@extends('base')
-
-@section('content')
-
-    <div class="faded-small">
-        <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->getShortName() }}</a>
-                        @if($page->hasChapter())
-                            <span class="sep">&raquo;</span>
-                            <a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
-                                <i class="zmdi zmdi-collection-bookmark"></i>
-                                {{$page->chapter->getShortName()}}
-                            </a>
+@extends('sidebar-layout')
+
+@section('toolbar')
+    <div class="col-sm-8 col-xs-5 faded">
+        @include('pages._breadcrumbs', ['page' => $page])
+    </div>
+    <div class="col-sm-4 col-xs-7 faded">
+        <div class="action-buttons">
+            <span dropdown class="dropdown-container">
+                <div dropdown-toggle class="text-button text-primary">@icon('export'){{ trans('entities.export') }}</div>
+                <ul class="wide">
+                    <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
+                    <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
+                    <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <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" >@icon('edit'){{ trans('common.edit') }}</a>
+            @endif
+            @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">@icon('more') {{ trans('common.more') }}</a>
+                    <ul>
+                        @if(userCan('page-update', $page))
+                            <li><a href="{{ $page->getUrl('/move') }}" class="text-primary" >@icon('folder'){{ trans('common.move') }}</a></li>
+                            <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary">@icon('history'){{ trans('entities.revisions') }}</a></li>
                         @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>
+                        @if(userCan('restrictions-manage', $page))
+                            <li><a href="{{ $page->getUrl('/permissions') }}" class="text-primary">@icon('lock'){{ trans('entities.permissions') }}</a></li>
                         @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-delete', $page))
+                            <li><a href="{{ $page->getUrl('/delete') }}" class="text-neg">@icon('delete'){{ trans('common.delete') }}</a></li>
                         @endif
-                    </div>
+                    </ul>
                 </div>
-            </div>
+            @endif
+
         </div>
     </div>
+@stop
 
+@section('sidebar')
+    @if($book->restricted || ($page->chapter && $page->chapter->restricted) || $page->restricted)
+        <div class="card">
+            <h3>@icon('permission') {{ trans('entities.permissions') }}</h3>
+            <div class="body">
+                <div class="text-muted">
+
+                    @if($book->restricted)
+                        @if(userCan('restrictions-manage', $book))
+                            <a href="{{ $book->getUrl('/permissions') }}">@icon('lock'){{ trans('entities.books_permissions_active') }}</a>
+                        @else
+                            @icon('lock'){{ trans('entities.books_permissions_active') }}
+                        @endif
+                        <br>
+                    @endif
 
-    <div class="container">
-        <div class="row">
-            <div class="col-md-9 print-full-width">
-                <div class="page-content anim fadeIn">
-
-                    <div class="pointer-container" id="pointer">
-                        <div class="pointer anim">
-                            <i class="zmdi zmdi-link"></i>
-                            <input readonly="readonly" type="text" placeholder="url">
-                            <button class="button icon" title="Copy Link" data-clipboard-text=""><i class="zmdi zmdi-copy"></i></button>
-                        </div>
-                    </div>
-
-                    @include('pages/page-display')
-
-                    <hr>
-
-                    <p class="text-muted small">
-                        Created {{$page->created_at->diffForHumans()}} @if($page->createdBy) by {{$page->createdBy->name}} @endif
+                    @if($page->chapter && $page->chapter->restricted)
+                        @if(userCan('restrictions-manage', $page->chapter))
+                            <a href="{{ $page->chapter->getUrl('/permissions') }}">@icon('lock'){{ trans('entities.chapters_permissions_active') }}</a>
+                        @else
+                            @icon('lock'){{ trans('entities.chapters_permissions_active') }}
+                        @endif
                         <br>
-                        Last Updated {{$page->updated_at->diffForHumans()}} @if($page->createdBy) by {{$page->updatedBy->name}} @endif
-                    </p>
+                    @endif
 
+                    @if($page->restricted)
+                        @if(userCan('restrictions-manage', $page))
+                            <a href="{{ $page->getUrl('/permissions') }}">@icon('lock'){{ trans('entities.pages_permissions_active') }}</a>
+                        @else
+                            @icon('lock'){{ trans('entities.pages_permissions_active') }}
+                        @endif
+                        <br>
+                    @endif
                 </div>
             </div>
-            <div class="col-md-3 print-hidden">
-
-                @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree])
-
+        </div>
+    @endif
+
+    @if($page->tags->count() > 0)
+        <div class="card tag-display">
+            <h3>@icon('tag') {{ trans('entities.page_tags') }}</h3>
+            <div class="body">
+                <table>
+                    <tbody>
+                    @foreach($page->tags as $tag)
+                        <tr class="tag">
+                            <td @if(!$tag->value) colspan="2" @endif><a href="{{ baseUrl('/search?term=%5B' . urlencode($tag->name) .'%5D') }}">{{ $tag->name }}</a></td>
+                            @if($tag->value) <td class="tag-value"><a href="{{ baseUrl('/search?term=%5B' . urlencode($tag->name) .'%3D' . urlencode($tag->value) . '%5D') }}">{{$tag->value}}</a></td> @endif
+                        </tr>
+                    @endforeach
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    @endif
+
+    @if ($page->attachments->count() > 0)
+        <div class="card">
+            <h3>@icon('attach') {{ trans('entities.pages_attachments') }}</h3>
+            <div class="body">
+                @foreach($page->attachments as $attachment)
+                    <div class="attachment">
+                        <a href="{{ $attachment->getUrl() }}" @if($attachment->external) target="_blank" @endif>@icon($attachment->external ? 'export' : 'file'){{ $attachment->name }}</a>
+                    </div>
+                @endforeach
             </div>
         </div>
+    @endif
+
+    @if (isset($pageNav) && count($pageNav))
+        <div class="card">
+            <h3>@icon('open-book') {{ trans('entities.pages_navigation') }}</h3>
+            <div class="body">
+                <div class="sidebar-page-nav menu">
+                    @foreach($pageNav as $navItem)
+                        <li class="page-nav-item h{{ $navItem['level'] }}">
+                            <a href="{{ $navItem['link'] }}">{{ $navItem['text'] }}</a>
+                        </li>
+                    @endforeach
+                </div>
+            </div>
+        </div>
+    @endif
+
+    <div class="card">
+        <h3>@icon('info') {{ trans('common.details') }}</h3>
+        <div class="body">
+            @include('partials.entity-meta', ['entity' => $page])
+        </div>
     </div>
 
+    @include('partials/book-tree', ['book' => $book, 'sidebarTree' => $sidebarTree])
+
+@stop
 
+@section('body')
+    <div class="page-content" ng-non-bindable>
 
+        <div class="pointer-container" id="pointer">
+            <div class="pointer anim" >
+                <span class="icon text-primary">@icon('link') @icon('include', ['style' => 'display:none;'])</span>
+                <input readonly="readonly" type="text" id="pointer-url" placeholder="url">
+                <button class="button icon" data-clipboard-target="#pointer-url" type="button" title="{{ trans('entities.pages_copy_link') }}">@icon('copy')</button>
+            </div>
+        </div>
 
+        @include('pages/page-display')
 
+    </div>
+    @if ($commentsEnabled)
+      <div class="container small nopad">
+          @include('comments/comments', ['page' => $page])
+      </div>
+    @endif
+@stop
+
+@section('scripts')
     <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);
-            }
-
-        });
+        setupPageShow({{$page->id}});
     </script>
-
-    @include('partials/highlight')
 @stop