Zeile 3 | Zeile 3 |
---|
* MyBB 1.2 * Copyright © 2006 MyBB Group, All Rights Reserved *
|
* MyBB 1.2 * Copyright © 2006 MyBB Group, All Rights Reserved *
|
* Website: http://www.mybboard.com * License: http://www.mybboard.com/eula.html
| * Website: http://www.mybboard.net * License: http://www.mybboard.net/eula.html
|
*
|
*
|
* $Id: global.php 2191 2006-09-03 12:11:04Z chris $
| * $Id: global.php 3488 2007-11-17 17:27:22Z Tikitiki $
|
*/
// Load main MyBB core file which begins all of the magic
|
*/
// Load main MyBB core file which begins all of the magic
|
require_once dirname(__FILE__)."/inc/init.php";
| require_once "./inc/init.php";
|
$shutdown_queries = array();
| $shutdown_queries = array();
|
Zeile 30 | Zeile 30 |
---|
// Send page headers send_page_headers();
|
// Send page headers send_page_headers();
|
// Trigger an error if the installation directory exists if(is_dir(MYBB_ROOT."install") && !file_exists(MYBB_ROOT."install/lock")) { $mybb->trigger_generic_error("install_directory", true); }
| |
// Do not use session system for defined pages
|
// Do not use session system for defined pages
|
if((isset($mybb->input['action']) && isset($nosession[$mybb->input['action']])) || isset($mybb->input['thumbnail']))
| if((@isset($mybb->input['action']) && @isset($nosession[$mybb->input['action']])) || (@isset($mybb->input['thumbnail']) && strstr($_SERVER["PHP_SELF"], 'attachment.php')))
|
{ define("NO_ONLINE", 1);
|
{ define("NO_ONLINE", 1);
|
}
| }
|
// Create session for this user require_once MYBB_ROOT."inc/class_session.php"; $session = new session; $session->init();
|
// Create session for this user require_once MYBB_ROOT."inc/class_session.php"; $session = new session; $session->init();
|
// Run global_start plugin hook now that the basics are set up $plugins->run_hooks("global_start");
| |
// Set and load the language if(!isset($mybb->settings['bblanguage']))
| // Set and load the language if(!isset($mybb->settings['bblanguage']))
|
Zeile 61 | Zeile 52 |
---|
$lang->set_language($mybb->settings['bblanguage']); $lang->load("global"); $lang->load("messages");
|
$lang->set_language($mybb->settings['bblanguage']); $lang->load("global"); $lang->load("messages");
|
| // Run global_start plugin hook now that the basics are set up $plugins->run_hooks("global_start");
if(function_exists('mb_internal_encoding') && !empty($lang->settings['charset'])) { @mb_internal_encoding($lang->settings['charset']); }
|
// Which thread mode is our user using? if(!isset($mybb->input['mode']))
| // Which thread mode is our user using? if(!isset($mybb->input['mode']))
|
Zeile 83 | Zeile 82 |
---|
$loadstyle = ''; $load_from_forum = 0; $style = array();
|
$loadstyle = ''; $load_from_forum = 0; $style = array();
|
| $valid = array( "showthread.php", "forumdisplay.php", "newthread.php", "newreply.php", "ratethread.php", "editpost.php", "polls.php", "sendthread.php", "printthread.php", "moderation.php" );
|
// This user has a custom theme set in their profile if(isset($mybb->user['style']) && intval($mybb->user['style']) != 0) { $loadstyle = "tid='".$mybb->user['style']."'"; }
|
// This user has a custom theme set in their profile if(isset($mybb->user['style']) && intval($mybb->user['style']) != 0) { $loadstyle = "tid='".$mybb->user['style']."'"; }
|
// If we're accessing a post, fetch the forum theme for it and if we're overriding it if(isset($mybb->input['pid']))
| if(in_array(strtolower(basename($_SERVER['PHP_SELF'])), $valid))
|
{
|
{
|
$query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."posts p", "f.style, f.overridestyle", "f.fid=p.fid AND p.pid='".intval($mybb->input['pid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1; }
// We have a thread id and a forum id, we can easily fetch the theme for this forum else if(isset($mybb->input['tid'])) { $query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."threads t", "f.style, f.overridestyle", "f.fid=t.fid AND t.tid='".intval($mybb->input['tid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1; }
// We have a forum id - simply load the theme from it else if(isset($mybb->input['fid'])) { $query = $db->simple_select(TABLE_PREFIX."forums", "style, overridestyle", "fid='".intval($mybb->input['fid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1;
| // If we're accessing a post, fetch the forum theme for it and if we're overriding it if(isset($mybb->input['pid'])) { $query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."posts p", "f.style, f.overridestyle", "f.fid=p.fid AND p.pid='".intval($mybb->input['pid'])."'", array('limit' => 1)); $style = $db->fetch_array($query); $load_from_forum = 1; } // We have a thread id and a forum id, we can easily fetch the theme for this forum else if(isset($mybb->input['tid'])) { $query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."threads t", "f.style, f.overridestyle", "f.fid=t.fid AND t.tid='".intval($mybb->input['tid'])."'", array('limit' => 1)); $style = $db->fetch_array($query); $load_from_forum = 1; } // We have a forum id - simply load the theme from it else if(isset($mybb->input['fid'])) { $query = $db->simple_select(TABLE_PREFIX."forums", "style, overridestyle", "fid='".intval($mybb->input['fid'])."'", array('limit' => 1)); $style = $db->fetch_array($query); $load_from_forum = 1; }
|
}
// From all of the above, a theme was found
| }
// From all of the above, a theme was found
|
Zeile 131 | Zeile 145 |
---|
}
// Fetch the theme to load from the database
|
}
// Fetch the theme to load from the database
|
$query = $db->simple_select(TABLE_PREFIX."themes", "name, tid, themebits, csscached", $loadstyle);
| $query = $db->simple_select(TABLE_PREFIX."themes", "name, tid, themebits, csscached", $loadstyle, array('limit' => 1));
|
$theme = $db->fetch_array($query);
// No theme was found - we attempt to load the master or any other theme
| $theme = $db->fetch_array($query);
// No theme was found - we attempt to load the master or any other theme
|
Zeile 181 | Zeile 195 |
---|
{ $theme['imglangdir'] = $theme['imgdir']; }
|
{ $theme['imglangdir'] = $theme['imgdir']; }
|
| }
// Theme logo - is it a relative URL to the forum root? Append bburl if(!preg_match("#^(\/|\.\.|\.|([a-z0-9]+)://)#i", $theme['logo'])) { $theme['logo'] = $mybb->settings['bburl']."/".$theme['logo'];
|
}
// Load Main Templates and Cached Templates
| }
// Load Main Templates and Cached Templates
|
Zeile 189 | Zeile 209 |
---|
$templatelist .= ','; } $templatelist .= "css,headerinclude,header,footer,gobutton,htmldoctype,header_welcomeblock_member,header_welcomeblock_guest,header_welcomeblock_member_admin";
|
$templatelist .= ','; } $templatelist .= "css,headerinclude,header,footer,gobutton,htmldoctype,header_welcomeblock_member,header_welcomeblock_guest,header_welcomeblock_member_admin";
|
$templatelist .= ",nav,nav_sep,nav_bit,nav_sep_active,nav_bit_active";
| $templatelist .= ",nav,nav_sep,nav_bit,nav_sep_active,nav_bit_active,global_unreadreports";
|
$templates->cache($db->escape_string($templatelist));
// Set the current date and time now
| $templates->cache($db->escape_string($templatelist));
// Set the current date and time now
|
Zeile 235 | Zeile 255 |
---|
eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";"); } // Otherwise, we have a guest
|
eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";"); } // Otherwise, we have a guest
|
else {
| else {
|
eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_guest")."\";"); }
$unreadreports = ''; // This user is a moderator, super moderator or administrator
|
eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_guest")."\";"); }
$unreadreports = ''; // This user is a moderator, super moderator or administrator
|
if($mybb->usergroup['cancp'] == "yes" || $mybb->usergroup['issupermod'] == "yes" || $mybb->usergroup['gid'] == 6) {
| if($mybb->usergroup['cancp'] == "yes" || $mybb->usergroup['issupermod'] == "yes" || $mybb->user['usergroup'] == 6) {
|
// Read the reported posts cache $reported = $cache->read("reportedposts");
|
// Read the reported posts cache $reported = $cache->read("reportedposts");
|
|
|
// 0 or more reported posts currently exist if($reported['unread'] > 0)
|
// 0 or more reported posts currently exist if($reported['unread'] > 0)
|
{
| {
|
if($reported['unread'] == 1) { $lang->unread_reports = $lang->unread_report;
| if($reported['unread'] == 1) { $lang->unread_reports = $lang->unread_report;
|
Zeile 260 | Zeile 280 |
---|
} eval("\$unreadreports = \"".$templates->get("global_unreadreports")."\";"); }
|
} eval("\$unreadreports = \"".$templates->get("global_unreadreports")."\";"); }
|
}
| }
|
// Got a character set? if($lang->settings['charset']) { $charset = $lang->settings['charset'];
|
// Got a character set? if($lang->settings['charset']) { $charset = $lang->settings['charset'];
|
}
| }
|
// If not, revert to UTF-8 else {
| // If not, revert to UTF-8 else {
|
Zeile 278 | Zeile 298 |
---|
if($mybb->usergroup['isbannedgroup'] == "yes") { // Fetch details on their ban
|
if($mybb->usergroup['isbannedgroup'] == "yes") { // Fetch details on their ban
|
$query = $db->simple_select(TABLE_PREFIX."banned", "*", "uid='{$mybb->user['uid']}'");
| $query = $db->simple_select(TABLE_PREFIX."banned", "*", "uid='{$mybb->user['uid']}'", array('limit' => 1));
|
$ban = $db->fetch_array($query);
|
$ban = $db->fetch_array($query);
|
|
|
if($ban['uid']) { // Format their ban lift date and reason appropriately if($ban['lifted'] > 0)
|
if($ban['uid']) { // Format their ban lift date and reason appropriately if($ban['lifted'] > 0)
|
{
| {
|
$banlift = my_date($mybb->settings['dateformat'], $ban['lifted']) . ", " . my_date($mybb->settings['timeformat'], $ban['lifted']); } else
| $banlift = my_date($mybb->settings['dateformat'], $ban['lifted']) . ", " . my_date($mybb->settings['timeformat'], $ban['lifted']); } else
|
Zeile 329 | Zeile 350 |
---|
eval("\$footer = \"".$templates->get("footer")."\";");
// Add our main parts to the navigation
|
eval("\$footer = \"".$templates->get("footer")."\";");
// Add our main parts to the navigation
|
| $navbits = array();
|
$navbits[0]['name'] = $mybb->settings['bbname']; $navbits[0]['url'] = $mybb->settings['bburl']."/index.php";
|
$navbits[0]['name'] = $mybb->settings['bbname']; $navbits[0]['url'] = $mybb->settings['bburl']."/index.php";
|
| // Set the link to the archive. $archive_url = $mybb->settings['bburl']."/archive/index.php";
|
// Check banned ip addresses
|
// Check banned ip addresses
|
$bannedips = explode(",", $mybb->settings['bannedips']); if(is_array($bannedips)) { foreach($bannedips as $key => $bannedip) { $bannedip = trim($bannedip); if($bannedip != '') { // This address is banned, show an error and delete the session if(strstr($session->ipaddress, $bannedip)) { $db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($session->ipaddress)."' OR uid='{$mybb->user['uid']}'"); error($lang->error_banned); } } }
| if(is_banned_ip($session->ipaddress)) { $db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($session->ipaddress)."' OR uid='{$mybb->user['uid']}'"); error($lang->error_banned);
|
} // If the board is closed, the user is not an administrator and they're not trying to login, show the board closed message if($mybb->settings['boardclosed'] == "yes" && $mybb->usergroup['cancp'] != "yes" && !(basename($_SERVER['PHP_SELF']) == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout")))
|
} // If the board is closed, the user is not an administrator and they're not trying to login, show the board closed message if($mybb->settings['boardclosed'] == "yes" && $mybb->usergroup['cancp'] != "yes" && !(basename($_SERVER['PHP_SELF']) == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout")))
|
{
| {
|
// Show error $lang->error_boardclosed .= "<blockquote>{$mybb->settings['boardclosed_reason']}</blockquote>"; error($lang->error_boardclosed);
| // Show error $lang->error_boardclosed .= "<blockquote>{$mybb->settings['boardclosed_reason']}</blockquote>"; error($lang->error_boardclosed);
|
Zeile 360 | Zeile 373 |
---|
}
// Load Limiting
|
}
// Load Limiting
|
if(strtolower(substr(PHP_OS, 0, 3)) !== 'win')
| if(($load = get_server_load()) && $load != $lang->unknown)
|
{
|
{
|
if($uptime = @exec('uptime'))
| // User is not an administrator and the load limit is higher than the limit, show an error if(($mybb->usergroup['cancp'] != "yes" && $load > $mybb->settings['load'] && $mybb->settings['load'] > 0))
|
{
|
{
|
preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/", $uptime, $regs); $load = $regs[1]; // User is not an administrator and the load limit is higher than the limit, show an error if($mybb->usergroup['cancp'] != "yes" && $load > $mybb->settings['load'] && $mybb->settings['load'] > 0) { error($lang->error_loadlimit); }
| error($lang->error_loadlimit);
|
} }
| } }
|
Zeile 385 | Zeile 393 |
---|
{ $condition = "uid='".intval($mybb->input['referrer'])."'"; }
|
{ $condition = "uid='".intval($mybb->input['referrer'])."'"; }
|
$query = $db->simple_select(TABLE_PREFIX."users", "uid", $condition);
| $query = $db->simple_select(TABLE_PREFIX."users", "uid", $condition, array('limit' => 1));
|
$referrer = $db->fetch_array($query);
|
$referrer = $db->fetch_array($query);
|
|
|
if($referrer['uid']) {
|
if($referrer['uid']) {
|
my_setcookie("mybb[referrer]", $referrer['username']);
| my_setcookie("mybb[referrer]", $referrer['uid']);
|
} }
| } }
|
Zeile 441 | Zeile 450 |
---|
$db->delete_query(TABLE_PREFIX."threads", "deletetime != '0' AND deletetime < '".time()."'"); }
|
$db->delete_query(TABLE_PREFIX."threads", "deletetime != '0' AND deletetime < '".time()."'"); }
|
// Set the link to the archive. $archive_url = $mybb->settings['bburl']."/archive/index.php";
| // Randomly clear out old guest sessions (older than 24 hours) if($rand > 4 && $rand < 8) { $timecut = time()-60*60*24; $db->delete_query(TABLE_PREFIX."sessions", "uid=0 AND time<='$timecut'"); }
|
// Run hooks for end of global.php $plugins->run_hooks("global_end");
| // Run hooks for end of global.php $plugins->run_hooks("global_end");
|