Prepare methods to manage independent sections of module config, in case module config becomes too large

This commit is contained in:
Kijin Sung 2022-12-20 19:38:13 +09:00
parent 9cfcd7cb37
commit 3c456ce0b5
2 changed files with 53 additions and 14 deletions

View file

@ -190,10 +190,9 @@ class moduleController extends module
return $output; return $output;
} }
function updateModuleConfig($module, $config) public function updateModuleConfig($module, $config)
{ {
$origin_config = ModuleModel::getModuleConfig($module) ?: new stdClass; $origin_config = ModuleModel::getModuleConfig($module) ?: new stdClass;
foreach($config as $key => $val) foreach($config as $key => $val)
{ {
$origin_config->{$key} = $val; $origin_config->{$key} = $val;
@ -201,11 +200,21 @@ class moduleController extends module
return $this->insertModuleConfig($module, $origin_config); return $this->insertModuleConfig($module, $origin_config);
} }
public function updateModuleSectionConfig($module, $section, $config)
{
$origin_config = ModuleModel::getModuleSectionConfig($module, $section) ?: new stdClass;
foreach($config as $key => $val)
{
$origin_config->{$key} = $val;
}
return $this->insertModuleSectionConfig($module, $section, $origin_config);
}
function updateModulePartConfig($module, $module_srl, $config) public function updateModulePartConfig($module, $module_srl, $config)
{ {
$origin_config = ModuleModel::getModulePartConfig($module, $module_srl) ?: new stdClass; $origin_config = ModuleModel::getModulePartConfig($module, $module_srl) ?: new stdClass;
foreach($config as $key => $val) foreach($config as $key => $val)
{ {
$origin_config->{$key} = $val; $origin_config->{$key} = $val;
@ -215,10 +224,13 @@ class moduleController extends module
} }
/** /**
* @brief Enter a specific set of modules * Save global config for a module.
* In order to manage global configurations of modules such as board, member and so on *
* @param string $module
* @param object $config
* @return BaseObject
*/ */
function insertModuleConfig($module, $config) public function insertModuleConfig($module, $config)
{ {
$args =new stdClass(); $args =new stdClass();
$args->module = $module; $args->module = $module;
@ -249,10 +261,27 @@ class moduleController extends module
} }
/** /**
* @brief Save module configurations of the mid * Save an independent section of module config.
* Manage mid configurations depending on module *
* @param string $module
* @param string $section
* @param object $config
* @return BaseObject
*/ */
function insertModulePartConfig($module, $module_srl, $config) public function insertModuleSectionConfig($module, $section, $config)
{
return $this->insertModuleConfig("$module:$section", $config);
}
/**
* Save module config for a specific module_srl.
*
* @param string $module
* @param int $module_srl
* @param object $config
* @return BaseObject
*/
public function insertModulePartConfig($module, $module_srl, $config)
{ {
$args = new stdClass(); $args = new stdClass();
$args->module = $module; $args->module = $module;

View file

@ -1208,8 +1208,7 @@ class moduleModel extends module
} }
/** /**
* @brief Return module configurations * Get global config for a module.
* Global configuration is used to manage board, member and others
* *
* @param string $module * @param string $module
* @return mixed * @return mixed
@ -1249,8 +1248,19 @@ class moduleModel extends module
} }
/** /**
* @brief Return the module configuration of mid * Get an independent section of module config.
* Manage mid configurations which depend on module *
* @param string $module
* @param string $section
* @return mixed
*/
public static function getModuleSectionConfig($module, $section)
{
return self::getModuleConfig("$module:$section");
}
/**
* Get config for a specific module_srl.
* *
* @param string module * @param string module
* @param int $module_srl * @param int $module_srl