本文整理汇总了PHP中Tab::checkTabRights方法的典型用法代码示例。如果您正苦于以下问题:PHP Tab::checkTabRights方法的具体用法?PHP Tab::checkTabRights怎么用?PHP Tab::checkTabRights使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tab
的用法示例。
在下文中一共展示了Tab::checkTabRights方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initHeader
/**
* Assign smarty variables for the header
*/
public function initHeader()
{
header('Cache-Control: no-store, no-cache');
// Multishop
$is_multishop = Shop::isFeatureActive();
// Quick access
$quick_access = QuickAccess::getQuickAccesses($this->context->language->id);
foreach ($quick_access as $index => $quick) {
if ($quick['link'] == '../' && Shop::getContext() == Shop::CONTEXT_SHOP) {
$url = $this->context->shop->getBaseURL();
if (!$url) {
unset($quick_access[$index]);
continue;
}
$quick_access[$index]['link'] = $url;
} else {
preg_match('/controller=(.+)(&.+)?$/', $quick['link'], $admin_tab);
if (isset($admin_tab[1])) {
if (strpos($admin_tab[1], '&')) {
$admin_tab[1] = substr($admin_tab[1], 0, strpos($admin_tab[1], '&'));
}
$token = Tools::getAdminToken($admin_tab[1] . (int) Tab::getIdFromClassName($admin_tab[1]) . (int) $this->context->employee->id);
$quick_access[$index]['target'] = $admin_tab[1];
$quick_access[$index]['link'] .= '&token=' . $token;
}
}
}
//$link = preg_replace('/&token=[a-z0-9]{32}/', '', basename($_SERVER['REQUEST_URI']));
//$currentPage = 'index.php?controller='.$this->context->controller->controller_name."&".$this->display.$this->table;
// Tab list
$tabs = Tab::getTabs($this->context->language->id, 0);
$current_id = Tab::getCurrentParentId();
foreach ($tabs as $index => $tab) {
if (!Tab::checkTabRights($tab['id_tab']) || $tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0 || $tab['class_name'] == 'AdminCarrierWizard') {
unset($tabs[$index]);
continue;
}
$img_cache_url = 'themes/' . $this->context->employee->bo_theme . '/img/t/' . $tab['class_name'] . '.png';
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . $img_cache_url);
// retrocompatibility : change png to gif if icon not exists
if (!$img_exists_cache) {
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . str_replace('.png', '.gif', $img_cache_url));
}
if ($img_exists_cache) {
$path_img = $img = $img_exists_cache;
} else {
$path_img = _PS_IMG_DIR_ . 't/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../img/t/' . $tab['class_name'] . '.png';
}
if (trim($tab['module']) != '') {
$path_img = _PS_MODULE_DIR_ . $tab['module'] . '/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../modules/' . $tab['module'] . '/' . $tab['class_name'] . '.png';
}
// retrocompatibility
if (!file_exists($path_img)) {
$img = str_replace('png', 'gif', $img);
}
// tab[class_name] does not contains the "Controller" suffix
$tabs[$index]['current'] = $tab['class_name'] . 'Controller' == get_class($this) || $current_id == $tab['id_tab'];
$tabs[$index]['img'] = $img;
$tabs[$index]['href'] = $this->context->link->getAdminLink($tab['class_name']);
$sub_tabs = Tab::getTabs($this->context->language->id, $tab['id_tab']);
foreach ($sub_tabs as $index2 => $sub_tab) {
//check if module is enable and
if (isset($sub_tab['module']) && !empty($sub_tab['module'])) {
$module = Module::getInstanceByName($sub_tab['module']);
if (is_object($module) && !$module->isEnabledForShopContext()) {
unset($sub_tabs[$index2]);
continue;
}
}
if (Tab::checkTabRights($sub_tab['id_tab']) === true && (bool) $sub_tab['active'] && $sub_tab['class_name'] != 'AdminCarrierWizard') {
$sub_tabs[$index2]['href'] = $this->context->link->getAdminLink($sub_tab['class_name']);
$sub_tabs[$index2]['current'] = $sub_tab['class_name'] . 'Controller' == get_class($this) || $sub_tab['class_name'] == Tools::getValue('controller');
} elseif ($sub_tab['class_name'] == 'AdminCarrierWizard' && $sub_tab['class_name'] . 'Controller' == get_class($this)) {
foreach ($sub_tabs as $i => $tab) {
if ($tab['class_name'] == 'AdminCarriers') {
break;
}
}
$sub_tabs[$i]['current'] = true;
unset($sub_tabs[$index2]);
} else {
unset($sub_tabs[$index2]);
}
}
$tabs[$index]['sub_tabs'] = $sub_tabs;
}
if (Validate::isLoadedObject($this->context->employee)) {
$accesses = Profile::getProfileAccesses($this->context->employee->id_profile, 'class_name');
/* Hooks are volontary out the initialize array (need those variables already assigned) */
$bo_color = empty($this->context->employee->bo_color) ? '#FFFFFF' : $this->context->employee->bo_color;
$this->context->smarty->assign(array('autorefresh_notifications' => Configuration::get('PS_ADMINREFRESH_NOTIFICATION'), 'help_box' => Configuration::get('PS_HELPBOX'), 'round_mode' => Configuration::get('PS_PRICE_ROUND_MODE'), 'brightness' => Tools::getBrightness($bo_color) < 128 ? 'white' : '#383838', 'bo_width' => (int) $this->context->employee->bo_width, 'bo_color' => isset($this->context->employee->bo_color) ? Tools::htmlentitiesUTF8($this->context->employee->bo_color) : null, 'show_new_orders' => Configuration::get('PS_SHOW_NEW_ORDERS') && isset($accesses['AdminOrders']) && $accesses['AdminOrders']['view'], 'show_new_customers' => Configuration::get('PS_SHOW_NEW_CUSTOMERS') && isset($accesses['AdminCustomers']) && $accesses['AdminCustomers']['view'], 'show_new_messages' => Configuration::get('PS_SHOW_NEW_MESSAGES') && isset($accesses['AdminCustomerThreads']) && $accesses['AdminCustomerThreads']['view'], 'employee' => $this->context->employee, 'search_type' => Tools::getValue('bo_search_type'), 'bo_query' => Tools::safeOutput(Tools::stripslashes(Tools::getValue('bo_query'))), 'quick_access' => $quick_access, 'multi_shop' => Shop::isFeatureActive(), 'shop_list' => Helper::renderShopList(), 'shop' => $this->context->shop, 'shop_group' => new ShopGroup((int) Shop::getContextShopGroupID()), 'current_parent_id' => (int) Tab::getCurrentParentId(), 'tabs' => $tabs, 'is_multishop' => $is_multishop, 'multishop_context' => $this->multishop_context, 'default_tab_link' => $this->context->link->getAdminLink(Tab::getClassNameById((int) Context::getContext()->employee->default_tab)), 'collapse_menu' => isset($this->context->cookie->collapse_menu) ? (int) $this->context->cookie->collapse_menu : 0));
} else {
$this->context->smarty->assign('default_tab_link', $this->context->link->getAdminLink('AdminDashboard'));
//.........这里部分代码省略.........
示例2: initHeader
/**
* Assign smarty variables for the header
*/
public function initHeader()
{
// Multishop
$is_multishop = Shop::isFeatureActive();
// Quick access
$quick_access = QuickAccess::getQuickAccesses($this->context->language->id);
foreach ($quick_access as $index => $quick) {
if ($quick['link'] == '../' && Shop::getContext() == Shop::CONTEXT_SHOP) {
$url = $this->context->shop->getBaseURL();
if (!$url) {
unset($quick_access[$index]);
continue;
}
$quick_access[$index]['link'] = $url;
} else {
preg_match('/controller=(.+)(&.+)?$/', $quick['link'], $admin_tab);
if (isset($admin_tab[1])) {
if (strpos($admin_tab[1], '&')) {
$admin_tab[1] = substr($admin_tab[1], 0, strpos($admin_tab[1], '&'));
}
$token = Tools::getAdminToken($admin_tab[1] . (int) Tab::getIdFromClassName($admin_tab[1]) . (int) $this->context->employee->id);
$quick_access[$index]['link'] .= '&token=' . $token;
}
}
}
// Tab list
$tabs = Tab::getTabs($this->context->language->id, 0);
$current_id = Tab::getCurrentParentId();
foreach ($tabs as $index => $tab) {
if (!checkTabRights($tab['id_tab']) || $tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0 || $tab['class_name'] == 'AdminCarrierWizard') {
unset($tabs[$index]);
continue;
}
$img_cache_url = 'themes/' . $this->context->employee->bo_theme . '/img/t/' . $tab['class_name'] . '.png';
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . $img_cache_url);
// retrocompatibility : change png to gif if icon not exists
if (!$img_exists_cache) {
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . str_replace('.png', '.gif', $img_cache_url));
}
if ($img_exists_cache) {
$path_img = $img = $img_exists_cache;
} else {
$path_img = _PS_IMG_DIR_ . 't/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../img/t/' . $tab['class_name'] . '.png';
}
if (trim($tab['module']) != '') {
$path_img = _PS_MODULE_DIR_ . $tab['module'] . '/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../modules/' . $tab['module'] . '/' . $tab['class_name'] . '.png';
}
// retrocompatibility
if (!file_exists($path_img)) {
$img = str_replace('png', 'gif', $img);
}
// tab[class_name] does not contains the "Controller" suffix
$tabs[$index]['current'] = $tab['class_name'] . 'Controller' == get_class($this) || $current_id == $tab['id_tab'];
$tabs[$index]['img'] = $img;
$tabs[$index]['href'] = $this->context->link->getAdminLink($tab['class_name']);
$sub_tabs = Tab::getTabs($this->context->language->id, $tab['id_tab']);
foreach ($sub_tabs as $index2 => $sub_tab) {
// class_name is the name of the class controller
if (Tab::checkTabRights($sub_tab['id_tab']) === true && (bool) $sub_tab['active'] && $sub_tab['class_name'] != 'AdminCarrierWizard') {
$sub_tabs[$index2]['href'] = $this->context->link->getAdminLink($sub_tab['class_name']);
$sub_tabs[$index2]['current'] = $sub_tab['class_name'] . 'Controller' == get_class($this);
} else {
unset($sub_tabs[$index2]);
}
}
$tabs[$index]['sub_tabs'] = $sub_tabs;
}
if (Validate::isLoadedObject($this->context->employee)) {
$accesses = Profile::getProfileAccesses($this->context->employee->id_profile, 'class_name');
/* Hooks are volontary out the initialize array (need those variables already assigned) */
$bo_color = empty($this->context->employee->bo_color) ? '#FFFFFF' : $this->context->employee->bo_color;
$this->context->smarty->assign(array('autorefresh_notifications' => Configuration::get('PS_ADMINREFRESH_NOTIFICATION'), 'help_box' => Configuration::get('PS_HELPBOX'), 'round_mode' => Configuration::get('PS_PRICE_ROUND_MODE'), 'brightness' => Tools::getBrightness($bo_color) < 128 ? 'white' : '#383838', 'bo_width' => (int) $this->context->employee->bo_width, 'bo_color' => isset($this->context->employee->bo_color) ? Tools::htmlentitiesUTF8($this->context->employee->bo_color) : null, 'show_new_orders' => Configuration::get('PS_SHOW_NEW_ORDERS') && $accesses['AdminOrders']['view'], 'show_new_customers' => Configuration::get('PS_SHOW_NEW_CUSTOMERS') && $accesses['AdminCustomers']['view'], 'show_new_messages' => Configuration::get('PS_SHOW_NEW_MESSAGES') && $accesses['AdminCustomerThreads']['view'], 'first_name' => Tools::substr($this->context->employee->firstname, 0, 1), 'last_name' => Tools::safeOutput($this->context->employee->lastname), 'employee' => $this->context->employee, 'search_type' => Tools::getValue('bo_search_type'), 'bo_query' => Tools::safeOutput(Tools::stripslashes(Tools::getValue('bo_query'))), 'quick_access' => $quick_access, 'multi_shop' => Shop::isFeatureActive(), 'shop_list' => Helper::renderShopList(), 'shop' => $this->context->shop, 'shop_group' => new ShopGroup((int) Shop::getContextShopGroupID()), 'current_parent_id' => (int) Tab::getCurrentParentId(), 'tabs' => $tabs, 'is_multishop' => $is_multishop, 'multishop_context' => $this->multishop_context, 'default_tab_link' => $this->context->link->getAdminLink(Tab::getClassNameById((int) Context::getContext()->employee->default_tab)), 'employee_avatar' => ImageManager::thumbnail($this->context->employee->getImage(), 'employee' . '_' . (int) $this->context->employee->id . '.' . $this->imageType, 150, $this->imageType, true, true), 'collapse_menu' => isset($this->context->cookie->collapse_menu) ? (int) $this->context->cookie->collapse_menu : 0));
} else {
$this->context->smarty->assign('default_tab_link', $this->context->link->getAdminLink('AdminDashboard'));
}
$this->context->smarty->assign(array('img_dir' => _PS_IMG_, 'iso' => $this->context->language->iso_code, 'class_name' => $this->className, 'iso_user' => $this->context->language->iso_code, 'country_iso_code' => $this->context->country->iso_code, 'version' => _PS_VERSION_, 'lang_iso' => $this->context->language->iso_code, 'link' => $this->context->link, 'shop_name' => Configuration::get('PS_SHOP_NAME'), 'base_url' => $this->context->shop->getBaseURL(), 'tab' => isset($tab) ? $tab : null, 'current_parent_id' => (int) Tab::getCurrentParentId(), 'tabs' => $tabs, 'install_dir_exists' => file_exists(_PS_ADMIN_DIR_ . '/../install'), 'pic_dir' => _THEME_PROD_PIC_DIR_, 'controller_name' => htmlentities(Tools::getValue('controller')), 'currentIndex' => self::$currentIndex, 'bootstrap' => $this->bootstrap, 'default_language' => (int) Configuration::get('PS_LANG_DEFAULT')));
}
示例3: ajaxProcessGetTabByIdProfile
public function ajaxProcessGetTabByIdProfile()
{
$id_profile = Tools::getValue('id_profile');
$tabs = Tab::getTabByIdProfile(0, $id_profile);
$this->tabs_list = array();
foreach ($tabs as $tab) {
if (Tab::checkTabRights($tab['id_tab'])) {
$this->tabs_list[$tab['id_tab']] = $tab;
foreach (Tab::getTabByIdProfile($tab['id_tab'], $id_profile) as $children) {
if (Tab::checkTabRights($children['id_tab'])) {
$this->tabs_list[$tab['id_tab']]['children'][] = $children;
}
}
}
}
die(Tools::jsonEncode($this->tabs_list));
}
示例4: getTabs
private function getTabs($parentId = 0, $level = 0)
{
$tabs = Tab::getTabs($this->context->language->id, $parentId);
$current_id = Tab::getCurrentParentId($this->controller_name ? $this->controller_name : '');
foreach ($tabs as $index => $tab) {
if (!Tab::checkTabRights($tab['id_tab']) || $tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0 || $tab['class_name'] == 'AdminCarrierWizard') {
unset($tabs[$index]);
continue;
}
$img_cache_url = 'themes/' . $this->context->employee->bo_theme . '/img/t/' . $tab['class_name'] . '.png';
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . $img_cache_url);
// retrocompatibility : change png to gif if icon not exists
if (!$img_exists_cache) {
$img_exists_cache = Tools::file_exists_cache(_PS_ADMIN_DIR_ . str_replace('.png', '.gif', $img_cache_url));
}
if ($img_exists_cache) {
$path_img = $img = $img_exists_cache;
} else {
$path_img = _PS_IMG_DIR_ . 't/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../img/t/' . $tab['class_name'] . '.png';
}
if (trim($tab['module']) != '') {
$path_img = _PS_MODULE_DIR_ . $tab['module'] . '/' . $tab['class_name'] . '.png';
// Relative link will always work, whatever the base uri set in the admin
$img = '../modules/' . $tab['module'] . '/' . $tab['class_name'] . '.png';
}
// retrocompatibility
if (!file_exists($path_img)) {
$img = str_replace('png', 'gif', $img);
}
// tab[class_name] does not contains the "Controller" suffix
if ($tab['class_name'] . 'Controller' == get_class($this) || $current_id == $tab['id_tab'] || $tab['class_name'] == $this->controller_name) {
$tabs[$index]['current'] = true;
$tabs[$index]['current_level'] = $level;
} else {
$tabs[$index]['current'] = false;
}
$tabs[$index]['img'] = $img;
$tabs[$index]['href'] = $this->context->link->getAdminLink($tab['class_name']);
$tabs[$index]['sub_tabs'] = array_values($this->getTabs($tab['id_tab'], $level + 1));
if (isset($tabs[$index]['sub_tabs'][0])) {
$tabs[$index]['href'] = $tabs[$index]['sub_tabs'][0]['href'];
} elseif (0 == $tabs[$index]['id_parent'] && '' == $tabs[$index]['icon']) {
unset($tabs[$index]);
}
if (array_key_exists($index, $tabs) && array_key_exists('sub_tabs', $tabs[$index])) {
foreach ($tabs[$index]['sub_tabs'] as $sub_tab) {
if ((int) $sub_tab['current'] == true) {
$tabs[$index]['current'] = true;
$tabs[$index]['current_level'] = $sub_tab['current_level'];
}
}
}
}
return $tabs;
}