<?php load_db_config(true); function cache_pages() { global $db; $q = new DBSelect('pages', array('*'), '', 'Failed to get pages'); $result = $q->commit(); $pages = array(); $pagessubdirs = array(); while ($cur_page = $db->fetch_assoc($result)) { $page = array('file' => $cur_page['file'], 'template' => $cur_page['template'] ? true : false, 'admin' => $cur_page['admin'] ? true : false, 'mod' => $cur_page['moderator'] ? true : false); if (isset($cur_page['nocontentbox']) && $cur_page['nocontentbox']) { $page['nocontentbox'] = $cur_page['nocontentbox'] ? true : false; } if ($cur_page['subdirs']) { $pagessubdirs[$cur_page['url']] = $page; } else { $pages[$cur_page['url']] = $page; } } file_put_contents(FORUM_ROOT . '/app_config/cache/pages.php', '<?php' . "\n" . '$pages = ' . var_export($pages, true) . ';' . "\n" . '$pagessubdirs = ' . var_export($pagessubdirs, true) . ';'); } function cache_admin_pages() { global $futurebb_config; //admin pages are stored in the format url=>languagekey $admin_text = base64_decode($futurebb_config['admin_pages']); $lines = explode("\n", $admin_text); $admin_pages = array(); foreach ($lines as $line) {
function load_game_config($game, $array = null) { global $game_cfg_new; $game_include = sprintf(GAME_CFG_TMPLT, $game); if (!file_exists($game_include)) { return false; } include_once $game . ".cfg"; if (!isset($game_cfg_new[$game])) { $game_cfg_new[$game] = $game_cfg[$game]; } if (!isset($game_cfg_new[$game])) { return false; } if (!isset($game_cfg_new[$game]["initialized"])) { load_db_config($game_cfg_new, $game); } $cfg = array(); foreach ($game_cfg_new[$game] as $a => $b) { $cfg[$a] = $b; } if (isset($array)) { $cfg["name"] = $cfg["name"] . "_" . $array; $cfg["db_name"] = $cfg["db_name"] . "_" . $array; $cfg["id"] = $array; $cfg["parent"] = $game; } return $cfg; }
} stripslashes_array($_GET); stripslashes_array($_POST); stripslashes_array($_COOKIE); } // Initialize the database if (!file_exists(FORUM_ROOT . '/app_resources/database/' . $db_info['type'] . '.php')) { echo '<p><b style="color:#F00">Fatal error</b><br />An invalid database type was specified in config.xml. Please check that a driver exists for the type you have specified and try again.</p>'; die; } include FORUM_ROOT . '/app_resources/database/' . $db_info['type'] . '.php'; include FORUM_ROOT . '/app_resources/database/db_resources.php'; $db = new Database($db_info); // Load configuration from the database $futurebb_config = array(); load_db_config(); // Fire the login controller $futurebb_user = null; LoginController::CheckCookie($futurebb_user); if ($futurebb_config['turn_on_maint'] > 0 && $futurebb_config['turn_on_maint'] < time() && !$futurebb_config['maintenance']) { set_config('maintenance', 1); set_config('turn_on_maint', 0); } if ($futurebb_config['turn_off_maint'] > 0 && $futurebb_config['turn_off_maint'] < time() && $futurebb_config['maintenance']) { set_config('maintenance', 0); set_config('turn_off_maint', 0); } if ($futurebb_config['maintenance'] && !$futurebb_user['g_admin_privs'] && strpos(str_replace($base_config['basepath'], '', $_SERVER['REQUEST_URI']), '/styles') !== 0 && strpos(str_replace($base_config['basepath'], '', $_SERVER['REQUEST_URI']), '/login') !== 0) { httperror('maint'); } if (isset($page_info['admin']) && !$futurebb_user['g_admin_privs']) {