diff options
author | Thomas Lange <code@nerdmind.de> | 2017-04-11 07:13:13 +0200 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2017-04-11 07:13:13 +0200 |
commit | 85e48b669f65933d5376f9214219c7e5eb10a9e7 (patch) | |
tree | 5a08463dc9d770d98442e1c9f8d65044cdd9f1ff /core/include/page/main.php | |
parent | dd0433cf81fe5329b694a148191f09e427d4a56c (diff) | |
download | blog-85e48b669f65933d5376f9214219c7e5eb10a9e7.tar.gz blog-85e48b669f65933d5376f9214219c7e5eb10a9e7.tar.xz blog-85e48b669f65933d5376f9214219c7e5eb10a9e7.zip |
The system directory has been moved to a non-public directory. After the commit e33c245d910e55b8cab407a03e669470509a705d, it is no longer necessary that the directory is publicly accessible via HTTP because all requests are running through the router.v1.2
Diffstat (limited to 'core/include/page/main.php')
-rw-r--r-- | core/include/page/main.php | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/core/include/page/main.php b/core/include/page/main.php new file mode 100644 index 0000000..925d5d9 --- /dev/null +++ b/core/include/page/main.php @@ -0,0 +1,90 @@ +<?php +#=============================================================================== +# Get instances +#=============================================================================== +$Database = Application::getDatabase(); +$Language = Application::getLanguage(); + +#=============================================================================== +# TRY: Page\Exception, User\Exception +#=============================================================================== +try { + if(Application::get('PAGE.SLUG_URLS')) { + $Page = Page\Factory::buildBySlug($param); + } + + else { + $Page = Page\Factory::build($param); + } + + $User = User\Factory::build($Page->attr('user')); + + $page_data = generatePageItemData($Page); + $user_data = generateUserItemData($User); + + #=============================================================================== + # Add page data for previous and next page + #=============================================================================== + try { + $PrevPage = Page\Factory::build($Page->getPrevID()); + $page_data['PREV'] = generatePageItemData($PrevPage); + } catch(Page\Exception $Exception){} + + try { + $NextPage = Page\Factory::build($Page->getNextID()); + $page_data['NEXT'] = generatePageItemData($NextPage); + } catch(Page\Exception $Exception){} + + #=============================================================================== + # TRY: Template\Exception + #=============================================================================== + try { + $PageTemplate = Template\Factory::build('page/main'); + $PageTemplate->set('PAGE', $page_data); + $PageTemplate->set('USER', $user_data); + + $MainTemplate = Template\Factory::build('main'); + $MainTemplate->set('HTML', $PageTemplate); + $MainTemplate->set('HEAD', [ + 'NAME' => $page_data['ATTR']['NAME'], + 'DESC' => cut(removeLineBreaksAndTabs(removeHTML($page_data['BODY']['HTML']), ' '), Application::get('PAGE.DESCRIPTION_SIZE')), + 'PERM' => $page_data['URL'], + 'OG_IMAGES' => $page_data['FILE']['LIST'] + ]); + + echo $MainTemplate; + } + + #=============================================================================== + # CATCH: Template\Exception + #=============================================================================== + catch(Template\Exception $Exception) { + Application::exit($Exception->getMessage()); + } +} + +#=============================================================================== +# CATCH: Page\Exception +#=============================================================================== +catch(Page\Exception $Exception) { + try { + if(Application::get('PAGE.SLUG_URLS') === FALSE) { + $Page = Page\Factory::buildBySlug($param); + } else { + $Page = Page\Factory::build($param); + } + + HTTP::redirect($Page->getURL()); + } + + catch(Page\Exception $Exception) { + Application::error404(); + } +} + +#=============================================================================== +# CATCH: User\Exception +#=============================================================================== +catch(User\Exception $Exception) { + Application::exit($Exception->getMessage()); +}
\ No newline at end of file |