s'] OR defined('FORCE_HOOKS')) { require_once(DIR . '/includes/class_hook.php'); $hookobj =& vBulletinHook::init(); if ($vbulletin->options['enablehooks'] AND !defined('DISABLE_HOOKS')) { if (!empty($vbulletin->pluginlistadmin) AND is_array($vbulletin->pluginlistadmin)) { $vbulletin->pluginlist = array_merge($vbulletin->pluginlist, $vbulletin->pluginlistadmin); unset($vbulletin->pluginlistadmin); } $hookobj->set_pluginlist($vbulletin->pluginlist); } unset($hookobj); } else { // make a null class for optimization /** * @ignore */ class vBulletinHook { function fetch_hook() { return false; } function fetch_hookusage() { return array(); } } $vbulletin->pluginlist = ''; } // if you push things onto this, you need to include the single quotes! $datastore_fetch = array(); ($hook = vBulletinHook::fetch_hook('init_startup')) ? eval($hook) : false; if (!empty($datastore_fetch)) { $vbulletin->datastore->do_db_fetch(implode(',', $datastore_fetch)); } unset($datastore_fetch); // ############################################################################# // do a callback to modify any variables that might need modifying based on HTTP input // eg: doing a conditional redirect based on a $goto value or $vbulletin->noheader must be set if (function_exists('exec_postvar_call_back')) { exec_postvar_call_back(); } // ############################################################################# // initialize $show variable - used for template conditionals $show = array(); // ############################################################################# // Clean Cookie Vars $vbulletin->input->clean_array_gpc('c', array( 'vbulletin_collapse' => TYPE_STR, COOKIE_PREFIX . 'referrerid' => TYPE_UINT, COOKIE_PREFIX . 'userid' => TYPE_UINT, COOKIE_PREFIX . 'password' => TYPE_STR, COOKIE_PREFIX . 'lastvisit' => TYPE_UINT, COOKIE_PREFIX . 'lastactivity' => TYPE_UINT, COOKIE_PREFIX . 'threadedmode' => TYPE_NOHTML, COOKIE_PREFIX . 'sessionhash' => TYPE_NOHTML, COOKIE_PREFIX . 'styleid' => TYPE_UINT, COOKIE_PREFIX . 'languageid' => TYPE_UINT, )); // ############################################################################# // Setup session if (!empty($db->explain)) { $db->timer_start('Session Handling'); } $vbulletin->input->clean_array_gpc('r', array( 's' => TYPE_NOHTML, 'styleid' => TYPE_INT, 'langid' => TYPE_INT, )); // conditional used in templates to hide things from search engines. $show['search_engine'] = ($vbulletin->superglobal_size['_COOKIE'] == 0 AND preg_match("#(google|msnbot|yahoo! slurp)#si", $_SERVER['HTTP_USER_AGENT'])); // handle session input $sessionhash = (!empty($vbulletin->GPC['s']) ? $vbulletin->GPC['s'] : $vbulletin->GPC[COOKIE_PREFIX . 'sessionhash']); // override cookie // Set up user's chosen language if ($vbulletin->GPC['langid'] AND !empty($vbulletin->languagecache["{$vbulletin->GPC['langid']}"]['userselect'])) { $languageid =& $vbulletin->GPC['langid']; vbsetcookie('languageid', $languageid); } else if ($vbulletin->GPC[COOKIE_PREFIX . 'languageid'] AND !empty($vbulletin->languagecache[$vbulletin->GPC[COOKIE_PREFIX . 'languageid']]['userselect'])) { $languageid = $vbulletin->GPC[COOKIE_PREFIX . 'languageid']; } else { $languageid = 0; } // Set up user's chosen style if ($vbulletin->GPC['styleid']) { $styleid =& $vbulletin->GPC['styleid']; vbsetcookie('styleid', $styleid); } else if ($vbulletin->GPC[COOKIE_PREFIX . 'styleid']) { $styleid = $vbulletin->GPC[COOKIE_PREFIX . 'styleid']; } else { $styleid = 0; } // build the session and setup the environment $vbulletin->session =& new vB_Session($vbulletin, $sessionhash, $vbulletin->GPC[COOKIE_PREFIX . 'userid'], $vbulletin->GPC[COOKIE_PREFIX . 'password'], $styleid, $languageid); // Hide sessionid in url if we are a search engine or if we have a cookie $vbulletin->session->set_session_visibility($show['search_engine'] OR $vbulletin->superglobal_size['_COOKIE'] > 0); $vbulletin->userinfo =& $vbulletin->session->fetch_userinfo(); $vbulletin->session->do_lastvisit_update($vbulletin->GPC[COOKIE_PREFIX . 'lastvisit'], $vbulletin->GPC[COOKIE_PREFIX . 'lastactivity']); // put the sessionhash into contact-us links automatically if required (issueid 21522) if ($vbulletin->session->visible AND $vbulletin->options['contactuslink'] != '' AND substr(strtolower($vbulletin->options['contactuslink']), 0, 7) != 'mailto:') { if (strpos($vbulletin->options['contactuslink'], '?') !== false) { $vbulletin->options['contactuslink'] = str_replace('?', '?' . $vbulletin->session->vars['sessionurl'], $vbulletin->options['contactuslink']); } else { $vbulletin->options['contactuslink'] .= $vbulletin->session->vars['sessionurl_q']; } } // CSRF Protection for POST requests if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { if ($vbulletin->userinfo['userid'] > 0 AND defined('CSRF_PROTECTION') AND CSRF_PROTECTION === true) { $vbulletin->input->clean_array_gpc('p', array( 'securitytoken' => TYPE_STR, )); if (!in_array($_POST['do'], $vbulletin->csrf_skip_list)) { if (!verify_security_token($vbulletin->GPC['securitytoken'], $vbulletin->userinfo['securitytoken_raw'])) { switch ($vbulletin->GPC['securitytoken']) { case '': define('CSRF_ERROR', 'missing'); break; case 'guest': define('CSRF_ERROR', 'guest'); break; case 'timeout': define('CSRF_ERROR', 'timeout'); break; default: define('CSRF_ERROR', 'invalid'); } } } } else if (!defined('CSRF_PROTECTION') AND !defined('SKIP_REFERRER_CHECK')) { if ($_SERVER['HTTP_HOST'] OR $_ENV['HTTP_HOST']) { $http_host = ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST']); } else if ($_SERVER['SERVER_NAME'] OR $_ENV['SERVER_NAME']) { $http_host = ($_SERVER['SERVER_NAME'] ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME']); } if ($http_host AND $_SERVER['HTTP_REFERER']) { $http_host = strtolower(preg_replace('#:80$#', '', trim($http_host))); $referrer_parts = @parse_url($_SERVER['HTTP_REFERER']); $ref_port = intval($referrer_parts['port']); $ref_host = strtolower($referrer_parts['host'] . ((!empty($ref_port) AND $ref_port != '80') ? ":$ref_port" : '')); if ($http_host == $ref_host) { /* Instant match is good enough no need to check anything further. */ $pass_ref_check = true; } else { $pass_ref_check = false; $allowed = array('.paypal.com'); $allowed[] = '.'.preg_replace('#^www\.#i', '', $http_host); $whitelist = preg_split('#\s+#', $vbulletin->options['allowedreferrers'], -1, PREG_SPLIT_NO_EMPTY); // Get whitelist $allowed = array_unique(is_array($whitelist) ? array_merge($allowed,$whitelist) : $allowed); // Merge and de-duplicate. foreach ($allowed AS $host) { $host = strtolower($host); if (substr($host,0,1) == '.' AND (preg_match('#' . preg_quote($host, '#') . '$#siU', $ref_host) OR substr($host,1) == $ref_host)) { $pass_ref_check = true; break; } } unset($allowed, $whitelist); } if ($pass_ref_check == false) { die('In order to accept POST requests originating from this domain, the admin must add the domain to the whitelist.'); } } } } // Google Web Accelerator can display sensitive data ignoring any headers regarding caching // it's a good thing for guests but not for anyone else if ($vbulletin->userinfo['userid'] > 0 AND strpos($_SERVER['HTTP_X_MOZ'], 'prefetch') !== false) { if (SAPI_NAME == 'cgi' OR SAPI_NAME == 'cgi-fcgi') { header('Status: 403 Forbidden'); } else { header('HTTP/1.1 403 Forbidden'); } die('Prefetching is not allowed due to the various privacy issues that arise.'); } // use the session-specified style if there is one if ($vbulletin->session->vars['styleid'] != 0) { $vbulletin->userinfo['styleid'] = $vbulletin->session->vars['styleid']; } if (!empty($db->explain)) { $db->timer_stop(false); } /*======================================================================*\ || #################################################################### || # Downloaded: 06:00, Sat Mar 29th 2014 || # CVS: $RCSfile$ - $Revision: 59081 $ || #################################################################### \*======================================================================*/ ?>
Fatal error: Call to undefined function exec_headers() in /home4/orsozoxn/public_html/forums/archive/global.php on line 23