/** * remove a module from a hook */ public function ajaxProcessremoveModuleHook() { $result = array(); $hookname = Tools::getValue('hookname'); $id_option = (int) Tools::getValue('id_option'); $option = new Options($id_option); $hookexec_name = Tools::getValue('hookexec_name'); $module_name = Tools::getValue('module_name'); if ($option && Validate::isLoadedObject($option) && $module_name && Validate::isModuleName($module_name) && $hookname && Validate::isHookName($hookname) && $hookexec_name && Validate::isHookName($hookexec_name)) { $HookedModulesArr = OvicLayoutControl::getModulesHook($option->theme, $option->alias, $hookname); $HookedModulesArr = Tools::jsonDecode($HookedModulesArr['modules'], true); $HookedModulesArr = array_values($HookedModulesArr); $moduleHook = array(); $moduleHook[] = $module_name; $moduleHook[] = $hookexec_name; if ($HookedModulesArr && is_array($HookedModulesArr) && sizeof($HookedModulesArr)) { $key = array_search($moduleHook, $HookedModulesArr); unset($HookedModulesArr[$key]); } $HookedModulesArr = array_values($HookedModulesArr); $result['status'] = OvicLayoutControl::registerHookModule($option, $hookname, Tools::jsonEncode($HookedModulesArr), $this->context->shop->id); $result['msg'] = $this->l('Successful deletion'); //$this->displayError } Tools::clearCache(); die(Tools::jsonEncode($result)); }
/** * Copy hookmodule from source option to destionation option */ public static function copyHookModule($source_option, $destination_option) { //$source_option = new Options($source_option); if ($source_option && Validate::isLoadedObject($source_option) && $destination_option && Validate::isLoadedObject($destination_option)) { $return = true; $displayLeft = false; $displayRight = false; if (substr_count($destination_option->column, '1') > 0 || substr_count($destination_option->column, '0') > 0) { $displayLeft = true; } if (substr_count($destination_option->column, '2') > 0 || substr_count($destination_option->column, '0') > 0) { $displayRight = true; } foreach (OvicLayoutControl::$OptionHookAssign as $hookname) { if ($hookname == 'displayLeftColumn' && !$displayLeft) { continue; } if ($hookname == 'displayRightColumn' && !$displayRight) { continue; } $sourceoptionModules = OvicLayoutControl::getModulesHook($source_option->theme, $source_option->alias, $hookname); if ($sourceoptionModules && is_array($sourceoptionModules) && count($sourceoptionModules) > 0) { $return &= Db::getInstance()->insert('ovic_options_hook_module', array('theme' => $destination_option->theme, 'alias' => $destination_option->alias, 'hookname' => $sourceoptionModules['hookname'], 'modules' => $sourceoptionModules['modules'])); } } } else { $return = false; } return $return; }
/** * remove a module from a hook */ public function ajaxProcessremoveModuleHook() { $result = array(); $hookname = Tools::getValue('hookname'); $id_option = (int) Tools::getValue('id_option'); $id_hookexec = (int) Tools::getValue('id_hookexec'); $hookexec_name = Hook::getNameById($id_hookexec); $id_module = (int) Tools::getValue('id_module'); if ($id_module && Validate::isUnsignedId($id_module) && $hookname && Validate::isHookName($hookname) && $hookexec_name && Validate::isHookName($hookexec_name)) { $moduleObject = Module::getInstanceById($id_module); $HookedModulesArr = OvicLayoutControl::getModulesHook($id_option, $hookname); $HookedModulesArr = Tools::jsonDecode($HookedModulesArr['modules'], true); $HookedModulesArr = array_values($HookedModulesArr); $moduleHook = array(); $moduleHook[] = $moduleObject->name; $moduleHook[] = $hookexec_name; if ($HookedModulesArr && is_array($HookedModulesArr) && sizeof($HookedModulesArr)) { $key = array_search($moduleHook, $HookedModulesArr); unset($HookedModulesArr[$key]); } $HookedModulesArr = array_values($HookedModulesArr); $result['status'] = OvicLayoutControl::registerHookModule($id_option, $hookname, Tools::jsonEncode($HookedModulesArr), $this->context->shop->id); $result['msg'] = $this->l('Successful deletion'); //$this->displayError } Tools::clearCache(); die(Tools::jsonEncode($result)); }