true, 'base_level' => 0, 'parent_id' => 0, 'set_latest_post' => true, 'countChildPosts' => !empty($modSettings['countChildPosts']), ); $context['categories'] = getBoardIndex($boardIndexOptions); // Now set up for the info center. $context['info_center'] = array(); // Retrieve the latest posts if the theme settings require it. if (!empty($settings['number_recent_posts'])) { if ($settings['number_recent_posts'] > 1) { $latestPostOptions = array( 'number_posts' => $settings['number_recent_posts'], ); $context['latest_posts'] = cache_quick_get('boardindex-latest_posts:' . md5($user_info['query_wanna_see_board'] . $user_info['language']), 'Subs-Recent.php', 'cache_getLastPosts', array($latestPostOptions)); } if (!empty($context['latest_posts']) || !empty($context['latest_post'])) $context['info_center'][] = 'recent'; } // Load the calendar? if (!empty($modSettings['cal_enabled']) && allowedTo('calendar_view')) { // Retrieve the calendar data (events, birthdays, holidays). $eventOptions = array( 'include_holidays' => $modSettings['cal_showholidays'] > 1, 'include_birthdays' => $modSettings['cal_showbdays'] > 1, 'include_events' => $modSettings['cal_showevents'] > 1, 'num_days_shown' => empty($modSettings['cal_days_for_index']) || $modSettings['cal_days_for_index'] < 1 ? 1 : $modSettings['cal_days_for_index'], ); $context += cache_quick_get('calendar_index_offset_' . ($user_info['time_offset'] + $modSettings['time_offset']), 'Subs-Calendar.php', 'cache_getRecentEvents', array($eventOptions)); // Whether one or multiple days are shown on the board index. $context['calendar_only_today'] = $modSettings['cal_days_for_index'] == 1; // This is used to show the "how-do-I-edit" help. $context['calendar_can_edit'] = allowedTo('calendar_edit_any'); if ($context['show_calendar']) $context['info_center'][] = 'calendar'; } // And stats. $context['show_stats'] = allowedTo('view_stats') && !empty($modSettings['trackStats']); if ($settings['show_stats_index']) $context['info_center'][] = 'stats'; // Now the online stuff require_once($sourcedir . '/Subs-MembersOnline.php'); $membersOnlineOptions = array( 'show_hidden' => allowedTo('moderate_forum'), 'sort' => 'log_time', 'reverse_sort' => true, ); $context += getMembersOnlineStats($membersOnlineOptions); $context['show_buddies'] = !empty($user_info['buddies']); $context['show_who'] = allowedTo('who_view') && !empty($modSettings['who_enabled']); $context['info_center'][] = 'online'; // Track most online statistics? (Subs-MembersOnline.php) if (!empty($modSettings['trackStats'])) trackStatsUsersOnline($context['num_guests'] + $context['num_spiders'] + $context['num_users_online']); // Are we showing all membergroups on the board index? if (!empty($settings['show_group_key'])) $context['membergroups'] = cache_quick_get('membergroup_list', 'Subs-Membergroups.php', 'cache_getMembergroupList', array()); // And back to normality. $context['page_title'] = sprintf($txt['forum_index'], $context['forum_name']); // Mark read button $context['mark_read_button'] = array( 'markread' => array('text' => 'mark_as_read', 'image' => 'markread.png', 'lang' => true, 'custom' => 'onclick="return confirm(\'' . $txt['are_sure_mark_read'] . '\');"', 'url' => $scripturl . '?action=markasread;sa=all;' . $context['session_var'] . '=' . $context['session_id']), ); // Allow mods to add additional buttons here call_integration_hook('integrate_mark_read_button'); loadJavascriptFile('fader.js', array('default_theme' => true, 'defer' => false), 'smf_fader'); } /** * Collapse or expand a category */ function CollapseCategory() { global $user_info, $sourcedir, $context; // Just in case, no need, no need. $context['robot_no_index'] = true; checkSession('request'); if (!isset($_GET['sa'])) fatal_lang_error('no_access', false); // Check if the input values are correct. if (in_array($_REQUEST['sa'], array('expand', 'collapse', 'toggle')) && isset($_REQUEST['c'])) { // And collapse/expand/toggle the category. require_once($sourcedir . '/Subs-Categories.php'); collapseCategories(array((int) $_REQUEST['c']), $_REQUEST['sa'], array($user_info['id'])); } // And go back to the board index. BoardIndex(); } ?>