mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-15 15:44:03 +08:00
3f3fad7113
When book trees were generated, pages in chapters where ALL pages within were not supposed to be visibile, would be visible due to the code falling back on the raw relation which would not account for permissions. This has now been changed so that a custom 'visible_pages' attribute is set and used by any book tree structures, to ensure it does not fall back to the raw relation. Added an extra test to cover. For #2414
81 lines
2.2 KiB
PHP
81 lines
2.2 KiB
PHP
<!doctype html>
|
|
<html lang="{{ config('app.lang') }}">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
<title>{{ $book->name }}</title>
|
|
|
|
@include('partials.export-styles', ['format' => $format])
|
|
|
|
<style>
|
|
.page-break {
|
|
page-break-after: always;
|
|
}
|
|
.chapter-hint {
|
|
color: #888;
|
|
margin-top: 32px;
|
|
}
|
|
.chapter-hint + h1 {
|
|
margin-top: 0;
|
|
}
|
|
ul.contents ul li {
|
|
list-style: circle;
|
|
}
|
|
@media screen {
|
|
.page-break {
|
|
border-top: 1px solid #DDD;
|
|
}
|
|
}
|
|
</style>
|
|
@yield('head')
|
|
@include('partials.custom-head')
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page-content">
|
|
|
|
<h1 style="font-size: 4.8em">{{$book->name}}</h1>
|
|
|
|
<p>{{ $book->description }}</p>
|
|
|
|
@if(count($bookChildren) > 0)
|
|
<ul class="contents">
|
|
@foreach($bookChildren as $bookChild)
|
|
<li><a href="#{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</a></li>
|
|
@if($bookChild->isA('chapter') && count($bookChild->visible_pages) > 0)
|
|
<ul>
|
|
@foreach($bookChild->visible_pages as $page)
|
|
<li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
|
|
@endforeach
|
|
</ul>
|
|
@endif
|
|
@endforeach
|
|
</ul>
|
|
@endif
|
|
|
|
@foreach($bookChildren as $bookChild)
|
|
<div class="page-break"></div>
|
|
<h1 id="{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</h1>
|
|
|
|
@if($bookChild->isA('chapter'))
|
|
<p>{{ $bookChild->description }}</p>
|
|
|
|
@if(count($bookChild->visible_pages) > 0)
|
|
@foreach($bookChild->visible_pages as $page)
|
|
<div class="page-break"></div>
|
|
<div class="chapter-hint">{{$bookChild->name}}</div>
|
|
<h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
|
|
{!! $page->html !!}
|
|
@endforeach
|
|
@endif
|
|
|
|
@else
|
|
{!! $bookChild->html !!}
|
|
@endif
|
|
|
|
@endforeach
|
|
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|