Vergleich global.php - 1.2.0 - 1.2.10

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 3Zeile 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 30Zeile 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 61Zeile 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 83Zeile 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 131Zeile 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 181Zeile 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 189Zeile 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 235Zeile 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 260Zeile 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 278Zeile 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 329Zeile 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 360Zeile 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 385Zeile 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 441Zeile 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");