diff --git a/bl-kernel/admin/controllers/content.php b/bl-kernel/admin/controllers/content.php index 788872ca..c6b90d2a 100644 --- a/bl-kernel/admin/controllers/content.php +++ b/bl-kernel/admin/controllers/content.php @@ -5,6 +5,7 @@ // ============================================================================ checkRole(array('admin', 'editor', 'author')); +global $pagetypes; // ============================================================================ // Functions @@ -35,12 +36,23 @@ function filterContentOwner($list) { // Main after POST // ============================================================================ -$published = $pages->getList($url->pageNumber(), ITEMS_PER_PAGE_ADMIN); -$drafts = $pages->getDraftDB(true); -$scheduled = $pages->getScheduledDB(true); -$static = $pages->getStaticDB(true); -$sticky = $pages->getStickyDB(true); -$autosave = $pages->getAutosaveDB(true); +$contentTypeKey = $layout['parameters']; +if (!$pagetypes->exists($contentTypeKey)) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + +try { + $contentType = new PageType($contentTypeKey); +} catch (Exception $e) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + +$published = $pages->getList($url->pageNumber(), ITEMS_PER_PAGE_ADMIN, [$contentTypeKey], ['published'], true, true); +$drafts = $pages->getDraftDB([$contentTypeKey], true); +$scheduled = $pages->getScheduledDB([$contentTypeKey],true); +$autosave = $pages->getAutosaveDB([$contentTypeKey],true); // If the user is an Author filter the content he/she can edit if (checkRole(array('author'), false)) { @@ -48,12 +60,11 @@ if (checkRole(array('author'), false)) { $drafts = filterContentOwner($drafts); $scheduled = filterContentOwner($scheduled); $static = filterContentOwner($static); - $sticky = filterContentOwner($sticky); } // Check if out of range the pageNumber if (empty($published) && $url->pageNumber()>1) { - Redirect::page('content'); + Redirect::page('content/'.$contentTypeKey); } // Title of the page diff --git a/bl-kernel/admin/controllers/edit-content.php b/bl-kernel/admin/controllers/edit-content.php index b2ff8183..d9612c7b 100644 --- a/bl-kernel/admin/controllers/edit-content.php +++ b/bl-kernel/admin/controllers/edit-content.php @@ -25,6 +25,21 @@ if (checkRole(array('author'), false)) { } } +$pageKey = isset($_POST['key']) ? $_POST['key'] : $layout['parameters']; +$page = new Page($pageKey); +$contentTypeKey = $page->type(); +if (!$pagetypes->exists($contentTypeKey)) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + +try { + $contentType = new PageType($contentTypeKey); +} catch (Exception $e) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + // ============================================================================ // Functions // ============================================================================ @@ -38,9 +53,10 @@ if (checkRole(array('author'), false)) { // ============================================================================ if ($_SERVER['REQUEST_METHOD'] == 'POST') { - if ($_POST['type']==='delete') { + if ($_POST['state']==='delete') { if (deletePage($_POST['key'])) { Alert::set( $L->g('The changes have been saved') ); + Redirect::page('content/'.$contentTypeKey); } } else { $key = editPage($_POST); diff --git a/bl-kernel/admin/controllers/new-content.php b/bl-kernel/admin/controllers/new-content.php index 46238f80..e57b339a 100644 --- a/bl-kernel/admin/controllers/new-content.php +++ b/bl-kernel/admin/controllers/new-content.php @@ -1,5 +1,7 @@ generateUUID(); + +if (!$pagetypes->exists($contentTypeKey)) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + +try { + $contentType = new PageType($contentTypeKey); +} catch (Exception $e) { + Alert::set($L->g('Content type do not exists')); + Redirect::page('dashboard'); +} + // Images prefix directory define('PAGE_IMAGES_KEY', $uuid); diff --git a/bl-kernel/admin/themes/koblog/html/navbar.php b/bl-kernel/admin/themes/koblog/html/navbar.php index e3be3f30..47ee6896 100644 --- a/bl-kernel/admin/themes/koblog/html/navbar.php +++ b/bl-kernel/admin/themes/koblog/html/navbar.php @@ -69,14 +69,14 @@