Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Revert the changes made by magic quotes if it's set.
- if (get_magic_quotes_gpc()) {
- // No need to stripslashes() on keys since that is most likely an errorneous
- // query parameter anyway.
- function stripslashes_gpc(&$value) {
- $value = stripslashes($value);
- }
- array_walk_recursive($_GET, 'stripslashes_gpc');
- array_walk_recursive($_POST, 'stripslashes_gpc');
- array_walk_recursive($_REQUEST, 'stripslashes_gpc');
- array_walk_recursive($_COOKIE, 'stripslashes_gpc');
- }
- define('PHPTOPLIST', true);
- define('BASE_DIR', getcwd() . '/');
- define('BASE_URL', 'http://' . $_SERVER['SERVER_NAME'] . substr($_SERVER['REQUEST_URI'], 0, strrchr($_SERVER['REQUEST_URI'], '/') + 1));
- require_once('config.php');
- require_once('classes/Database.php');
- require_once('classes/Settings.php');
- // In a master+slave implementation, the master database always sets the prefix.
- define('TABLE_PREFIX', Database::getDatabase()->getTablePrefix());
- define('SESSION_COOKIE_NAME', 'phptoplist_session');
- $forum_status = Settings::getForumStatus();
- // The toplist hasn't been installed!
- if ($forum_status == -1) {
- header('Location: install/install.php');
- die();
- }
- // Register session object and methods.
- require_once('classes/SessionHandler.php');
- $session_handler = new DBSessionHandler();
- session_set_save_handler(
- array($session_handler, 'open'),
- array($session_handler, 'close'),
- array($session_handler, 'read'),
- array($session_handler, 'write'),
- array($session_handler, 'destroy'),
- array($session_handler, 'gc')
- );
- // The following prevents unexpected effects when using objects as save handlers.
- register_shutdown_function('session_write_close');
- // EU Cookie Law compliance at its finest! (for guests)
- @ini_set('session.use_only_cookies', false);
- @ini_set('session.use_cookies', false);
- @ini_set('session.use_trans_sid', false);
- $user = null;
- require_once('classes/User.php');
- // It's a guest!
- if (!isset($_COOKIE[SESSION_COOKIE_NAME])) {
- @ini_set('session.use_trans_sid', true);
- $user = User::getGuestUser();
- } else {
- // We use our own session cookie, so reset the session name!
- session_name(SESSION_COOKIE_NAME);
- list($session_id, $email, $password) = unserialize($_COOKIE[SESSION_COOKIE_NAME]);
- session_id($session_id);
- $user = User::getUserByLogin($email, $password);
- }
- require_once('classes/Misc.php');
- define('CSRF_TOKEN', Security::generateCSRFToken());
- ob_start();
- session_start();
- if ($forum_status == 1) { // Maintenance mode!
- // TODO: redirect to some generic page.
- }
- require_once('controller.php');
- $_SESSION['last_csrf_token'] = CSRF_TOKEN;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement