This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/public/index.php

81 lines
2.3 KiB
PHP
Raw Normal View History

2015-04-01 17:05:55 +00:00
<?php
/*
* Sakura Main Index
*/
// Declare Namespace
namespace Sakura;
// Include components
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) . 'sakura.php';
2015-06-29 00:36:37 +00:00
// Initialise templating engine
$template = new Template();
// Change templating engine
$template->setTemplate($templateName);
// Info pages
if (isset($_GET['p'])) {
// Set default variables
$renderData['page'] = [
2016-01-20 23:06:21 +00:00
'content' => '<h1>Unable to load the requested info page.</h1><p>Check the URL and try again.</p>',
];
// Set page id
$pageId = isset($_GET['p']) ? strtolower($_GET['p']) : '';
// Get info page data from the database
2016-01-17 01:58:31 +00:00
if ($ipData = Utils::loadInfoPage($pageId)) {
// Assign new proper variable
$renderData['page'] = [
'id' => $pageId,
'title' => $ipData['page_title'],
2016-01-20 23:06:21 +00:00
'content' => $ipData['page_content'],
];
}
// Set parse variables
$template->setVariables($renderData);
// Print page contents
echo $template->render('main/infopage');
exit;
}
2015-06-27 11:03:11 +00:00
// Are we in forum mode?
$forumMode = isset($_GET['forum']) ? ($_GET['forum'] == true) : false;
2015-06-27 11:03:11 +00:00
2015-12-04 14:19:10 +00:00
$renderData['news'] = ($forumMode ? null : (new News(Config::get('site_news_category'))));
2015-12-04 14:19:10 +00:00
$renderData['newsCount'] = Config::get('front_page_news_posts');
2015-06-27 19:29:37 +00:00
$renderData['forum'] = ($forumMode ? (new Forum\Forum()) : null);
2015-06-27 19:29:37 +00:00
2016-01-20 23:06:21 +00:00
$renderData['latestPosts'] = Database::fetch('posts', true, null, ['post_id', true], [3]);
2015-04-02 14:03:58 +00:00
$renderData['stats'] = [
'userCount' => Database::count('users', ['password_algo' => ['nologin', '!='], 'rank_main' => ['1', '!=']])[0],
2015-12-29 01:27:49 +00:00
'newestUser' => ($_INDEX_NEWEST_USER = User::construct(Users::getNewestUserId())),
2015-09-14 21:41:43 +00:00
'lastRegDate' => ($_INDEX_LAST_REGDATE = date_diff(
date_create(
date(
'Y-m-d',
2016-01-17 01:58:31 +00:00
$_INDEX_NEWEST_USER->registered
2015-09-14 21:41:43 +00:00
)
),
date_create(
date('Y-m-d')
)
)->format('%a')) . ' day' . ($_INDEX_LAST_REGDATE == 1 ? '' : 's'),
'topicCount' => Database::count('topics')[0],
'postCount' => Database::count('posts')[0],
'onlineUsers' => Users::checkAllOnline(),
2015-04-02 14:03:58 +00:00
];
2015-04-01 17:05:55 +00:00
2015-10-31 18:14:54 +00:00
// Set parse variables
$template->setVariables($renderData);
2015-04-01 17:05:55 +00:00
// Print page contents
echo $template->render(($forumMode ? 'forum' : 'main') . '/index');