Vergleich inc/class_datacache.php - 1.8.15 - 1.8.30

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 93Zeile 93
			case "apc":
require_once MYBB_ROOT."/inc/cachehandlers/apc.php";
$this->handler = new apcCacheHandler();

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

 
				break;
// 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;
}


				break;
}


Zeile 101Zeile 111
			if(!$this->handler->connect())
{
$this->handler = null;

			if(!$this->handler->connect())
{
$this->handler = null;

			}
}

			}
}

		else
{
// Database cache

		else
{
// Database cache

Zeile 110Zeile 120
			while($data = $db->fetch_array($query))
{
$this->cache[$data['title']] = unserialize($data['cache']);

			while($data = $db->fetch_array($query))
{
$this->cache[$data['title']] = unserialize($data['cache']);

			}
}

			}
}

	}

/**

	}

/**

Zeile 146Zeile 156
			$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)
{
$hit = true;

			if($mybb->debug_mode)
{
$hit = true;

Zeile 163Zeile 173
				// 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']);

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


// Update cache for handler
get_execution_time();


// Update cache for handler
get_execution_time();

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

Zeile 213Zeile 223
	 * 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 222Zeile 232
		$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 258Zeile 268
	 */
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);


// Prepare for database query.
$dbname = $db->escape_string($name);

Zeile 402Zeile 412
	 * @return integer the size of the cache
*/
function size_of($name='')

	 * @return integer the size of the cache
*/
function size_of($name='')

	{
global $db;

	{
global $db;


if($this->handler instanceof CacheHandlerInterface)
{


if($this->handler instanceof CacheHandlerInterface)
{

Zeile 411Zeile 421
			if(!$size)
{
if($name)

			if(!$size)
{
if($name)

				{

				{

					$query = $db->simple_select("datacache", "cache", "title='{$name}'");
return strlen($db->fetch_field($query, "cache"));
}

					$query = $db->simple_select("datacache", "cache", "title='{$name}'");
return strlen($db->fetch_field($query, "cache"));
}

Zeile 423Zeile 433
			else
{
return $size;

			else
{
return $size;

			}

			}

		}
// Using MySQL as cache
else

		}
// Using MySQL as cache
else

Zeile 442Zeile 452

/**
* Update the MyBB version in the cache.


/**
* Update the MyBB version in the cache.

	 *

	 *

	 */
function update_version()
{
global $mybb;

	 */
function update_version()
{
global $mybb;





		$version = array(
"version" => $mybb->version,
"version_code" => $mybb->version_code
);

		$version = array(
"version" => $mybb->version,
"version_code" => $mybb->version_code
);





		$this->update("version", $version);
}


		$this->update("version", $version);
}


Zeile 461Zeile 471
	 *
*/
function update_attachtypes()

	 *
*/
function update_attachtypes()

	{

	{

		global $db;

$types = array();

		global $db;

$types = array();

Zeile 556Zeile 566
	 * Update the forum permissions cache.
*
* @return bool When failed, returns false.

	 * Update the forum permissions cache.
*
* @return bool When failed, returns false.

	 */

	 */

	function update_forumpermissions()
{
global $forum_cache, $db;


	function update_forumpermissions()
{
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 609Zeile 619
	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 618Zeile 628
					$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 672Zeile 682
			LEFT JOIN {$db->table_prefix}users u ON (p.uid=u.uid)
WHERE p.dateline > {$timesearch} AND p.visible=1
GROUP BY {$group_by}

			LEFT JOIN {$db->table_prefix}users u ON (p.uid=u.uid)
WHERE p.dateline > {$timesearch} AND p.visible=1
GROUP BY {$group_by}

			ORDER BY NULL DESC

			ORDER BY poststoday DESC

		");

$most_posts = 0;

		");

$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 768Zeile 779
			$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 868Zeile 879
		}

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

		}

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

	}


	}


	/**
* Update usertitles cache.
*

	/**
* Update usertitles cache.
*

Zeile 894Zeile 905
	 */
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);

Zeile 970Zeile 981
		);

$this->update("update_check", $update_cache);

		);

$this->update("update_check", $update_cache);

	}

/**

	}

/**

	 * Update default_theme cache
*/
function update_default_theme()

	 * Update default_theme cache
*/
function update_default_theme()

Zeile 1029Zeile 1040
	 * Updates the banned emails cache
*/
function update_bannedemails()

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

	{
global $db;


	{
global $db;


		$banned_emails = array();

		$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 1042Zeile 1053

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


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





	/**
* Updates the search engine spiders cache
*/
function update_spiders()

	/**
* Updates the search engine spiders cache
*/
function update_spiders()

	{
global $db;


	{
global $db;


		$spiders = array();
$query = $db->simple_select("spiders", "sid, name, useragent, usergroup", "", array("order_by" => "LENGTH(useragent)", "order_dir" => "DESC"));
while($spider = $db->fetch_array($query))

		$spiders = array();
$query = $db->simple_select("spiders", "sid, name, useragent, usergroup", "", array("order_by" => "LENGTH(useragent)", "order_dir" => "DESC"));
while($spider = $db->fetch_array($query))

Zeile 1066Zeile 1077
		$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']));

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

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

		}

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

		}

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





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

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

Zeile 1087Zeile 1098
		}

$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 1126Zeile 1130

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

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

				continue;
}

// 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;
}





		$this->update("birthdays", $birthdays);
}


		$this->update("birthdays", $birthdays);
}


Zeile 1149Zeile 1165
		while($groupleader = $db->fetch_array($query))
{
$groupleaders[$groupleader['uid']][] = $groupleader;

		while($groupleader = $db->fetch_array($query))
{
$groupleaders[$groupleader['uid']][] = $groupleader;

		}


		}


		$this->update("groupleaders", $groupleaders);
}


		$this->update("groupleaders", $groupleaders);
}


Zeile 1185Zeile 1201
				if(!isset($fd_statistics[$forum['fid']]['announcements']))
{
$fd_statistics[$forum['fid']]['announcements'] = 1;

				if(!isset($fd_statistics[$forum['fid']]['announcements']))
{
$fd_statistics[$forum['fid']]['announcements'] = 1;

				}
}
}


				}
}
}


		// Do we have any mod tools to use in our forums?
$query = $db->simple_select("modtools", "forums, tid", '', array("order_by" => "tid"));


		// Do we have any mod tools to use in our forums?
$query = $db->simple_select("modtools", "forums, tid", '', array("order_by" => "tid"));


Zeile 1245Zeile 1261

$content_types = array('post', 'profile', 'reputation');
if(!$no_plugins)


$content_types = array('post', 'profile', 'reputation');
if(!$no_plugins)

		{

		{

			global $plugins;
$content_types = $plugins->run_hooks("report_content_types", $content_types);
}

			global $plugins;
$content_types = $plugins->run_hooks("report_content_types", $content_types);
}





		$reasons = array();

$query = $db->simple_select("reportreasons", "*", "", array('order_by' => 'disporder'));

		$reasons = array();

$query = $db->simple_select("reportreasons", "*", "", array('order_by' => 'disporder'));

Zeile 1258Zeile 1274
			if($reason['appliesto'] == 'all')
{
foreach($content_types as $content)

			if($reason['appliesto'] == 'all')
{
foreach($content_types as $content)

				{
$reasons[$content][] = array(
'rid' => $reason['rid'],
'title' => $reason['title'],
'extra' => $reason['extra'],
);
}

				{
$reasons[$content][] = array(
'rid' => $reason['rid'],
'title' => $reason['title'],
'extra' => $reason['extra'],
);
}

			}
elseif($reason['appliesto'] != '')
{

			}
elseif($reason['appliesto'] != '')
{

Zeile 1301Zeile 1317
	}

function reload_last_backup()

	}

function reload_last_backup()

	{
global $db;

	{
global $db;


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


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

Zeile 1338Zeile 1354

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


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

 
	}
}

	}
}