Source for file cache.php
Documentation is available at cache.php
* @version $Id: cache.php 10082 2008-02-28 16:29:13Z ircmaxell $
* @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.
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
* Joomla! Page Cache Plugin
* @author Johan Janssens <johan.janssens@joomla.org>
* For php4 compatability we must not use the __constructor as a constructor for plugins
* because func_get_args ( void ) returns a copy of all passed arguments NOT references.
* This causes problems with cross-referencing necessary for the observer design pattern.
* @param object $subject The object to observe
* @param array $config An array that holds the plugin configuration
'cachebase' =>
JPATH_BASE.
DS.
'cache',
'defaultgroup' =>
'page',
'lifetime' =>
$this->params->get('cachetime', 15) *
60,
'browsercache' =>
$this->params->get('browsercache', false),
jimport('joomla.cache.cache');
if (!$user->get('aid') &&
$_SERVER['REQUEST_METHOD'] ==
'GET') {
$this->_cache->setCaching(true);
* Converting the site URL to fit to the HTTP request
global $mainframe, $_PROFILER;
if($mainframe->isAdmin() ||
JDEBUG) {
// the following code searches for a token in the cached page and replaces it with the
$search =
'#<input type="hidden" name="[0-9a-f]{32}" value="1" />#';
$replacement =
'<input type="hidden" name="'.
$token.
'" value="1" />';
$_PROFILER->mark('afterCache');
echo
implode( '', $_PROFILER->getBuffer());
if($mainframe->isAdmin() ||
JDEBUG) {
Documentation generated on Sun, 06 Apr 2008 07:13:13 +0200 by phpDocumentor 1.4.0a2