From 9ede5fedd2f9e1a7da08c40e5b9fdb2f6cb94bf7 Mon Sep 17 00:00:00 2001 From: chschy Date: Fri, 21 Oct 2011 08:28:23 +0000 Subject: [PATCH] issue 661, cafeXE adapt to XE git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9709 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/addon/addon.admin.controller.php | 77 +++++++++++++++++++----- modules/addon/tpl/js/addon.js | 9 --- modules/addon/tpl/setup_addon.html | 2 +- modules/module/module.admin.view.php | 4 +- 4 files changed, 65 insertions(+), 27 deletions(-) diff --git a/modules/addon/addon.admin.controller.php b/modules/addon/addon.admin.controller.php index 5c2146e26..5ce3bc9bb 100644 --- a/modules/addon/addon.admin.controller.php +++ b/modules/addon/addon.admin.controller.php @@ -23,17 +23,14 @@ $pc = Context::get('pc'); $mobile = Context::get('mobile'); $fixed = Context::get('fixed'); - $favorite = Context::get('favorite'); if (!$pc) $pc = array(); if (!$mobile) $mobile = array(); if (!$fixed) $fixed = array(); - if (!$favorite) $favorite = array(); if (!is_array($pc)) $pc = array($pc); if (!is_array($mobile)) $pc = array($mobile); if (!is_array($fixed)) $pc = array($fixed); - if (!is_array($favorite)) $pc = array($favorite); // get current addon info $oModel = &getAdminModel('addon'); @@ -103,20 +100,67 @@ **/ function procAddonAdminToggleActivate() { $oAddonModel = &getAdminModel('addon'); - $site_module_info = Context::get('site_module_info'); - // batahom addon values - $addon = Context::get('addon'); - $type = Context::get('type'); - if(!$type) $type = "pc"; - if($addon) { - // If enabled Disables - if($oAddonModel->isActivatedAddon($addon, $site_module_info->site_srl, $type)) $this->doDeactivate($addon, $site_module_info->site_srl, $type); - // If it is disabled Activate - else $this->doActivate($addon, $site_module_info->site_srl, $type); - } + + $pc = Context::get('pc'); + $mobile = Context::get('mobile'); - $this->makeCacheFile($site_module_info->site_srl, $type); + if (!$pc) $pc = array(); + if (!$mobile) $mobile = array(); + + if (!is_array($pc)) $pc = array($pc); + if (!is_array($mobile)) $pc = array($mobile); + + // get current addon info + $oModel = &getAdminModel('addon'); + $currentAddonList = $oModel->getAddonList($site_module_info->site_srl, 'site'); + + // get need update addon list + $updateList = array(); + foreach($currentAddonList as $addon) + { + if ($addon->activated !== in_array($addon->addon_name, $pc)) + { + $updateList[] = $addon->addon_name; + continue; + } + + if ($addon->mactivated !== in_array($addon->addon_name, $mobile)) + { + $updateList[] = $addon->addon_name; + continue; + } + } + + // update + foreach($updateList as $targetAddon) + { + unset($args); + + if (in_array($targetAddon, $pc)) + $args->is_used = 'Y'; + else + $args->is_used = 'N'; + + if (in_array($targetAddon, $mobile)) + $args->is_used_m = 'Y'; + else + $args->is_used_m = 'N'; + + $args->addon = $targetAddon; + $args->site_srl = $site_module_info->site_srl; + + $output = executeQuery('addon.updateSiteAddon', $args); + if (!$output->toBool()) return $output; + } + + if (count($updateList)) + { + $this->makeCacheFile($site_module_info->site_srl, 'pc', 'site'); + $this->makeCacheFile($site_module_info->site_srl, 'mobile', 'site'); + } + + $this->setRedirectUrl(getNotEncodedUrl('', 'module', 'homepage', 'act', 'dispHomepageComponent')); } /** @@ -124,6 +168,7 @@ **/ function procAddonAdminSetupAddon() { $args = Context::getRequestVars(); + $module = $args->module; $addon_name = $args->addon_name; unset($args->module); unset($args->act); @@ -139,7 +184,7 @@ $this->makeCacheFile($site_module_info->site_srl, "pc", 'site'); $this->makeCacheFile($site_module_info->site_srl, "mobile", 'site'); - $this->setRedirectUrl(getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAddonAdminSetup', 'selected_addon', $addon_name)); + $this->setRedirectUrl(getNotEncodedUrl('', 'module', $module, 'act', 'dispAddonAdminSetup', 'selected_addon', $addon_name)); } diff --git a/modules/addon/tpl/js/addon.js b/modules/addon/tpl/js/addon.js index d2d0ce745..b9e54b394 100644 --- a/modules/addon/tpl/js/addon.js +++ b/modules/addon/tpl/js/addon.js @@ -9,12 +9,3 @@ function doToggleAddon(addon, type) { fo_obj.type.value = type; procFilter(fo_obj, toggle_activate_addon); } - -// 관리자 제어판 페이지용 -function doToggleAddonInAdmin(obj, addon, type) { - var params = new Array(); - params['addon'] = addon; - if(typeof(type) == "undefined") type = "pc"; - params['type'] = type; - exec_xml('addon','procAddonAdminToggleActivate',params,function() { if(/Active/.test(obj.className)) obj.className = "buttonSet buttonDisable"; else obj.className = "buttonSet buttonActive"; } ); -} diff --git a/modules/addon/tpl/setup_addon.html b/modules/addon/tpl/setup_addon.html index 28789051e..1d3b4cbe6 100644 --- a/modules/addon/tpl/setup_addon.html +++ b/modules/addon/tpl/setup_addon.html @@ -14,7 +14,7 @@

{$XE_VALIDATOR_MESSAGE}

- + diff --git a/modules/module/module.admin.view.php b/modules/module/module.admin.view.php index e0fc47aa9..fb66c0973 100644 --- a/modules/module/module.admin.view.php +++ b/modules/module/module.admin.view.php @@ -265,7 +265,9 @@ Context::set('page', $output->page); Context::set('lang_code_list', $output->data); Context::set('page_navigation', $output->page_navigation); - + + $this->setLayoutPath('./common/tpl'); + $this->setLayoutFile('popup_layout'); // Set a template file $this->setTemplateFile('module_langcode'); }