/**
  * Change hook execute off module
  */
 public function ajaxProcessChangeModuleHook()
 {
     $result = array();
     $pagemeta = Tools::getValue('pagemeta');
     $hookcolumn = Tools::getValue('hookcolumn');
     $id_hookexec = (int) Tools::getValue('id_hookexec');
     $hookexec_name = Hook::getNameById($id_hookexec);
     $old_hook = (int) Tools::getValue('old_hook');
     $id_module = (int) Tools::getValue('id_module');
     if ($id_module && Validate::isUnsignedId($id_module) && $hookexec_name && Validate::isHookName($hookexec_name)) {
         $result['status'] = true;
         $moduleObject = Module::getInstanceById($id_module);
         $HookedModulesArr = OvicLayoutControl::getSideBarModulesByPage($pagemeta, $hookcolumn, false);
         if (!is_array($HookedModulesArr)) {
             $result['status'] = false;
         }
         if ($result['status']) {
             $moduleHook = array();
             $moduleHook[] = $moduleObject->name;
             $moduleHook[] = Hook::getNameById($old_hook);
             $key = array_search($moduleHook, $HookedModulesArr);
             if (array_key_exists($key, $HookedModulesArr)) {
                 $moduleHook[1] = $hookexec_name;
                 $HookedModulesArr[$key] = $moduleHook;
                 $result['status'] = OvicLayoutControl::registerSidebarModule($pagemeta, $hookcolumn, Tools::jsonEncode($HookedModulesArr), $this->context->shop->id);
                 $result['moduleinfo'] = $moduleObject->name . '-' . $hookexec_name;
             }
         }
     }
     Tools::clearCache();
     die(Tools::jsonEncode($result));
 }