diff --git a/app/Http/Controllers/Admin/ContentOverview.php b/app/Http/Controllers/Admin/ContentOverview.php index 592b68e7..95954ec4 100644 --- a/app/Http/Controllers/Admin/ContentOverview.php +++ b/app/Http/Controllers/Admin/ContentOverview.php @@ -39,7 +39,7 @@ class ContentOverview extends Controller } // get pages for overview - $pages = $this->content->getOverview($moduleFilterHandler, $status, true) + $pages = $this->content->getOverview($moduleFilterHandler, $status, true, true) ->paginate($perPage); // get homepage - for checking if homepage is set and available diff --git a/app/Models/Content.php b/app/Models/Content.php index 18dbfe40..85db80f5 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -96,37 +96,41 @@ class Content extends Model /** * Is current content draft? - * + * * @return bool */ - public function isDraft() { + public function isDraft() + { return $this->status == self::STATUS_DRAFT; } /** * Is current content visible for all visitors? - * + * * @return bool */ - public function isPublic() { + public function isPublic() + { return $this->status == self::STATUS_PUBLIC; } /** * Is current content visible only for logged users? - * + * * @return bool */ - public function isProtected() { + public function isProtected() + { return $this->status == self::STATUS_PROTECTED; } /** * Is current content visible for logged user OR for everyone? - * + * * @return bool */ - public function isVisible() { + public function isVisible() + { return $this->isPublic() || $this->isProtected(); } @@ -157,7 +161,7 @@ class Content extends Model * * @return */ - public function getOverview($handler = false, $status = false, $joinAuthor = false) + public function getOverview($handler = false, $status = false, $joinAuthor = false, $joinParent = false) { $query = DB::table('contents') ->select('contents.*', 'modules.name AS module_name') @@ -177,6 +181,12 @@ class Content extends Model ->addSelect('users.email AS author_email'); } + if ($joinParent) { + $query = $query->join('contents as parent', 'parent.id', '=', 'contents.parent_id') + ->addSelect('parent.title AS parent_title') + ->addSelect('parent.url AS parent_url'); + } + // add filtering by status if (in_array($status, ContentStatuses::getSimple())) { $query = $query->where('contents.status', $status); diff --git a/resources/assets/css/admin.css b/resources/assets/css/admin.css index c5b041ba..cb69e4df 100644 --- a/resources/assets/css/admin.css +++ b/resources/assets/css/admin.css @@ -99,38 +99,31 @@ code { left: 0; } -#static-page-overview .page { - position: relative; - padding-bottom: 3em; -} - -#static-page-overview .page .controls { - position: absolute; - bottom: 0; -} - -#static-page-overview .page .controls .button { - margin-bottom: 10px; -} - -#static-page-overview .date, #static-page-overview .author { - font-size: 80%; - -} - -#static-page-overview .perex { - -} - -#static-page-overview .keywords { - margin-bottom: 0; - font-size: 80%; -} - #appearance .title-photo img { max-height: 10em; } +.page img { + max-height: 7em; +} + +.page .parent, .page .date, .page .author { + font-style: italic; + font-size: 75%; +} + +.page.draft { + opacity: 0.5; +} + +.page.draft:hover { + opacity: 1; +} + +.page.protected { + border-color: orange; +} + .red { color: red; } diff --git a/resources/lang/en/admin/contents.php b/resources/lang/en/admin/contents.php index 1aaf3ae9..7127fffe 100644 --- a/resources/lang/en/admin/contents.php +++ b/resources/lang/en/admin/contents.php @@ -19,11 +19,11 @@ return [ 'field_published_to' => 'Published to', 'successfullyCreated' => 'Page successfully created', 'noPagesAvailable' => 'No static pages available. Try to create one first.', - 'viewPage' => 'View page on web', - 'deletePage' => 'Delete page (ireversible!)', - 'makePublic' => 'Publish page', - 'makeProtected' => 'Publish page only for logged users', - 'makeDraft' => 'Disable page and make it draft', + 'viewPage' => 'View', + 'deletePage' => 'Delete', + 'makePublic' => 'Publish', + 'makeProtected' => 'Logged users only', + 'makeDraft' => 'Make draft', 'invalidStatus' => 'Cannot change status to something undefined.', 'statusChanged' => 'Status successfully changed.', 'invalidPage' => 'Specified page does not exist.', @@ -39,5 +39,8 @@ return [ 'noParentPage' => ' -- No parent page -- ', 'uploadTitleImage' => 'Upload title image', 'noHomepage' => 'You have not set up your homepage yet, or your current homepage is draft! Try to select another one.', - 'homepageProtected' => 'Your homepage is displayed only for logged in users. This may or may not be an error.' + 'homepageProtected' => 'Your homepage is displayed only for logged in users. This may or may not be an error.', + 'parentPage' => 'Parent page', + 'alreadyHomepage' => 'Homepage' + ]; \ No newline at end of file diff --git a/resources/views/admin/content/overviewTiles.blade.php b/resources/views/admin/content/overviewTiles.blade.php index 76f90c11..67c4422d 100644 --- a/resources/views/admin/content/overviewTiles.blade.php +++ b/resources/views/admin/content/overviewTiles.blade.php @@ -1,67 +1,83 @@ -
- @if (trim($page->meta_description)) - {{str_limit($page->meta_description)}} - @else - {{str_limit(strip_tags($page->content))}} - @endif -
- - @if ($page->meta_keywords) -{{$page->meta_keywords}}
- @endif - -- @if($page->is_homepage) - - @else - - @endif - - - - @if($page->status == \App\Models\Content::STATUS_DRAFT) - - - @else - - - @endif - - -
-+ @if (trim($page->meta_description)) + {{str_limit($page->meta_description)}} + @else + {{str_limit(strip_tags($page->content))}} + @endif +
+