bludit/bl-kernel/boot/rules/69.pages.php

77 lines
1.7 KiB
PHP

<?php defined('BLUDIT') or die('Bludit CMS.');
// ============================================================================
// Variables
// ============================================================================
// Array with all published pages
$pages = array();
// Array with all pages (published, fixed, sticky, draft, scheduled)
$allPages = array();
// Object Page for the page filtered by the user
$page = false;
// Array with all page parents published
//$pageParents = array();
// Array with all published pages, the array is a key=>Page-object
$pagesByKey = array();
// ============================================================================
// Main
// ============================================================================
// Execute the scheduler
if( $dbPages->scheduler() ) {
// Reindex tags
reindexTags();
// Reindex categories
reindexCategories();
// Add to syslog
$Syslog->add(array(
'dictionaryKey'=>'page-published-from-scheduler',
'notes'=>''
));
}
// Build specific page
if( $Url->whereAmI()==='page' ) {
// Build the page
$page = buildPage( $Url->slug() );
// The page doesn't exist
if($page===false) {
$Url->setNotFound(true);
}
// The page is not published, still scheduled or draft
elseif( $page->scheduled() || $page->draft() ) {
$Url->setNotFound(true);
}
else {
$pages[0] = $page;
}
}
elseif( $Url->whereAmI()==='tag' ) {
buildPagesByTag();
}
elseif( $Url->whereAmI()==='category' ) {
buildPagesByCategory();
}
elseif( $Url->whereAmI()==='home' ) {
buildPagesForHome();
}
elseif( $Url->whereAmI()==='admin' ) {
buildPagesForAdmin();
}
// Set page 404 not found
if( $Url->notFound() ) {
$Url->setWhereAmI('page');
$page = new Page('error');
}