[+] Classes: Add Xcache support
This commit is contained in:
@@ -46,6 +46,8 @@ class AdminPerformance extends AdminTab
|
|||||||
$this->_errors[] = Tools::displayError('To use Memcached, you must install the Memcache PECL extension on your server.').' <a href="http://www.php.net/manual/en/memcache.installation.php">http://www.php.net/manual/en/memcache.installation.php</a>';
|
$this->_errors[] = Tools::displayError('To use Memcached, you must install the Memcache PECL extension on your server.').' <a href="http://www.php.net/manual/en/memcache.installation.php">http://www.php.net/manual/en/memcache.installation.php</a>';
|
||||||
else if ($cache_active && $caching_system == 'CacheApc' && !extension_loaded('apc'))
|
else if ($cache_active && $caching_system == 'CacheApc' && !extension_loaded('apc'))
|
||||||
$this->_errors[] = Tools::displayError('To use APC cache, you must install the APC PECL extension on your server.').' <a href="http://fr.php.net/manual/fr/apc.installation.php">http://fr.php.net/manual/fr/apc.installation.php</a>';
|
$this->_errors[] = Tools::displayError('To use APC cache, you must install the APC PECL extension on your server.').' <a href="http://fr.php.net/manual/fr/apc.installation.php">http://fr.php.net/manual/fr/apc.installation.php</a>';
|
||||||
|
else if ($cache_active && $caching_system == 'CacheXcache' && !extension_loaded('xcache'))
|
||||||
|
$this->_errors[] = Tools::displayError('To use Xcache, you must install the Xcache extension on your server.').' <a href="http://xcache.lighttpd.net">http://xcache.lighttpd.net</a>';
|
||||||
else if ($cache_active && $caching_system == 'CacheFs' && !is_writable(_PS_CACHEFS_DIRECTORY_))
|
else if ($cache_active && $caching_system == 'CacheFs' && !is_writable(_PS_CACHEFS_DIRECTORY_))
|
||||||
$this->_errors[] = Tools::displayError('To use CacheFS the directory').' '.realpath(_PS_CACHEFS_DIRECTORY_).' '.Tools::displayError('must be writable');
|
$this->_errors[] = Tools::displayError('To use CacheFS the directory').' '.realpath(_PS_CACHEFS_DIRECTORY_).' '.Tools::displayError('must be writable');
|
||||||
|
|
||||||
@@ -224,6 +226,9 @@ class AdminPerformance extends AdminTab
|
|||||||
$warnings[] = $this->l('To use Memcached, you must install the Memcache PECL extension on your server.').' <a href="http://www.php.net/manual/en/memcache.installation.php">http://www.php.net/manual/en/memcache.installation.php</a>';
|
$warnings[] = $this->l('To use Memcached, you must install the Memcache PECL extension on your server.').' <a href="http://www.php.net/manual/en/memcache.installation.php">http://www.php.net/manual/en/memcache.installation.php</a>';
|
||||||
if (!extension_loaded('apc'))
|
if (!extension_loaded('apc'))
|
||||||
$warnings[] = $this->l('To use APC, you must install the APC PECL extension on your server.').' <a href="http://fr.php.net/manual/fr/apc.installation.php">http://fr.php.net/manual/fr/apc.installation.php</a>';
|
$warnings[] = $this->l('To use APC, you must install the APC PECL extension on your server.').' <a href="http://fr.php.net/manual/fr/apc.installation.php">http://fr.php.net/manual/fr/apc.installation.php</a>';
|
||||||
|
if (!extension_loaded('xcache'))
|
||||||
|
$warnings[] = $this->l('To use Xcache, you must install the Xcache extension on your server.').' <a href="http://xcache.lighttpd.net">http://xcache.lighttpd.net</a>';
|
||||||
|
|
||||||
if (!is_writable(_PS_CACHEFS_DIRECTORY_))
|
if (!is_writable(_PS_CACHEFS_DIRECTORY_))
|
||||||
$warnings[] = $this->l('To use CacheFS the directory').' '.realpath(_PS_CACHEFS_DIRECTORY_).' '.$this->l('must be writable');
|
$warnings[] = $this->l('To use CacheFS the directory').' '.realpath(_PS_CACHEFS_DIRECTORY_).' '.$this->l('must be writable');
|
||||||
|
|
||||||
@@ -447,6 +452,7 @@ class AdminPerformance extends AdminTab
|
|||||||
<select name="caching_system" id="caching_system">
|
<select name="caching_system" id="caching_system">
|
||||||
<option value="CacheMemcache" '.(_PS_CACHING_SYSTEM_ == 'CacheMemcache' ? 'selected="selected"' : '' ).'>'.$this->l('Memcached').'</option>
|
<option value="CacheMemcache" '.(_PS_CACHING_SYSTEM_ == 'CacheMemcache' ? 'selected="selected"' : '' ).'>'.$this->l('Memcached').'</option>
|
||||||
<option value="CacheApc" '.(_PS_CACHING_SYSTEM_ == 'CacheApc' ? 'selected="selected"' : '' ).'>'.$this->l('APC').'</option>
|
<option value="CacheApc" '.(_PS_CACHING_SYSTEM_ == 'CacheApc' ? 'selected="selected"' : '' ).'>'.$this->l('APC').'</option>
|
||||||
|
<option value="CacheXcache" '.(_PS_CACHING_SYSTEM_ == 'CacheXcache' ? 'selected="selected"' : '' ).'>'.$this->l('Xcache').'</option>
|
||||||
<option value="CacheFs" '.(_PS_CACHING_SYSTEM_ == 'CacheFs' ? 'selected="selected"' : '' ).'>'.$this->l('File System').'</option>
|
<option value="CacheFs" '.(_PS_CACHING_SYSTEM_ == 'CacheFs' ? 'selected="selected"' : '' ).'>'.$this->l('File System').'</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Vendored
+2
@@ -240,6 +240,8 @@
|
|||||||
'CacheFs' => 'override/classes/cache/CacheFs.php',
|
'CacheFs' => 'override/classes/cache/CacheFs.php',
|
||||||
'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php',
|
'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php',
|
||||||
'CacheMemcache' => 'override/classes/cache/CacheMemcache.php',
|
'CacheMemcache' => 'override/classes/cache/CacheMemcache.php',
|
||||||
|
'CacheXcacheCore' => 'classes/cache/CacheXcache.php',
|
||||||
|
'CacheXcache' => 'override/classes/cache/CacheXcache.php',
|
||||||
'DbCore' => 'classes/db/Db.php',
|
'DbCore' => 'classes/db/Db.php',
|
||||||
'Db' => 'override/classes/db/Db.php',
|
'Db' => 'override/classes/db/Db.php',
|
||||||
'DbMySQLiCore' => 'classes/db/DbMySQLi.php',
|
'DbMySQLiCore' => 'classes/db/DbMySQLi.php',
|
||||||
|
|||||||
Vendored
+90
@@ -0,0 +1,90 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* 2007-2011 PrestaShop
|
||||||
|
*
|
||||||
|
* NOTICE OF LICENSE
|
||||||
|
*
|
||||||
|
* This source file is subject to the Open Software License (OSL 3.0)
|
||||||
|
* that is bundled with this package in the file LICENSE.txt.
|
||||||
|
* It is also available through the world-wide-web at this URL:
|
||||||
|
* http://opensource.org/licenses/osl-3.0.php
|
||||||
|
* If you did not receive a copy of the license and are unable to
|
||||||
|
* obtain it through the world-wide-web, please send an email
|
||||||
|
* to license@prestashop.com so we can send you a copy immediately.
|
||||||
|
*
|
||||||
|
* DISCLAIMER
|
||||||
|
*
|
||||||
|
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||||
|
* versions in the future. If you wish to customize PrestaShop for your
|
||||||
|
* needs please refer to http://www.prestashop.com for more information.
|
||||||
|
*
|
||||||
|
* @author PrestaShop SA <contact@prestashop.com>
|
||||||
|
* @copyright 2007-2011 PrestaShop SA
|
||||||
|
* @version Release: $Revision$
|
||||||
|
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||||
|
* International Registered Trademark & Property of PrestaShop SA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class require Xcache extension
|
||||||
|
*
|
||||||
|
* @since 1.5.0
|
||||||
|
*/
|
||||||
|
class CacheXcacheCore extends Cache
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->keys = xcache_get(self::KEYS_NAME);
|
||||||
|
if (!is_array($this->keys))
|
||||||
|
$this->keys = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::_set()
|
||||||
|
*/
|
||||||
|
protected function _set($key, $value, $ttl = 0)
|
||||||
|
{
|
||||||
|
return xcache_set($key, $value, $ttl);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::_get()
|
||||||
|
*/
|
||||||
|
protected function _get($key)
|
||||||
|
{
|
||||||
|
return xcache_isset($key) ? xcache_get($key) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::_exists()
|
||||||
|
*/
|
||||||
|
protected function _exists($key)
|
||||||
|
{
|
||||||
|
return xcache_isset($key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::_delete()
|
||||||
|
*/
|
||||||
|
protected function _delete($key)
|
||||||
|
{
|
||||||
|
return xcache_unset($key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::_writeKeys()
|
||||||
|
*/
|
||||||
|
protected function _writeKeys()
|
||||||
|
{
|
||||||
|
xcache_set(self::KEYS_NAME, $this->keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Cache::flush()
|
||||||
|
*/
|
||||||
|
public function flush()
|
||||||
|
{
|
||||||
|
$this->delete('*');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class CacheXcache extends CacheXcacheCore
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user