Current Directory: /home/astoriaah/www/old15/administrator/components/com_sh404sef/plugins/system/shlib
Viewing File: /home/astoriaah/www/old15/administrator/components/com_sh404sef/plugins/system/shlib/shlib.php
<?php
/**
* Shlib - programming library
*
* @author Yannick Gaultier
* @copyright (c) Yannick Gaultier 2013
* @package shlib
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @version 0.2.9.370
* @date 2014-06-11
*
* build 370
*/
// no direct access
defined( '_JEXEC' ) or die;
jimport( 'joomla.plugin.plugin' );
/**
* Shlib system plugin
*
* @author
*/
class plgSystemShlib extends JPlugin {
public function __construct(& $subject, $config) {
parent::__construct($subject, $config);
//load the translation strings
JPlugin::loadLanguage( 'plg_system_shlib', JPATH_ADMINISTRATOR);
}
public function onAfterInitialise() {
// prevent warning on php5.3+
$this->_fixTimeWarning();
// couple of base path
defined( 'SHLIB_ROOT_PATH') or define( 'SHLIB_ROOT_PATH', str_replace( DIRECTORY_SEPARATOR, '/', dirname(__FILE__)) . '/shl_packages/');
defined( 'SHLIB_PATH_TO_ZEND') or define( 'SHLIB_PATH_TO_ZEND', SHLIB_ROOT_PATH . 'ZendFramework-1.11.7-minimal/library/');
// register our autoloader
require_once SHLIB_ROOT_PATH . 'system/autoloader.php';
$initialized = ShlSystem_Autoloader::initialize( SHLIB_ROOT_PATH);
// initialize path lib
$this->_initLibrary();
defined('SHLIB_VERSION') or define ('SHLIB_VERSION', '0.2.9.370');
// check if we're set to enable database query cache
if( !empty($this->params)) {
try {
$handler = $this->params->get( 'sharedmemory_cache_handler', ShlCache_Manager::CACHE_HANDLER_APC);
$queryCacheParams = array();
$queryCacheParams['host'] = $this->params->get( 'sharedmemory_cache_host', '');
$queryCacheParams['port'] = $this->params->get( 'sharedmemory_cache_port', '');
ShlCache_Manager::setHandler( $handler, $queryCacheParams);
ShlDbHelper::switchQueryCache( $this->params->get( 'enable_query_cache', 0) != 0);
if($this->params->get( 'enable_joomla_query_cache', 0)) {
ShlDbHelper::switchJoomlaQueryCache();
}
} catch (ShlException $e) {
ShlSystem_Log::error( 'shlib', 'Unable to setup database query cache: %s', $e->getMessage());
}
}
}
/**
*
* Prevent timezone not set warnings to appear all over,
* especially for PHP 5.3.3+
*/
protected function _fixTimeWarning() {
@date_default_timezone_set( @date_default_timezone_get());
}
protected function _initLibrary() {
// initialize Zend autoloader
include_once SHLIB_PATH_TO_ZEND . 'Zendshl/Loader/Autoloader.php';
try {
Zendshl_Loader_Autoloader::getInstance()->setZfPath( SHLIB_ROOT_PATH );
} catch (Exception $e) {
}
// setup logging configuration according to params
$logLevels = array();
if(!empty( $this->params)) {
if($this->params->get('log_info')) {
$logLevels[] = ShlSystem_Log::INFO;
}
if($this->params->get('log_error')) {
$logLevels[] = ShlSystem_Log::ERROR;
}
if($this->params->get('log_alert')) {
$logLevels[] = ShlSystem_Log::ALERT;
}
if($this->params->get('log_debug')) {
$logLevels[] = ShlSystem_Log::DEBUG;
}
}
ShlSystem_Log::setConfig(array( 'logLevel' => $logLevels));
}
}