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 2445 2006-11-27 00:02:54Z CraKteR $
| * $Id: global.php 3596 2008-01-20 08:27:39Z 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']) && strstr($_SERVER["PHP_SELF"], 'attachment.php')))
| 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); }
|
Zeile 48 | Zeile 42 |
---|
$session = new session; $session->init();
|
$session = new session; $session->init();
|
// Run global_start plugin hook now that the basics are set up $plugins->run_hooks("global_start");
| // Set our POST validation code here $mybb->post_code = generate_post_check();
|
// Set and load the language if(!isset($mybb->settings['bblanguage']))
| // Set and load the language if(!isset($mybb->settings['bblanguage']))
|
Zeile 62 | Zeile 56 |
---|
$lang->load("global"); $lang->load("messages");
|
$lang->load("global"); $lang->load("messages");
|
if(function_exists('mb_internal_encoding'))
| // 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']);
| @mb_internal_encoding($lang->settings['charset']);
|
}
// Which thread mode is our user using?
| }
// Which thread mode is our user using?
|
Zeile 102 | Zeile 99 |
---|
"moderation.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']."'"; }
|
if(in_array(strtolower(basename($_SERVER['PHP_SELF'])), $valid)) {
|
if(in_array(strtolower(basename($_SERVER['PHP_SELF'])), $valid)) {
|
// 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 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'])."'");
| $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; }
| $style = $db->fetch_array($query); $load_from_forum = 1; }
|
Zeile 121 | Zeile 117 |
---|
// We have a thread id and a forum id, we can easily fetch the theme for this forum else if(isset($mybb->input['tid'])) {
|
// 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'])."'");
| $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; }
| $style = $db->fetch_array($query); $load_from_forum = 1; }
|
Zeile 129 | Zeile 125 |
---|
// We have a forum id - simply load the theme from it else if(isset($mybb->input['fid'])) {
|
// 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'])."'");
| $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; }
| $style = $db->fetch_array($query); $load_from_forum = 1; }
|
Zeile 152 | Zeile 148 |
---|
}
// 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 198 | Zeile 194 |
---|
$theme['imglangdir'] = $theme['imgdir'].'/'.$mybb->settings['bblanguage']; } // Otherwise, the image language directory is the same as the language directory for the theme
|
$theme['imglangdir'] = $theme['imgdir'].'/'.$mybb->settings['bblanguage']; } // Otherwise, the image language directory is the same as the language directory for the theme
|
else
| else
|
{ $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 210 | Zeile 212 |
---|
$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 263 | Zeile 265 |
---|
$unreadreports = ''; // This user is a moderator, super moderator or administrator
|
$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) { if($reported['unread'] == 1) { $lang->unread_reports = $lang->unread_report;
|
// 0 or more reported posts currently exist if($reported['unread'] > 0) { if($reported['unread'] == 1) { $lang->unread_reports = $lang->unread_report;
|
}
| }
|
else { $lang->unread_reports = sprintf($lang->unread_reports, $reported['unread']); } eval("\$unreadreports = \"".$templates->get("global_unreadreports")."\";"); }
|
else { $lang->unread_reports = sprintf($lang->unread_reports, $reported['unread']); } eval("\$unreadreports = \"".$templates->get("global_unreadreports")."\";"); }
|
}
| }
|
// Got a character set? if($lang->settings['charset'])
|
// Got a character set? if($lang->settings['charset'])
|
{
| {
|
$charset = $lang->settings['charset']; } // If not, revert to UTF-8
| $charset = $lang->settings['charset']; } // If not, revert to UTF-8
|
Zeile 297 | Zeile 299 |
---|
// Is this user apart of a banned group? $bannedwarning = ''; if($mybb->usergroup['isbannedgroup'] == "yes")
|
// Is this user apart of a banned group? $bannedwarning = ''; if($mybb->usergroup['isbannedgroup'] == "yes")
|
{
| {
|
// Fetch details on their ban
|
// 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['uid']) { // Format their ban lift date and reason appropriately
|
Zeile 326 | Zeile 329 |
---|
{ // Display a nice warning to the user } eval("\$bannedwarning = \"".$templates->get("global_bannedwarning")."\";");
|
{ // Display a nice warning to the user } eval("\$bannedwarning = \"".$templates->get("global_bannedwarning")."\";");
|
}
$lang->ajax_loading = str_replace("'", "\\'", $lang->ajax_loading);
| }
$lang->ajax_loading = str_replace("'", "\\'", $lang->ajax_loading);
|
// Set up some of the default templates eval("\$headerinclude = \"".$templates->get("headerinclude")."\";"); eval("\$gobutton = \"".$templates->get("gobutton")."\";"); eval("\$htmldoctype = \"".$templates->get("htmldoctype", 1, 0)."\";"); eval("\$header = \"".$templates->get("header")."\";");
|
// Set up some of the default templates eval("\$headerinclude = \"".$templates->get("headerinclude")."\";"); eval("\$gobutton = \"".$templates->get("gobutton")."\";"); eval("\$htmldoctype = \"".$templates->get("htmldoctype", 1, 0)."\";"); eval("\$header = \"".$templates->get("header")."\";");
|
|
|
$copy_year = my_date("Y", time());
// Are we showing version numbers in the footer?
| $copy_year = my_date("Y", time());
// Are we showing version numbers in the footer?
|
Zeile 348 | Zeile 351 |
---|
$mybbversion = ''; } eval("\$footer = \"".$templates->get("footer")."\";");
|
$mybbversion = ''; } 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";
|
// Add our main parts to the navigation $navbits = array(); $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")))
|
Zeile 379 | Zeile 373 |
---|
$lang->error_boardclosed .= "<blockquote>{$mybb->settings['boardclosed_reason']}</blockquote>"; error($lang->error_boardclosed); exit;
|
$lang->error_boardclosed .= "<blockquote>{$mybb->settings['boardclosed_reason']}</blockquote>"; error($lang->error_boardclosed); exit;
|
}
| }
|
// 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 407 | Zeile 396 |
---|
{ $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']) { my_setcookie("mybb[referrer]", $referrer['uid']);
| if($referrer['uid']) { my_setcookie("mybb[referrer]", $referrer['uid']);
|
Zeile 470 | Zeile 460 |
---|
$db->delete_query(TABLE_PREFIX."sessions", "uid=0 AND time<='$timecut'"); }
|
$db->delete_query(TABLE_PREFIX."sessions", "uid=0 AND time<='$timecut'"); }
|
// Set the link to the archive. $archive_url = $mybb->settings['bburl']."/archive/index.php";
| |
// Run hooks for end of global.php $plugins->run_hooks("global_end");
| // Run hooks for end of global.php $plugins->run_hooks("global_end");
|