Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发

源代码在线查看: cache.class.php

软件大小: 5657 K
上传用户: fansino
关键词: Joomla Management Content System
下载地址: 免注册下载 普通下载 VIP

相关代码

								/**				 * @version		$Id: cache.class.php 11074 2008-10-13 04:54:12Z ian $				 * @package		Joomla				 * @subpackage	Cache				 * @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.				 * @license		GNU/GPL, see LICENSE.php				 * Joomla! is free software. This version may have been modified pursuant				 * to the GNU General Public License, and as distributed it includes or				 * is derivative of works licensed under the GNU General Public License or				 * other free or open source software licenses.				 * See COPYRIGHT.php for copyright notices and details.				 */								// no direct access				defined( '_JEXEC' ) or die( 'Restricted access' );								/**				 * Class used to hold Cache data				 *				 * @package		Joomla				 * @subpackage	Cache				 * @since		1.5				 */				class CacheData extends JObject				{					/**					 * An Array of CacheItems indexed by cache group ID					 *					 * @access protected					 * @var Array					 */					var $_items = null;									/**					 * The cache path					 *					 * @access protected					 * @var String					 */					var $_path = null;									/**					 * Class constructor					 *					 * @access protected					 */					function __construct( $path )					{						$this->_path = $path;						$this->_parse();					}									/**					 * Parse $path for cache file groups. Any files identifided as cache are logged					 * in a group and stored in $this->items.					 *					 * @access	private					 * @param	String $path					 */					function _parse()					{						jimport('joomla.filesystem.folder');						jimport('joomla.filesystem.file');						$folders = JFolder::folders($this->_path);										foreach ($folders as $folder)						{							$files = array();							$files = JFolder::files($this->_path.DS.$folder);							$this->_items[$folder] = new CacheItem( $folder );											foreach ($files as $file)							{								$this->_items[$folder]->updateSize( filesize( $this->_path.DS.$folder.DS.$file )/ 1024 );							}						}					}									/**					 * Get the number of current Cache Groups					 *					 * @access public					 * @return int					 */					function getGroupCount()					{						return count($this->_items);					}									/**					 * Retrun an Array containing a sub set of the total					 * number of Cache Groups as defined by the params.					 *					 * @access public					 * @param Int $start					 * @param Int $limit					 * @return Array					 */					function getRows( $start, $limit )					{						$i = 0;						$rows = array();						if (!is_array($this->_items)) {							return null;						}										foreach ($this->_items as $item)						{							if ( (($i >= $start) && ($i < $start+$limit)) || ($limit == 0) ) {								$rows[] = $item;							}							$i++;						}						return $rows;					}									/**					 * Clean out a cache group as named by param.					 * If no param is passed clean all cache groups.					 *					 * @param String $group					 */					function cleanCache( $group='' )					{						$cache =& JFactory::getCache('', 'callback', 'file');						$cache->clean( $group );					}									function cleanCacheList( $array )					{						foreach ($array as $group) {							$this->cleanCache( $group );						}					}				}								 /**				  * This Class is used by CacheData to store group cache data.				  *				  * @package		Joomla				  * @subpackage	Cache				  * @since		1.5				  */				class CacheItem				{					var $group 	= "";					var $size 	= 0;					var $count 	= 0;									function CacheItem ( $group )					{						$this->group = $group;					}									function updateSize( $size )					{						$this->size = number_format( $this->size + $size, 2 );						$this->count++;					}				}			

相关资源