misuzu/public/index.php

96 lines
2.8 KiB
PHP
Raw Normal View History

<?php
require_once '../misuzu.php';
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);
$stats = db_fetch(db_query('
SELECT
(
SELECT COUNT(`user_id`)
FROM `msz_users`
WHERE `user_deleted` IS NULL
) AS `count_users_all`,
(
SELECT COUNT(`user_id`)
FROM `msz_users`
WHERE `user_active` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
) AS `count_users_online`,
(
SELECT COUNT(`user_id`)
FROM `msz_users`
WHERE `user_active` >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
) AS `count_users_active`,
(
2019-03-02 18:42:50 +00:00
SELECT COUNT(`comment_id`)
FROM `msz_comments_posts`
WHERE `comment_deleted` IS NULL
) AS `count_comments`,
(
2019-03-02 18:42:50 +00:00
SELECT COUNT(`topic_id`)
FROM `msz_forum_topics`
WHERE `topic_deleted` IS NULL
) AS `count_forum_topics`,
(
2019-03-02 18:42:50 +00:00
SELECT COUNT(`post_id`)
FROM `msz_forum_posts`
WHERE `post_deleted` IS NULL
) AS `count_forum_posts`
'));
2018-04-30 21:39:43 +00:00
2019-03-02 18:42:50 +00:00
$changelog = db_query('
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
LIMIT 10
')->fetchAll(PDO::FETCH_ASSOC);
2019-01-18 14:11:15 +00:00
2019-03-02 18:42:50 +00:00
$birthdays = user_session_active() ? user_get_birthdays() : [];
2018-12-31 01:37:47 +00:00
2019-03-02 18:42:50 +00:00
$latestUser = 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);
$onlineUsers = 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)
ORDER BY u.`user_active` DESC
LIMIT 104
')->fetchAll(PDO::FETCH_ASSOC);
echo tpl_render('home.' . (user_session_active() ? 'home' : 'landing'), [
2018-12-31 01:37:47 +00:00
'statistics' => $stats,
'latest_user' => $latestUser,
'online_users' => $onlineUsers,
2019-01-18 14:11:15 +00:00
'birthdays' => $birthdays,
2018-07-15 22:39:39 +00:00
'featured_changelog' => $changelog,
'featured_news' => $news,
2018-05-27 00:20:35 +00:00
]);