2017-12-16 19:17:29 +00:00
|
|
|
<?php
|
2018-10-04 20:30:55 +00:00
|
|
|
require_once '../misuzu.php';
|
2018-01-03 21:39:01 +00:00
|
|
|
|
2018-10-04 20:30:55 +00:00
|
|
|
if (config_get_default(false, 'Site', 'embed_linked_data')) {
|
|
|
|
tpl_var('linked_data', [
|
|
|
|
'name' => config_get('Site', 'name'),
|
|
|
|
'url' => config_get('Site', 'url'),
|
|
|
|
'logo' => config_get('Site', 'external_logo'),
|
|
|
|
'same_as' => explode(',', config_get_default('', 'Site', 'social_media')),
|
|
|
|
]);
|
|
|
|
}
|
2018-07-06 01:28:06 +00:00
|
|
|
|
2018-10-10 09:21:57 +00:00
|
|
|
$news = news_posts_get(0, 5, null, true);
|
2018-07-11 21:48:41 +00:00
|
|
|
|
2018-12-31 01:37:47 +00:00
|
|
|
$stats = cache_get('index:stats:v2', function () {
|
2018-07-15 22:39:39 +00:00
|
|
|
return [
|
2018-12-31 01:37:47 +00:00
|
|
|
'users' => db_query('
|
2018-07-15 22:39:39 +00:00
|
|
|
SELECT
|
2018-12-31 01:37:47 +00:00
|
|
|
(
|
|
|
|
SELECT COUNT(`user_id`)
|
|
|
|
FROM `msz_users`
|
|
|
|
WHERE `user_deleted` IS NULL
|
|
|
|
) as `all`,
|
|
|
|
(
|
|
|
|
SELECT COUNT(`user_id`)
|
|
|
|
FROM `msz_users`
|
|
|
|
WHERE `user_active` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
|
|
|
|
) as `online`,
|
|
|
|
(
|
|
|
|
SELECT COUNT(`user_id`)
|
|
|
|
FROM `msz_users`
|
|
|
|
WHERE `user_active` >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
|
|
|
|
) as `active`
|
2018-07-15 22:39:39 +00:00
|
|
|
')->fetch(PDO::FETCH_ASSOC),
|
2018-12-31 01:37:47 +00:00
|
|
|
'comments' => (int)db_query('
|
|
|
|
SELECT COUNT(`comment_id`)
|
|
|
|
FROM `msz_comments_posts`
|
|
|
|
WHERE `comment_deleted` IS NULL
|
|
|
|
')->fetchColumn(),
|
|
|
|
'forum_topics' => (int)db_query('
|
|
|
|
SELECT COUNT(`topic_id`)
|
|
|
|
FROM `msz_forum_topics`
|
|
|
|
WHERE `topic_deleted` IS NULL
|
|
|
|
')->fetchColumn(),
|
|
|
|
'forum_posts' => (int)db_query('
|
|
|
|
SELECT COUNT(`post_id`)
|
|
|
|
FROM `msz_forum_posts`
|
|
|
|
WHERE `post_deleted` IS NULL
|
|
|
|
')->fetchColumn(),
|
2018-07-15 22:39:39 +00:00
|
|
|
];
|
2018-12-31 01:37:47 +00:00
|
|
|
}, 900);
|
2018-07-11 21:48:41 +00:00
|
|
|
|
2018-10-06 22:40:14 +00:00
|
|
|
$changelog = cache_get('index:changelog:v1', function () {
|
2018-10-06 23:30:48 +00:00
|
|
|
return db_query('
|
2018-07-15 22:39:39 +00:00
|
|
|
SELECT
|
|
|
|
c.`change_id`, c.`change_log`,
|
|
|
|
a.`action_name`, a.`action_colour`, a.`action_class`,
|
|
|
|
DATE(`change_created`) as `change_date`,
|
|
|
|
!ISNULL(c.`change_text`) as `change_has_text`
|
|
|
|
FROM `msz_changelog_changes` as c
|
|
|
|
LEFT JOIN `msz_changelog_actions` as a
|
|
|
|
ON a.`action_id` = c.`action_id`
|
|
|
|
ORDER BY c.`change_created` DESC
|
2018-07-17 14:03:34 +00:00
|
|
|
LIMIT 10
|
2018-07-15 22:39:39 +00:00
|
|
|
')->fetchAll(PDO::FETCH_ASSOC);
|
2018-12-30 17:36:57 +00:00
|
|
|
}, 300);
|
2018-04-30 21:39:43 +00:00
|
|
|
|
2018-12-31 01:37:47 +00:00
|
|
|
$latestUser = cache_get('index:latest_user:v1', function () {
|
|
|
|
return db_query('
|
|
|
|
SELECT
|
|
|
|
u.`user_id`, u.`username`, u.`user_created`,
|
|
|
|
COALESCE(u.`user_colour`, r.`role_colour`) as `user_colour`
|
|
|
|
FROM `msz_users` as u
|
|
|
|
LEFT JOIN `msz_roles` as r
|
|
|
|
ON r.`role_id` = u.`display_role`
|
|
|
|
WHERE `user_deleted` IS NULL
|
|
|
|
ORDER BY u.`user_id` DESC
|
|
|
|
LIMIT 1
|
|
|
|
')->fetch(PDO::FETCH_ASSOC);
|
|
|
|
}, 1800);
|
|
|
|
|
|
|
|
$onlineUsers = cache_get('index:online_users:v1', function () {
|
|
|
|
return db_query('
|
|
|
|
SELECT
|
|
|
|
u.`user_id`, u.`username`,
|
|
|
|
COALESCE(u.`user_colour`, r.`role_colour`) as `user_colour`
|
|
|
|
FROM `msz_users` as u
|
|
|
|
LEFT JOIN `msz_roles` as r
|
|
|
|
ON r.`role_id` = u.`display_role`
|
|
|
|
WHERE u.`user_active` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
|
2018-12-31 01:41:53 +00:00
|
|
|
ORDER BY u.`user_active` DESC
|
2018-12-31 01:37:47 +00:00
|
|
|
LIMIT 104
|
|
|
|
')->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
}, 30);
|
2018-09-25 21:11:06 +00:00
|
|
|
|
2018-10-31 09:44:07 +00:00
|
|
|
echo tpl_render('home.' . (user_session_active() ? 'home' : 'landing'), [
|
2018-12-31 01:37:47 +00:00
|
|
|
'statistics' => $stats,
|
|
|
|
'latest_user' => $latestUser,
|
2018-09-25 21:11:06 +00:00
|
|
|
'online_users' => $onlineUsers,
|
2018-07-15 22:39:39 +00:00
|
|
|
'featured_changelog' => $changelog,
|
|
|
|
'featured_news' => $news,
|
2018-05-27 00:20:35 +00:00
|
|
|
]);
|