Fix #914 incorrect overwriting of integration search module config

This commit is contained in:
Kijin Sung 2017-09-20 18:17:15 +09:00
parent c602c64878
commit 8c65f7c022

View file

@ -26,16 +26,15 @@ class integration_searchAdminController extends integration_search
// Get configurations (using module model object)
$oModuleModel = getModel('module');
$config = $oModuleModel->getModuleConfig('integration_search');
$config = (object)get_object_vars($config);
$args = new stdClass;
$args->skin = Context::get('skin');
$args->target = Context::get('target');
$args->target_module_srl = Context::get('target_module_srl');
if(!$args->target_module_srl) $args->target_module_srl = '';
$args->skin_vars = $config->skin_vars;
$config->skin = Context::get('skin');
$config->target = Context::get('target');
$config->target_module_srl = Context::get('target_module_srl');
if(!$config->target_module_srl) $config->target_module_srl = '';
$oModuleController = getController('module');
$output = $oModuleController->insertModuleConfig('integration_search',$args);
$output = $oModuleController->insertModuleConfig('integration_search', $config);
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispIntegration_searchAdminContent');
return $this->setRedirectUrl($returnUrl, $output);
@ -51,17 +50,17 @@ class integration_searchAdminController extends integration_search
// Get configurations (using module model object)
$oModuleModel = getModel('module');
$config = $oModuleModel->getModuleConfig('integration_search');
$config = (object)get_object_vars($config);
$args = new stdClass;
$args->skin = $config->skin;
$args->target_module_srl = $config->target_module_srl;
// Get skin information (to check extra_vars)
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $config->skin);
// Check received variables (delete the basic variables such as mo, act, module_srl, page)
$obj = Context::getRequestVars();
unset($obj->act);
unset($obj->module_srl);
unset($obj->page);
// Separately handle if the extra_vars is an image type in the original skin_info
if($skin_info->extra_vars)
{
@ -113,11 +112,12 @@ class integration_searchAdminController extends integration_search
$obj->{$vars->name} = $filename;
}
}
// Serialize and save
$args->skin_vars = serialize($obj);
$config->skin_vars = serialize($obj);
$oModuleController = getController('module');
$output = $oModuleController->insertModuleConfig('integration_search',$args);
$output = $oModuleController->insertModuleConfig('integration_search', $config);
$this->setMessage('success_updated', 'info');