1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-05-21 10:18:19 +03:00

Переведены на использование конфигурационных массивов modules cache, database, session. Файлы config.db.php, config.memcache.php, config.module.php закомментированы, так как данные настройки теперь берутся из общего config-объекта.

This commit is contained in:
Alexey Kachayev 2009-08-19 14:53:16 +00:00
parent 10d3a3773e
commit e381fd5c03
7 changed files with 68 additions and 30 deletions

View file

@ -18,6 +18,10 @@
/**
* Настройки коннекта к БД
*/
/**
* Рефакторинг:
* переход на использование конфигурационных массивов
*
return array(
'host' => 'localhost',
'port' => '3306',
@ -26,4 +30,5 @@ return array(
'type' => 'mysql',
'dbname' => 'social',
);
**/
?>

View file

@ -18,6 +18,10 @@
/**
* Настройки memcached
*/
/**
* Рефакторинг:
* переход на использование конфигурационных массивов
*
return array(
'servers' => array(
array(
@ -28,4 +32,5 @@ return array(
),
'compression' => true,
)
**/
?>

View file

@ -18,6 +18,10 @@
/**
* Определяет какие модули должны загружаться при старте
*/
/**
* Рефакторинг:
* переход на использование конфигурационных массивов
*
return array(
'autoLoad' => array(
'Cache',
@ -26,4 +30,5 @@ return array(
'Lang',
),
);
**/
?>

View file

@ -204,9 +204,9 @@ $config['sys']['cookie']['path'] = '/'; // путь для установки
/**
* Настройки сессий
*/
$config['sys']['session']['standart'] = true; // Использовать или нет стандартный механизм сессий
$config['sys']['session']['name'] = 'PHPSESSID'; // название сессии
$config['sys']['session']['timeout'] = null; // Тайм-аут сессии в секундах
$config['sys']['session']['standart'] = true; // Использовать или нет стандартный механизм сессий
$config['sys']['session']['name'] = 'PHPSESSID'; // название сессии
$config['sys']['session']['timeout'] = null; // Тайм-аут сессии в секундах
$config['sys']['session']['host'] = $config['sys']['cookie']['host']; // хост сессии в куках
$config['sys']['session']['path'] = $config['sys']['cookie']['path']; // путь сессии в куках
/**
@ -294,7 +294,7 @@ $config['db']['params']['port'] = '3306';
$config['db']['params']['user'] = 'root';
$config['db']['params']['pass'] = '';
$config['db']['params']['type'] = 'mysql';
$config['db']['params']['dbname'] = 'ls_core';
$config['db']['params']['dbname'] = 'social';
/**
* Настройка таблиц базы данных
*/

View file

@ -15,7 +15,7 @@
---------------------------------------------------------
*/
require_once(DIR_SERVER_ENGINE.'/lib/external/DklabCache/config.php');
require_once(Config::Get('path.root.engine').'/lib/external/DklabCache/config.php');
require_once('Zend/Cache.php');
require_once('Cache/Backend/MemcachedMultiload.php');
require_once('Cache/Backend/TagEmuWrapper.php');
@ -36,13 +36,13 @@ define('SYS_CACHE_TYPE_MEMORY','memory');
class LsCache extends Module {
protected $oBackendCache=null;
protected $bUseCache=SYS_CACHE_USE;
protected $bUseCache;
/**
* Тип кеширования, прописан в глобльном конфиге config.php
*
* @var string
*/
protected $sCacheType=SYS_CACHE_TYPE;
protected $sCacheType;
protected $aStats=array(
'time' =>0,
@ -56,6 +56,9 @@ class LsCache extends Module {
*
*/
public function Init() {
$this->bUseCache=Config::Get('sys.cache.use');
$this->sCacheType=Config::Get('sys.cache.type');
if (!$this->bUseCache) {
return false;
}
@ -63,8 +66,8 @@ class LsCache extends Module {
require_once('Zend/Cache/Backend/File.php');
$oCahe = new Zend_Cache_Backend_File(
array(
'cache_dir' => SYS_CACHE_DIR,
'file_name_prefix' => SYS_CACHE_PREFIX,
'cache_dir' => Config::Get('sys.cache.dir'),
'file_name_prefix' => Config::Get('sys.cache.prefix'),
'read_control_type' => 'crc32',
'read_control' => true,
'file_locking' => true,
@ -73,7 +76,10 @@ class LsCache extends Module {
$this->oBackendCache = new Dklab_Cache_Backend_Profiler($oCahe,array($this,'CalcStats'));
} elseif ($this->sCacheType==SYS_CACHE_TYPE_MEMORY) {
require_once('Zend/Cache/Backend/Memcached.php');
$aConfigMem=include(DIR_SERVER_ROOT."/config/config.memcache.php");
// Рефакторинг: переход на конфигурационные массивы
// $aConfigMem=include(DIR_SERVER_ROOT."/config/config.memcache.php");
$aConfigMem=Config::Get('memcache');
$oCahe = new Dklab_Cache_Backend_MemcachedMultiload($aConfigMem);
$this->oBackendCache = new Dklab_Cache_Backend_TagEmuWrapper(new Dklab_Cache_Backend_Profiler($oCahe,array($this,'CalcStats')));
} else {
@ -103,7 +109,7 @@ class LsCache extends Module {
* Т.к. название кеша может быть любым то предварительно хешируем имя кеша
*/
if (!is_array($sName)) {
$sName=md5(SYS_CACHE_PREFIX.$sName);
$sName=md5(Config::Get('sys.cache.prefix').$sName);
$data=$this->oBackendCache->load($sName);
if ($this->sCacheType==SYS_CACHE_TYPE_FILE and $data!==false) {
return unserialize($data);
@ -128,8 +134,8 @@ class LsCache extends Module {
$aKeys=array();
$aKv=array();
foreach ($aName as $sName) {
$aKeys[]=md5(SYS_CACHE_PREFIX.$sName);
$aKv[md5(SYS_CACHE_PREFIX.$sName)]=$sName;
$aKeys[]=md5(Config::Get('sys.cache.prefix').$sName);
$aKv[md5(Config::Get('sys.cache.prefix').$sName)]=$sName;
}
$data=$this->oBackendCache->load($aKeys);
if ($data and is_array($data)) {
@ -177,7 +183,7 @@ class LsCache extends Module {
/**
* Т.к. название кеша может быть любым то предварительно хешируем имя кеша
*/
$sName=md5(SYS_CACHE_PREFIX.$sName);
$sName=md5(Config::Get('sys.cache.prefix').$sName);
if ($this->sCacheType==SYS_CACHE_TYPE_FILE) {
$data=serialize($data);
}
@ -196,7 +202,7 @@ class LsCache extends Module {
/**
* Т.к. название кеша может быть любым то предварительно хешируем имя кеша
*/
$sName=md5(SYS_CACHE_PREFIX.$sName);
$sName=md5(Config::Get('sys.cache.prefix').$sName);
return $this->oBackendCache->remove($sName);
}
/**

View file

@ -15,7 +15,7 @@
---------------------------------------------------------
*/
require_once(DIR_SERVER_ENGINE.'/lib/external/DbSimple/Generic.php');
require_once(Config::Get('path.root.engine').'/lib/external/DbSimple/Generic.php');
/**
* Модуль для работы с базой данных
* Создаёт объект БД библиотеки DbSimple Дмитрия Котерова
@ -47,7 +47,9 @@ class LsDatabase extends Module {
* Если конфиг не передан то используем главный конфиг БД из config.db.php
*/
if (is_null($aConfig)) {
$aConfig=include(DIR_SERVER_ROOT."/config/config.db.php");
// Рефакторинг: переход на конфигурационные массивы
// $aConfig=include(DIR_SERVER_ROOT."/config/config.db.php");
$aConfig = Config::Get('db.params');
}
$sDSN=$aConfig['type'].'wrapper://'.$aConfig['user'].':'.$aConfig['pass'].'@'.$aConfig['host'].':'.$aConfig['port'].'/'.$aConfig['dbname'];
/**
@ -71,7 +73,7 @@ class LsDatabase extends Module {
/**
* Если нужно логировать все SQL запросы то подключаем логгер
*/
if (SYS_LOGS_SQL_QUERY) {
if (Config::Get('sys.logs.sql_query')) {
$oDbSimple->setLogger('databaseLogger');
}
/**
@ -124,7 +126,7 @@ function databaseErrorHandler($message, $info) {
/**
* Если нужно логировать SQL ошибке то пишем их в лог
*/
if (SYS_LOGS_SQL_ERROR) {
if (Config::Get('sys.logs.sql_error')) {
/**
* Получаем ядро
*/
@ -133,7 +135,7 @@ function databaseErrorHandler($message, $info) {
* Меняем имя файла лога на нужное, записываем в него ошибку и меняем имя обратно :)
*/
$sOldName=$oEngine->Logger_GetFileName();
$oEngine->Logger_SetFileName(SYS_LOGS_SQL_ERROR_FILE);
$oEngine->Logger_SetFileName(Config::Get('sys.logs.sql_error_file'));
$oEngine->Logger_Error($msg);
$oEngine->Logger_SetFileName($sOldName);
}
@ -166,8 +168,8 @@ function databaseLogger($db, $sql) {
*/
$oEngine=Engine::getInstance();
$sOldName=$oEngine->Logger_GetFileName();
$oEngine->Logger_SetFileName(SYS_LOGS_SQL_QUERY_FILE);
$oEngine->Logger_SetFileName(Config::Get('sys.logs.sql_query_file'));
$oEngine->Logger_Debug($msg);
$oEngine->Logger_SetFileName($sOldName);
$oEngine->Logger_SetFileName($sOldName);
}
?>

View file

@ -29,13 +29,14 @@ class LsSession extends Module {
*
* @var bool
*/
protected $bUseStandartSession=SYS_SESSION_STANDART;
protected $bUseStandartSession;
/**
* Инициализация модуля
*
*/
public function Init() {
$this->bUseStandartSession = Config::Get('sys.session.standart');
/**
* Стартуем сессию
*/
@ -48,8 +49,12 @@ class LsSession extends Module {
*/
protected function Start() {
if ($this->bUseStandartSession) {
session_name(SYS_SESSION_NAME);
session_set_cookie_params(SYS_SESSION_TIMEOUT,SYS_SESSION_PATH,SYS_SESSION_HOST);
session_name(Config::Get('sys.session.name'));
session_set_cookie_params(
Config::Get('sys.session.timeout'),
Config::Get('sys.session.path'),
Config::Get('sys.session.host')
);
session_start();
} else {
$this->SetId();
@ -66,14 +71,19 @@ class LsSession extends Module {
/**
* Если идентификатор есть в куках то берем его
*/
if (isset($_COOKIE[SYS_SESSION_NAME])) {
$this->sId=$_COOKIE[SYS_SESSION_NAME];
if (isset($_COOKIE[Config::Get('sys.session.name')])) {
$this->sId=$_COOKIE[Config::Get('sys.session.name')];
} else {
/**
* Иначе создаём новый и записываем его в куку
*/
$this->sId=$this->GenerateId();
setcookie(SYS_SESSION_NAME,$this->sId,time()+SYS_SESSION_TIMEOUT,SYS_SESSION_PATH,SYS_SESSION_HOST);
setcookie(
Config::Get('sys.session.name'),
$this->sId,time()+Config::Get('sys.session.timeout'),
Config::Get('sys.session.path'),
Config::Get('sys.session.host')
);
}
}
@ -99,7 +109,7 @@ class LsSession extends Module {
*
*/
protected function Save() {
$this->Cache_Set($this->aData,$this->sId,array(),SYS_SESSION_TIMEOUT);
$this->Cache_Set($this->aData,$this->sId,array(),Config::Get('sys.session.timeout'));
}
/**
@ -169,7 +179,12 @@ class LsSession extends Module {
} else {
unset($this->sId);
unset($this->aData);
setcookie(SYS_SESSION_NAME,'',1,SYS_SESSION_PATH,SYS_SESSION_HOST);
setcookie(
Config::Get('sys.session.name'),
'',1,
Config::Get('sys.session.path'),
Config::Get('sys.session.host')
);
}
}
}