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


PHP Access::isGranted方法代码示例

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


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

示例1: getPermissionStatic

 /**
  * Check employee permission for module (static method)
  * @param int $id_module
  * @param array $variable (action)
  * @param object $employee
  * @return bool if module can be transplanted on hook
  */
 public static function getPermissionStatic($id_module, $variable, $employee = null)
 {
     if (!in_array($variable, array('view', 'configure', 'uninstall'))) {
         return false;
     }
     if (!$employee) {
         $employee = Context::getContext()->employee;
     }
     if ($employee->id_profile == _PS_ADMIN_PROFILE_) {
         return true;
     }
     $slug = Access::findSlugByIdModule($id_module) . Access::getAuthorizationFromLegacy($variable);
     return Access::isGranted($slug, $employee->id_profile);
 }
开发者ID:M03G,项目名称:PrestaShop,代码行数:21,代码来源:Module.php

示例2: searchFeatures

    /**
     * Search a feature in all store
     *
     * @params string $query String to find in the catalog
     */
    public function searchFeatures()
    {
        $this->_list['features'] = array();
        global $_LANGADM;
        if ($_LANGADM === null) {
            return;
        }
        $tabs = array();
        $key_match = array();
        $result = Db::getInstance()->executeS('
		SELECT class_name, name
		FROM ' . _DB_PREFIX_ . 'tab t
		INNER JOIN ' . _DB_PREFIX_ . 'tab_lang tl ON (t.id_tab = tl.id_tab AND tl.id_lang = ' . (int) $this->context->employee->id_lang . ')
		WHERE active = 1' . (defined('_PS_HOST_MODE_') ? ' AND t.`hide_host_mode` = 0' : ''));
        foreach ($result as $row) {
            if (Access::isGranted('ROLE_MOD_TAB_' . strtoupper($row['class_name']) . '_READ', $this->context->employee->id_profile)) {
                $tabs[strtolower($row['class_name'])] = $row['name'];
                $key_match[strtolower($row['class_name'])] = $row['class_name'];
            }
        }
        foreach (AdminTab::$tabParenting as $key => $value) {
            $value = stripslashes($value);
            if (!isset($tabs[strtolower($key)]) || !isset($tabs[strtolower($value)])) {
                continue;
            }
            $tabs[strtolower($key)] = $tabs[strtolower($value)];
            $key_match[strtolower($key)] = $key;
        }
        $this->_list['features'] = array();
        foreach ($_LANGADM as $key => $value) {
            if (stripos($value, $this->query) !== false) {
                $value = stripslashes($value);
                $key = strtolower(substr($key, 0, -32));
                if (in_array($key, array('AdminTab', 'index'))) {
                    continue;
                }
                // if class name doesn't exists, just ignore it
                if (!isset($tabs[$key])) {
                    continue;
                }
                if (!isset($this->_list['features'][$tabs[$key]])) {
                    $this->_list['features'][$tabs[$key]] = array();
                }
                $this->_list['features'][$tabs[$key]][] = array('link' => Context::getContext()->link->getAdminLink($key_match[$key]), 'value' => Tools::safeOutput($value));
            }
        }
    }
开发者ID:M03G,项目名称:PrestaShop,代码行数:52,代码来源:AdminSearchController.php

示例3: access

 /**
  *
  * @param string $action
  * @param bool $disable
  */
 public function access($action, $disable = false)
 {
     if (empty($this->tabAccess[$action])) {
         $slugs = array();
         foreach ((array) Access::getAuthorizationFromLegacy($action) as $roleSuffix) {
             $slugs[] = $this->getTabSlug() . $roleSuffix;
         }
         $this->tabAccess[$action] = Access::isGranted($slugs, $this->context->employee->id_profile);
     }
     return $this->tabAccess[$action];
 }
开发者ID:M03G,项目名称:PrestaShop,代码行数:16,代码来源:AdminController.php


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