mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 03:01:43 +09:00
fix #385 object cache 정리 및 오류가 발생할 수 는 문제 해결
This commit is contained in:
parent
58e141c48a
commit
d48d9d80a7
14 changed files with 175 additions and 167 deletions
9
classes/cache/CacheApc.class.php
vendored
9
classes/cache/CacheApc.class.php
vendored
|
|
@ -8,6 +8,8 @@
|
||||||
* */
|
* */
|
||||||
class CacheApc extends CacheBase
|
class CacheApc extends CacheBase
|
||||||
{
|
{
|
||||||
|
public static $isSupport = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get instance of CacheApc
|
* Get instance of CacheApc
|
||||||
*
|
*
|
||||||
|
|
@ -30,7 +32,6 @@ class CacheApc extends CacheBase
|
||||||
*/
|
*/
|
||||||
function CacheApc()
|
function CacheApc()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -40,7 +41,7 @@ class CacheApc extends CacheBase
|
||||||
*/
|
*/
|
||||||
function isSupport()
|
function isSupport()
|
||||||
{
|
{
|
||||||
return function_exists('apc_add');
|
return self::$isSupport;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -148,6 +149,10 @@ class CacheApc extends CacheBase
|
||||||
return apc_clear_cache('user');
|
return apc_clear_cache('user');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CacheApc::$isSupport = function_exists('apc_add');
|
||||||
|
|
||||||
/* End of file CacheApc.class.php */
|
/* End of file CacheApc.class.php */
|
||||||
/* Location: ./classes/cache/CacheApc.class.php */
|
/* Location: ./classes/cache/CacheApc.class.php */
|
||||||
|
|
|
||||||
23
classes/cache/CacheFile.class.php
vendored
23
classes/cache/CacheFile.class.php
vendored
|
|
@ -6,7 +6,7 @@
|
||||||
*
|
*
|
||||||
* Filedisk Cache Handler
|
* Filedisk Cache Handler
|
||||||
*
|
*
|
||||||
* @author Arnia Software (xe_dev@arnia.ro)
|
* @author NAVER (developers@xpressengine.com)
|
||||||
*/
|
*/
|
||||||
class CacheFile extends CacheBase
|
class CacheFile extends CacheBase
|
||||||
{
|
{
|
||||||
|
|
@ -90,8 +90,15 @@ class CacheFile extends CacheBase
|
||||||
function isValid($key, $modified_time = 0)
|
function isValid($key, $modified_time = 0)
|
||||||
{
|
{
|
||||||
$cache_file = $this->getCacheFileName($key);
|
$cache_file = $this->getCacheFileName($key);
|
||||||
|
|
||||||
if(file_exists($cache_file))
|
if(file_exists($cache_file))
|
||||||
{
|
{
|
||||||
|
if($modified_time > 0 && filemtime($cache_file) < $modified_timed)
|
||||||
|
{
|
||||||
|
FileHandler::removeFile($cache_file);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,15 +114,19 @@ class CacheFile extends CacheBase
|
||||||
*/
|
*/
|
||||||
function get($key, $modified_time = 0)
|
function get($key, $modified_time = 0)
|
||||||
{
|
{
|
||||||
$cache_file = FileHandler::exists($this->getCacheFileName($key));
|
if(!$cache_file = FileHandler::exists($this->getCacheFileName($key)))
|
||||||
|
|
||||||
if($cache_file) $content = include($cache_file);
|
|
||||||
|
|
||||||
if(!$content)
|
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($modified_time > 0 && filemtime($cache_file) < $modified_timed)
|
||||||
|
{
|
||||||
|
FileHandler::removeFile($cache_file);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$content = include($cache_file);
|
||||||
|
|
||||||
return unserialize(stripslashes($content));
|
return unserialize(stripslashes($content));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
4
classes/cache/CacheMemcache.class.php
vendored
4
classes/cache/CacheMemcache.class.php
vendored
|
|
@ -56,10 +56,11 @@ class CacheMemcache extends CacheBase
|
||||||
*/
|
*/
|
||||||
function isSupport()
|
function isSupport()
|
||||||
{
|
{
|
||||||
if($GLOBALS['XE_MEMCACHE_SUPPORT'])
|
if(isset($GLOBALS['XE_MEMCACHE_SUPPORT']))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->Memcache->set('xe', 'xe', MEMCACHE_COMPRESSED, 1))
|
if($this->Memcache->set('xe', 'xe', MEMCACHE_COMPRESSED, 1))
|
||||||
{
|
{
|
||||||
$GLOBALS['XE_MEMCACHE_SUPPORT'] = true;
|
$GLOBALS['XE_MEMCACHE_SUPPORT'] = true;
|
||||||
|
|
@ -68,6 +69,7 @@ class CacheMemcache extends CacheBase
|
||||||
{
|
{
|
||||||
$GLOBALS['XE_MEMCACHE_SUPPORT'] = false;
|
$GLOBALS['XE_MEMCACHE_SUPPORT'] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $GLOBALS['XE_MEMCACHE_SUPPORT'];
|
return $GLOBALS['XE_MEMCACHE_SUPPORT'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
8
classes/cache/CacheWincache.class.php
vendored
8
classes/cache/CacheWincache.class.php
vendored
|
|
@ -10,6 +10,8 @@
|
||||||
*/
|
*/
|
||||||
class CacheWincache extends CacheBase
|
class CacheWincache extends CacheBase
|
||||||
{
|
{
|
||||||
|
public static $isSupport = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get instance of CacheWincache
|
* Get instance of CacheWincache
|
||||||
*
|
*
|
||||||
|
|
@ -32,7 +34,6 @@ class CacheWincache extends CacheBase
|
||||||
*/
|
*/
|
||||||
function CacheWincache()
|
function CacheWincache()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -42,7 +43,7 @@ class CacheWincache extends CacheBase
|
||||||
*/
|
*/
|
||||||
function isSupport()
|
function isSupport()
|
||||||
{
|
{
|
||||||
return function_exists('wincache_ucache_set');
|
return self::$isSupport;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -150,7 +151,8 @@ class CacheWincache extends CacheBase
|
||||||
{
|
{
|
||||||
return wincache_ucache_clear();
|
return wincache_ucache_clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CacheWincache::$isSupport = function_exists('wincache_ucache_set');
|
||||||
/* End of file CacheWincache.class.php */
|
/* End of file CacheWincache.class.php */
|
||||||
/* Location: ./classes/cache/CacheWincache.class.php */
|
/* Location: ./classes/cache/CacheWincache.class.php */
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ class TemplateHandler
|
||||||
*/
|
*/
|
||||||
public function compile($tpl_path, $tpl_filename, $tpl_file = '')
|
public function compile($tpl_path, $tpl_filename, $tpl_file = '')
|
||||||
{
|
{
|
||||||
$buff = '';
|
$buff = false;
|
||||||
|
|
||||||
// store the starting time for debug information
|
// store the starting time for debug information
|
||||||
if(__DEBUG__ == 3)
|
if(__DEBUG__ == 3)
|
||||||
|
|
@ -159,7 +159,7 @@ class TemplateHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$buff)
|
if($buff === FALSE)
|
||||||
{
|
{
|
||||||
$buff = $this->parse();
|
$buff = $this->parse();
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
|
||||||
|
|
@ -442,6 +442,7 @@ class commentModel extends comment
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache controll
|
// cache controll
|
||||||
|
$output = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -450,7 +451,7 @@ class commentModel extends comment
|
||||||
$output = $oCacheHandler->get($cache_key);
|
$output = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$output)
|
if($output === FALSE)
|
||||||
{
|
{
|
||||||
// get the number of comments on the document module
|
// get the number of comments on the document module
|
||||||
$oDocumentModel = getModel('document');
|
$oDocumentModel = getModel('document');
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
*/
|
*/
|
||||||
class counterModel extends counter
|
class counterModel extends counter
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
*
|
*
|
||||||
|
|
@ -16,7 +15,6 @@ class counterModel extends counter
|
||||||
*/
|
*/
|
||||||
function init()
|
function init()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -32,26 +30,27 @@ class counterModel extends counter
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
|
|
||||||
|
$iplogged = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$object_key = 'counter:' . $site_srl . '_' . str_replace(array('.', ':'), '-', $args->ipaddress);
|
$object_key = 'counter:' . $site_srl . '_' . str_replace(array('.', ':'), '-', $args->ipaddress);
|
||||||
$cache_key = $oCacheHandler->getGroupKey('counterIpLogged_' . $args->regdate, $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('counterIpLogged_' . $args->regdate, $object_key);
|
||||||
if($oCacheHandler->isValid($cache_key))
|
$iplogged = $oCacheHandler->get($cache_key);
|
||||||
{
|
|
||||||
return $oCacheHandler->get($cache_key);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($iplogged === false)
|
||||||
|
{
|
||||||
$output = executeQuery('counter.getCounterLog', $args);
|
$output = executeQuery('counter.getCounterLog', $args);
|
||||||
|
if($output->data->count) $iplogged = TRUE;
|
||||||
$result = $output->data->count ? TRUE : FALSE;
|
|
||||||
if($result && $oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$oCacheHandler->put($cache_key, TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
if($iplogged && $oCacheHandler->isSupport())
|
||||||
|
{
|
||||||
|
$oCacheHandler->put($cache_key, $iplogged);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $iplogged;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -65,16 +64,16 @@ class counterModel extends counter
|
||||||
$args = new stdClass;
|
$args = new stdClass;
|
||||||
$args->regdate = date('Ymd');
|
$args->regdate = date('Ymd');
|
||||||
|
|
||||||
|
$insertedTodayStatus = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$cache_key = 'counter:insertedTodayStatus:' . $site_srl . '_' . $args->regdate;
|
$cache_key = 'counter:insertedTodayStatus:' . $site_srl . '_' . $args->regdate;
|
||||||
if($oCacheHandler->isValid($cache_key))
|
$insertedTodayStatus = $oCacheHandler->get($cache_key);
|
||||||
{
|
|
||||||
return $oCacheHandler->get($cache_key);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($insertedTodayStatus === false)
|
||||||
|
{
|
||||||
if($site_srl)
|
if($site_srl)
|
||||||
{
|
{
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
|
|
@ -85,15 +84,17 @@ class counterModel extends counter
|
||||||
$output = executeQuery('counter.getTodayStatus', $args);
|
$output = executeQuery('counter.getTodayStatus', $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $output->data->count ? TRUE : FALSE;
|
$insertedTodayStatus = !!$output->data->count;
|
||||||
if($result && $oCacheHandler->isSupport())
|
}
|
||||||
|
|
||||||
|
if($insertedTodayStatus && $oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$oCacheHandler->put($cache_key, TRUE);
|
$oCacheHandler->put($cache_key, TRUE);
|
||||||
$_old_date = date('Ymd', strtotime('-1 day'));
|
$_old_date = date('Ymd', strtotime('-1 day'));
|
||||||
$oCacheHandler->delete('counter:insertedTodayStatus:' . $site_srl . '_' . $_old_date);
|
$oCacheHandler->delete('counter:insertedTodayStatus:' . $site_srl . '_' . $_old_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $insertedTodayStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,8 @@ class documentItem extends Object
|
||||||
$this->document_srl = $document_srl;
|
$this->document_srl = $document_srl;
|
||||||
$this->columnList = $columnList;
|
$this->columnList = $columnList;
|
||||||
|
|
||||||
$this->_loadFromDB($load_extra_vars);
|
$oDocumentModel = getModel('document');
|
||||||
|
if($load_extra_vars === true) $oDocumentModel->getDocumentExtraVarsFromDB($document_srl);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setDocument($document_srl, $load_extra_vars = true)
|
function setDocument($document_srl, $load_extra_vars = true)
|
||||||
|
|
@ -76,13 +77,15 @@ class documentItem extends Object
|
||||||
{
|
{
|
||||||
if(!$this->document_srl) return;
|
if(!$this->document_srl) return;
|
||||||
|
|
||||||
|
$document_item = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$cache_key = 'document_item:' . $this->document_srl;
|
$cache_key = 'document_item:' . $this->document_srl;
|
||||||
$document_item = $oCacheHandler->get($cache_key);
|
$document_item = $oCacheHandler->get($cache_key);
|
||||||
if($document_item)
|
|
||||||
|
if($document_item !== false)
|
||||||
{
|
{
|
||||||
$document_item = (object)$document_item->getVariables();
|
$document_item = (object)$document_item->getVariables();
|
||||||
$this->columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count');
|
$this->columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count');
|
||||||
|
|
@ -97,9 +100,10 @@ class documentItem extends Object
|
||||||
$args->document_srl = $this->document_srl;
|
$args->document_srl = $this->document_srl;
|
||||||
$output = executeQuery('document.getDocument', $args, $this->columnList);
|
$output = executeQuery('document.getDocument', $args, $this->columnList);
|
||||||
|
|
||||||
if(!$document_item)
|
if($document_item === false)
|
||||||
{
|
{
|
||||||
$document_item = $output->data;
|
if(!is_object($output->data)) $document_item = new stdClass;
|
||||||
|
else $document_item = $output->data;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -139,13 +143,13 @@ class documentItem extends Object
|
||||||
}
|
}
|
||||||
|
|
||||||
$oDocumentModel = getModel('document');
|
$oDocumentModel = getModel('document');
|
||||||
$GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = $this;
|
|
||||||
if($load_extra_vars)
|
if($load_extra_vars)
|
||||||
{
|
{
|
||||||
$oDocumentModel->setToAllDocumentExtraVars();
|
$oDocumentModel->getDocumentExtraVarsFromDB($this->document_srl);
|
||||||
$this->add('title', $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl]->get('title'));
|
$this->add('title', $this->get('title'));
|
||||||
$this->add('content', $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl]->get('content'));
|
$this->add('content', $this->get('content'));
|
||||||
}
|
}
|
||||||
|
$GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isExists()
|
function isExists()
|
||||||
|
|
|
||||||
|
|
@ -361,8 +361,9 @@ class documentModel extends document
|
||||||
*/
|
*/
|
||||||
function getExtraKeys($module_srl)
|
function getExtraKeys($module_srl)
|
||||||
{
|
{
|
||||||
if(is_null($GLOBALS['XE_EXTRA_KEYS'][$module_srl]))
|
if($GLOBALS['XE_EXTRA_KEYS'][$module_srl] === NULL)
|
||||||
{
|
{
|
||||||
|
$keys = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -371,8 +372,9 @@ class documentModel extends document
|
||||||
$keys = $oCacheHandler->get($cache_key);
|
$keys = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
$oExtraVar = &ExtraVar::getInstance($module_srl);
|
$oExtraVar = ExtraVar::getInstance($module_srl);
|
||||||
if(!$keys)
|
|
||||||
|
if($keys === false)
|
||||||
{
|
{
|
||||||
$obj = new stdClass();
|
$obj = new stdClass();
|
||||||
$obj->module_srl = $module_srl;
|
$obj->module_srl = $module_srl;
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,8 @@ class layoutModel extends layout
|
||||||
*/
|
*/
|
||||||
function getLayout($layout_srl)
|
function getLayout($layout_srl)
|
||||||
{
|
{
|
||||||
|
$layout_info = false;
|
||||||
|
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -267,7 +269,7 @@ class layoutModel extends layout
|
||||||
$layout_info = $oCacheHandler->get($cache_key);
|
$layout_info = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$layout_info)
|
if($layout_info === false)
|
||||||
{
|
{
|
||||||
// Get information from the DB
|
// Get information from the DB
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
|
|
|
||||||
|
|
@ -295,6 +295,8 @@ class memberModel extends member
|
||||||
//columnList size zero... get full member info
|
//columnList size zero... get full member info
|
||||||
if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0)
|
if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0)
|
||||||
{
|
{
|
||||||
|
$GLOBALS['__member_info__'][$member_srl] = false;
|
||||||
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -304,7 +306,7 @@ class memberModel extends member
|
||||||
$GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key);
|
$GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$GLOBALS['__member_info__'][$member_srl])
|
if($GLOBALS['__member_info__'][$member_srl] === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->member_srl = $member_srl;
|
$args->member_srl = $member_srl;
|
||||||
|
|
@ -458,7 +460,10 @@ class memberModel extends member
|
||||||
*/
|
*/
|
||||||
function getMemberGroups($member_srl, $site_srl = 0, $force_reload = false)
|
function getMemberGroups($member_srl, $site_srl = 0, $force_reload = false)
|
||||||
{
|
{
|
||||||
|
static $member_groups = array();
|
||||||
|
|
||||||
// cache controll
|
// cache controll
|
||||||
|
$group_list = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -467,11 +472,9 @@ class memberModel extends member
|
||||||
$group_list = $oCacheHandler->get($cache_key);
|
$group_list = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
static $member_groups = array();
|
|
||||||
|
|
||||||
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
|
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
|
||||||
{
|
{
|
||||||
if(!$group_list && !is_array($group_list))
|
if($group_list === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->member_srl = $member_srl;
|
$args->member_srl = $member_srl;
|
||||||
|
|
@ -516,6 +519,7 @@ class memberModel extends member
|
||||||
*/
|
*/
|
||||||
function getDefaultGroup($site_srl = 0, $columnList = array())
|
function getDefaultGroup($site_srl = 0, $columnList = array())
|
||||||
{
|
{
|
||||||
|
$default_group = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -525,7 +529,7 @@ class memberModel extends member
|
||||||
$default_group = $oCacheHandler->get($cache_key);
|
$default_group = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$default_group)
|
if($default_group === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
|
|
@ -574,6 +578,7 @@ class memberModel extends member
|
||||||
$site_srl = 0;
|
$site_srl = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$group_list = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -581,9 +586,9 @@ class memberModel extends member
|
||||||
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
|
||||||
$group_list = $oCacheHandler->get($cache_key);
|
$group_list = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
if(!$group_list)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
if($group_list === false)
|
||||||
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
$args->sort_index = 'list_order';
|
$args->sort_index = 'list_order';
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ class moduleModel extends module
|
||||||
// If domain is set, look for subsite
|
// If domain is set, look for subsite
|
||||||
if($domain !== '')
|
if($domain !== '')
|
||||||
{
|
{
|
||||||
|
$site_info = false;
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$object_key = 'site_info:' . md5($domain);
|
$object_key = 'site_info:' . md5($domain);
|
||||||
|
|
@ -125,12 +126,13 @@ class moduleModel extends module
|
||||||
$site_info = $oCacheHandler->get($domain_cache_key);
|
$site_info = $oCacheHandler->get($domain_cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$site_info)
|
if($site_info === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->domain = $domain;
|
$args->domain = $domain;
|
||||||
$output = executeQuery('module.getSiteInfoByDomain', $args);
|
$output = executeQuery('module.getSiteInfoByDomain', $args);
|
||||||
$site_info = $output->data;
|
$site_info = $output->data;
|
||||||
|
|
||||||
if($oCacheHandler->isSupport()) $oCacheHandler->put($domain_cache_key, $site_info);
|
if($oCacheHandler->isSupport()) $oCacheHandler->put($domain_cache_key, $site_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -145,14 +147,15 @@ class moduleModel extends module
|
||||||
// If no virtual website was found, get default website
|
// If no virtual website was found, get default website
|
||||||
if($domain === '')
|
if($domain === '')
|
||||||
{
|
{
|
||||||
|
$site_info = false;
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$object_key = 'default_site';
|
$object_key = 'default_site';
|
||||||
$default_site_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
$default_site_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||||
$module_info = $oCacheHandler->get($default_site_cache_key);
|
$site_info = $oCacheHandler->get($default_site_cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$site_info)
|
if($site_info === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->site_srl = 0;
|
$args->site_srl = 0;
|
||||||
|
|
@ -212,6 +215,10 @@ class moduleModel extends module
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->mid = $mid;
|
$args->mid = $mid;
|
||||||
$args->site_srl = (int)$site_srl;
|
$args->site_srl = (int)$site_srl;
|
||||||
|
|
||||||
|
$module_srl = false;
|
||||||
|
$module_info = false;
|
||||||
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -226,7 +233,7 @@ class moduleModel extends module
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$module_info && !is_array($module_info))
|
if($module_info === false)
|
||||||
{
|
{
|
||||||
$output = executeQuery('module.getMidInfo', $args);
|
$output = executeQuery('module.getMidInfo', $args);
|
||||||
$module_info = $output->data;
|
$module_info = $output->data;
|
||||||
|
|
@ -310,6 +317,9 @@ class moduleModel extends module
|
||||||
$moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0;
|
$moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0;
|
||||||
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
|
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
|
||||||
|
|
||||||
|
$module_srl = false;
|
||||||
|
$mid_info = false;
|
||||||
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -320,10 +330,10 @@ class moduleModel extends module
|
||||||
{
|
{
|
||||||
$object_key = 'mid_info:' . $module_srl;
|
$object_key = 'mid_info:' . $module_srl;
|
||||||
$module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
$module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||||
$coutput = $oCacheHandler->get($module_info_cache_key);
|
$mid_info = $oCacheHandler->get($module_info_cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$coutput)
|
if($mid_info === false)
|
||||||
{
|
{
|
||||||
$oCacheHandler->put($module_srl_cache_key, $output->data->module_srl);
|
$oCacheHandler->put($module_srl_cache_key, $output->data->module_srl);
|
||||||
|
|
||||||
|
|
@ -333,8 +343,8 @@ class moduleModel extends module
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$coutput->designSettings = $moduleInfo->designSettings;
|
$mid_info->designSettings = $moduleInfo->designSettings;
|
||||||
$moduleInfo = $coutput;
|
$moduleInfo = $mid_info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -356,9 +366,8 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getModuleInfoByModuleSrl($module_srl, $columnList = array())
|
function getModuleInfoByModuleSrl($module_srl, $columnList = array())
|
||||||
{
|
{
|
||||||
// Get data
|
$mid_info = false;
|
||||||
$args = new stdClass();
|
|
||||||
$args->module_srl = $module_srl;
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -367,8 +376,11 @@ class moduleModel extends module
|
||||||
$mid_info = $oCacheHandler->get($cache_key);
|
$mid_info = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$mid_info && !is_array($mid_info))
|
if($mid_info === false)
|
||||||
{
|
{
|
||||||
|
// Get data
|
||||||
|
$args = new stdClass();
|
||||||
|
$args->module_srl = $module_srl;
|
||||||
$output = executeQuery('module.getMidInfo', $args);
|
$output = executeQuery('module.getMidInfo', $args);
|
||||||
if(!$output->toBool()) return;
|
if(!$output->toBool()) return;
|
||||||
|
|
||||||
|
|
@ -482,6 +494,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getMidList($args = null, $columnList = array())
|
function getMidList($args = null, $columnList = array())
|
||||||
{
|
{
|
||||||
|
$list = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -493,7 +506,7 @@ class moduleModel extends module
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$list)
|
if($list === false)
|
||||||
{
|
{
|
||||||
if($oCacheHandler->isSupport() && count($args) === 1 && isset($args->site_srl))
|
if($oCacheHandler->isSupport() && count($args) === 1 && isset($args->site_srl))
|
||||||
{
|
{
|
||||||
|
|
@ -517,6 +530,7 @@ class moduleModel extends module
|
||||||
{
|
{
|
||||||
$mid_list[$val->mid] = $val;
|
$mid_list[$val->mid] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $mid_list;
|
return $mid_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -567,6 +581,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getActionForward($act)
|
function getActionForward($act)
|
||||||
{
|
{
|
||||||
|
$action_forward = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -576,7 +591,7 @@ class moduleModel extends module
|
||||||
}
|
}
|
||||||
|
|
||||||
// retrieve and caching all registered action_forward
|
// retrieve and caching all registered action_forward
|
||||||
if(!$action_forward)
|
if($action_forward === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$output = executeQueryArray('module.getActionForward',$args);
|
$output = executeQueryArray('module.getActionForward',$args);
|
||||||
|
|
@ -589,7 +604,6 @@ class moduleModel extends module
|
||||||
$action_forward[$item->act] = $item;
|
$action_forward[$item->act] = $item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$oCacheHandler->put($cache_key, $action_forward);
|
$oCacheHandler->put($cache_key, $action_forward);
|
||||||
|
|
@ -611,6 +625,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getTriggers($trigger_name, $called_position)
|
function getTriggers($trigger_name, $called_position)
|
||||||
{
|
{
|
||||||
|
$triggers = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -620,7 +635,7 @@ class moduleModel extends module
|
||||||
$triggers = $oCacheHandler->get($cache_key);
|
$triggers = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$triggers && !is_array($triggers))
|
if($triggers === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->trigger_name = $trigger_name;
|
$args->trigger_name = $trigger_name;
|
||||||
|
|
@ -1336,6 +1351,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getModuleConfig($module, $site_srl = 0)
|
function getModuleConfig($module, $site_srl = 0)
|
||||||
{
|
{
|
||||||
|
$config = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1344,15 +1360,17 @@ class moduleModel extends module
|
||||||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||||
$config = $oCacheHandler->get($cache_key);
|
$config = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
if(!$config)
|
|
||||||
|
if($config === false)
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['__ModuleConfig__'][$site_srl][$module])
|
if(!isset($GLOBALS['__ModuleConfig__'][$site_srl][$module]))
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->module = $module;
|
$args->module = $module;
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
$output = executeQuery('module.getModuleConfig', $args);
|
$output = executeQuery('module.getModuleConfig', $args);
|
||||||
$config = unserialize($output->data->config);
|
$config = unserialize($output->data->config);
|
||||||
|
if(!$config) $config = new stdClass;
|
||||||
|
|
||||||
//insert in cache
|
//insert in cache
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1373,6 +1391,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getModulePartConfig($module, $module_srl)
|
function getModulePartConfig($module, $module_srl)
|
||||||
{
|
{
|
||||||
|
$config = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1381,15 +1400,17 @@ class moduleModel extends module
|
||||||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||||
$config = $oCacheHandler->get($cache_key);
|
$config = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
if(!$config)
|
|
||||||
|
if($config === false)
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['__ModulePartConfig__'][$module][$module_srl])
|
if(!isset($GLOBALS['__ModulePartConfig__'][$module][$module_srl]))
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->module = $module;
|
$args->module = $module;
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
$output = executeQuery('module.getModulePartConfig', $args);
|
$output = executeQuery('module.getModulePartConfig', $args);
|
||||||
$config = unserialize($output->data->config);
|
$config = unserialize($output->data->config);
|
||||||
|
if(!$config) $config = new stdClass;
|
||||||
|
|
||||||
//insert in cache
|
//insert in cache
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1690,6 +1711,7 @@ class moduleModel extends module
|
||||||
$get_module_srls = array();
|
$get_module_srls = array();
|
||||||
if(!is_array($list_module_srl)) $list_module_srl = array($list_module_srl);
|
if(!is_array($list_module_srl)) $list_module_srl = array($list_module_srl);
|
||||||
|
|
||||||
|
$vars = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1715,7 +1737,7 @@ class moduleModel extends module
|
||||||
$get_module_srls = $list_module_srl;
|
$get_module_srls = $list_module_srl;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(count($get_module_srls))
|
if($vars === false || count($get_module_srls) > 0)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->module_srl = implode(',', $get_module_srls);
|
$args->module_srl = implode(',', $get_module_srls);
|
||||||
|
|
@ -1760,6 +1782,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getModuleSkinVars($module_srl)
|
function getModuleSkinVars($module_srl)
|
||||||
{
|
{
|
||||||
|
$skin_vars = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -1768,7 +1791,7 @@ class moduleModel extends module
|
||||||
$skin_vars = $oCacheHandler->get($cache_key);
|
$skin_vars = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$skin_vars)
|
if($skin_vars === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
|
|
@ -1874,6 +1897,7 @@ class moduleModel extends module
|
||||||
*/
|
*/
|
||||||
function getModuleMobileSkinVars($module_srl)
|
function getModuleMobileSkinVars($module_srl)
|
||||||
{
|
{
|
||||||
|
$skin_vars = false;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
|
@ -1882,7 +1906,7 @@ class moduleModel extends module
|
||||||
$skin_vars = $oCacheHandler->get($cache_key);
|
$skin_vars = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$skin_vars)
|
if($skin_vars === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
|
|
@ -1908,6 +1932,7 @@ class moduleModel extends module
|
||||||
function syncMobileSkinInfoToModuleInfo(&$module_info)
|
function syncMobileSkinInfoToModuleInfo(&$module_info)
|
||||||
{
|
{
|
||||||
if(!$module_info->module_srl) return;
|
if(!$module_info->module_srl) return;
|
||||||
|
$skin_vars = false;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
|
|
@ -1916,7 +1941,7 @@ class moduleModel extends module
|
||||||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||||
$skin_vars = $oCacheHandler->get($cache_key);
|
$skin_vars = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
if(!$skin_vars)
|
if($skin_vars === false)
|
||||||
{
|
{
|
||||||
$args = new stdClass;
|
$args = new stdClass;
|
||||||
$args->module_srl = $module_info->module_srl;
|
$args->module_srl = $module_info->module_srl;
|
||||||
|
|
|
||||||
|
|
@ -27,32 +27,22 @@ class sessionController extends session
|
||||||
function write($session_key, $val)
|
function write($session_key, $val)
|
||||||
{
|
{
|
||||||
if(!$session_key || !$this->session_started) return;
|
if(!$session_key || !$this->session_started) return;
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$cache_vars = $oCacheHandler->get($cache_key);
|
|
||||||
}
|
|
||||||
|
|
||||||
$args = new stdClass();
|
|
||||||
$args->session_key = $session_key;
|
|
||||||
if($cache_vars) $session_info = $cache_vars;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$output = executeQuery('session.getSession', $args);
|
$output = executeQuery('session.getSession', $args);
|
||||||
$session_info = $output->data;
|
$session_info = $output->data;
|
||||||
}
|
|
||||||
//if ip has changed delete the session from cache and db
|
//if ip has changed delete the session from db
|
||||||
if($session_info->session_key == $session_key && $session_info->ipaddress != $_SERVER['REMOTE_ADDR'])
|
if($session_info->session_key == $session_key && $session_info->ipaddress != $_SERVER['REMOTE_ADDR'])
|
||||||
{
|
{
|
||||||
if($oCacheHandler->isSupport()) $oCacheHandler->delete($cache_key);
|
|
||||||
executeQuery('session.deleteSession', $args);
|
executeQuery('session.deleteSession', $args);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$args->expired = date("YmdHis", $_SERVER['REQUEST_TIME'] + $this->lifetime);
|
$args->expired = date("YmdHis", $_SERVER['REQUEST_TIME'] + $this->lifetime);
|
||||||
$args->val = $val;
|
$args->val = $val;
|
||||||
$args->cur_mid = Context::get('mid');
|
$args->cur_mid = Context::get('mid');
|
||||||
|
|
||||||
if(!$args->cur_mid)
|
if(!$args->cur_mid)
|
||||||
{
|
{
|
||||||
$module_info = Context::get('current_module_info');
|
$module_info = Context::get('current_module_info');
|
||||||
|
|
@ -70,43 +60,15 @@ class sessionController extends session
|
||||||
}
|
}
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
$args->last_update = date("YmdHis", $_SERVER['REQUEST_TIME']);
|
$args->last_update = date("YmdHis", $_SERVER['REQUEST_TIME']);
|
||||||
$diff = $args->last_update - $cache_vars->last_update;
|
|
||||||
//verify if session values have changed
|
|
||||||
if($val == $cache_vars->val)
|
|
||||||
{
|
|
||||||
// if more than 5 minutes passed than modify the db session also
|
|
||||||
if($diff > 300)
|
|
||||||
{
|
|
||||||
//put session into cache
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
|
||||||
}
|
|
||||||
//put session into db
|
//put session into db
|
||||||
if($session_info->session_key) $output = executeQuery('session.updateSession', $args);
|
if($session_info->session_key)
|
||||||
|
{
|
||||||
|
$output = executeQuery('session.updateSession', $args);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//put session into cache
|
$output = executeQuery('session.insertSession', $args);
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//put session into cache
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
|
||||||
}
|
|
||||||
//put session into db
|
|
||||||
if($session_info->session_key) $output = executeQuery('session.updateSession', $args);
|
|
||||||
else $output = executeQuery('session.insertSession', $args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -115,17 +77,12 @@ class sessionController extends session
|
||||||
function destroy($session_key)
|
function destroy($session_key)
|
||||||
{
|
{
|
||||||
if(!$session_key || !$this->session_started) return;
|
if(!$session_key || !$this->session_started) return;
|
||||||
//remove session from cache
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
}
|
|
||||||
//remove session from db
|
//remove session from db
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->session_key = $session_key;
|
$args->session_key = $session_key;
|
||||||
executeQuery('session.deleteSession', $args);
|
executeQuery('session.deleteSession', $args);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,36 +23,27 @@ class sessionModel extends session
|
||||||
{
|
{
|
||||||
if(!$session_key || !$this->session_started) return;
|
if(!$session_key || !$this->session_started) return;
|
||||||
|
|
||||||
$output = new Object();
|
|
||||||
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'session:'.$session_key;
|
|
||||||
$output->data = $oCacheHandler->get($cache_key);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!$output->data)
|
|
||||||
{
|
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->session_key = $session_key;
|
$args->session_key = $session_key;
|
||||||
$columnList = array('session_key', 'cur_mid', 'val');
|
$columnList = array('session_key', 'cur_mid', 'val');
|
||||||
$output = executeQuery('session.getSession', $args, $columnList);
|
$output = executeQuery('session.getSession', $args, $columnList);
|
||||||
|
|
||||||
// Confirm there is a table created if read error occurs
|
// Confirm there is a table created if read error occurs
|
||||||
if(!$output->toBool())
|
if(!$output->toBool())
|
||||||
{
|
{
|
||||||
$oDB = &DB::getInstance();
|
$oDB = DB::getInstance();
|
||||||
if(!$oDB->isTableExists('session')) $oDB->createTableByXmlFile($this->module_path.'schemas/session.xml');
|
if(!$oDB->isTableExists('session')) $oDB->createTableByXmlFile($this->module_path.'schemas/session.xml');
|
||||||
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||||
$output = executeQuery('session.getSession', $args);
|
$output = executeQuery('session.getSession', $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if there is a table created in case there is no "cur_mid" value in the sessions information
|
// Check if there is a table created in case there is no "cur_mid" value in the sessions information
|
||||||
if(!isset($output->data->cur_mid))
|
if(!isset($output->data->cur_mid))
|
||||||
{
|
{
|
||||||
$oDB = &DB::getInstance();
|
$oDB = DB::getInstance();
|
||||||
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return $output->data->val;
|
return $output->data->val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue