summaryrefslogtreecommitdiffstats
path: root/core/include/user/main.php
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-04-11 07:13:13 +0200
committerThomas Lange <code@nerdmind.de>2017-04-11 07:13:13 +0200
commit85e48b669f65933d5376f9214219c7e5eb10a9e7 (patch)
tree5a08463dc9d770d98442e1c9f8d65044cdd9f1ff /core/include/user/main.php
parentdd0433cf81fe5329b694a148191f09e427d4a56c (diff)
downloadblog-596f1fa72d5183f720dc986cb3a722e7efae96b5.tar.gz
blog-596f1fa72d5183f720dc986cb3a722e7efae96b5.tar.xz
blog-596f1fa72d5183f720dc986cb3a722e7efae96b5.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/user/main.php')
-rw-r--r--core/include/user/main.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/core/include/user/main.php b/core/include/user/main.php
new file mode 100644
index 0000000..7944f1f
--- /dev/null
+++ b/core/include/user/main.php
@@ -0,0 +1,98 @@
+<?php
+#===============================================================================
+# Get instances
+#===============================================================================
+$Database = Application::getDatabase();
+$Language = Application::getLanguage();
+
+#===============================================================================
+# TRY: User\Exception
+#===============================================================================
+try {
+ if(Application::get('USER.SLUG_URLS')) {
+ $User = User\Factory::buildBySlug($param);
+ }
+
+ else {
+ $User = User\Factory::build($param);
+ }
+
+ $user_data = generateUserItemData($User);
+
+ #===============================================================================
+ # Add user data for previous and next user
+ #===============================================================================
+ try {
+ $PrevUser = User\Factory::build($User->getPrevID());
+ $user_data['PREV'] = generateUserItemData($PrevUser);
+ } catch(User\Exception $Exception){}
+
+ try {
+ $NextUser = User\Factory::build($User->getNextID());
+ $user_data['NEXT'] = generateUserItemData($NextUser);
+ } catch(User\Exception $Exception){}
+
+ #===============================================================================
+ # TRY: Template\Exception
+ #===============================================================================
+ try {
+ #===============================================================================
+ # TRY: PDOException
+ #===============================================================================
+ try {
+ $PostCountStatement = $Database->query(sprintf('SELECT COUNT(*) FROM %s WHERE user = %d', Post\Attribute::TABLE, $User->getID()));
+ $PageCountStatement = $Database->query(sprintf('SELECT COUNT(*) FROM %s WHERE user = %d', Page\Attribute::TABLE, $User->getID()));
+ }
+
+ #===============================================================================
+ # CATCH: PDOException
+ #===============================================================================
+ catch(PDOException $Exception) {
+ exit($Exception->getMessage());
+ }
+
+ $UserTemplate = Template\Factory::build('user/main');
+ $UserTemplate->set('USER', $user_data);
+ $UserTemplate->set('COUNT', [
+ 'POST' => $PostCountStatement->fetchColumn(),
+ 'PAGE' => $PageCountStatement->fetchColumn()
+ ]);
+
+ $MainTemplate = Template\Factory::build('main');
+ $MainTemplate->set('HTML', $UserTemplate);
+ $MainTemplate->set('HEAD', [
+ 'NAME' => $user_data['ATTR']['FULLNAME'],
+ 'DESC' => cut(removeLineBreaksAndTabs(removeHTML($user_data['BODY']['HTML']), ' '), Application::get('USER.DESCRIPTION_SIZE')),
+ 'PERM' => $User->getURL(),
+ 'OG_IMAGES' => $User->getFiles()
+ ]);
+
+ echo $MainTemplate;
+ }
+
+ #===============================================================================
+ # CATCH: Template\Exception
+ #===============================================================================
+ catch(Template\Exception $Exception) {
+ Application::exit($Exception->getMessage());
+ }
+}
+
+#===============================================================================
+# CATCH: User\Exception
+#===============================================================================
+catch(User\Exception $Exception) {
+ try {
+ if(Application::get('USER.SLUG_URLS') === FALSE) {
+ $User = User\Factory::buildBySlug($param);
+ } else {
+ $User = User\Factory::build($param);
+ }
+
+ HTTP::redirect($User->getURL());
+ }
+
+ catch(User\Exception $Exception) {
+ Application::error404();
+ }
+} \ No newline at end of file