misuzu/public/forum/index.php

47 lines
1.5 KiB
PHP
Raw Normal View History

2018-05-18 03:20:27 +02:00
<?php
require_once '../../misuzu.php';
2018-05-18 03:20:27 +02:00
2019-03-18 23:02:30 +01:00
$indexMode = !empty($_GET['m']) && is_string($_GET['m']) ? (string)$_GET['m'] : '';
$forumId = !empty($_GET['f']) && is_string($_GET['f']) ? (int)$_GET['f'] : 0;
2019-06-10 19:04:53 +02:00
switch($indexMode) {
case 'mark':
$markEntireForum = $forumId === 0;
2019-06-10 19:04:53 +02:00
if(user_session_active() && csrf_verify_request()) {
2019-03-04 21:25:20 +01:00
forum_mark_read($markEntireForum ? null : $forumId, user_session_current('user_id', 0));
}
url_redirect($markEntireForum ? 'forum-index' : 'forum-category', ['forum' => $forumId]);
break;
default:
$categories = forum_get_root_categories(user_session_current('user_id', 0));
$blankForum = count($categories) < 1;
2019-06-10 19:04:53 +02:00
foreach($categories as $key => $category) {
$categories[$key]['forum_subforums'] = forum_get_children(
$category['forum_id'],
user_session_current('user_id', 0)
2019-01-03 16:57:17 +01:00
);
2018-05-18 03:20:27 +02:00
2019-06-10 19:04:53 +02:00
foreach($categories[$key]['forum_subforums'] as $skey => $sub) {
if(!forum_may_have_children($sub['forum_type'])) {
continue;
}
$categories[$key]['forum_subforums'][$skey]['forum_subforums']
= forum_get_children(
$sub['forum_id'],
user_session_current('user_id', 0)
);
}
}
echo tpl_render('forum.index', [
'forum_categories' => $categories,
'forum_empty' => $blankForum,
]);
break;
}