getActiveUser(); $currentUserId = $currentUser === null ? '0' : $currentUser->getId(); switch($indexMode) { case 'mark': if(!$msz->isLoggedIn()) { echo render_error(403); break; } if($_SERVER['REQUEST_METHOD'] === 'POST' && CSRF::validateRequest()) { forum_mark_read($forumId, (int)$msz->getAuthInfo()->getUserId()); $redirect = url($forumId ? 'forum-category' : 'forum-index', ['forum' => $forumId]); redirect($redirect); break; } Template::render('confirm', [ 'title' => 'Mark forum as read', 'message' => 'Are you sure you want to mark ' . ($forumId === 0 ? 'the entire' : 'this') . ' forum as read?', 'return' => url($forumId ? 'forum-category' : 'forum-index', ['forum' => $forumId]), 'params' => [ 'forum' => $forumId, ] ]); break; default: $categories = forum_get_root_categories($currentUserId); $blankForum = count($categories) < 1; foreach($categories as $key => $category) { $categories[$key]['forum_subforums'] = forum_get_children($category['forum_id'], $currentUserId); 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'], $currentUserId); } } Template::render('forum.index', [ 'forum_categories' => $categories, 'forum_empty' => $blankForum, 'forum_show_mark_as_read' => $currentUser !== null, ]); break; }