function set_voteip($salt) { if (isset($_SESSION['voteip'])) { if (!isset($_COOKIE['voteip'])) { $addr = $_SESSION['voteip']; mk_cookie('voteip', $addr . '-' . md5($addr . $salt)); $_SESSION['voteip'] = $addr; } } else { if (isset($_COOKIE['voteip'])) { $arr = explode('-', $_COOKIE['voteip'], 2); $addr = $arr[0]; $hash = $arr[1]; if (preg_match("/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\$/", $addr)) { if (md5($addr . $salt) != $hash) { $addr = getenv("REMOTE_ADDR"); } mk_cookie('voteip', $addr . '-' . md5($addr . $salt)); $_SESSION['voteip'] = $addr; } else { /* illegal ip in cookie */ $addr = getenv("REMOTE_ADDR"); mk_cookie('voteip', $addr . '-' . md5($addr . $salt)); $_SESSION['voteip'] = $addr; } } else { $addr = getenv("REMOTE_ADDR"); mk_cookie('voteip', $addr . '-' . md5($addr . $salt)); $_SESSION['voteip'] = $addr; } } }
} if (!isset($CONFIG['min_quote_length'])) { $CONFIG['min_quote_length'] = 15; } require 'util_funcs.php'; require "language/{$CONFIG['language']}.lng"; require 'basecaptcha.php'; require "captcha/{$CONFIG['captcha']}.php"; $CAPTCHA->init_settings($CONFIG['use_captcha']); require 'basetemplate.php'; require $CONFIG['template']; date_default_timezone_set($CONFIG['timezone']); if (isset($_COOKIE['lastvisit']) && !isset($_SESSION['lastvisit'])) { $_SESSION['lastvisit'] = $_COOKIE['lastvisit']; } mk_cookie('lastvisit', mktime()); set_voteip($CONFIG['secret_salt']); $dsn = array('phptype' => $CONFIG['phptype'], 'username' => $CONFIG['username'], 'password' => $CONFIG['password'], 'hostspec' => $CONFIG['hostspec'], 'port' => $CONFIG['port'], 'socket' => $CONFIG['socket'], 'database' => $CONFIG['database']); $db =& DB::connect($dsn); if (DB::isError($db)) { $TEMPLATE->printheader(); print $db->getMessage(); $TEMPLATE->printfooter(); exit; } autologin(); $mainmenu = array(array('url' => './', 'id' => 'site_nav_home', 'txt' => 'menu_home'), array('url' => '?latest', 'id' => 'site_nav_latest', 'txt' => 'menu_latest'), array('url' => '?browse', 'id' => 'site_nav_browse', 'txt' => 'menu_browse'), array('url' => '?random', 'id' => 'site_nav_random', 'txt' => 'menu_random'), array('url' => '?random2', 'id' => 'site_nav_random2', 'txt' => 'menu_random2'), array('url' => '?bottom', 'id' => 'site_nav_bottom', 'txt' => 'menu_bottom'), array('url' => '?top', 'id' => 'site_nav_top', 'txt' => 'menu_top')); if (isset($CONFIG['public_queue']) && $CONFIG['public_queue'] == 1 && isset($CONFIG['moderated_quotes']) && $CONFIG['moderated_quotes'] == 1) { $mainmenu[] = array('url' => '?queue', 'id' => 'site_nav_queue', 'txt' => 'menu_queue'); } $mainmenu[] = array('url' => '?search', 'id' => 'site_nav_search', 'txt' => 'menu_search');