/** * Display add new module form */ public function ajaxProcessdisplayModulesHook() { $result = ""; $id_hook = (int) Tools::getValue('id_hook'); $hookname = Hook::getNameById($id_hook); $id_option = (int) Tools::getValue('id_option'); $option = new Options($id_option); if ($hookname && Validate::isHookName($hookname) && $option && Validate::isLoadedObject($option)) { if ($hookname == 'displayHomeTab' || $hookname == 'displayHomeTabContent') { $optionModulesHook = OvicLayoutControl::getModuleExecList($hookname); } else { $optionModulesHook = OvicLayoutControl::getModuleExecList(); } $moduleOption = ''; $HookedModulesArr = OvicLayoutControl::getModulesHook($option->theme, $option->alias, $hookname); $HookedModulesArr = Tools::jsonDecode($HookedModulesArr['modules'], true); //$result .= print_r($HookedModules); $HookedModules = array(); $Hookedexecute = array(); if ($HookedModulesArr && is_array($HookedModulesArr) && sizeof($HookedModulesArr)) { foreach ($HookedModulesArr as $key => $HookedModule) { $HookedModules[] = (int) $HookedModule[0]; $Hookedexecute[] = (int) $HookedModule[1]; } } $allmoduleDisable = true; $moduleArr = array(); if ($optionModulesHook && count($optionModulesHook) > 0) { foreach ($optionModulesHook as $module) { $disableModule = false; $moduleObject = Module::getInstanceById($module['id_module']); if ($hookname == 'displayHomeTab' || $hookname == 'displayHomeTabContent') { if (in_array($module['id_module'], $HookedModules)) { $disableModule = true; } } else { if (in_array($module['id_module'], $HookedModules)) { $moduleHookCallable = OvicLayoutControl::getHooksByModule($moduleObject); if (count($moduleHookCallable) > 1) { $disableModule = true; foreach ($moduleHookCallable as $h) { if (!in_array($h['id_hook'], $Hookedexecute)) { $disableModule = false; break; } } } else { $disableModule = true; } } } if ($moduleObject->tab != 'analytics_stats') { $moduleArr[$moduleObject->displayName]['id_module'] = $module['id_module']; $moduleArr[$moduleObject->displayName]['disabled'] = $disableModule; //$moduleOption .='<option '.($disableModule? 'disabled':'').' value='.$module['id_module'].'>'.$moduleObject->displayName.'</option>'; } if (!$disableModule) { $allmoduleDisable = false; } } ksort($moduleArr); foreach ($moduleArr as $name => $moduleObj) { $moduleOption .= '<option ' . ($moduleObj['disabled'] ? 'disabled' : '') . ' value=' . $moduleObj['id_module'] . '>' . $name . '</option>'; } } $tpl = $this->createTemplate('new_popup.tpl'); $tpl->assign(array('postUrl' => self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminLayoutBuilder'), 'id_hook' => $id_hook, 'hookname' => $hookname, 'id_option' => $id_option, 'moduleOption' => $moduleOption)); $result .= $tpl->fetch(); } die(Tools::jsonEncode($result)); }
/** * Display add new module form */ public function ajaxProcessdisplayModulesHook() { $result = ""; $hookColumn = Tools::getValue('hookname'); $hookName = 'display' . ucfirst(trim($hookColumn)) . 'Column'; $id_hook = Hook::getIdByName($hookName); $pagemeta = Tools::getValue('pagemeta'); $optionModulesHook = OvicLayoutControl::getModuleExecList(array('displayLeftColumn', 'displayRightColumn', 'leftColumn', 'displaySmartBlogLeft', 'displaySmartBlogRight')); $moduleOption = ''; $HookedModulesArr = OvicLayoutControl::getSideBarModulesByPage($pagemeta, $hookColumn, false); $HookedModules = array(); $Hookedexecute = array(); if ($HookedModulesArr && is_array($HookedModulesArr) && sizeof($HookedModulesArr)) { foreach ($HookedModulesArr as $key => $HookedModule) { $HookedModules[] = (int) $HookedModule[0]; $Hookedexecute[] = (int) $HookedModule[1]; } } $allmoduleDisable = true; $moduleArr = array(); if ($optionModulesHook && count($optionModulesHook) > 0) { foreach ($optionModulesHook as $module) { $disableModule = false; $moduleObject = Module::getInstanceById($module['id_module']); if (in_array($module['id_module'], $HookedModules)) { $moduleHookCallable = OvicLayoutControl::getHooksByModule($moduleObject); if (count($moduleHookCallable) > 1) { $disableModule = true; foreach ($moduleHookCallable as $h) { if (!in_array($h['id_hook'], $Hookedexecute)) { $disableModule = false; break; } } } else { $disableModule = true; } } if ($moduleObject->tab != 'analytics_stats') { $moduleArr[$moduleObject->displayName]['id_module'] = $module['id_module']; $moduleArr[$moduleObject->displayName]['disabled'] = $disableModule; //$moduleOption .='<option '.($disableModule? 'disabled':'').' value='.$module['id_module'].'>'.$moduleObject->displayName.'</option>'; } if (!$disableModule) { $allmoduleDisable = false; } } ksort($moduleArr); foreach ($moduleArr as $name => $moduleObj) { $moduleOption .= '<option ' . ($moduleObj['disabled'] ? 'disabled' : '') . ' value=' . $moduleObj['id_module'] . '>' . $name . '</option>'; } } $tpl = $this->createTemplate('new_popup.tpl'); $tpl->assign(array('postUrl' => self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminLayoutSetting'), 'id_hook' => $id_hook, 'hookname' => $hookName, 'hookcolumn' => $hookColumn, 'pagemeta' => $pagemeta, 'moduleOption' => $moduleOption)); $result .= $tpl->fetch(); die(Tools::jsonEncode($result)); }