/**
  * 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));
 }
示例#2
0
 /**
  * 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));
 }