* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 7227 $ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ ob_start(); $timerStart = microtime(true); $currentFileName = array_reverse(explode("/", $_SERVER['SCRIPT_NAME'])); $cookie = new Cookie('psAdmin', substr($_SERVER['SCRIPT_NAME'], strlen(__PS_BASE_URI__), -strlen($currentFileName['0']))); if (isset($_GET['logout'])) $cookie->logout(); if (!$cookie->isLoggedBack()) { $destination = substr($_SERVER['REQUEST_URI'], strlen(dirname($_SERVER['SCRIPT_NAME'])) + 1); Tools::redirectAdmin('login.php'.(empty($destination) || ($destination == 'index.php?logout') ? '' : '?redirect='.$destination)); } // Set current index $currentIndex = $_SERVER['SCRIPT_NAME'].(($tab = Tools::getValue('tab')) ? '?tab='.$tab : ''); if ($back = Tools::getValue('back')) $currentIndex .= '&back='.urlencode($back); AdminTab::$currentIndex = $currentIndex; /* Server Params */ $protocol_link = (Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://'; $protocol_content = (isset($useSSL) AND $useSSL AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://'; $link = new Link($protocol_link, $protocol_content); define('_PS_BASE_URL_', Tools::getShopDomain(true)); define('_PS_BASE_URL_SSL_', Tools::getShopDomainSsl(true)); $employee = new Employee((int)$cookie->id_employee); $cookie->id_lang = (int)$employee->id_lang; $language = new Language($cookie->id_lang ? $cookie->id_lang : Configuration::get('PS_LANG_DEFAULT')); $iso = $language->iso_code; include(_PS_TRANSLATIONS_DIR_.$iso.'/errors.php'); include(_PS_TRANSLATIONS_DIR_.$iso.'/fields.php'); include(_PS_TRANSLATIONS_DIR_.$iso.'/admin.php'); $path = dirname(__FILE__).'/themes/'; if (empty($employee->bo_theme) OR !file_exists($path.$employee->bo_theme.'/admin.css')) { if (file_exists($path.'oldschool/admin.css')) $employee->bo_theme = 'oldschool'; elseif (file_exists($path.'origins/admin.css')) $employee->bo_theme = 'origins'; else foreach (scandir($path) as $theme) if ($theme[0] != '.' AND file_exists($path.$theme.'/admin.css')) { $employee->bo_theme = $theme; break; } $employee->update(); } // Change shop context ? if (Tools::isMultiShopActivated() && Tools::getValue('setShopContext') !== false) { $cookie->shopContext = Tools::getValue('setShopContext'); $url = parse_url($_SERVER['REQUEST_URI']); $query = (isset($url['query'])) ? $url['query'] : ''; parse_str($query, $parseQuery); unset($parseQuery['setShopContext']); Tools::redirectAdmin($url['path'] . '?' . http_build_query($parseQuery)); } $context = Context::getContext(); $context->employee = $employee; $context->cookie = $cookie; $context->link = $link; $context->language = $language; $context->currency = new Currency(Configuration::get('PS_CURRENCY_DEFAULT')); $context->country = $defaultCountry; $context->shop = new Shop(Shop::getContextID());