Vergleich inc/class_datacache.php - 1.8.6 - 1.8.38

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 20Zeile 20
	/**
* The current cache handler we're using
*

	/**
* The current cache handler we're using
*

	 * @var apcCacheHandler|diskCacheHandler|eacceleratorCacheHandler|memcacheCacheHandler|memcachedCacheHandler|xcacheCacheHandler

	 * @var CacheHandlerInterface

	 */
public $handler = null;

	 */
public $handler = null;


/**
* Whether or not to exit the script if we cannot load the specified extension
*
* @var boolean
*/
var $silent = false;

 

/**
* A count of the number of calls.


/**
* A count of the number of calls.

Zeile 58Zeile 51
	 * @var string
*/
public $cache_debug;

	 * @var string
*/
public $cache_debug;

 

/**
* @var array
*/
public $moderators;

/**
* @var array
*/
public $built_moderators;

/**
* @var array
*/
public $moderators_forum_cache;


/**
* Build cache data.
*
*/
function cache()


/**
* Build cache data.
*
*/
function cache()

	{
global $db, $mybb;



	{
global $db, $mybb;

require_once MYBB_ROOT."/inc/cachehandlers/interface.php";


switch($mybb->config['cache_store'])
{
// Disk cache
case "files":
require_once MYBB_ROOT."/inc/cachehandlers/disk.php";


switch($mybb->config['cache_store'])
{
// Disk cache
case "files":
require_once MYBB_ROOT."/inc/cachehandlers/disk.php";

				$this->handler = new diskCacheHandler($this->silent);

				$this->handler = new diskCacheHandler();

				break;
// Memcache cache
case "memcache":
require_once MYBB_ROOT."/inc/cachehandlers/memcache.php";

				break;
// Memcache cache
case "memcache":
require_once MYBB_ROOT."/inc/cachehandlers/memcache.php";

				$this->handler = new memcacheCacheHandler($this->silent);

				$this->handler = new memcacheCacheHandler();

				break;
// Memcached cache
case "memcached":
require_once MYBB_ROOT."/inc/cachehandlers/memcached.php";

				break;
// Memcached cache
case "memcached":
require_once MYBB_ROOT."/inc/cachehandlers/memcached.php";

				$this->handler = new memcachedCacheHandler($this->silent);

				$this->handler = new memcachedCacheHandler();

				break;
// eAccelerator cache
case "eaccelerator":
require_once MYBB_ROOT."/inc/cachehandlers/eaccelerator.php";

				break;
// eAccelerator cache
case "eaccelerator":
require_once MYBB_ROOT."/inc/cachehandlers/eaccelerator.php";

				$this->handler = new eacceleratorCacheHandler($this->silent);
break;

				$this->handler = new eacceleratorCacheHandler();
break;

			// Xcache cache
case "xcache":
require_once MYBB_ROOT."/inc/cachehandlers/xcache.php";

			// Xcache cache
case "xcache":
require_once MYBB_ROOT."/inc/cachehandlers/xcache.php";

				$this->handler = new xcacheCacheHandler($this->silent);
break;

				$this->handler = new xcacheCacheHandler();
break;

			// APC cache
case "apc":
require_once MYBB_ROOT."/inc/cachehandlers/apc.php";

			// APC cache
case "apc":
require_once MYBB_ROOT."/inc/cachehandlers/apc.php";

				$this->handler = new apcCacheHandler($this->silent);

				$this->handler = new apcCacheHandler();

				break;

				break;

		}

if(is_object($this->handler))
{
if(method_exists($this->handler, "connect"))
{
if(!$this->handler->connect())
{
$this->handler = null;
}
}
}
else
{








			// APCu cache
case "apcu":
require_once MYBB_ROOT."/inc/cachehandlers/apcu.php";
$this->handler = new apcuCacheHandler();
break;
// Redis cache
case "redis":
require_once MYBB_ROOT."/inc/cachehandlers/redis.php";
$this->handler = new redisCacheHandler();
break;
}

if($this->handler instanceof CacheHandlerInterface)
{
if(!$this->handler->connect())
{
$this->handler = null;
}
}
else
{

			// Database cache
$query = $db->simple_select("datacache", "title,cache");
while($data = $db->fetch_array($query))
{

			// Database cache
$query = $db->simple_select("datacache", "title,cache");
while($data = $db->fetch_array($query))
{

				$this->cache[$data['title']] = unserialize($data['cache']);


				// use native_unserialize() over my_unserialize() for performance reasons
$this->cache[$data['title']] = native_unserialize($data['cache']);

			}
}
}

			}
}
}

Zeile 132Zeile 150
	function read($name, $hard=false)
{
global $db, $mybb;

	function read($name, $hard=false)
{
global $db, $mybb;





		// Already have this cache and we're not doing a hard refresh? Return cached copy
if(isset($this->cache[$name]) && $hard == false)
{

		// Already have this cache and we're not doing a hard refresh? Return cached copy
if(isset($this->cache[$name]) && $hard == false)
{

Zeile 140Zeile 158
		}
// If we're not hard refreshing, and this cache doesn't exist, return false
// It would have been loaded pre-global if it did exist anyway...

		}
// If we're not hard refreshing, and this cache doesn't exist, return false
// It would have been loaded pre-global if it did exist anyway...

		else if($hard == false && !is_object($this->handler))

		else if($hard == false && !($this->handler instanceof CacheHandlerInterface))

		{
return false;
}


		{
return false;
}


		if(is_object($this->handler))

		if($this->handler instanceof CacheHandlerInterface)

		{
get_execution_time();


		{
get_execution_time();


Zeile 171Zeile 189
				// Fetch from database
$query = $db->simple_select("datacache", "title,cache", "title='".$db->escape_string($name)."'");
$cache_data = $db->fetch_array($query);

				// Fetch from database
$query = $db->simple_select("datacache", "title,cache", "title='".$db->escape_string($name)."'");
$cache_data = $db->fetch_array($query);

				$data = unserialize($cache_data['cache']);

// Update cache for handler
get_execution_time();

$hit = $this->handler->put($name, $data);

 




				$call_time = get_execution_time();
$this->call_time += $call_time;
$this->call_count++;











				if($cache_data)
{
// use native_unserialize() over my_unserialize() for performance reasons
$data = native_unserialize($cache_data['cache']);

// Update cache for handler
get_execution_time();

$hit = $this->handler->put($name, $data);

$call_time = get_execution_time();
$this->call_time += $call_time;
$this->call_count++;





				if($mybb->debug_mode)






					if($mybb->debug_mode)
{
$this->debug_call('set:'.$name, $call_time, $hit);
}
}
else

				{

				{

					$this->debug_call('set:'.$name, $call_time, $hit);

					$data = false;

				}
}
}

				}
}
}

Zeile 194Zeile 221
			$query = $db->simple_select("datacache", "title,cache", "title='$name'");
$cache_data = $db->fetch_array($query);


			$query = $db->simple_select("datacache", "title,cache", "title='$name'");
$cache_data = $db->fetch_array($query);


			if(!$cache_data['title'])

			if(empty($cache_data['title']))

			{
$data = false;

			{
$data = false;

			}
else
{
$data = unserialize($cache_data['cache']);
}


			}
else
{
// use native_unserialize() over my_unserialize() for performance reasons
$data = native_unserialize($cache_data['cache']);
}

		}

// Cache locally

		}

// Cache locally

Zeile 221Zeile 249
	 * Update cache contents.
*
* @param string $name The cache content identifier.

	 * Update cache contents.
*
* @param string $name The cache content identifier.

	 * @param string $contents The cache content.

	 * @param mixed $contents The cache content.

	 */
function update($name, $contents)
{

	 */
function update($name, $contents)
{

Zeile 230Zeile 258
		$this->cache[$name] = $contents;

// We ALWAYS keep a running copy in the db just incase we need it

		$this->cache[$name] = $contents;

// We ALWAYS keep a running copy in the db just incase we need it

		$dbcontents = $db->escape_string(serialize($contents));

		$dbcontents = $db->escape_string(my_serialize($contents));


$replace_array = array(
"title" => $db->escape_string($name),


$replace_array = array(
"title" => $db->escape_string($name),

Zeile 239Zeile 267
		$db->replace_query("datacache", $replace_array, "", false);

// Do we have a cache handler we're using?

		$db->replace_query("datacache", $replace_array, "", false);

// Do we have a cache handler we're using?

		if(is_object($this->handler))

		if($this->handler instanceof CacheHandlerInterface)

		{
get_execution_time();


		{
get_execution_time();


Zeile 266Zeile 294
	 */
function delete($name, $greedy = false)
{

	 */
function delete($name, $greedy = false)
{

		 global $db, $mybb, $cache;

		global $db, $mybb, $cache;


// Prepare for database query.
$dbname = $db->escape_string($name);
$where = "title = '{$dbname}'";

// Delete on-demand or handler cache


// Prepare for database query.
$dbname = $db->escape_string($name);
$where = "title = '{$dbname}'";

// Delete on-demand or handler cache

		if($this->handler)

		if($this->handler instanceof CacheHandlerInterface)

		{
get_execution_time();


		{
get_execution_time();


Zeile 314Zeile 342

$where .= " OR title LIKE '{$ldbname}=_%' ESCAPE '='";



$where .= " OR title LIKE '{$ldbname}=_%' ESCAPE '='";


			if($this->handler)

			if($this->handler instanceof CacheHandlerInterface)

			{
$query = $db->simple_select("datacache", "title", $where);


			{
$query = $db->simple_select("datacache", "title", $where);


Zeile 413Zeile 441
	{
global $db;


	{
global $db;


		if(is_object($this->handler))

		if($this->handler instanceof CacheHandlerInterface)

		{
$size = $this->handler->size_of($name);
if(!$size)

		{
$size = $this->handler->size_of($name);
if(!$size)

Zeile 474Zeile 502

$types = array();



$types = array();


		$query = $db->simple_select("attachtypes", "*");

		$query = $db->simple_select('attachtypes', '*', 'enabled=1');

		while($type = $db->fetch_array($query))
{
$type['extension'] = my_strtolower($type['extension']);

		while($type = $db->fetch_array($query))
{
$type['extension'] = my_strtolower($type['extension']);

Zeile 508Zeile 536
	 *
*/
function update_posticons()

	 *
*/
function update_posticons()

	{

	{

		global $db;


		global $db;


		$icons = array();


		$icons = array();


		$query = $db->simple_select("icons", "iid, name, path");
while($icon = $db->fetch_array($query))
{
$icons[$icon['iid']] = $icon;
}

		$query = $db->simple_select("icons", "iid, name, path");
while($icon = $db->fetch_array($query))
{
$icons[$icon['iid']] = $icon;
}





		$this->update("posticons", $icons);
}

/**
* Update the badwords cache.

		$this->update("posticons", $icons);
}

/**
* Update the badwords cache.

	 *

	 *

	 */
function update_badwords()
{
global $db;


	 */
function update_badwords()
{
global $db;


		$badwords = array();


		$badwords = array();


		$query = $db->simple_select("badwords", "*");
while($badword = $db->fetch_array($query))
{
$badwords[$badword['bid']] = $badword;
}

		$query = $db->simple_select("badwords", "*");
while($badword = $db->fetch_array($query))
{
$badwords[$badword['bid']] = $badword;
}





		$this->update("badwords", $badwords);

		$this->update("badwords", $badwords);

	}

/**

	}

/**

	 * Update the usergroups cache.
*
*/
function update_usergroups()
{
global $db;

	 * Update the usergroups cache.
*
*/
function update_usergroups()
{
global $db;





		$query = $db->simple_select("usergroups");

		$query = $db->simple_select("usergroups");





		$gs = array();
while($g = $db->fetch_array($query))
{

		$gs = array();
while($g = $db->fetch_array($query))
{

Zeile 558Zeile 586
		}

$this->update("usergroups", $gs);

		}

$this->update("usergroups", $gs);

	}

	}


/**
* Update the forum permissions cache.


/**
* Update the forum permissions cache.

Zeile 569Zeile 597
	{
global $forum_cache, $db;


	{
global $forum_cache, $db;


		$this->built_forum_permissions = array(0);


		$this->forum_permissions = $this->built_forum_permissions = array(0);


		// Get our forum list
cache_forums(true);
if(!is_array($forum_cache))
{
return false;

		// Get our forum list
cache_forums(true);
if(!is_array($forum_cache))
{
return false;

		}

		}


reset($forum_cache);
$fcache = array();


reset($forum_cache);
$fcache = array();





		// Resort in to the structure we require
foreach($forum_cache as $fid => $forum)
{
$this->forum_permissions_forum_cache[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum;

		// Resort in to the structure we require
foreach($forum_cache as $fid => $forum)
{
$this->forum_permissions_forum_cache[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum;

		}


		}


		// Sort children
foreach($fcache as $pid => $value)
{
ksort($fcache[$pid]);
}
ksort($fcache);

		// Sort children
foreach($fcache as $pid => $value)
{
ksort($fcache[$pid]);
}
ksort($fcache);





		// Fetch forum permissions from the database
$query = $db->simple_select("forumpermissions");
while($forum_permission = $db->fetch_array($query))

		// Fetch forum permissions from the database
$query = $db->simple_select("forumpermissions");
while($forum_permission = $db->fetch_array($query))

Zeile 617Zeile 645
	private function build_forum_permissions($permissions=array(), $pid=0)
{
$usergroups = array_keys($this->read("usergroups", true));

	private function build_forum_permissions($permissions=array(), $pid=0)
{
$usergroups = array_keys($this->read("usergroups", true));

		if($this->forum_permissions_forum_cache[$pid])

		if(!empty($this->forum_permissions_forum_cache[$pid]))

		{
foreach($this->forum_permissions_forum_cache[$pid] as $main)
{

		{
foreach($this->forum_permissions_forum_cache[$pid] as $main)
{

Zeile 626Zeile 654
					$perms = $permissions;
foreach($usergroups as $gid)
{

					$perms = $permissions;
foreach($usergroups as $gid)
{

						if($this->forum_permissions[$forum['fid']][$gid])

						if(isset($this->forum_permissions[$forum['fid']][$gid]) && $this->forum_permissions[$forum['fid']][$gid])

						{
$perms[$gid] = $this->forum_permissions[$forum['fid']][$gid];

						{
$perms[$gid] = $this->forum_permissions[$forum['fid']][$gid];

						}
if($perms[$gid])

						}
if(!empty($perms[$gid]))

						{
$perms[$gid]['fid'] = $forum['fid'];
$this->built_forum_permissions[$forum['fid']][$gid] = $perms[$gid];

						{
$perms[$gid]['fid'] = $forum['fid'];
$this->built_forum_permissions[$forum['fid']][$gid] = $perms[$gid];

Zeile 641Zeile 669
			}
}
}

			}
}
}





	/**
* Update the stats cache (kept for the sake of being able to rebuild this cache via the cache interface)
*
*/
function update_stats()
{

	/**
* Update the stats cache (kept for the sake of being able to rebuild this cache via the cache interface)
*
*/
function update_stats()
{

		global $db;


 
		require_once MYBB_ROOT."inc/functions_rebuild.php";
rebuild_stats();
}

		require_once MYBB_ROOT."inc/functions_rebuild.php";
rebuild_stats();
}

Zeile 666Zeile 692
		$topreferrer = $db->fetch_array($query);

$timesearch = TIME_NOW - 86400;

		$topreferrer = $db->fetch_array($query);

$timesearch = TIME_NOW - 86400;

		switch($db->type)














$query = $db->query("
SELECT u.uid, u.username, COUNT(*) AS poststoday
FROM {$db->table_prefix}posts p
LEFT JOIN {$db->table_prefix}users u ON (p.uid=u.uid)
WHERE p.dateline > {$timesearch} AND p.visible=1
GROUP BY u.uid, u.username
ORDER BY poststoday DESC
");

$most_posts = 0;
$topposter = array();
while($user = $db->fetch_array($query))

		{

		{

			case 'pgsql':
$group_by = $db->build_fields_string('users', 'u.');
break;
default:
$group_by = 'p.uid';
break;

			if($user['poststoday'] > $most_posts)
{
$most_posts = $user['poststoday'];
$topposter = $user;
}


		}

		}


$query = $db->query('
SELECT u.uid, u.username, COUNT(pid) AS poststoday
FROM '.TABLE_PREFIX.'posts p
LEFT JOIN '.TABLE_PREFIX.'users u ON (p.uid=u.uid)
WHERE p.dateline>'.$timesearch.'
GROUP BY '.$group_by.' ORDER BY poststoday DESC
LIMIT 1
');
$topposter = $db->fetch_array($query);

 

$query = $db->simple_select('users', 'COUNT(uid) AS posters', 'postnum>0');
$posters = $db->fetch_field($query, 'posters');


$query = $db->simple_select('users', 'COUNT(uid) AS posters', 'postnum>0');
$posters = $db->fetch_field($query, 'posters');

Zeile 769Zeile 796
			$this->moderators[$moderator['fid']]['usergroups'][$moderator['id']] = $moderator;
}


			$this->moderators[$moderator['fid']]['usergroups'][$moderator['id']] = $moderator;
}


		if(is_array($this->moderators))

		foreach(array_keys($this->moderators) as $fid)

		{

		{

			foreach(array_keys($this->moderators) as $fid)

			if(isset($this->moderators[$fid]['users']))

			{

			{

				uasort($this->moderators[$fid], 'sort_moderators_by_usernames');

				uasort($this->moderators[$fid]['users'], 'sort_moderators_by_usernames');

			}
}


			}
}


Zeile 797Zeile 824

$data = array(
'users' => $awaitingusers,


$data = array(
'users' => $awaitingusers,

			'time'	=> TIME_NOW 

			'time'	=> TIME_NOW

		);

$this->update('awaitingactivation', $data);

		);

$this->update('awaitingactivation', $data);

Zeile 818Zeile 845
			{
foreach($main as $forum)
{

			{
foreach($main as $forum)
{

					$forum_mods = '';

					$forum_mods = array();

					if(count($moderators))
{
$forum_mods = $moderators;

					if(count($moderators))
{
$forum_mods = $moderators;

Zeile 895Zeile 922
	 */
function update_reportedcontent()
{

	 */
function update_reportedcontent()
{

		global $db, $mybb;

$reports = array();

		global $db;



		$query = $db->simple_select("reportedcontent", "COUNT(rid) AS unreadcount", "reportstatus='0'");

		$query = $db->simple_select("reportedcontent", "COUNT(rid) AS unreadcount", "reportstatus='0'");

		$num = $db->fetch_array($query);


		$unreadcount = $db->fetch_field($query, 'unreadcount');


		$query = $db->simple_select("reportedcontent", "COUNT(rid) AS reportcount");

		$query = $db->simple_select("reportedcontent", "COUNT(rid) AS reportcount");

		$total = $db->fetch_array($query);

$query = $db->simple_select("reportedcontent", "dateline", "reportstatus='0'", array('order_by' => 'dateline', 'order_dir' => 'DESC'));
$latest = $db->fetch_array($query);

$reasons = array();

if(!empty($mybb->settings['reportreasons']))
{
$options = $mybb->settings['reportreasons'];
$options = explode("\n", $options);

foreach($options as $option)
{
$option = explode("=", $option);
$reasons[$option[0]] = $option[1];
}
}

		$reportcount = $db->fetch_field($query, 'reportcount');

$query = $db->simple_select("reportedcontent", "dateline", "reportstatus='0'", array('order_by' => 'dateline', 'order_dir' => 'DESC', 'limit' => 1));
$dateline = $db->fetch_field($query, 'dateline');
















$reports = array(


$reports = array(

			"unread" => $num['unreadcount'],
"total" => $total['reportcount'],
"lastdateline" => $latest['dateline'],
"reasons" => $reasons

			'unread' => $unreadcount,
'total' => $reportcount,
'lastdateline' => $dateline,


		);

$this->update("reportedcontent", $reports);

		);

$this->update("reportedcontent", $reports);

Zeile 936Zeile 947
	 *
*/
function update_mycode()

	 *
*/
function update_mycode()

	{
global $db;

	{
global $db;


$mycodes = array();
$query = $db->simple_select("mycode", "regex, replacement", "active=1", array('order_by' => 'parseorder'));


$mycodes = array();
$query = $db->simple_select("mycode", "regex, replacement", "active=1", array('order_by' => 'parseorder'));

Zeile 993Zeile 1004
	 * Update default_theme cache
*/
function update_default_theme()

	 * Update default_theme cache
*/
function update_default_theme()

	{
global $db;


	{
global $db;


		$query = $db->simple_select("themes", "name, tid, properties, stylesheets", "def='1'", array('limit' => 1));
$theme = $db->fetch_array($query);
$this->update("default_theme", $theme);

		$query = $db->simple_select("themes", "name, tid, properties, stylesheets", "def='1'", array('limit' => 1));
$theme = $db->fetch_array($query);
$this->update("default_theme", $theme);

Zeile 1030Zeile 1041
	 * Updates the banned IPs cache
*/
function update_bannedips()

	 * Updates the banned IPs cache
*/
function update_bannedips()

	{
global $db;


	{
global $db;


		$banned_ips = array();
$query = $db->simple_select("banfilters", "fid,filter", "type=1");
while($banned_ip = $db->fetch_array($query))

		$banned_ips = array();
$query = $db->simple_select("banfilters", "fid,filter", "type=1");
while($banned_ip = $db->fetch_array($query))

Zeile 1041Zeile 1052
		}
$this->update("bannedips", $banned_ips);
}

		}
$this->update("bannedips", $banned_ips);
}





	/**
* Updates the banned emails cache
*/

	/**
* Updates the banned emails cache
*/

Zeile 1050Zeile 1061
		global $db;

$banned_emails = array();

		global $db;

$banned_emails = array();

		$query = $db->simple_select("banfilters", "fid, filter", "type = '3'");

		$query = $db->simple_select("banfilters", "fid, filter", "type = '3'");


while($banned_email = $db->fetch_array($query))
{


while($banned_email = $db->fetch_array($query))
{

Zeile 1077Zeile 1088
	}

function update_most_replied_threads()

	}

function update_most_replied_threads()

	{
global $db, $mybb;

$threads = array();

$query = $db->simple_select("threads", "tid, subject, replies, fid", "visible='1'", array('order_by' => 'replies', 'order_dir' => 'DESC', 'limit_start' => 0, 'limit' => $mybb->settings['statslimit']));
while($thread = $db->fetch_array($query))
{
$threads[] = $thread;
}

$this->update("most_replied_threads", $threads);
}

	{
global $db, $mybb;

$threads = array();

$query = $db->simple_select("threads", "tid, subject, replies, fid, uid", "visible='1'", array('order_by' => 'replies', 'order_dir' => 'DESC', 'limit_start' => 0, 'limit' => $mybb->settings['statslimit']));
while($thread = $db->fetch_array($query))
{
$threads[] = $thread;
}

$this->update("most_replied_threads", $threads);
}


function update_most_viewed_threads()
{
global $db, $mybb;



function update_most_viewed_threads()
{
global $db, $mybb;


		$threads = array();

$query = $db->simple_select("threads", "tid, subject, views, fid", "visible='1'", array('order_by' => 'views', 'order_dir' => 'DESC', 'limit_start' => 0, 'limit' => $mybb->settings['statslimit']));

		$threads = array();

$query = $db->simple_select("threads", "tid, subject, views, fid, uid", "visible='1'", array('order_by' => 'views', 'order_dir' => 'DESC', 'limit_start' => 0, 'limit' => $mybb->settings['statslimit']));

		while($thread = $db->fetch_array($query))
{
$threads[] = $thread;

		while($thread = $db->fetch_array($query))
{
$threads[] = $thread;

Zeile 1106Zeile 1117
		$this->update("most_viewed_threads", $threads);
}


		$this->update("most_viewed_threads", $threads);
}


 
	/**
* @deprecated
*/

	function update_banned()
{

	function update_banned()
{

		global $db;

$bans = array();

$query = $db->simple_select("banned");
while($ban = $db->fetch_array($query))
{
$bans[$ban['uid']] = $ban;
}

$this->update("banned", $bans);

		// "banned" cache removed











	}

function update_birthdays()

	}

function update_birthdays()

Zeile 1143Zeile 1147

if($bday['birthdayprivacy'] != 'all')
{


if($bday['birthdayprivacy'] != 'all')
{

				++$birthdays[$bday['bday']]['hiddencount'];








				if(isset($birthdays[$bday['bday']]['hiddencount']))
{
++$birthdays[$bday['bday']]['hiddencount'];
}
else
{
$birthdays[$bday['bday']]['hiddencount'] = 1;
}

				continue;

				continue;

			}


			}


			// We don't need any excess caleries in the cache
unset($bday['birthdayprivacy']);

			// We don't need any excess caleries in the cache
unset($bday['birthdayprivacy']);

 

if(!isset($birthdays[$bday['bday']]['users']))
{
$birthdays[$bday['bday']]['users'] = array();
}


$birthdays[$bday['bday']]['users'][] = $bday;
}


$birthdays[$bday['bday']]['users'][] = $bday;
}

Zeile 1250Zeile 1266
		}

$this->update("profilefields", $fields);

		}

$this->update("profilefields", $fields);

 
	}

/**
* Update the report reasons cache.
*
*/
function update_reportreasons($no_plugins = false)
{
global $db;

$content_types = array('post', 'profile', 'reputation');
if(!$no_plugins)
{
global $plugins;
$content_types = $plugins->run_hooks("report_content_types", $content_types);
}

$reasons = array();

$query = $db->simple_select("reportreasons", "*", "", array('order_by' => 'disporder'));
while($reason = $db->fetch_array($query))
{
if($reason['appliesto'] == 'all')
{
foreach($content_types as $content)
{
$reasons[$content][] = array(
'rid' => $reason['rid'],
'title' => $reason['title'],
'extra' => $reason['extra'],
);
}
}
elseif($reason['appliesto'] != '')
{
$appliesto = explode(",", $reason['appliesto']);
foreach($appliesto as $content)
{
$reasons[$content][] = array(
'rid' => $reason['rid'],
'title' => $reason['title'],
'extra' => $reason['extra'],
);
}
}
}

$this->update("reportreasons", $reasons);

	}

/* Other, extra functions for reloading caches if we just changed to another cache extension (i.e. from db -> xcache) */

	}

/* Other, extra functions for reloading caches if we just changed to another cache extension (i.e. from db -> xcache) */

Zeile 1258Zeile 1322
		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='mostonline'");

		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='mostonline'");

		$this->update("mostonline", unserialize($db->fetch_field($query, "cache")));
}

		$this->update("mostonline", my_unserialize($db->fetch_field($query, "cache")));
}


function reload_plugins()
{
global $db;

$query = $db->simple_select("datacache", "title,cache", "title='plugins'");


function reload_plugins()
{
global $db;

$query = $db->simple_select("datacache", "title,cache", "title='plugins'");

		$this->update("plugins", unserialize($db->fetch_field($query, "cache")));

		$this->update("plugins", my_unserialize($db->fetch_field($query, "cache")));

	}

function reload_last_backup()

	}

function reload_last_backup()

Zeile 1274Zeile 1338
		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='last_backup'");

		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='last_backup'");

		$this->update("last_backup", unserialize($db->fetch_field($query, "cache")));

		$this->update("last_backup", my_unserialize($db->fetch_field($query, "cache")));

	}

function reload_internal_settings()

	}

function reload_internal_settings()

	{
global $db;


	{
global $db;


		$query = $db->simple_select("datacache", "title,cache", "title='internal_settings'");

		$query = $db->simple_select("datacache", "title,cache", "title='internal_settings'");

		$this->update("internal_settings", unserialize($db->fetch_field($query, "cache")));

		$this->update("internal_settings", my_unserialize($db->fetch_field($query, "cache")));

	}

function reload_version_history()

	}

function reload_version_history()

	{
global $db;


	{
global $db;


		$query = $db->simple_select("datacache", "title,cache", "title='version_history'");

		$query = $db->simple_select("datacache", "title,cache", "title='version_history'");

		$this->update("version_history", unserialize($db->fetch_field($query, "cache")));

		$this->update("version_history", my_unserialize($db->fetch_field($query, "cache")));

	}

function reload_modnotes()

	}

function reload_modnotes()

	{
global $db;

	{
global $db;


$query = $db->simple_select("datacache", "title,cache", "title='modnotes'");


$query = $db->simple_select("datacache", "title,cache", "title='modnotes'");

		$this->update("modnotes", unserialize($db->fetch_field($query, "cache")));

		$this->update("modnotes", my_unserialize($db->fetch_field($query, "cache")));

	}

function reload_adminnotes()

	}

function reload_adminnotes()

Zeile 1306Zeile 1370
		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='adminnotes'");

		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='adminnotes'");

		$this->update("adminnotes", unserialize($db->fetch_field($query, "cache")));
}

function reload_mybb_credits()
{
admin_redirect('index.php?module=home-credits&fetch_new=-2');

		$this->update("adminnotes", my_unserialize($db->fetch_field($query, "cache")));






	}
}

	}
}