mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
모듈 설정 부분을 효율적으로 개선
서드파티에서 getModulePartConfig() 사용시 Creating default object from empty value 문제가 발생되지 않도록 수정
This commit is contained in:
parent
2440058557
commit
22b16ecc73
2 changed files with 51 additions and 42 deletions
|
|
@ -178,29 +178,20 @@ class moduleController extends module
|
|||
|
||||
function updateModuleConfig($module, $config, $site_srl = 0)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->module = $module;
|
||||
$args->site_srl = $site_srl;
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$origin_config = $oModuleModel->getModuleConfig($module, $site_srl);
|
||||
|
||||
if(!$origin_config) $origin_config = new stdClass;
|
||||
|
||||
$origin_config = getModel('module')->getModuleConfig($module, $site_srl);
|
||||
|
||||
foreach($config as $key => $val)
|
||||
{
|
||||
$origin_config->{$key} = $val;
|
||||
}
|
||||
|
||||
|
||||
return $this->insertModuleConfig($module, $origin_config, $site_srl);
|
||||
}
|
||||
|
||||
function updateModulePartConfig($module, $module_srl, $config)
|
||||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$origin_config = $oModuleModel->getModulePartConfig($module, $module_srl);
|
||||
$origin_config = getModel('module')->getModulePartConfig($module, $module_srl);
|
||||
|
||||
if(!$origin_config) $origin_config = new stdClass;
|
||||
foreach($config as $key => $val)
|
||||
{
|
||||
$origin_config->{$key} = $val;
|
||||
|
|
|
|||
|
|
@ -1398,26 +1398,32 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleConfig($module, $site_srl = 0)
|
||||
{
|
||||
$config = Rhymix\Framework\Cache::get('site_and_module:module_config:' . $module . '_' . $site_srl);
|
||||
if($config === null)
|
||||
if(!isset($GLOBALS['__ModuleConfig__'][$site_srl][$module]))
|
||||
{
|
||||
if(!$GLOBALS['__ModuleConfig__'][$site_srl][$module])
|
||||
$config = Rhymix\Framework\Cache::get('site_and_module:module_config:' . $module . '_' . $site_srl);
|
||||
if($config === null)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args = new stdClass;
|
||||
$args->module = $module;
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('module.getModuleConfig', $args);
|
||||
if($output->data->config) $config = unserialize($output->data->config);
|
||||
else $config = new stdClass;
|
||||
|
||||
//insert in cache
|
||||
|
||||
// Only object type
|
||||
if($config = executeQuery('module.getModuleConfig', $args)->data->config)
|
||||
{
|
||||
$config = unserialize($config);
|
||||
}
|
||||
else
|
||||
{
|
||||
$config = new stdClass;
|
||||
}
|
||||
|
||||
// Set cache
|
||||
Rhymix\Framework\Cache::set('site_and_module:module_config:' . $module . '_' . $site_srl, $config, 0, true);
|
||||
$GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config;
|
||||
}
|
||||
return $GLOBALS['__ModuleConfig__'][$site_srl][$module];
|
||||
$GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config;
|
||||
}
|
||||
|
||||
return $config;
|
||||
|
||||
return $GLOBALS['__ModuleConfig__'][$site_srl][$module];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1426,26 +1432,32 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModulePartConfig($module, $module_srl)
|
||||
{
|
||||
$config = Rhymix\Framework\Cache::get('site_and_module:module_part_config:' . $module . '_' . $module_srl);
|
||||
if($config === null)
|
||||
if(!isset($GLOBALS['__ModulePartConfig__'][$module][$module_srl]))
|
||||
{
|
||||
if(!isset($GLOBALS['__ModulePartConfig__'][$module][$module_srl]))
|
||||
$config = Rhymix\Framework\Cache::get('site_and_module:module_part_config:' . $module . '_' . $module_srl);
|
||||
if($config === null)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args = new stdClass;
|
||||
$args->module = $module;
|
||||
$args->module_srl = $module_srl;
|
||||
$output = executeQuery('module.getModulePartConfig', $args);
|
||||
if($output->data->config) $config = unserialize($output->data->config);
|
||||
else $config = null;
|
||||
|
||||
//insert in cache
|
||||
Rhymix\Framework\Cache::set('site_and_module:module_part_config:' . $module . '_' . $module_srl, $config === null ? 0 : $config, 0, true);
|
||||
$GLOBALS['__ModulePartConfig__'][$module][$module_srl] = $config;
|
||||
|
||||
// Object or Array(compatibility) type
|
||||
if($config = executeQuery('module.getModulePartConfig', $args)->data->config)
|
||||
{
|
||||
$config = unserialize($config);
|
||||
}
|
||||
else
|
||||
{
|
||||
$config = new ArrayObject;
|
||||
}
|
||||
|
||||
// Set cache
|
||||
Rhymix\Framework\Cache::set('site_and_module:module_part_config:' . $module . '_' . $module_srl, $config, 0, true);
|
||||
}
|
||||
return $GLOBALS['__ModulePartConfig__'][$module][$module_srl];
|
||||
$GLOBALS['__ModulePartConfig__'][$module][$module_srl] = $config;
|
||||
}
|
||||
|
||||
return $config === 0 ? null : $config;
|
||||
|
||||
return $GLOBALS['__ModulePartConfig__'][$module][$module_srl];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1457,12 +1469,18 @@ class moduleModel extends module
|
|||
$args->module = $module;
|
||||
if($site_srl) $args->site_srl = $site_srl;
|
||||
$output = executeQueryArray('module.getModulePartConfigs', $args);
|
||||
if(!$output->toBool() || !$output->data) return array();
|
||||
|
||||
|
||||
if(!$output->toBool() || !$output->data)
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
$result = array();
|
||||
foreach($output->data as $key => $val)
|
||||
{
|
||||
$result[$val->module_srl] = unserialize($val->config);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue