Vergleich inc/class_datacache.php - 1.8.25 - 1.8.37

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 51Zeile 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.


/**
* Build cache data.

Zeile 68Zeile 83
			case "files":
require_once MYBB_ROOT."/inc/cachehandlers/disk.php";
$this->handler = new diskCacheHandler();

			case "files":
require_once MYBB_ROOT."/inc/cachehandlers/disk.php";
$this->handler = new diskCacheHandler();

				break;

				break;

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

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

Zeile 83Zeile 98
			case "eaccelerator":
require_once MYBB_ROOT."/inc/cachehandlers/eaccelerator.php";
$this->handler = new eacceleratorCacheHandler();

			case "eaccelerator":
require_once MYBB_ROOT."/inc/cachehandlers/eaccelerator.php";
$this->handler = new eacceleratorCacheHandler();

				break;

				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";

Zeile 114Zeile 129
			}
}
else

			}
}
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 146Zeile 162
		{
return false;
}

		{
return false;
}





		if($this->handler instanceof CacheHandlerInterface)
{
get_execution_time();


		if($this->handler instanceof CacheHandlerInterface)
{
get_execution_time();


			$data = $this->handler->fetch($name);


			$data = $this->handler->fetch($name);


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

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

Zeile 161Zeile 177
			{
$hit = true;
if($data === false)

			{
$hit = true;
if($data === false)

				{

				{

					$hit = false;

					$hit = false;

				}

				}

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


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


Zeile 173Zeile 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 = my_unserialize($cache_data['cache']);

// Update cache for handler
get_execution_time();

 




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













				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++;





				$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 196Zeile 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;
}
else
{

			{
$data = false;
}
else
{

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


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

			}
}


			}
}


Zeile 571Zeile 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);


// Get our forum list
cache_forums(true);

Zeile 587Zeile 613
		foreach($forum_cache as $fid => $forum)
{
$this->forum_permissions_forum_cache[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum;

		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)

		}

// Sort children
foreach($fcache as $pid => $value)

		{
ksort($fcache[$pid]);
}

		{
ksort($fcache[$pid]);
}

Zeile 607Zeile 633
		$this->update("forumpermissions", $this->built_forum_permissions);

return true;

		$this->update("forumpermissions", $this->built_forum_permissions);

return true;

	}

/**

	}

/**

	 * Build the forum permissions array
*
* @access private

	 * Build the forum permissions array
*
* @access private

Zeile 619Zeile 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 628Zeile 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 666Zeile 692
		$topreferrer = $db->fetch_array($query);

$timesearch = TIME_NOW - 86400;

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

$timesearch = TIME_NOW - 86400;

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

 

$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


$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 {$group_by}

			GROUP BY u.uid, u.username

			ORDER BY poststoday DESC
");

$most_posts = 0;

			ORDER BY poststoday DESC
");

$most_posts = 0;

 
		$topposter = array();

		while($user = $db->fetch_array($query))
{
if($user['poststoday'] > $most_posts)

		while($user = $db->fetch_array($query))
{
if($user['poststoday'] > $most_posts)

Zeile 778Zeile 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 904Zeile 922
	 */
function update_reportedcontent()
{

	 */
function update_reportedcontent()
{

		global $db, $mybb;


		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);


		$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']

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

		);

		);





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

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

	}


	}


	/**
* Update mycode cache.
*

	/**
* Update mycode cache.
*

Zeile 968Zeile 986
		$mailqueue['locked'] = $lock_time;

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

		$mailqueue['locked'] = $lock_time;

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

	}

	}


/**
* Update update_check cache (dummy function used by upgrade/install scripts)


/**
* Update update_check cache (dummy function used by upgrade/install scripts)

Zeile 1002Zeile 1020
		global $db;

$query = $db->simple_select("tasks", "nextrun", "enabled=1", array("order_by" => "nextrun", "order_dir" => "asc", "limit" => 1));

		global $db;

$query = $db->simple_select("tasks", "nextrun", "enabled=1", array("order_by" => "nextrun", "order_dir" => "asc", "limit" => 1));

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


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


		$task_cache = $this->read("tasks");
if(!is_array($task_cache))
{

		$task_cache = $this->read("tasks");
if(!is_array($task_cache))
{

Zeile 1015Zeile 1033
		{
$task_cache['nextrun'] = TIME_NOW+3600;
}

		{
$task_cache['nextrun'] = TIME_NOW+3600;
}





		$this->update("tasks", $task_cache);

		$this->update("tasks", $task_cache);

	}

/**

	}

/**

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

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

Zeile 1033Zeile 1051
			$banned_ips[$banned_ip['fid']] = $banned_ip;
}
$this->update("bannedips", $banned_ips);

			$banned_ips[$banned_ip['fid']] = $banned_ip;
}
$this->update("bannedips", $banned_ips);

	}

/**

	}

/**

	 * Updates the banned emails cache
*/
function update_bannedemails()

	 * Updates the banned emails cache
*/
function update_bannedemails()

Zeile 1044Zeile 1062

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


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





		while($banned_email = $db->fetch_array($query))
{
$banned_emails[$banned_email['fid']] = $banned_email;
}

$this->update("bannedemails", $banned_emails);

		while($banned_email = $db->fetch_array($query))
{
$banned_emails[$banned_email['fid']] = $banned_email;
}

$this->update("bannedemails", $banned_emails);

	}


	}


	/**
* Updates the search engine spiders cache
*/

	/**
* Updates the search engine spiders cache
*/

Zeile 1067Zeile 1085
			$spiders[$spider['sid']] = $spider;
}
$this->update("spiders", $spiders);

			$spiders[$spider['sid']] = $spider;
}
$this->update("spiders", $spiders);

	}


	}


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

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

Zeile 1129Zeile 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 1292Zeile 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()

	}

function reload_plugins()

Zeile 1300Zeile 1330
		global $db;

$query = $db->simple_select("datacache", "title,cache", "title='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 1308Zeile 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()

Zeile 1316Zeile 1346
		global $db;

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

		global $db;

$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()

Zeile 1324Zeile 1354
		global $db;

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

		global $db;

$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()

Zeile 1332Zeile 1362
		global $db;

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

		global $db;

$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 1340Zeile 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")));

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

	}
}

	}
}