当前位置: 首页>>代码示例>>PHP>>正文


PHP Validate::isHookName方法代码示例

本文整理汇总了PHP中Validate::isHookName方法的典型用法代码示例。如果您正苦于以下问题:PHP Validate::isHookName方法的具体用法?PHP Validate::isHookName怎么用?PHP Validate::isHookName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Validate的用法示例。


在下文中一共展示了Validate::isHookName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get

    /**
     * Return hook ID from name
     * 
     * @param string $hookName Hook name
     * @return integer Hook ID
     */
    public static function get($hookName)
    {
        if (!Validate::isHookName($hookName)) {
            die(Tools::displayError());
        }
        $result = Db::getInstance()->GetRow('
		SELECT `id_hook`, `name`
		FROM `' . _DB_PREFIX_ . 'hook` 
		WHERE `name` = \'' . pSQL($hookName) . '\'');
        return $result ? $result['id_hook'] : false;
    }
开发者ID:raulgimenez,项目名称:dreamongraphics_shop,代码行数:17,代码来源:Hook.php

示例2: ajaxProcessremoveModuleHook

 /**
  * 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));
 }
开发者ID:zangles,项目名称:lennyba,代码行数:30,代码来源:AdminLayoutBuilderController.php

示例3: hookactionModuleUnRegisterHookAfter

 public function hookactionModuleUnRegisterHookAfter($params)
 {
     if (!Validate::isHookName($params['hook_name'])) {
         return;
     }
     if (Configuration::get('BLA_ISLOG_MODUREG')) {
         self::logObjectEvent('Unregister Hook ' . $params['hook_name'], $params['object']);
     }
 }
开发者ID:azriel49,项目名称:PrestaShop-BoLogActivity,代码行数:9,代码来源:bologactivity.php

示例4: hookExec

    public static function hookExec($hook_name, $hookArgs = array(), $id_module = NULL)
    {
        global $cookie;
        if (!empty($id_module) and !Validate::isUnsignedId($id_module) or !Validate::isHookName($hook_name)) {
            die(Tools::displayError());
        }
        global $cart, $cookie;
        $live_edit = false;
        if (!isset($hookArgs['cookie']) or !$hookArgs['cookie']) {
            $hookArgs['cookie'] = $cookie;
        }
        if (!isset($hookArgs['cart']) or !$hookArgs['cart']) {
            $hookArgs['cart'] = $cart;
        }
        $hook_name = strtolower($hook_name);
        if (!isset(self::$_hookModulesCache)) {
            $db = Db::getInstance(_PS_USE_SQL_SLAVE_);
            $result = $db->ExecuteS('
			SELECT h.`name` as hook, m.`id_module`, h.`id_hook`, m.`name` as module, h.`live_edit`
			FROM `' . _DB_PREFIX_ . 'module` m
			LEFT JOIN `' . _DB_PREFIX_ . 'hook_module` hm ON hm.`id_module` = m.`id_module`
			LEFT JOIN `' . _DB_PREFIX_ . 'hook` h ON hm.`id_hook` = h.`id_hook`
			AND m.`active` = 1
			ORDER BY hm.`position`', false);
            self::$_hookModulesCache = array();
            if ($result) {
                while ($row = $db->nextRow()) {
                    $row['hook'] = strtolower($row['hook']);
                    if (!isset(self::$_hookModulesCache[$row['hook']])) {
                        self::$_hookModulesCache[$row['hook']] = array();
                    }
                    self::$_hookModulesCache[$row['hook']][] = array('id_hook' => $row['id_hook'], 'module' => $row['module'], 'id_module' => $row['id_module'], 'live_edit' => $row['live_edit']);
                }
            }
        }
        if (!isset(self::$_hookModulesCache[$hook_name])) {
            return;
        }
        $altern = 0;
        $output = '';
        foreach (self::$_hookModulesCache[$hook_name] as $array) {
            if ($id_module and $id_module != $array['id_module']) {
                continue;
            }
            if (!($moduleInstance = Module::getInstanceByName($array['module']))) {
                continue;
            }
            $exceptions = $moduleInstance->getExceptions((int) $array['id_hook'], (int) $array['id_module']);
            foreach ($exceptions as $exception) {
                if (strstr(basename($_SERVER['PHP_SELF']) . '?' . $_SERVER['QUERY_STRING'], $exception['file_name']) && !strstr($_SERVER['QUERY_STRING'], $exception['file_name'])) {
                    continue 2;
                }
            }
            if (is_callable(array($moduleInstance, 'hook' . $hook_name))) {
                $hookArgs['altern'] = ++$altern;
                $display = call_user_func(array($moduleInstance, 'hook' . $hook_name), $hookArgs);
                if ($array['live_edit'] && (Tools::isSubmit('live_edit') and Tools::getValue('ad') and Tools::getValue('liveToken') == sha1(Tools::getValue('ad') . _COOKIE_KEY_))) {
                    $live_edit = true;
                    $output .= '<script type="text/javascript"> modules_list.push(\'' . $moduleInstance->name . '\');</script>
								<div id="hook_' . $array['id_hook'] . '_module_' . $moduleInstance->id . '_moduleName_' . $moduleInstance->name . '"
								class="dndModule" style="border: 1px dotted red;' . (!strlen($display) ? 'height:50px;' : '') . '">
								<span><img src="' . $moduleInstance->_path . '/logo.gif">' . $moduleInstance->displayName . '<span style="float:right">
							 	<a href="#" id="' . $array['id_hook'] . '_' . $moduleInstance->id . '" class="moveModule">
							 		<img src="' . _PS_ADMIN_IMG_ . 'arrow_out.png"></a>
							 	<a href="#" id="' . $array['id_hook'] . '_' . $moduleInstance->id . '" class="unregisterHook">
							 		<img src="' . _PS_ADMIN_IMG_ . 'delete.gif"></span></a>
							 	</span>' . $display . '</div>';
                } else {
                    $output .= $display;
                }
            }
        }
        return ($live_edit ? '<script type="text/javascript">hooks_list.push(\'' . $hook_name . '\'); </script><!--<div id="add_' . $hook_name . '" class="add_module_live_edit">
				<a class="exclusive" href="#">Add a module</a></div>--><div id="' . $hook_name . '" class="dndHook" style="min-height:50px">' : '') . $output . ($live_edit ? '</div>' : '');
    }
开发者ID:nicolasjeol,项目名称:hec-ecommerce,代码行数:75,代码来源:Module.php

示例5: hookactionModuleRegisterHookAfter

 public function hookactionModuleRegisterHookAfter($params)
 {
     $module = $params['object'];
     $current_theme = Theme::getThemeInfo($this->context->shop->id_theme);
     if (!$this->IsOvicThemes($current_theme['theme_name'])) {
         return;
     }
     if ($module->name != $this->name) {
         $hook_name = $params['hook_name'];
         if ($hook_name && Validate::isHookName($hook_name)) {
             $id_hook = Hook::getIdByName($hook_name);
             $hook_name = Hook::getNameById($id_hook);
             // get full hookname
             //order possition hook
             $id_hook_header = Hook::getIdByName('Header');
             if ($id_hook && $id_hook === $id_hook_header) {
                 $this->changeHeaderPosition();
             }
             if (in_array($hook_name, self::$OptionHookAssign)) {
                 $this->backupModuleHook($id_hook, 'hook_module', 'ovic_backup_hook_module', true);
             } elseif (in_array($hook_name, self::getHookexecuteList())) {
                 $this->backupModuleHook($id_hook, 'hook_module', 'ovic_backup_hook_module', false);
             } else {
                 return;
             }
             $id_shop = (int) $this->context->shop->id;
             $current_id_option = Configuration::get('OVIC_CURRENT_OPTION', null, null, $id_shop);
             $current_option = new Options($current_id_option);
             $moduleHook = array();
             $moduleHook[] = $module->name;
             $moduleHook[] = $hook_name;
             if ($current_option && Validate::isLoadedObject($current_option)) {
                 //insert module to current option
                 $HookedModulesArr = self::getModulesHook($current_option->theme, $current_option->alias, $hook_name);
                 $HookedModulesArr = Tools::jsonDecode($HookedModulesArr['modules'], true);
                 if (!is_array($HookedModulesArr)) {
                     $HookedModulesArr = array();
                 }
                 $key = array_search($moduleHook, $HookedModulesArr);
                 if ($key && !array_key_exists($key, $HookedModulesArr)) {
                     $HookedModulesArr[] = $moduleHook;
                     self::registerHookModule($current_option, $hook_name, Tools::jsonEncode($HookedModulesArr), $id_shop);
                 }
             }
             $pagelist = Meta::getMetas();
             $sidebarPages = array();
             $theme = new Theme((int) $this->context->shop->id_theme);
             if ($hook_name == 'displayLeftColumn' || $hook_name == 'displayRightColumn') {
                 foreach ($pagelist as $page) {
                     if ($hook_name == 'displayLeftColumn' && $theme->hasLeftColumn($page['page'])) {
                         $HookedModulesArr = self::getSideBarModulesByPage($page['page'], 'left', false);
                         if (!is_array($HookedModulesArr)) {
                             $HookedModulesArr = array();
                         }
                         $key = array_search($moduleHook, $HookedModulesArr);
                         if ($key && !array_key_exists($key, $HookedModulesArr)) {
                             $HookedModulesArr[] = $moduleHook;
                             self::registerSidebarModule($page['page'], 'left', Tools::jsonEncode($HookedModulesArr), $id_shop);
                         }
                     }
                     if ($hook_name == 'displayRightColumn' && $theme->hasRightColumn($page['page'])) {
                         $HookedModulesArr = self::getSideBarModulesByPage($page['page'], 'right', false);
                         if (!is_array($HookedModulesArr)) {
                             $HookedModulesArr = array();
                         }
                         $key = array_search($moduleHook, $HookedModulesArr);
                         if ($key && !array_key_exists($key, $HookedModulesArr)) {
                             $HookedModulesArr[] = $moduleHook;
                             self::registerSidebarModule($page['page'], 'right', Tools::jsonEncode($HookedModulesArr), $id_shop);
                         }
                     }
                 }
             }
         }
     }
 }
开发者ID:zangles,项目名称:lennyba,代码行数:76,代码来源:oviclayoutcontrol.php

示例6: getModuleAssign

 public function getModuleAssign($module_name = '', $hook_name = '')
 {
     $module = Module::getInstanceByName($module_name);
     if (_PS_VERSION_ <= "1.5") {
         $id_hook = Hook::get($hook_name);
     } else {
         $id_hook = Hook::getIdByName($hook_name);
     }
     if (Validate::isLoadedObject($module) && $module->id) {
         if (!isset($hookArgs['cookie']) or !$hookArgs['cookie']) {
             $hookArgs['cookie'] = $this->context->cookie;
         }
         if (!isset($hookArgs['cart']) or !$hookArgs['cart']) {
             $hookArgs['cart'] = $this->context->cart;
         }
         if (_PS_VERSION_ < "1.5") {
             //return self::lofHookExec( $hook_name, array(), $module->id, $array );
             $hook_name = strtolower($hook_name);
             if (!Validate::isHookName($hook_name)) {
                 die(Tools::displayError());
             }
             $altern = 0;
             if (is_callable(array($module, 'hook' . $hook_name))) {
                 $hookArgs['altern'] = ++$altern;
                 $output = call_user_func(array($module, 'hook' . $hook_name), $hookArgs);
             }
             return $output;
         } else {
             $hook_name = substr($hook_name, 7, strlen($hook_name));
             if (!Validate::isHookName($hook_name)) {
                 die(Tools::displayError());
             }
             $retro_hook_name = Hook::getRetroHookName($hook_name);
             $hook_callable = is_callable(array($module, 'hook' . $hook_name));
             $hook_retro_callable = is_callable(array($module, 'hook' . $retro_hook_name));
             $output = '';
             if (($hook_callable || $hook_retro_callable) && Module::preCall($module->name)) {
                 if ($hook_callable) {
                     $output = $module->{'hook' . $hook_name}($hookArgs);
                 } else {
                     if ($hook_retro_callable) {
                         $output = $module->{'hook' . $retro_hook_name}($hookArgs);
                     }
                 }
             }
             return $output;
         }
     }
     return '';
 }
开发者ID:abdoumej,项目名称:libsamy,代码行数:50,代码来源:advancefooter.php

示例7: registerHook

    /**
     * Connect module to a hook
     *
     * @param string $hook_name Hook name
     * @param array $shop_list List of shop linked to the hook (if null, link hook to all shops)
     * @return boolean result
     */
    public function registerHook($hook_name, $shop_list = null)
    {
        // Check hook name validation and if module is installed
        if (!Validate::isHookName($hook_name)) {
            throw new PrestaShopException('Invalid hook name');
        }
        if (!isset($this->id) || !is_numeric($this->id)) {
            return false;
        }
        // Retrocompatibility
        $hook_name_bak = $hook_name;
        if ($alias = Hook::getRetroHookName($hook_name)) {
            $hook_name = $alias;
        }
        Hook::exec('actionModuleRegisterHookBefore', array('object' => $this, 'hook_name' => $hook_name));
        // Get hook id
        $id_hook = Hook::getIdByName($hook_name);
        $live_edit = Hook::getLiveEditById((int) Hook::getIdByName($hook_name_bak));
        // If hook does not exist, we create it
        if (!$id_hook) {
            $new_hook = new Hook();
            $new_hook->name = pSQL($hook_name);
            $new_hook->title = pSQL($hook_name);
            $new_hook->live_edit = pSQL($live_edit);
            $new_hook->add();
            $id_hook = $new_hook->id;
            if (!$id_hook) {
                return false;
            }
        }
        // If shop lists is null, we fill it with all shops
        if (is_null($shop_list)) {
            $shop_list = Shop::getShops(true, null, true);
        }
        $return = true;
        foreach ($shop_list as $shop_id) {
            // Check if already register
            $sql = 'SELECT hm.`id_module`
				FROM `' . _DB_PREFIX_ . 'hook_module` hm, `' . _DB_PREFIX_ . 'hook` h
				WHERE hm.`id_module` = ' . (int) $this->id . ' AND h.`id_hook` = ' . $id_hook . '
				AND h.`id_hook` = hm.`id_hook` AND `id_shop` = ' . (int) $shop_id;
            if (Db::getInstance()->getRow($sql)) {
                continue;
            }
            // Get module position in hook
            $sql = 'SELECT MAX(`position`) AS position
				FROM `' . _DB_PREFIX_ . 'hook_module`
				WHERE `id_hook` = ' . (int) $id_hook . ' AND `id_shop` = ' . (int) $shop_id;
            if (!($position = Db::getInstance()->getValue($sql))) {
                $position = 0;
            }
            // Register module in hook
            $return &= Db::getInstance()->insert('hook_module', array('id_module' => (int) $this->id, 'id_hook' => (int) $id_hook, 'id_shop' => (int) $shop_id, 'position' => (int) ($position + 1)));
        }
        Hook::exec('actionModuleRegisterHookAfter', array('object' => $this, 'hook_name' => $hook_name));
        return $return;
    }
开发者ID:toufikadfab,项目名称:PrestaShop-1.5,代码行数:64,代码来源:Module.php

示例8: hookactionModuleRegisterHookAfter

 public function hookactionModuleRegisterHookAfter($params)
 {
     $module = $params['object'];
     if ($module->name != $this->name) {
         $hook_name = $params['hook_name'];
         if ($hook_name && Validate::isHookName($hook_name)) {
             $id_hook = Hook::getIdByName($hook_name);
             $hook_name = Hook::getNameById($id_hook);
             if (in_array($hook_name, self::$OptionHookAssign)) {
                 $this->backupModuleHook($id_hook, 'hook_module', 'ovic_backup_hook_module', true);
             } elseif (in_array($hook_name, self::getHookexecuteList())) {
                 $this->backupModuleHook($id_hook, 'hook_module', 'ovic_backup_hook_module', false);
             }
             $id_shop = $this->context->shop->id;
             $current_id_option = Configuration::get('OVIC_CURRENT_OPTION');
             $moduleHook = array();
             $moduleHook[] = $module->name;
             $moduleHook[] = $hook_name;
             if ($current_id_option && Validate::isUnsignedId($current_id_option)) {
                 //insert module to current option
                 $HookedModulesArr = self::getModulesHook($current_id_option, $hook_name);
                 $HookedModulesArr = Tools::jsonDecode($HookedModulesArr['modules'], true);
                 if (!is_array($HookedModulesArr)) {
                     $HookedModulesArr = array();
                 }
                 $key = array_search($moduleHook, $HookedModulesArr);
                 if (!array_key_exists($key, $HookedModulesArr)) {
                     $HookedModulesArr[] = $moduleHook;
                     self::registerHookModule($current_id_option, $hook_name, Tools::jsonEncode($HookedModulesArr), $this->context->shop->id);
                 }
             }
             $pagelist = Meta::getMetas();
             $sidebarPages = array();
             $theme = new Theme((int) $this->context->shop->id_theme);
             if ($hook_name == 'displayLeftColumn' || $hook_name == 'displayRightColumn') {
                 foreach ($pagelist as $page) {
                     if ($hook_name == 'displayLeftColumn' && $theme->hasLeftColumn($page['page'])) {
                         $HookedModulesArr = self::getSideBarModulesByPage($page['page'], 'left', false);
                         $HookedModulesArr[] = $moduleHook;
                         self::registerSidebarModule($page['page'], 'left', Tools::jsonEncode($HookedModulesArr), $this->context->shop->id);
                     }
                     if ($hook_name == 'displayRightColumn' && $theme->hasRightColumn($page['page'])) {
                         $HookedModulesArr = self::getSideBarModulesByPage($page['page'], 'right', false);
                         $HookedModulesArr[] = $moduleHook;
                         self::registerSidebarModule($page['page'], 'right', Tools::jsonEncode($HookedModulesArr), $this->context->shop->id);
                     }
                 }
             }
         }
     }
 }
开发者ID:habypk,项目名称:zocart,代码行数:51,代码来源:oviclayoutcontrol_bak_10.3.15.php

示例9: hookExec

    public static function hookExec($hook_name, $hookArgs = array(), $id_module = NULL)
    {
        if (!empty($id_module) and !Validate::isUnsignedId($id_module) or !Validate::isHookName($hook_name)) {
            die(Tools::displayError());
        }
        global $cart, $cookie;
        $altern = 0;
        if (!isset($hookArgs['cookie']) or !$hookArgs['cookie']) {
            $hookArgs['cookie'] = $cookie;
        }
        if (!isset($hookArgs['cart']) or !$hookArgs['cart']) {
            $hookArgs['cart'] = $cart;
        }
        $result = Db::getInstance()->ExecuteS('
			SELECT h.`id_hook`, m.`name`, hm.`position`
			FROM `' . _DB_PREFIX_ . 'module` m
			LEFT JOIN `' . _DB_PREFIX_ . 'hook_module` hm ON hm.`id_module` = m.`id_module`
			LEFT JOIN `' . _DB_PREFIX_ . 'hook` h ON hm.`id_hook` = h.`id_hook`
			WHERE h.`name` = \'' . pSQL($hook_name) . '\'
			AND m.`active` = 1
			' . ($id_module ? 'AND m.`id_module` = ' . intval($id_module) : '') . '
			ORDER BY hm.`position`, m.`name` DESC');
        if (!$result) {
            return false;
        }
        $output = '';
        foreach ($result as $k => $module) {
            $moduleInstance = Module::getInstanceByName($module['name']);
            if (!$moduleInstance) {
                continue;
            }
            $exceptions = $moduleInstance->getExceptions(intval($module['id_hook']), intval($moduleInstance->id));
            $fileindex = basename($_SERVER['PHP_SELF']);
            $show = true;
            if (!empty($exceptions) and is_array($exceptions)) {
                foreach ($exceptions as $exception) {
                    if ($fileindex == $exception['file_name']) {
                        $show = false;
                    }
                }
            }
            if (is_callable(array($moduleInstance, 'hook' . $hook_name)) and $show) {
                $hookArgs['altern'] = ++$altern;
                $output .= call_user_func(array($moduleInstance, 'hook' . $hook_name), $hookArgs);
            }
        }
        return $output;
    }
开发者ID:sealence,项目名称:local,代码行数:48,代码来源:Module.php

示例10: exec

        /**
         * Execute modules for specified hook
         *
         * @param string $hook_name Hook Name
         * @param array $hook_args Parameters for the functions
         * @param int $id_module Execute hook for this module only
         * @return string modules output
         */
        public function exec($hook_name, $hook_args = array(), $id_module = null)
        {
            // Check arguments validity
            if ($id_module && !is_numeric($id_module) || !Validate::isHookName($hook_name)) {
                throw new PrestaShopException('Invalid id_module or hook_name');
            }
            // If no modules associated to hook_name or recompatible hook name, we stop the function
            if (!($module_list = Hook::getHookModuleExecList($hook_name))) {
                return '';
            }
            // Check if hook exists
            if (!($id_hook = Hook::getIdByName($hook_name))) {
                return false;
            }
            // Store list of executed hooks on this page
            Hook::$executed_hooks[$id_hook] = $hook_name;
            $live_edit = false;
            $context = Context::getContext();
            if (!isset($hook_args['cookie']) || !$hook_args['cookie']) {
                $hook_args['cookie'] = $context->cookie;
            }
            if (!isset($hook_args['cart']) || !$hook_args['cart']) {
                $hook_args['cart'] = $context->cart;
            }
            $retro_hook_name = Hook::getRetroHookName($hook_name);
            // Look on modules list
            $altern = 0;
            $output = '';
            foreach ($module_list as $array) {
                // Check errors
                if ($id_module && $id_module != $array['id_module']) {
                    continue;
                }
                if (!($moduleInstance = Module::getInstanceByName($array['module']))) {
                    continue;
                }
                // echo '<pre>'.print_r( $this->overrideHooks, 1 ); die;
                // Check permissions
                $exceptions = $moduleInstance->getExceptions($array['id_hook']);
                if (in_array(Dispatcher::getInstance()->getController(), $exceptions)) {
                    continue;
                }
                if (Validate::isLoadedObject($context->employee) && !$moduleInstance->getPermission('view', $context->employee)) {
                    continue;
                }
                // Check which / if method is callable
                $hook_callable = is_callable(array($moduleInstance, 'hook' . $hook_name));
                $ohook = $orhook = "";
                $hook_retro_callable = is_callable(array($moduleInstance, 'hook' . $retro_hook_name));
                if (array_key_exists($moduleInstance->id, $this->overrideHooks)) {
                    $ohook = Hook::getRetroHookName($this->overrideHooks[$moduleInstance->id]);
                    $orhook = $this->overrideHooks[$moduleInstance->id];
                    $hook_callable = is_callable(array($moduleInstance, 'hook' . $orhook));
                    $hook_retro_callable = is_callable(array($moduleInstance, 'hook' . $ohook));
                }
                if (($hook_callable || $hook_retro_callable) && Module::preCall($moduleInstance->name)) {
                    $hook_args['altern'] = ++$altern;
                    if (array_key_exists($moduleInstance->id, $this->overrideHooks)) {
                        if ($hook_callable) {
                            $display = $moduleInstance->{'hook' . $orhook}($hook_args);
                        } else {
                            if ($hook_retro_callable) {
                                $display = $moduleInstance->{'hook' . $ohook}($hook_args);
                            }
                        }
                    } else {
                        // Call hook method
                        if ($hook_callable) {
                            $display = $moduleInstance->{'hook' . $hook_name}($hook_args);
                        } else {
                            if ($hook_retro_callable) {
                                $display = $moduleInstance->{'hook' . $retro_hook_name}($hook_args);
                            }
                        }
                    }
                    // Live edit
                    if ($array['live_edit'] && Tools::isSubmit('live_edit') && Tools::getValue('ad') && Tools::getValue('liveToken') == Tools::getAdminToken('AdminModulesPositions' . (int) Tab::getIdFromClassName('AdminModulesPositions') . (int) Tools::getValue('id_employee'))) {
                        $live_edit = true;
                        $output .= self::wrapLiveEdit($display, $moduleInstance, $array['id_hook']);
                    } else {
                        $output .= $display;
                    }
                }
            }
            // Return html string
            return ($live_edit ? '<script type="text/javascript">hooks_list.push(\'' . $hook_name . '\'); </script>
						<div id="' . $hook_name . '" class="dndHook" style="min-height:50px">' : '') . $output . ($live_edit ? '</div>' : '');
        }
开发者ID:ekachandrasetiawan,项目名称:BeltcareCom,代码行数:96,代码来源:helper.php

示例11: frontGetItemContents

 function frontGetItemContents($moduleId, $rowId, $groupId)
 {
     $contents = array();
     $langId = $this->context->language->id;
     $shopId = $this->context->shop->id;
     $items = Db::getInstance()->executeS("Select m.*, ml.link, ml.image, ml.alt, ml.description \n\t\t\tFrom " . _DB_PREFIX_ . "flexgroupbanners_banner AS m \n\t\t\tInner Join " . _DB_PREFIX_ . "flexgroupbanners_banner_lang AS ml On m.id = ml.banner_id \n\t\t\tWhere m.group_id = " . $groupId . " AND m.status = 1 AND ml.id_lang = " . $langId . " \n\t\t\tOrder By m.ordering");
     $contents = array();
     if ($items) {
         foreach ($items as &$item) {
             //$item['description'] = Tools::htmlentitiesDecodeUTF8($item['description']);
             $content = $item['description'];
             if ($content) {
                 // short code deal
                 $pattern = '/\\{module\\}(.*?)\\{\\/module\\}/';
                 $check = preg_match_all($pattern, $content, $match);
                 if ($check) {
                     $results = $match[1];
                     if ($results) {
                         foreach ($results as $result) {
                             $module_content = '';
                             $config = json_decode(str_replace(array('\\', '\''), array('', '"'), $result));
                             if ($config) {
                                 if (is_object($config)) {
                                     if (isset($config->mod) && $config->mod != '' && isset($config->hook) && $config->hook != '') {
                                         $module = @Module::getInstanceByName($config->mod);
                                         if ($module) {
                                             if (Validate::isLoadedObject($module) && $module->id) {
                                                 if (Validate::isHookName($config->hook)) {
                                                     $functionName = 'hook' . $config->hook;
                                                     if (method_exists($module, $functionName)) {
                                                         $hookArgs = array();
                                                         $hookArgs['cookie'] = $this->context->cookie;
                                                         $hookArgs['cart'] = $this->context->cart;
                                                         $module_content = $module->{$functionName}($hookArgs);
                                                         $item['description'] = str_replace('{module}' . $result . '{/module}', $module_content, $item['description']);
                                                     } else {
                                                         $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                                                     }
                                                 } else {
                                                     $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                                                 }
                                             }
                                         } else {
                                             $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                                         }
                                     } else {
                                         $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                                     }
                                 } else {
                                     $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                                 }
                             } else {
                                 $item['description'] = str_replace('{module}' . $result . '{/module}', '', $item['description']);
                             }
                         }
                     } else {
                         $item['description'] = preg_replace($pattern, '', $item['description']);
                     }
                 }
             }
             $item['full_path'] = $this->getImageSrc($item['image']);
         }
     }
     return $items;
 }
开发者ID:zangles,项目名称:lennyba,代码行数:65,代码来源:flexgroupbanners.php

示例12: buildContentWithLayout

 protected function buildContentWithLayout($item, $hookName, $shopId, $langId, $cacheKey = '')
 {
     if (!$this->isCached('customparallax.' . $item['layout'] . '.tpl', Tools::encrypt($cacheKey))) {
         $params = Tools::jsonDecode($item['params']);
         $item['parallax_image'] = $this->_getImageSrc($params->parallax->image);
         $item['parallax_ratio'] = $params->parallax->ratio;
         $item['parallax_responsive'] = $params->parallax->responsive;
         $item['parallax_parallaxBackgrounds'] = $params->parallax->parallaxBackgrounds;
         $item['parallax_parallaxElements'] = $params->parallax->parallaxElements;
         $item['parallax_hideDistantElements'] = $params->parallax->hideDistantElements;
         $item['parallax_horizontalOffset'] = $params->parallax->horizontalOffset;
         $item['parallax_verticalOffset'] = $params->parallax->verticalOffset;
         $item['parallax_horizontalScrolling'] = $params->parallax->horizontalScrolling;
         $item['parallax_verticalScrolling'] = $params->parallax->verticalScrolling;
         $item['parallax_scrollProperty'] = $params->parallax->scrollProperty;
         $item['parallax_positionProperty'] = $params->parallax->positionProperty;
         unset($item['params']);
         if ($item['content_type'] == 'module') {
             $module = @Module::getInstanceByName($params->module->name);
             if ($module) {
                 if (Validate::isLoadedObject($module) && $module->id) {
                     if (Validate::isHookName($params->module->hook)) {
                         $functionName = 'hook' . $params->module->hook;
                         $hookArgs = array();
                         $hookArgs['cookie'] = $this->context->cookie;
                         $hookArgs['cart'] = $this->context->cart;
                         $item['content'] = $module->{$functionName}($hookArgs);
                     } else {
                         $item['content'] = '';
                     }
                 }
             } else {
                 $item['content'] = '';
             }
         } else {
             // short codes
             //if($item['content']) $item['content'] = Tools::htmlentitiesDecodeUTF8($item['content']);
             $content = $item['content'];
             if ($content) {
                 // short code module
                 $pattern = '/\\{module\\}(.*?)\\{\\/module\\}/';
                 $check = preg_match_all($pattern, $content, $match);
                 if ($check) {
                     $results = $match[1];
                     if ($results) {
                         foreach ($results as $result) {
                             $module_content = '';
                             $config = json_decode(str_replace(array('\\', '\''), array('', '"'), $result));
                             if ($config) {
                                 if (is_object($config)) {
                                     if (isset($config->mod) && $config->mod != '' && isset($config->hook) && $config->hook != '') {
                                         $module = @Module::getInstanceByName($config->mod);
                                         if ($module) {
                                             if (Validate::isLoadedObject($module) && $module->id) {
                                                 if (Validate::isHookName($config->hook)) {
                                                     $functionName = 'hook' . $config->hook;
                                                     if (method_exists($module, $functionName)) {
                                                         $hookArgs = array();
                                                         $hookArgs['cookie'] = $this->context->cookie;
                                                         $hookArgs['cart'] = $this->context->cart;
                                                         $module_content = $module->{$functionName}($hookArgs);
                                                         $item['content'] = str_replace('{module}' . $result . '{/module}', $module_content, $item['content']);
                                                     } else {
                                                         $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                                                     }
                                                 } else {
                                                     $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                                                 }
                                             }
                                         } else {
                                             $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                                         }
                                     } else {
                                         $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                                     }
                                 } else {
                                     $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                                 }
                             } else {
                                 $item['content'] = str_replace('{module}' . $result . '{/module}', '', $item['content']);
                             }
                         }
                     } else {
                         $item['content'] = preg_replace($pattern, '', $item['content']);
                     }
                 }
                 $pattern = '/\\{product\\}(.*?)\\{\\/product\\}/';
                 $check = preg_match_all($pattern, $item['content'], $match);
                 if ($check) {
                     $results = $match[1];
                     if ($results) {
                         foreach ($results as $result) {
                             $module_content = '';
                             $config = json_decode(str_replace(array('\\', '\''), array('', '"'), $result));
                             if ($config) {
                                 if (is_object($config)) {
                                     if (isset($config->id) && (int) $config->id > 0) {
                                         $product = $this->buildProduct($config->id, $item['layout'], $cacheKey . '|' . $item['id']);
                                         $item['content'] = str_replace('{product}' . $result . '{/product}', $product, $item['content']);
                                     } else {
//.........这里部分代码省略.........
开发者ID:zangles,项目名称:lennyba,代码行数:101,代码来源:customparallax.php

示例13: hookExec

 public static function hookExec($hook_name, $hook_args = array(), $id_module = null, $array = array())
 {
     if (!empty($id_module) && !Validate::isUnsignedId($id_module) || !Validate::isHookName($hook_name)) {
         die(Tools::displayError());
     }
     $context = Context::getContext();
     if (!isset($hook_args['cookie']) || !$hook_args['cookie']) {
         $hook_args['cookie'] = $context->cookie;
     }
     if (!isset($hook_args['cart']) || !$hook_args['cart']) {
         $hook_args['cart'] = $context->cart;
     }
     if ($id_module && $id_module != $array['id_module']) {
         return;
     }
     if (!($module_instance = Module::getInstanceByName($array['module'])) || !$module_instance->active) {
         return;
     }
     $retro_hook_name = Hook::getRetroHookName($hook_name);
     $hook_callable = is_callable(array($module_instance, 'hook' . $hook_name));
     $hook_retro_callable = is_callable(array($module_instance, 'hook' . $retro_hook_name));
     $output = '';
     if (($hook_callable || $hook_retro_callable) && Module::preCall($module_instance->name)) {
         if ($hook_callable) {
             $output = $module_instance->{'hook' . $hook_name}($hook_args);
         } else {
             if ($hook_retro_callable) {
                 $output = $module_instance->{'hook' . $retro_hook_name}($hook_args);
             }
         }
     }
     return $output;
 }
开发者ID:vuduykhuong1412,项目名称:GitHub,代码行数:33,代码来源:helper.php

示例14: execModuleHook

 public function execModuleHook($hook_name, $hook_args = array(), $id_module = null, $id_shop = null)
 {
     // Check arguments validity
     if ($id_module && !is_numeric($id_module) || !Validate::isHookName($hook_name)) {
         throw new PrestaShopException('Invalid id_module or hook_name');
     }
     // Check if hook exists
     if (!($id_hook = Hook::getIdByName($hook_name))) {
         return false;
     }
     // Store list of executed hooks on this page
     Hook::$executed_hooks[$id_hook] = $hook_name;
     $live_edit = false;
     $context = Context::getContext();
     if (!isset($hook_args['cookie']) || !$hook_args['cookie']) {
         $hook_args['cookie'] = $context->cookie;
     }
     if (!isset($hook_args['cart']) || !$hook_args['cart']) {
         $hook_args['cart'] = $context->cart;
     }
     $retro_hook_name = Hook::getRetroHookName($hook_name);
     // Look on modules list
     $altern = 0;
     $output = '';
     $different_shop = false;
     if ($id_shop !== null && Validate::isUnsignedId($id_shop) && $id_shop != $context->shop->getContextShopID()) {
         $old_context_shop_id = $context->shop->getContextShopID();
         $old_context = $context->shop->getContext();
         $old_shop = clone $context->shop;
         $shop = new Shop((int) $id_shop);
         if (Validate::isLoadedObject($shop)) {
             $context->shop = $shop;
             $context->shop->setContext(Shop::CONTEXT_SHOP, $shop->id);
             $different_shop = true;
         }
     }
     if (!($moduleInstance = Module::getInstanceById($id_module))) {
         continue;
     }
     // Check which / if method is callable
     $hook_callable = is_callable(array($moduleInstance, 'hook' . $hook_name));
     $hook_retro_callable = is_callable(array($moduleInstance, 'hook' . $retro_hook_name));
     if (($hook_callable || $hook_retro_callable) && Module::preCall($moduleInstance->name)) {
         $hook_args['altern'] = ++$altern;
         // Call hook method
         if ($hook_callable) {
             $display = $moduleInstance->{'hook' . $hook_name}($hook_args);
         } elseif ($hook_retro_callable) {
             $display = $moduleInstance->{'hook' . $retro_hook_name}($hook_args);
         }
         $output .= $display;
     }
     if ($different_shop) {
         $context->shop = $old_shop;
         $context->shop->setContext($old_context, $shop->id);
     }
     return $output;
 }
开发者ID:evgrishin,项目名称:se1614,代码行数:58,代码来源:iqitcontentcreator.php

示例15: renderModuleByHookV15

 public static function renderModuleByHookV15($hook_name, $hookArgs = array(), $id_module = NULL, $array = array())
 {
     global $cart, $cookie;
     if (!$hook_name || !$id_module) {
         return;
     }
     if (!empty($id_module) and !Validate::isUnsignedId($id_module) or !Validate::isHookName($hook_name)) {
         die(Tools::displayError());
     }
     if (!isset($hookArgs['cookie']) or !$hookArgs['cookie']) {
         $hookArgs['cookie'] = $cookie;
     }
     if (!isset($hookArgs['cart']) or !$hookArgs['cart']) {
         $hookArgs['cart'] = $cart;
     }
     if ($id_module and $id_module != $array['id_module']) {
         return;
     }
     if (!($moduleInstance = Module::getInstanceByName($array['module']))) {
         return;
     }
     $retro_hook_name = Hook::getRetroHookName($hook_name);
     $hook_callable = is_callable(array($moduleInstance, 'hook' . $hook_name));
     $hook_retro_callable = is_callable(array($moduleInstance, 'hook' . $retro_hook_name));
     $output = '';
     if (($hook_callable || $hook_retro_callable) && Module::preCall($moduleInstance->name)) {
         if ($hook_callable) {
             $output = $moduleInstance->{'hook' . $hook_name}($hookArgs);
         } else {
             if ($hook_retro_callable) {
                 $output = $moduleInstance->{'hook' . $retro_hook_name}($hookArgs);
             }
         }
     }
     return $output;
 }
开发者ID:IngenioContenidoDigital,项目名称:serta,代码行数:36,代码来源:Staticblock.php


注:本文中的Validate::isHookName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。