issue 840, fixed a bug for setup addon in textyle.

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9790 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2011-11-03 01:52:16 +00:00
parent 41584ccd58
commit 8abcf7fae4
3 changed files with 28 additions and 61 deletions

View file

@ -92,75 +92,35 @@
$this->makeCacheFile(0, 'mobile', 'site');
}
$this->setRedirectUrl(getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAddonAdminIndex'));
if (Context::get('success_return_url'))
{
$this->setRedirectUrl(Context::get('success_return_url'));
}
else
{
$this->setRedirectUrl(getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAddonAdminIndex'));
}
}
/**
* @brief Add active/inactive change
**/
function procAddonAdminToggleActivate() {
$oAddonModel = &getAdminModel('addon');
$site_module_info = Context::get('site_module_info');
$pc = Context::get('pc');
$mobile = Context::get('mobile');
$oAddonModel = &getAdminModel('addon');
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;
}
$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);
}
// 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'));
$this->makeCacheFile($site_module_info->site_srl, $type);
}
/**