Ejemplo n.º 1
0
 /**
  * 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')));
 }
Ejemplo n.º 2
0
								<a href="index.php?tab=' . $t['class_name'] . '&token=' . Tools::getAdminToken($t['class_name'] . intval($t['id_tab']) . intval($cookie->id_employee)) . '"><img src="' . $img . '" alt="" style="width:16px;height:16px" /> ' . $t['name'] . '</a>
							</li>';
    }
}
?>
			</ul>
			<div id="main">
				<ul id="submenu">
				<?php 
global $cookie;
/* Display tabs belonging to opened tab */
$id_parent = isset($id_parent) ? $id_parent : $id_parent_tab_current;
if (isset($id_parent) and $id_parent != -1) {
    $subTabs = Tab::getTabs(intval($cookie->id_lang), intval($id_parent));
    foreach ($subTabs as $t) {
        if (checkTabRights($t['id_tab']) === true) {
            $img = '../img/t/' . $t['class_name'] . '.gif';
            if (trim($t['module']) != '') {
                $img = _MODULE_DIR_ . $t['module'] . '/' . $t['class_name'] . '.gif';
            }
            echo '
								<li>
									<a href="index.php?tab=' . $t['class_name'] . '&token=' . Tools::getAdminToken($t['class_name'] . intval($t['id_tab']) . intval($cookie->id_employee)) . '"><img src="' . $img . '" alt="" style="width:16px;height:16px" /></a> <a href="index.php?tab=' . $t['class_name'] . '&token=' . Tools::getAdminToken($t['class_name'] . intval($t['id_tab']) . intval($cookie->id_employee)) . '">' . $t['name'] . '</a>
								</li>';
        }
    }
}
?>
				</ul>
				<div id="content">
Ejemplo n.º 3
0
        $current = (strtolower($t['class_name']) == $tab or $myCurrentTab->id_parent == $t['id_tab']);
        echo '<li class="submenu_size ' . ($current ? 'active' : '') . ' maintab" id="maintab' . $t['id_tab'] . '">
			<span class="title">
				<img src="' . $img . '" alt="" /> ' . $t['name'] . '
			</span>
			<ul class="submenu">';
        $subTabs = Tab::getTabs(Context::getContext()->language->id, (int) $t['id_tab']);
        foreach ($subTabs as $t2) {
            if (checkTabRights($t2['id_tab']) === true and (bool) $t2['active']) {
                echo '<li><a href="index.php?controller=' . $t2['class_name'] . '&token=' . Tools::getAdminTokenLite($t2['class_name']) . '">' . $t2['name'] . '</a></li>';
            }
        }
        echo '</ul></li>';
        $echoLi = '';
        foreach ($subTabs as $t2) {
            if (checkTabRights($t2['id_tab']) === true and (bool) $t2['active']) {
                $echoLi .= '<li class="subitem"><a href="index.php?controller=' . $t2['class_name'] . '&token=' . Tools::getAdminTokenLite($t2['class_name']) . '">' . $t2['name'] . '</a></li>';
            }
        }
        if ($current) {
            $mainsubtablist = $echoLi;
        }
        $echoLis .= '<div id="tab' . (int) $t['id_tab'] . '_subtabs" style="display:none">' . $echoLi . '</div>';
    }
}
echo '		</ul>' . $echoLis;
echo '
				</div>
				<div id="main">
				<div id="content">' . (file_exists(_PS_ADMIN_DIR_ . '/../install') ? '<div style="background-color: #FFEBCC;border: 1px solid #F90;line-height: 20px;margin: 0px 0px 10px;padding: 10px 20px;">' . translate('For security reasons, you must also:') . ' ' . translate('delete the /install folder') . '</div>' : '') . '
				';