/** * insert all default prestashop hook in to option database */ public static function registerDefaultHookModule($id_option) { $option = new Options($id_option); if ($option && Validate::isLoadedObject($option)) { $return = true; $displayLeft = false; $displayRight = false; if (substr_count($option->column, '1') > 0 || substr_count($option->column, '0') > 0) { $displayLeft = true; } if (substr_count($option->column, '2') > 0 || substr_count($option->column, '0') > 0) { $displayRight = true; } foreach (self::$OptionHookAssign as $hookname) { if ($hookname == 'displayLeftColumn' && !$displayLeft) { continue; } if ($hookname == 'displayRightColumn' && !$displayRight) { continue; } $idHook = (int) Hook::getIdByName($hookname); $modulesHook = self::getModuleArrFromBackuptbl($idHook, true); if ($modulesHook && count($modulesHook) > 0) { foreach ($modulesHook as $key => $moduleHook) { $return &= OvicLayoutControl::registerHookModule($option, $hookname, Tools::jsonEncode($moduleHook), $key); } } } } else { $return = false; } return $return; }
public function ajaxProcessupdateHook() { $result = array(); $id_option = (int) Tools::getValue('id_option'); $option = new Options($id_option); $datahooks = Tools::getValue('datahook'); $datahooks = Tools::jsonDecode($datahooks, true); if ($option && Validate::isLoadedObject($option) && $datahooks && is_array($datahooks) && sizeof($datahooks) > 0) { foreach ($datahooks as $hookmodules) { $res = array(); $hookName = key($hookmodules); $res['status'] = OvicLayoutControl::registerHookModule($option, $hookName, Tools::jsonEncode($hookmodules[$hookName]), $this->context->shop->id); $res['hookname'] = $hookName; $result[] = $res; } } Tools::clearCache(); die(Tools::jsonEncode($result)); }