first commit

This commit is contained in:
alazhar
2020-01-02 22:20:31 +07:00
commit 10eb3340ad
5753 changed files with 631345 additions and 0 deletions

113
plugins/system/cache/cache.php vendored Normal file
View File

@ -0,0 +1,113 @@
<?php
/**
* @package Joomla.Plugin
* @subpackage System.cache
*
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Joomla! Page Cache Plugin
*
* @package Joomla.Plugin
* @subpackage System.cache
*/
class PlgSystemCache extends JPlugin
{
var $_cache = null;
var $_cache_key = null;
/**
* Constructor
*
* @access protected
* @param object $subject The object to observe
* @param array $config An array that holds the plugin configuration
* @since 1.0
*/
function __construct(& $subject, $config)
{
parent::__construct($subject, $config);
//Set the language in the class
$options = array(
'defaultgroup' => 'page',
'browsercache' => $this->params->get('browsercache', false),
'caching' => false,
);
$this->_cache = JCache::getInstance('page', $options);
$this->_cache_key = JUri::getInstance()->toString();
}
/**
* Converting the site URL to fit to the HTTP request
*
*/
function onAfterInitialise()
{
global $_PROFILER;
$app = JFactory::getApplication();
$user = JFactory::getUser();
if ($app->isAdmin())
{
return;
}
if (count($app->getMessageQueue()))
{
return;
}
if ($user->get('guest') && $app->input->getMethod() == 'GET')
{
$this->_cache->setCaching(true);
}
$data = $this->_cache->get($this->_cache_key);
if ($data !== false)
{
// Set cached body
JResponse::setBody($data);
echo JResponse::toString($app->getCfg('gzip'));
if (JDEBUG)
{
$_PROFILER->mark('afterCache');
}
$app->close();
}
}
function onAfterRender()
{
$app = JFactory::getApplication();
if ($app->isAdmin())
{
return;
}
if (count($app->getMessageQueue()))
{
return;
}
$user = JFactory::getUser();
if ($user->get('guest'))
{
// We need to check again here, because auto-login plugins have not been fired before the first aid check
$this->_cache->store(null, $this->_cache_key);
}
}
}

39
plugins/system/cache/cache.xml vendored Normal file
View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="system">
<name>plg_system_cache</name>
<author>Joomla! Project</author>
<creationDate>February 2007</creationDate>
<copyright>Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>admin@joomla.org</authorEmail>
<authorUrl>www.joomla.org</authorUrl>
<version>3.0.0</version>
<description>PLG_CACHE_XML_DESCRIPTION</description>
<files>
<filename plugin="cache">cache.php</filename>
<filename>index.html</filename>
</files>
<languages>
<language tag="en-GB">en-GB.plg_system_cache.ini</language>
<language tag="en-GB">en-GB.plg_system_cache.sys.ini</language>
</languages>
<config>
<fields name="params">
<fieldset name="basic">
<field name="browsercache" type="radio"
class="btn-group"
default="0"
description="PLG_CACHE_FIELD_BROWSERCACHE_DESC"
label="PLG_CACHE_FIELD_BROWSERCACHE_LABEL"
>
<option
value="0">JNO</option>
<option
value="1">JYES</option>
</field>
</fieldset>
</fields>
</config>
</extension>

1
plugins/system/cache/index.html vendored Normal file
View File

@ -0,0 +1 @@
<!DOCTYPE html><title></title>