forked from Public/pics
		
	This is to be the new HashRU website based on the Aaronweb.net/Kabuki CMS.
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*****************************************************************************
 | 
						|
 * Cache.php
 | 
						|
 * Contains key class Cache.
 | 
						|
 *
 | 
						|
 * Kabuki CMS (C) 2013-2015, Aaron van Geffen
 | 
						|
 *****************************************************************************/
 | 
						|
 | 
						|
class Cache
 | 
						|
{
 | 
						|
	public static $hits = 0;
 | 
						|
	public static $misses = 0;
 | 
						|
	public static $puts = 0;
 | 
						|
	public static $removals = 0;
 | 
						|
 | 
						|
	public static function put($key, $value, $ttl = 3600)
 | 
						|
	{
 | 
						|
		// If the cache is unavailable, don't bother.
 | 
						|
		if (!CACHE_ENABLED || !function_exists('apcu_store'))
 | 
						|
			return false;
 | 
						|
 | 
						|
		// Keep track of the amount of cache puts.
 | 
						|
		self::$puts++;
 | 
						|
 | 
						|
		// Store the data in serialized form.
 | 
						|
		return apcu_store(CACHE_KEY_PREFIX . $key, serialize($value), $ttl);
 | 
						|
	}
 | 
						|
 | 
						|
	// Get some data from the cache.
 | 
						|
	public static function get($key)
 | 
						|
	{
 | 
						|
		// If the cache is unavailable, don't bother.
 | 
						|
		if (!CACHE_ENABLED || !function_exists('apcu_fetch'))
 | 
						|
			return false;
 | 
						|
 | 
						|
		// Try to fetch it!
 | 
						|
		$value = apcu_fetch(CACHE_KEY_PREFIX . $key);
 | 
						|
 | 
						|
		// Were we successful?
 | 
						|
		if (!empty($value))
 | 
						|
		{
 | 
						|
			self::$hits++;
 | 
						|
			return unserialize($value);
 | 
						|
		}
 | 
						|
		// Otherwise, it's a miss.
 | 
						|
		else
 | 
						|
		{
 | 
						|
			self::$misses++;
 | 
						|
			return null;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public static function remove($key)
 | 
						|
	{
 | 
						|
		if (!CACHE_ENABLED || !function_exists('apcu_delete'))
 | 
						|
			return false;
 | 
						|
 | 
						|
		self::$removals++;
 | 
						|
		return apcu_delete(CACHE_KEY_PREFIX . $key);
 | 
						|
	}
 | 
						|
}
 |