function fr_exec_shut_down($closedb = false) { global $vbulletin; if (!$closedb) { $vbulletin->db->unlock_tables(); if (is_array($vbulletin->db->shutdownqueries)) { $vbulletin->db->hide_errors(); foreach ($vbulletin->db->shutdownqueries as $name => $query) { if (!empty($query) and ($name !== 'pmpopup' or !defined('NOPMPOPUP'))) { $vbulletin->db->query_write($query); } } $vbulletin->db->show_errors(); } } else { exec_mail_queue(); if (defined('NOSHUTDOWNFUNC')) { $vbulletin->db->close(); } $vbulletin->db->shutdownqueries = array(); } }
/** * Performs general clean-up after the system exits, such as running shutdown queries */ function exec_shut_down() { global $vbulletin; global $foruminfo, $threadinfo, $calendarinfo; if (VB_AREA == 'Install' OR VB_AREA == 'Upgrade') { return; } $vbulletin->db->unlock_tables(); if (!empty($vbulletin->userinfo['badlocation'])) { $threadinfo = array('threadid' => 0); $foruminfo = array('forumid' => 0); $calendarinfo = array('calendarid' => 0); } if (!$vbulletin->options['bbactive'] AND !($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'])) { // Forum is disabled and this is not someone with admin access $vbulletin->userinfo['badlocation'] = 2; } if (class_exists('vBulletinHook', false)) { ($hook = vBulletinHook::fetch_hook('global_shutdown')) ? eval($hook) : false; } if (is_object($vbulletin->session)) { if (!defined('LOCATION_BYPASS')) { $vbulletin->session->set('inforum', (!empty($foruminfo['forumid']) ? $foruminfo['forumid'] : 0)); $vbulletin->session->set('inthread', (!empty($threadinfo['threadid']) ? $threadinfo['threadid'] : 0)); $vbulletin->session->set('incalendar', (!empty($calendarinfo['calendarid']) ? $calendarinfo['calendarid'] : 0)); } $vbulletin->session->set('badlocation', (!empty($vbulletin->userinfo['badlocation']) ? $vbulletin->userinfo['badlocation'] : '')); if ($vbulletin->session->vars['loggedin'] == 1 AND !$vbulletin->session->created) { # If loggedin = 1, this is out first page view after a login so change value to 2 to signify we are past the first page view # We do a DST update check if loggedin = 1 $vbulletin->session->set('loggedin', 2); if (!empty($vbulletin->profilefield['required'])) { foreach ($vbulletin->profilefield['required'] AS $fieldname => $value) { if (!isset($vbulletin->userinfo["$fieldname"]) OR $vbulletin->userinfo["$fieldname"] === '') { $vbulletin->session->set('profileupdate', 1); break; } } } } $vbulletin->session->save(); } if (is_array($vbulletin->db->shutdownqueries)) { $vbulletin->db->hide_errors(); foreach($vbulletin->db->shutdownqueries AS $name => $query) { if (!empty($query) AND ($name !== 'pmpopup' OR !defined('NOPMPOPUP'))) { $vbulletin->db->query_write($query); } } $vbulletin->db->show_errors(); } exec_mail_queue(); // Make sure the database connection is closed since it can get hung up for a long time on php4 do to the mysterious echo() lagging issue // If NOSHUTDOWNFUNC is defined then this function should always be the last one called, before echoing of data if (defined('NOSHUTDOWNFUNC')) { $vbulletin->db->close(); } $vbulletin->db->shutdownqueries = array(); // bye bye! }
<?php /*======================================================================*\ || #################################################################### || || # vBulletin Blog 4.2.2 Alpha 1 - Licence Number VBFSA2W3VC || # ---------------------------------------------------------------- # || || # Copyright ©2000-2013 vBulletin Solutions Inc. All Rights Reserved. || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # || || #################################################################### || \*======================================================================*/ // ######################## SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); if (!is_object($vbulletin->db)) { exit; } if ($vbulletin->options['mailqueue']) { exec_mail_queue(); } log_cron_action('', $nextitem, 1); /*======================================================================*\ || #################################################################### || # Downloaded: 03:13, Sat Sep 7th 2013 || # CVS: $Revision: 25612 $ || #################################################################### \*======================================================================*/