* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 7331 $ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /* Debug only */ @ini_set('display_errors', 'on'); define('_PS_DEBUG_SQL_', true); $start_time = microtime(true); /* Compatibility warning */ define('_PS_DISPLAY_COMPATIBILITY_WARNING_', true); /* SSL configuration */ define('_PS_SSL_PORT_', 443); /* Improve PHP configuration to prevent issues */ ini_set('upload_max_filesize', '100M'); ini_set('default_charset', 'utf-8'); ini_set('magic_quotes_runtime', 0); // correct Apache charset (except if it's too late if(!headers_sent()) header('Content-Type: text/html; charset=utf-8'); /* No settings file? goto installer...*/ if (!file_exists(dirname(__FILE__).'/settings.inc.php')) { $dir = ((is_dir($_SERVER['REQUEST_URI']) OR substr($_SERVER['REQUEST_URI'], -1) == '/') ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/'); if(!file_exists(dirname(__FILE__).'/../install')) die('Error: \'install\' directory is missing'); header('Location: install/'); exit; } require_once(dirname(__FILE__).'/settings.inc.php'); /* Redefine REQUEST_URI if empty (on some webservers...) */ if (!isset($_SERVER['REQUEST_URI']) OR empty($_SERVER['REQUEST_URI'])) { if (substr($_SERVER['SCRIPT_NAME'], -9) == 'index.php') $_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/'; else { $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING']) AND !empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; } } /* Autoload */ require_once(dirname(__FILE__).'/autoload.php'); if (!defined('_PS_MAGIC_QUOTES_GPC_')) define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc()); /* Set the current Shop */ Context::getContext()->shop = Shop::initialize(); define('_THEME_NAME_', Context::getContext()->shop->getTheme()); define('__PS_BASE_URI__', Context::getContext()->shop->getBaseURI()); /* Include all defines */ require_once(dirname(__FILE__).'/defines.inc.php'); if (!defined('_PS_MODULE_DIR_')) define('_PS_MODULE_DIR_', _PS_ROOT_DIR_.'/modules/'); global $_MODULES; $_MODULES = array(); /* Load all configuration keys */ Configuration::loadConfiguration(); /* Load all language definitions */ Language::loadLanguages(); /* Loading default country */ $defaultCountry = new Country((int)(Configuration::get('PS_COUNTRY_DEFAULT')), Configuration::get('PS_LANG_DEFAULT')); /* Instantiate cookie */ if (defined('PS_ADMIN_DIR')) { $currentFileName = array_reverse(explode("/", $_SERVER['SCRIPT_NAME'])); $cookie = new Cookie('psAdmin', substr($_SERVER['SCRIPT_NAME'], strlen(__PS_BASE_URI__), -strlen($currentFileName['0']))); } else $cookie = new Cookie('ps'); Context::getContext()->cookie = $cookie; /* Instantiate language */ if (defined('PS_ADMIN_DIR')) { $employee = new Employee($cookie->id_employee); Context::getContext()->employee = $employee; $cookie->id_lang = (int)$employee->id_lang; $language = new Language($cookie->id_lang ? $cookie->id_lang : Configuration::get('PS_LANG_DEFAULT')); } else { $language = new Language($cookie->id_lang); if (!Validate::isLoadedObject($language)) $language = new Language(Configuration::get('PS_LANG_DEFAULT')); } Context::getContext()->language = $language; /* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */ if (function_exists('date_default_timezone_set')) @date_default_timezone_set(Configuration::get('PS_TIMEZONE')); /* Smarty */ require_once(dirname(__FILE__).'/smarty.config.inc.php'); Context::getContext()->smarty = $smarty; /* Possible value are true, false, 'URL' (for 'URL' append SMARTY_DEBUG as a parameter to the url) default is false for production environment */ define('SMARTY_DEBUG_CONSOLE', false);