Initial commit

This commit is contained in:
2020-10-07 10:37:15 +02:00
commit ce5f440392
28157 changed files with 4429172 additions and 0 deletions

10
config/.htaccess Executable file
View File

@@ -0,0 +1,10 @@
# Apache 2.2
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
# Apache 2.4
<IfModule mod_authz_core.c>
Require all denied
</IfModule>

64
config/alias.php Normal file
View File

@@ -0,0 +1,64 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
use Symfony\Component\VarDumper\VarDumper;
if (!function_exists('dump')) {
function dump($var)
{
foreach (func_get_args() as $var) {
VarDumper::dump($var);
}
}
}
/**
* Sanitize data which will be injected into SQL query
*
* @param string $string SQL data which will be injected into SQL query
* @param bool $htmlOK Does data contain HTML code ? (optional)
* @return string Sanitized data
*/
function pSQL($string, $htmlOK = false)
{
return Db::getInstance()->escape($string, $htmlOK);
}
function bqSQL($string)
{
return str_replace('`', '\`', pSQL($string));
}
function displayFatalError()
{
$error = null;
if (function_exists('error_get_last')) {
$error = error_get_last();
}
if ($error !== null && in_array($error['type'], array(E_ERROR, E_PARSE, E_COMPILE_ERROR))) {
echo '[PrestaShop] Fatal error in module file: '.$error['file'].':'.$error['line'].'<br />'.$error['message'];
}
}

32
config/autoload.php Normal file
View File

@@ -0,0 +1,32 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
require_once __DIR__.'/../vendor/autoload.php';
define('_PS_VERSION_', AppKernel::VERSION);
require_once _PS_CONFIG_DIR_.'alias.php';
require_once _PS_CLASS_DIR_.'PrestaShopAutoload.php';
spl_autoload_register(array(PrestaShopAutoload::getInstance(), 'load'));

149
config/bootstrap.php Normal file
View File

@@ -0,0 +1,149 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
use PrestaShop\PrestaShop\Adapter\ServiceLocator;
use PrestaShop\PrestaShop\Core\ContainerBuilder;
use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
use Symfony\Component\Yaml\Yaml;
$container_builder = new ContainerBuilder();
$legacyContainer = $container_builder->build();
ServiceLocator::setServiceContainerInstance($legacyContainer);
if (!file_exists(_PS_CACHE_DIR_)) {
@mkdir(_PS_CACHE_DIR_);
$warmer = new CacheWarmerAggregate([
new PrestaShopBundle\Cache\LocalizationWarmer(_PS_VERSION_, 'en'), //@replace hard-coded Lang
]);
$warmer->warmUp(_PS_CACHE_DIR_);
}
$configDirectory = __DIR__. '/../app/config';
$phpParametersFilepath = $configDirectory . '/parameters.php';
$yamlParametersFilepath = $configDirectory . '/parameters.yml';
$filesystem = new Filesystem();
$exportPhpConfigFile = function ($config, $destination) use ($filesystem) {
try {
$filesystem->dumpFile($destination, '<?php return '.var_export($config, true).';'."\n");
} catch (IOException $e) {
return false;
}
return true;
};
// Bootstrap an application with parameters.yml, which has been installed before PHP parameters file support
if (!file_exists($phpParametersFilepath) && file_exists($yamlParametersFilepath)) {
$parameters = Yaml::parseFile($yamlParametersFilepath);
if ($exportPhpConfigFile($parameters, $phpParametersFilepath)) {
$filesystem->dumpFile($yamlParametersFilepath, 'parameters:' . "\n");
}
}
$lastParametersModificationTime = (int)@filemtime($phpParametersFilepath);
if ($lastParametersModificationTime) {
$cachedParameters = _PS_CACHE_DIR_. 'appParameters.php';
$lastParametersCacheModificationTime = (int)@filemtime($cachedParameters);
if (!$lastParametersCacheModificationTime || $lastParametersCacheModificationTime < $lastParametersModificationTime) {
// When parameters file is available, update its cache if it is stale.
if (file_exists($phpParametersFilepath)) {
$config = require $phpParametersFilepath;
$exportPhpConfigFile($config, $cachedParameters);
} elseif (file_exists($yamlParametersFilepath)) {
$config = Yaml::parseFile($yamlParametersFilepath);
$exportPhpConfigFile($config, $cachedParameters);
}
}
$config = require_once _PS_CACHE_DIR_ . 'appParameters.php';
array_walk($config['parameters'], function (&$param) {
$param = str_replace('%%', '%', $param);
});
$database_host = $config['parameters']['database_host'];
if (!empty($config['parameters']['database_port'])) {
$database_host .= ':'. $config['parameters']['database_port'];
}
define('_DB_SERVER_', $database_host);
if (defined('_PS_IN_TEST_')) {
define('_DB_NAME_', 'test_'.$config['parameters']['database_name']);
} else {
define('_DB_NAME_', $config['parameters']['database_name']);
}
define('_DB_USER_', $config['parameters']['database_user']);
define('_DB_PASSWD_', $config['parameters']['database_password']);
define('_DB_PREFIX_', $config['parameters']['database_prefix']);
define('_MYSQL_ENGINE_', $config['parameters']['database_engine']);
define('_PS_CACHING_SYSTEM_', $config['parameters']['ps_caching']);
if (!defined('PS_IN_UPGRADE') && !defined('_PS_IN_TEST_')) {
define('_PS_CACHE_ENABLED_', $config['parameters']['ps_cache_enable']);
} else {
define('_PS_CACHE_ENABLED_', 0);
$config['parameters']['ps_cache_enable'] = 0;
}
// Legacy cookie
if (array_key_exists('cookie_key', $config['parameters'])) {
define('_COOKIE_KEY_', $config['parameters']['cookie_key']);
} else {
// Define cookie key if missing to prevent failure in composer post-install script
define('_COOKIE_KEY_', Tools::passwdGen(56));
}
if (array_key_exists('cookie_iv', $config['parameters'])) {
define('_COOKIE_IV_', $config['parameters']['cookie_iv']);
} else {
// Define cookie IV if missing to prevent failure in composer post-install script
define('_COOKIE_IV_', Tools::passwdGen(8));
}
// New cookie
if (array_key_exists('new_cookie_key', $config['parameters'])) {
define('_NEW_COOKIE_KEY_', $config['parameters']['new_cookie_key']);
} else {
// Define cookie key if missing to prevent failure in composer post-install script
$key = PhpEncryption::createNewRandomKey();
define('_NEW_COOKIE_KEY_', $key);
}
define('_PS_CREATION_DATE_', $config['parameters']['ps_creation_date']);
if (isset($config['parameters']['_rijndael_key'], $config['parameters']['_rijndael_iv'])) {
define('_RIJNDAEL_KEY_', $config['parameters']['_rijndael_key']);
define('_RIJNDAEL_IV_', $config['parameters']['_rijndael_iv']);
}
} elseif (file_exists(_PS_ROOT_DIR_.'/config/settings.inc.php')) {
require_once _PS_ROOT_DIR_.'/config/settings.inc.php';
}

264
config/config.inc.php Normal file
View File

@@ -0,0 +1,264 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
$currentDir = dirname(__FILE__);
/* Custom defines made by users */
if (is_file($currentDir.'/defines_custom.inc.php')) {
include_once $currentDir.'/defines_custom.inc.php';
}
require_once $currentDir.'/defines.inc.php';
require_once _PS_CONFIG_DIR_.'autoload.php';
$start_time = microtime(true);
/* SSL configuration */
define('_PS_SSL_PORT_', 443);
/* Improve PHP configuration to prevent issues */
ini_set('default_charset', 'utf-8');
/* in dev mode - check if composer was executed */
if (is_dir(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'admin-dev') && (!is_dir(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'vendor') ||
!file_exists(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR.'autoload.php'))) {
die('Error : please install <a href="https://getcomposer.org/">composer</a>. Then run "php composer.phar install"');
}
/* No settings file? goto installer... */
if (!file_exists(_PS_ROOT_DIR_.'/app/config/parameters.yml') && !file_exists(_PS_ROOT_DIR_.'/app/config/parameters.php')) {
Tools::redirectToInstall();
}
require_once $currentDir . DIRECTORY_SEPARATOR . 'bootstrap.php';
/* Improve PHP configuration on Windows */
if ('WIN' === strtoupper(substr(PHP_OS, 0, 3))) {
Windows::improveFilesytemPerformances();
}
if (defined('_PS_CREATION_DATE_')) {
$creationDate = _PS_CREATION_DATE_;
if (empty($creationDate)) {
Tools::redirectToInstall();
}
} else {
Tools::redirectToInstall();
}
/* Custom config made by users */
if (is_file(_PS_CUSTOM_CONFIG_FILE_)) {
include_once _PS_CUSTOM_CONFIG_FILE_;
}
if (_PS_DEBUG_PROFILING_) {
include_once _PS_TOOL_DIR_.'profiling/Controller.php';
include_once _PS_TOOL_DIR_.'profiling/ObjectModel.php';
include_once _PS_TOOL_DIR_.'profiling/Db.php';
include_once _PS_TOOL_DIR_.'profiling/Tools.php';
}
if (Tools::convertBytes(ini_get('upload_max_filesize')) < Tools::convertBytes('100M')) {
ini_set('upload_max_filesize', '100M');
}
if (Tools::isPHPCLI() && isset($argc, $argv)) {
Tools::argvToGET($argc, $argv);
}
/* Redefine REQUEST_URI if empty (on some webservers...) */
if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI'])) {
if (!isset($_SERVER['SCRIPT_NAME']) && isset($_SERVER['SCRIPT_FILENAME'])) {
$_SERVER['SCRIPT_NAME'] = $_SERVER['SCRIPT_FILENAME'];
}
if (isset($_SERVER['SCRIPT_NAME'])) {
if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/';
} else {
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
}
}
}
}
/* Trying to redefine HTTP_HOST if empty (on some webservers...) */
if (!isset($_SERVER['HTTP_HOST']) || empty($_SERVER['HTTP_HOST'])) {
$_SERVER['HTTP_HOST'] = @getenv('HTTP_HOST');
}
$context = Context::getContext();
/* Initialize the current Shop */
try {
$context->shop = Shop::initialize();
} catch (PrestaShopException $e) {
$e->displayMessage();
}
define('_THEME_NAME_', $context->shop->theme->getName());
define('_PARENT_THEME_NAME_', $context->shop->theme->get('parent') ?: '');
define('__PS_BASE_URI__', $context->shop->getBaseURI());
/* Include all defines related to base uri and theme name */
require_once $currentDir.'/defines_uri.inc.php';
global $_MODULES;
$_MODULES = array();
define('_PS_PRICE_DISPLAY_PRECISION_', Configuration::get('PS_PRICE_DISPLAY_PRECISION'));
define('_PS_PRICE_COMPUTE_PRECISION_', _PS_PRICE_DISPLAY_PRECISION_);
/* Load all languages */
Language::loadLanguages();
/* Loading default country */
$default_country = new Country(Configuration::get('PS_COUNTRY_DEFAULT'), Configuration::get('PS_LANG_DEFAULT'));
$context->country = $default_country;
/* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */
@date_default_timezone_set(Configuration::get('PS_TIMEZONE'));
/* Set locales */
$locale = strtolower(Configuration::get('PS_LOCALE_LANGUAGE')).'_'.strtoupper(Configuration::get('PS_LOCALE_COUNTRY'));
/* Please do not use LC_ALL here http://www.php.net/manual/fr/function.setlocale.php#25041 */
setlocale(LC_COLLATE, $locale.'.UTF-8', $locale.'.utf8');
setlocale(LC_CTYPE, $locale.'.UTF-8', $locale.'.utf8');
setlocale(LC_TIME, $locale.'.UTF-8', $locale.'.utf8');
setlocale(LC_NUMERIC, 'en_US.UTF-8', 'en_US.utf8');
/* Instantiate cookie */
$cookie_lifetime = defined('_PS_ADMIN_DIR_') ? (int)Configuration::get('PS_COOKIE_LIFETIME_BO') : (int)Configuration::get('PS_COOKIE_LIFETIME_FO');
if ($cookie_lifetime > 0) {
$cookie_lifetime = time() + (max($cookie_lifetime, 1) * 3600);
}
if (defined('_PS_ADMIN_DIR_')) {
$cookie = new Cookie('psAdmin', '', $cookie_lifetime);
} else {
$force_ssl = Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE');
if ($context->shop->getGroup()->share_order) {
$cookie = new Cookie('ps-sg'.$context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart(), false, $force_ssl);
} else {
$domains = null;
if ($context->shop->domain != $context->shop->domain_ssl) {
$domains = array($context->shop->domain_ssl, $context->shop->domain);
}
$cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains, false, $force_ssl);
}
}
$context->cookie = $cookie;
/* Create employee if in BO, customer else */
if (defined('_PS_ADMIN_DIR_')) {
$employee = new Employee($cookie->id_employee);
$context->employee = $employee;
/* Auth on shops are recached after employee assignation */
if ($employee->id_profile != _PS_ADMIN_PROFILE_) {
Shop::cacheShops(true);
}
$cookie->id_lang = (int)$employee->id_lang;
}
/* if the language stored in the cookie is not available language, use default language */
if (isset($cookie->id_lang) && $cookie->id_lang) {
$language = new Language($cookie->id_lang);
}
if (!isset($language) || !Validate::isLoadedObject($language)) {
$language = new Language(Configuration::get('PS_LANG_DEFAULT'));
}
$context->language = $language;
/* Get smarty */
require_once $currentDir.'/smarty.config.inc.php';
$context->smarty = $smarty;
if (!defined('_PS_ADMIN_DIR_')) {
if (isset($cookie->id_customer) && (int)$cookie->id_customer) {
$customer = new Customer($cookie->id_customer);
if (!Validate::isLoadedObject($customer)) {
$context->cookie->logout();
} else {
$customer->logged = true;
if ($customer->id_lang != $context->language->id) {
$customer->id_lang = $context->language->id;
$customer->update();
}
}
}
if (!isset($customer) || !Validate::isLoadedObject($customer)) {
$customer = new Customer();
/* Change the default group */
if (Group::isFeatureActive()) {
$customer->id_default_group = (int)Configuration::get('PS_UNIDENTIFIED_GROUP');
}
}
$customer->id_guest = $cookie->id_guest;
$context->customer = $customer;
}
/* Link should also be initialized in the context here for retrocompatibility */
$https_link = (Tools::usingSecureMode() && Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://';
$context->link = new Link($https_link, $https_link);
/**
* @deprecated
* USE : Configuration::get() method in order to getting the id of order status
*/
define('_PS_OS_CHEQUE_', Configuration::get('PS_OS_CHEQUE'));
define('_PS_OS_PAYMENT_', Configuration::get('PS_OS_PAYMENT'));
define('_PS_OS_PREPARATION_', Configuration::get('PS_OS_PREPARATION'));
define('_PS_OS_SHIPPING_', Configuration::get('PS_OS_SHIPPING'));
define('_PS_OS_DELIVERED_', Configuration::get('PS_OS_DELIVERED'));
define('_PS_OS_CANCELED_', Configuration::get('PS_OS_CANCELED'));
define('_PS_OS_REFUND_', Configuration::get('PS_OS_REFUND'));
define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));
define('_PS_OS_OUTOFSTOCK_', Configuration::get('PS_OS_OUTOFSTOCK'));
define('_PS_OS_OUTOFSTOCK_PAID_', Configuration::get('PS_OS_OUTOFSTOCK_PAID'));
define('_PS_OS_OUTOFSTOCK_UNPAID_', Configuration::get('PS_OS_OUTOFSTOCK_UNPAID'));
define('_PS_OS_BANKWIRE_', Configuration::get('PS_OS_BANKWIRE'));
define('_PS_OS_PAYPAL_', Configuration::get('PS_OS_PAYPAL'));
define('_PS_OS_WS_PAYMENT_', Configuration::get('PS_OS_WS_PAYMENT'));
define('_PS_OS_COD_VALIDATION_', Configuration::get('PS_OS_COD_VALIDATION'));
if (!defined('_MEDIA_SERVER_1_')) {
define('_MEDIA_SERVER_1_', Configuration::get('PS_MEDIA_SERVER_1'));
}
if (!defined('_MEDIA_SERVER_2_')) {
define('_MEDIA_SERVER_2_', Configuration::get('PS_MEDIA_SERVER_2'));
}
if (!defined('_MEDIA_SERVER_3_')) {
define('_MEDIA_SERVER_3_', Configuration::get('PS_MEDIA_SERVER_3'));
}

View File

@@ -0,0 +1,34 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/*
return array(
array('server' => '192.168.0.15', 'user' => 'rep', 'password' => '123456', 'database' => 'rep'),
array('server' => '192.168.0.3', 'user' => 'myuser', 'password' => 'mypassword', 'database' => 'mydatabase'),
);
*/
return array();

202
config/defines.inc.php Executable file
View File

@@ -0,0 +1,202 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
if (_PS_MODE_DEV_ === true) {
@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
define('_PS_DEBUG_SQL_', true);
} else {
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
}
if (!defined('_PS_DEBUG_PROFILING_')) {
define('_PS_DEBUG_PROFILING_', false);
}
define('_PS_MODE_DEMO_', false);
$currentDir = dirname(__FILE__);
if (!defined('_PS_HOST_MODE_') && (getenv('_PS_HOST_MODE_') || getenv('REDIRECT__PS_HOST_MODE_'))) {
define('_PS_HOST_MODE_', getenv('_PS_HOST_MODE_') ? getenv('_PS_HOST_MODE_') : getenv('REDIRECT__PS_HOST_MODE_'));
}
if (!defined('_PS_ROOT_DIR_') && (getenv('_PS_ROOT_DIR_') || getenv('REDIRECT__PS_ROOT_DIR_'))) {
define('_PS_ROOT_DIR_', getenv('_PS_ROOT_DIR_') ? getenv('_PS_ROOT_DIR_') : getenv('REDIRECT__PS_ROOT_DIR_'));
}
/* Directories */
if (!defined('_PS_ROOT_DIR_')) {
define('_PS_ROOT_DIR_', realpath($currentDir.'/..'));
}
if (!defined('_PS_CORE_DIR_')) {
define('_PS_CORE_DIR_', realpath($currentDir.'/..'));
}
define('_PS_ALL_THEMES_DIR_', _PS_ROOT_DIR_.'/themes/');
/* BO THEMES */
if (defined('_PS_ADMIN_DIR_')) {
define('_PS_BO_ALL_THEMES_DIR_', _PS_ADMIN_DIR_.'/themes/');
}
if (!defined('_PS_CACHE_DIR_')) {
$prestashopCacheDir = _PS_ROOT_DIR_.'/var/cache/'.(_PS_MODE_DEV_ ? 'dev': 'prod'). DIRECTORY_SEPARATOR;
define('_PS_CACHE_DIR_', $prestashopCacheDir);
}
define('_PS_CONFIG_DIR_', _PS_CORE_DIR_.'/config/');
define('_PS_CUSTOM_CONFIG_FILE_', _PS_CONFIG_DIR_.'settings_custom.inc.php');
define('_PS_CLASS_DIR_', _PS_CORE_DIR_.'/classes/');
if (!defined('_PS_DOWNLOAD_DIR_')) {
define('_PS_DOWNLOAD_DIR_', _PS_ROOT_DIR_.'/download/');
}
define('_PS_MAIL_DIR_', _PS_CORE_DIR_.'/mails/');
if (!defined('_PS_MODULE_DIR_')) {
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_.'/modules/');
}
if (!defined('_PS_OVERRIDE_DIR_')) {
define('_PS_OVERRIDE_DIR_', _PS_ROOT_DIR_.'/override/');
}
define('_PS_PDF_DIR_', _PS_CORE_DIR_.'/pdf/');
define('_PS_TRANSLATIONS_DIR_', _PS_ROOT_DIR_.'/translations/');
if (!defined('_PS_UPLOAD_DIR_')) {
define('_PS_UPLOAD_DIR_', _PS_ROOT_DIR_.'/upload/');
}
define('_PS_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/');
define('_PS_ADMIN_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/admin/');
define('_PS_FRONT_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/front/');
define('_PS_TOOL_DIR_', _PS_CORE_DIR_.'/tools/');
if (!defined('_PS_GEOIP_DIR_')) {
define('_PS_GEOIP_DIR_', _PS_CORE_DIR_.'/app/Resources/geoip/');
}
if (!defined('_PS_GEOIP_CITY_FILE_')) {
define('_PS_GEOIP_CITY_FILE_', 'GeoLite2-City.mmdb');
}
define('_PS_VENDOR_DIR_', _PS_CORE_DIR_.'/vendor/');
define('_PS_PEAR_XML_PARSER_PATH_', _PS_TOOL_DIR_.'pear_xml_parser/');
define('_PS_SWIFT_DIR_', _PS_TOOL_DIR_.'swift/');
define('_PS_TAASC_PATH_', _PS_TOOL_DIR_.'taasc/');
define('_PS_TCPDF_PATH_', _PS_TOOL_DIR_.'tcpdf/');
if (!defined('_PS_IMG_DIR_')) {
define('_PS_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
}
if (!defined('_PS_HOST_MODE_')) {
define('_PS_CORE_IMG_DIR_', _PS_CORE_DIR_.'/img/');
} else {
define('_PS_CORE_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
}
define('_PS_CAT_IMG_DIR_', _PS_IMG_DIR_.'c/');
define('_PS_COL_IMG_DIR_', _PS_IMG_DIR_.'co/');
define('_PS_EMPLOYEE_IMG_DIR_', _PS_IMG_DIR_.'e/');
define('_PS_GENDERS_DIR_', _PS_IMG_DIR_.'genders/');
define('_PS_LANG_IMG_DIR_', _PS_IMG_DIR_.'l/');
define('_PS_MANU_IMG_DIR_', _PS_IMG_DIR_.'m/');
define('_PS_ORDER_STATE_IMG_DIR_', _PS_IMG_DIR_.'os/');
define('_PS_PROD_IMG_DIR_', _PS_IMG_DIR_.'p/');
define('_PS_SHIP_IMG_DIR_', _PS_IMG_DIR_.'s/');
define('_PS_STORE_IMG_DIR_', _PS_IMG_DIR_.'st/');
define('_PS_SUPP_IMG_DIR_', _PS_IMG_DIR_.'su/');
define('_PS_TMP_IMG_DIR_', _PS_IMG_DIR_.'tmp/');
/* settings php */
define('_PS_TRANS_PATTERN_', '(.*[^\\\\])');
define('_PS_MIN_TIME_GENERATE_PASSWD_', '360');
if (!defined('_PS_MAGIC_QUOTES_GPC_')) {
define('_PS_MAGIC_QUOTES_GPC_', false);
}
define('_CAN_LOAD_FILES_', 1);
/* Order statuses
Order statuses have been moved into config.inc.php file for backward compatibility reasons */
/* Tax behavior */
define('PS_PRODUCT_TAX', 0);
define('PS_STATE_TAX', 1);
define('PS_BOTH_TAX', 2);
define('PS_TAX_EXC', 1);
define('PS_TAX_INC', 0);
define('PS_ROUND_UP', 0);
define('PS_ROUND_DOWN', 1);
define('PS_ROUND_HALF_UP', 2);
define('PS_ROUND_HALF_DOWN', 3);
define('PS_ROUND_HALF_EVEN', 4);
define('PS_ROUND_HALF_ODD', 5);
/* Backward compatibility */
define('PS_ROUND_HALF', PS_ROUND_HALF_UP);
/* Carrier::getCarriers() filter */
// these defines are DEPRECATED since 1.4.5 version
define('PS_CARRIERS_ONLY', 1);
define('CARRIERS_MODULE', 2);
define('CARRIERS_MODULE_NEED_RANGE', 3);
define('PS_CARRIERS_AND_CARRIER_MODULES_NEED_RANGE', 4);
define('ALL_CARRIERS', 5);
/* SQL Replication management */
define('_PS_USE_SQL_SLAVE_', 0);
/* PS Technical configuration */
define('_PS_ADMIN_PROFILE_', 1);
/* Stock Movement */
define('_STOCK_MOVEMENT_ORDER_REASON_', 3);
define('_STOCK_MOVEMENT_MISSING_REASON_', 4);
define('_PS_CACHEFS_DIRECTORY_', _PS_ROOT_DIR_.'/cache/cachefs/');
/* Geolocation */
define('_PS_GEOLOCATION_NO_CATALOG_', 0);
define('_PS_GEOLOCATION_NO_ORDER_', 1);
define('MIN_PASSWD_LENGTH', 8);
define('_PS_SMARTY_NO_COMPILE_', 0);
define('_PS_SMARTY_CHECK_COMPILE_', 1);
define('_PS_SMARTY_FORCE_COMPILE_', 2);
define('_PS_SMARTY_CONSOLE_CLOSE_', 0);
define('_PS_SMARTY_CONSOLE_OPEN_BY_URL_', 1);
define('_PS_SMARTY_CONSOLE_OPEN_', 2);
if (!defined('_PS_JQUERY_VERSION_')) {
define('_PS_JQUERY_VERSION_', '1.11.0');
}
define('_PS_CACHE_CA_CERT_FILE_', _PS_CACHE_DIR_.'cacert.pem');

View File

@@ -0,0 +1,72 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/* Theme URLs */
define('_PS_DEFAULT_THEME_NAME_', 'classic');
define('_PS_THEME_DIR_', _PS_ROOT_DIR_.'/themes/'._THEME_NAME_.'/');
define('_PS_THEME_URI_', __PS_BASE_URI__.'themes/'._THEME_NAME_.'/');
if (defined('_PARENT_THEME_NAME_') && _PARENT_THEME_NAME_) {
define('_PS_PARENT_THEME_DIR_', _PS_ROOT_DIR_.'/themes/'._PARENT_THEME_NAME_.'/');
define('_PS_PARENT_THEME_URI_', __PS_BASE_URI__.'themes/'._PARENT_THEME_NAME_.'/');
} else {
define('_PS_PARENT_THEME_DIR_', '');
define('_PS_PARENT_THEME_URI_', '');
}
define('_THEMES_DIR_', __PS_BASE_URI__.'themes/');
define('_THEME_DIR_', _THEMES_DIR_._THEME_NAME_.'/');
define('_THEME_IMG_DIR_', _THEME_DIR_.'assets/img/');
define('_THEME_CSS_DIR_', _THEME_DIR_.'assets/css/');
define('_THEME_JS_DIR_', _THEME_DIR_.'assets/js/');
/* Image URLs */
define('_PS_IMG_', __PS_BASE_URI__.'img/');
define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/');
define('_PS_TMP_IMG_', _PS_IMG_.'tmp/');
define('_THEME_CAT_DIR_', _PS_IMG_.'c/');
define('_THEME_PROD_DIR_', _PS_IMG_.'p/');
define('_THEME_MANU_DIR_', _PS_IMG_.'m/');
define('_THEME_SUP_DIR_', _PS_IMG_.'su/');
define('_THEME_SHIP_DIR_', _PS_IMG_.'s/');
define('_THEME_STORE_DIR_', _PS_IMG_.'st/');
define('_THEME_LANG_DIR_', _PS_IMG_.'l/');
define('_THEME_COL_DIR_', _PS_IMG_.'co/');
define('_THEME_GENDERS_DIR_', _PS_IMG_.'genders/');
define('_PS_PROD_IMG_', _PS_IMG_.'p/');
/* Other URLs */
define('_PS_JS_DIR_', __PS_BASE_URI__.'js/');
define('_PS_CSS_DIR_', __PS_BASE_URI__.'css/');
define('_THEME_PROD_PIC_DIR_', __PS_BASE_URI__.'upload/');
define('_MAIL_DIR_', __PS_BASE_URI__.'mails/');
define('_MODULE_DIR_', __PS_BASE_URI__.'modules/');
/* Define API URLs if not defined before */
Tools::safeDefine('_PS_API_DOMAIN_', 'api.prestashop.com');
Tools::safeDefine('_PS_API_URL_', 'http://'._PS_API_DOMAIN_);
Tools::safeDefine('_PS_TAB_MODULE_LIST_URL_', _PS_API_URL_.'/xml/tab_modules_list_17.xml');
Tools::safeDefine('_PS_API_MODULES_LIST_16_', _PS_API_DOMAIN_.'/xml/modules_list_16.xml');
Tools::safeDefine('_PS_CURRENCY_FEED_URL_', _PS_API_URL_.'/xml/currencies.xml');

35
config/index.php Normal file
View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_prod.yml }

View File

@@ -0,0 +1,30 @@
imports:
- { resource: ../common.yml }
services:
filesystem:
class: Symfony\Component\Filesystem\Filesystem
finder:
class: Symfony\Component\Finder\Finder
hook_provider:
class: PrestaShop\PrestaShop\Adapter\Hook\HookInformationProvider
hook_repository:
class: PrestaShop\PrestaShop\Core\Module\HookRepository
arguments: ["@hook_provider", "@shop", "@db"]
hook_configurator:
class: PrestaShop\PrestaShop\Core\Module\HookConfigurator
arguments: ["@hook_repository"]
theme_validator:
class: PrestaShop\PrestaShop\Core\Addon\Theme\ThemeValidator
theme_manager:
class: PrestaShop\PrestaShop\Core\Addon\Theme\ThemeManager
arguments: ["@shop", "@configuration", "@theme_validator", "@employee", "@filesystem", "@finder", "@hook_configurator"]
context.static:
class: Context

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_dev.yml }

View File

@@ -0,0 +1,18 @@
parameters:
mail_themes_uri: "/mails/themes"
imports:
- { resource: ../../src/PrestaShopBundle/Resources/config/services/core/cldr.yml }
- { resource: ../../src/PrestaShopBundle/Resources/config/services/adapter/data_provider_common.yml }
- { resource: ../../src/PrestaShopBundle/Resources/config/services/adapter/common.yml }
services:
hashing:
class: PrestaShop\PrestaShop\Core\Crypto\Hashing
prestashop.database.naming_strategy:
class: PrestaShopBundle\Service\Database\DoctrineNamingStrategy
arguments: ['%database_prefix%']
annotation_reader:
class: Doctrine\Common\Annotations\AnnotationReader

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_prod.yml }

View File

@@ -0,0 +1,45 @@
imports:
- { resource: ../common.yml }
services:
prestashop.core.filter.front_end_object.main:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\MainFilter
arguments:
- cart: '@prestashop.core.filter.front_end_object.cart'
customer: '@prestashop.core.filter.front_end_object.customer'
shop: '@prestashop.core.filter.front_end_object.shop'
configuration: '@prestashop.core.filter.front_end_object.configuration'
prestashop.core.filter.front_end_object.product:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\ProductFilter
prestashop.core.filter.front_end_object.cart:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\CartFilter
arguments:
- '@prestashop.core.filter.front_end_object.product_collection'
prestashop.core.filter.front_end_object.search_result_product:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\SearchResultProductFilter
prestashop.core.filter.front_end_object.customer:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\CustomerFilter
prestashop.core.filter.front_end_object.shop:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\ShopFilter
prestashop.core.filter.front_end_object.configuration:
class: PrestaShop\PrestaShop\Core\Filter\FrontEndObject\ConfigurationFilter
prestashop.core.filter.front_end_object.product_collection:
class: PrestaShop\PrestaShop\Core\Filter\CollectionFilter
calls:
- method: queue
arguments:
- ['@prestashop.core.filter.front_end_object.product']
prestashop.core.filter.front_end_object.search_result_product_collection:
class: PrestaShop\PrestaShop\Core\Filter\CollectionFilter
calls:
- method: queue
arguments:
- ['@prestashop.core.filter.front_end_object.search_result_product']

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_dev.yml }

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_prod.yml }

View File

@@ -0,0 +1,2 @@
imports:
- { resource: ../common.yml }

View File

@@ -0,0 +1,2 @@
imports:
- { resource: services_dev.yml }

2
config/settings.inc.php Normal file
View File

@@ -0,0 +1,2 @@
<?php
//@deprecated 1.7

View File

@@ -0,0 +1,197 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
define('_PS_SMARTY_DIR_', _PS_VENDOR_DIR_.'prestashop/smarty/');
global $smarty;
if (Configuration::get('PS_SMARTY_LOCAL')) {
$smarty = new SmartyCustom();
} elseif (_PS_MODE_DEV_ && !defined('_PS_ADMIN_DIR_')) {
$smarty = new SmartyDev();
} else {
$smarty = new Smarty();
}
$smarty->setCompileDir(_PS_CACHE_DIR_.'smarty/compile');
$smarty->setCacheDir(_PS_CACHE_DIR_.'smarty/cache');
$smarty->use_sub_dirs = true;
$smarty->setConfigDir(_PS_SMARTY_DIR_.'configs');
$smarty->caching = false;
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}
$smarty->force_compile = (Configuration::get('PS_SMARTY_FORCE_COMPILE') == _PS_SMARTY_FORCE_COMPILE_) ? true : false;
$smarty->compile_check = (Configuration::get('PS_SMARTY_FORCE_COMPILE') >= _PS_SMARTY_CHECK_COMPILE_) ? true : false;
$smarty->debug_tpl = _PS_ALL_THEMES_DIR_.'debug.tpl';
/* Use this constant if you want to load smarty without all PrestaShop functions */
if (defined('_PS_SMARTY_FAST_LOAD_') && _PS_SMARTY_FAST_LOAD_) {
return;
}
if (defined('_PS_ADMIN_DIR_')) {
require_once dirname(__FILE__).'/smartyadmin.config.inc.php';
} else {
require_once dirname(__FILE__).'/smartyfront.config.inc.php';
}
require_once SMARTY_PLUGINS_DIR.'modifier.truncate.php';
// This escape modifier is required for invoice PDF generation
function smartyEscape($string, $esc_type = 'html', $char_set = null, $double_encode = true)
{
$escapeModifierFile = implode(
DIRECTORY_SEPARATOR,
array(
SMARTY_PLUGINS_DIR,
'modifier.escape.php',
)
);
require_once $escapeModifierFile;
global $smarty;
if (($esc_type === 'html' || $esc_type === 'htmlall') && $smarty->escape_html) {
return $string;
} else {
return smarty_modifier_escape($string, $esc_type, $char_set, $double_encode);
}
}
smartyRegisterFunction($smarty, 'modifier', 'escape', 'smartyEscape');
smartyRegisterFunction($smarty, 'modifier', 'truncate', 'smarty_modifier_truncate');
smartyRegisterFunction($smarty, 'function', 'l', 'smartyTranslate', false);
smartyRegisterFunction($smarty, 'function', 'hook', 'smartyHook');
smartyRegisterFunction($smarty, 'modifier', 'json_encode', array('Tools', 'jsonEncode'));
smartyRegisterFunction($smarty, 'modifier', 'json_decode', array('Tools', 'jsonDecode'));
smartyRegisterFunction($smarty, 'function', 'dateFormat', array('Tools', 'dateFormat'));
smartyRegisterFunction($smarty, 'modifier', 'boolval', array('Tools', 'boolval'));
smartyRegisterFunction($smarty, 'modifier', 'cleanHtml', 'smartyCleanHtml');
smartyRegisterFunction($smarty, 'modifier', 'classname', 'smartyClassname');
smartyRegisterFunction($smarty, 'modifier', 'classnames', 'smartyClassnames');
smartyRegisterFunction($smarty, 'function', 'url', array('Link', 'getUrlSmarty'));
function smarty_modifier_htmlentitiesUTF8($string)
{
return Tools::htmlentitiesUTF8($string);
}
function smartyRegisterFunction($smarty, $type, $function, $params, $lazy = true, $initial_lazy_register = null)
{
if (!in_array($type, array('function', 'modifier', 'block'))) {
return false;
}
// lazy is better if the function is not called on every page
if ($lazy) {
if (null !== $initial_lazy_register && $initial_lazy_register->isRegistered($params)) {
return;
}
$lazy_register = SmartyLazyRegister::getInstance($smarty);
if ($lazy_register->isRegistered($params)) {
return;
}
$lazy_register->register($params);
if (is_array($params)) {
$params = $params[1];
}
// SmartyLazyRegister allows to only load external class when they are needed
$smarty->registerPlugin($type, $function, array($lazy_register, $params));
} else {
$smarty->registerPlugin($type, $function, $params);
}
}
function smartyHook($params, &$smarty)
{
$id_module = null;
$hook_params = $params;
$hook_params['smarty'] = $smarty;
if (!empty($params['mod'])) {
$module = Module::getInstanceByName($params['mod']);
unset($hook_params['mod']);
if ($module && $module->id) {
$id_module = $module->id;
} else {
unset($hook_params['h']);
return '';
}
}
if (!empty($params['excl'])) {
$result = '';
$modules = Hook::getHookModuleExecList($hook_params['h']);
$moduleexcl = explode(',', $params['excl']);
foreach ($modules as $module) {
if (!in_array($module['module'], $moduleexcl)) {
$result .= Hook::exec($params['h'], $hook_params, $module['id_module']);
}
}
unset(
$hook_params['h'],
$hook_params['excl']
);
return $result;
}
unset($hook_params['h']);
return Hook::exec($params['h'], $hook_params, $id_module);
}
function smartyCleanHtml($data)
{
// Prevent xss injection.
if (Validate::isCleanHtml($data)) {
return $data;
}
}
function smartyClassname($classname)
{
$classname = Tools::replaceAccentedChars(strtolower($classname));
$classname = preg_replace('/[^A-Za-z0-9]/', '-', $classname);
$classname = preg_replace('/[-]+/', '-', $classname);
return $classname;
}
function smartyClassnames(array $classnames)
{
$enabled_classes = array();
foreach ($classnames as $classname => $enabled) {
if ($enabled) {
$enabled_classes[] = smartyClassname($classname);
}
}
return implode(' ', $enabled_classes);
}

View File

@@ -0,0 +1,151 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
global $smarty;
$smarty->debugging = false;
$smarty->debugging_ctrl = 'NONE';
// Let user choose to force compilation
$smarty->force_compile = (Configuration::get('PS_SMARTY_FORCE_COMPILE') == _PS_SMARTY_FORCE_COMPILE_) ? true : false;
// But force compile_check since the performance impact is small and it is better for debugging
$smarty->compile_check = true;
smartyRegisterFunction($smarty, 'function', 'toolsConvertPrice', 'toolsConvertPrice');
smartyRegisterFunction($smarty, 'function', 'convertPrice', array('Product', 'convertPrice'));
smartyRegisterFunction($smarty, 'function', 'convertPriceWithCurrency', array('Product', 'convertPriceWithCurrency'));
smartyRegisterFunction($smarty, 'function', 'displayWtPrice', array('Product', 'displayWtPrice'));
smartyRegisterFunction($smarty, 'function', 'displayWtPriceWithCurrency', array('Product', 'displayWtPriceWithCurrency'));
smartyRegisterFunction($smarty, 'function', 'displayPrice', array('Tools', 'displayPriceSmarty'));
smartyRegisterFunction($smarty, 'modifier', 'convertAndFormatPrice', array('Product', 'convertAndFormatPrice')); // used twice
smartyRegisterFunction($smarty, 'function', 'getAdminToken', array('Tools', 'getAdminTokenLiteSmarty'));
smartyRegisterFunction($smarty, 'function', 'displayAddressDetail', array('AddressFormat', 'generateAddressSmarty'));
smartyRegisterFunction($smarty, 'function', 'getWidthSize', array('Image', 'getWidth'));
smartyRegisterFunction($smarty, 'function', 'getHeightSize', array('Image', 'getHeight'));
smartyRegisterFunction($smarty, 'function', 'addJsDef', array('Media', 'addJsDef'));
smartyRegisterFunction($smarty, 'block', 'addJsDefL', array('Media', 'addJsDefL'));
smartyRegisterFunction($smarty, 'modifier', 'secureReferrer', array('Tools', 'secureReferrer'));
$module_resources['modules'] = _PS_MODULE_DIR_;
$smarty->registerResource('module', new SmartyResourceModule($module_resources, $isAdmin = true));
function toolsConvertPrice($params, &$smarty)
{
return Tools::convertPrice($params['price'], Context::getContext()->currency);
}
function smartyTranslate($params, $smarty)
{
$translator = Context::getContext()->getTranslator();
$htmlEntities = !isset($params['html']) && !isset($params['js']);
$addSlashes = (isset($params['slashes']) || isset($params['js']));
$isInPDF = isset($params['pdf']);
$isInModule = !empty($params['mod']);
$sprintf = array();
if (isset($params['sprintf']) && !is_array($params['sprintf'])) {
$sprintf = array($params['sprintf']);
} elseif (isset($params['sprintf'])) {
$sprintf = $params['sprintf'];
}
if (($htmlEntities || $addSlashes)) {
$sprintf['legacy'] = $htmlEntities ? 'htmlspecialchars': 'addslashes';
}
if (!empty($params['d'])) {
if (isset($params['tags'])) {
$backTrace = debug_backtrace();
$errorMessage = sprintf(
'Unable to translate "%s" in %s. tags() is not supported anymore, please use sprintf().',
$params['s'],
$backTrace[0]['args'][1]->template_resource
);
if (_PS_MODE_DEV_) {
throw new Exception($errorMessage);
} else {
PrestaShopLogger::addLog($errorMessage);
}
}
if (!is_array($sprintf)) {
$backTrace = debug_backtrace();
$errorMessage = sprintf(
'Unable to translate "%s" in %s. sprintf() parameter should be an array.',
$params['s'],
$backTrace[0]['args'][1]->template_resource
);
if (_PS_MODE_DEV_) {
throw new Exception($errorMessage);
} else {
PrestaShopLogger::addLog($errorMessage);
return $params['s'];
}
}
return $translator->trans($params['s'], $sprintf, $params['d']);
}
if ($isInPDF) {
return Translate::smartyPostProcessTranslation(
Translate::getPdfTranslation(
$params['s'],
$sprintf
),
$params
);
}
// If the template is part of a module
if ($isInModule) {
return Translate::smartyPostProcessTranslation(
Translate::getModuleTranslation(
$params['mod'],
$params['s'],
basename($smarty->source->name, '.tpl'),
$sprintf,
isset($params['js'])
),
$params
);
}
$translatedValue = $translator->trans($params['s'], $sprintf, null);
if ($htmlEntities) {
$translatedValue = htmlspecialchars($translatedValue, ENT_COMPAT, 'UTF-8');
}
if ($addSlashes) {
$translatedValue = addslashes($translatedValue);
}
return $translatedValue;
}

View File

@@ -0,0 +1,267 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
global $smarty;
$template_dirs = array(_PS_THEME_DIR_.'templates');
$plugin_dirs = array(_PS_THEME_DIR_.'plugins');
if (_PS_PARENT_THEME_DIR_) {
$template_dirs[] = _PS_PARENT_THEME_DIR_.'templates';
$plugin_dirs[] = _PS_PARENT_THEME_DIR_.'plugins';
}
$smarty->setTemplateDir($template_dirs);
$smarty->addPluginsDir($plugin_dirs);
$module_resources = array('theme' => _PS_THEME_DIR_.'modules/');
if (_PS_PARENT_THEME_DIR_) {
$module_resources['parent'] = _PS_PARENT_THEME_DIR_.'modules/';
}
$module_resources['modules'] = _PS_MODULE_DIR_;
$smarty->registerResource('module', new SmartyResourceModule($module_resources));
$parent_resources = array();
if (_PS_PARENT_THEME_DIR_) {
$parent_resources['parent'] = _PS_PARENT_THEME_DIR_.'templates/';
}
$smarty->registerResource('parent', new SmartyResourceParent($parent_resources));
$smarty->escape_html = true;
smartyRegisterFunction($smarty, 'function', 'widget', 'smartyWidget');
smartyRegisterFunction($smarty, 'function', 'render', 'smartyRender');
smartyRegisterFunction($smarty, 'function', 'form_field', 'smartyFormField');
smartyRegisterFunction($smarty, 'block', 'widget_block', 'smartyWidgetBlock');
function withWidget($params, callable $cb)
{
if (!isset($params['name'])) {
throw new Exception('Smarty helper `render_widget` expects at least the `name` parameter.');
}
$moduleName = $params['name'];
unset($params['name']);
$moduleInstance = Module::getInstanceByName($moduleName);
if (!$moduleInstance instanceof PrestaShop\PrestaShop\Core\Module\WidgetInterface) {
throw new Exception(sprintf(
'Module `%1$s` is not a WidgetInterface.',
$moduleName
));
}
return $cb($moduleInstance, $params);
}
function smartyWidget($params, &$smarty)
{
return withWidget($params, function ($widget, $params) {
return Hook::coreRenderWidget(
$widget,
isset($params['hook']) ? $params['hook'] : null,
$params
);
});
}
function smartyRender($params, &$smarty)
{
$ui = $params['ui'];
if (array_key_exists('file', $params)) {
$ui->setTemplate($params['file']);
}
return $ui->render($params);
}
function smartyFormField($params, $smarty)
{
$scope = $smarty->createData(
$smarty
);
$scope->assign($params);
$file = '_partials/form-fields.tpl';
if (isset($params['file'])) {
$file = $params['file'];
}
$tpl = $smarty->createTemplate($file, $scope);
return $tpl->fetch();
}
function smartyWidgetBlock($params, $content, $smarty)
{
static $backedUpVariablesStack = array();
if (null === $content) {
// Function is called twice: at the opening of the block
// and when it is closed.
// This is the first call.
withWidget($params, function ($widget, $params) use (&$smarty, &$backedUpVariablesStack) {
// Assign widget variables and backup all the variables they override
$currentVariables = $smarty->getTemplateVars();
$scopedVariables = $widget->getWidgetVariables(isset($params['hook']) ? $params['hook'] : null, $params);
$backedUpVariables = array();
foreach ($scopedVariables as $key => $value) {
if (array_key_exists($key, $currentVariables)) {
$backedUpVariables[$key] = $currentVariables[$key];
}
$smarty->assign($key, $value);
}
$backedUpVariablesStack[] = $backedUpVariables;
});
// We don't display anything since the template is not rendered yet.
return '';
} else {
// Function gets called for the closing tag of the block.
// We restore the backed up variables in order not to override
// template variables.
if (!empty($backedUpVariablesStack)) {
$backedUpVariables = array_pop($backedUpVariablesStack);
foreach ($backedUpVariables as $key => $value) {
$smarty->assign($key, $value);
}
}
// This time content is filled with rendered template, so return it.
return $content;
}
}
function smartyTranslate($params, $smarty)
{
global $_LANG;
if (!isset($params['js'])) {
$params['js'] = false;
}
if (!isset($params['pdf'])) {
$params['pdf'] = false;
}
if (!isset($params['mod'])) {
$params['mod'] = false;
}
if (!isset($params['sprintf'])) {
$params['sprintf'] = array();
}
if (!isset($params['d'])) {
$params['d'] = null;
}
if (null !== $params['d']) {
if (isset($params['tags'])) {
$backTrace = debug_backtrace();
$errorMessage = sprintf(
'Unable to translate "%s" in %s. tags() is not supported anymore, please use sprintf().',
$params['s'],
$backTrace[0]['args'][1]->template_resource
);
if (_PS_MODE_DEV_) {
throw new Exception($errorMessage);
} else {
PrestaShopLogger::addLog($errorMessage);
}
}
if (!is_array($params['sprintf'])) {
$backTrace = debug_backtrace();
$errorMessage = sprintf(
'Unable to translate "%s" in %s. sprintf() parameter should be an array.',
$params['s'],
$backTrace[0]['args'][1]->template_resource
);
if (_PS_MODE_DEV_) {
throw new Exception($errorMessage);
} else {
PrestaShopLogger::addLog($errorMessage);
return $params['s'];
}
}
}
if (($translation = Context::getContext()->getTranslator()->trans($params['s'], $params['sprintf'], $params['d'])) !== $params['s']
&& $params['mod'] === false) {
return $translation;
}
$string = str_replace('\'', '\\\'', $params['s']);
$basename = basename($smarty->source->name, '.tpl');
$key = $basename.'_'.md5($string);
if (isset($smarty->source) && (strpos($smarty->source->filepath, DIRECTORY_SEPARATOR.'override'.DIRECTORY_SEPARATOR) !== false)) {
$key = 'override_'.$key;
}
if ($params['mod']) {
return Translate::smartyPostProcessTranslation(
Translate::getModuleTranslation(
$params['mod'],
$params['s'],
$basename,
$params['sprintf'],
$params['js']
),
$params
);
} elseif ($params['pdf']) {
return Translate::smartyPostProcessTranslation(
Translate::getPdfTranslation(
$params['s'],
$params['sprintf']
),
$params
);
}
if ($_LANG != null && isset($_LANG[$key])) {
$msg = $_LANG[$key];
} elseif ($_LANG != null && isset($_LANG[Tools::strtolower($key)])) {
$msg = $_LANG[Tools::strtolower($key)];
} else {
$msg = $params['s'];
}
if ($msg != $params['s'] && !$params['js']) {
$msg = stripslashes($msg);
} elseif ($params['js']) {
$msg = addslashes($msg);
}
if ($params['sprintf'] !== null) {
$msg = Translate::checkAndReplaceArgs($msg, $params['sprintf']);
}
return Translate::smartyPostProcessTranslation($params['js'] ? $msg : Tools::safeOutput($msg), $params);
}

View File

@@ -0,0 +1 @@
{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"]},"hooks":{"modules_to_hook":{"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector","ps_customersignin","ps_shoppingcart"],"displayTop":["ps_mainmenu","ps_searchbar"],"displayHome":["ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"],"displayFooterBefore":["ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"]}},"image_types":{"cart_default":{"width":125,"height":125,"scope":["products"]},"small_default":{"width":98,"height":98,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":452,"height":452,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":250,"height":250,"scope":["products"]},"large_default":{"width":800,"height":800,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":141,"height":180,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]}}},"theme_settings":{"default_layout":"layout-full-width","layouts":{"category":"layout-left-column","best-sales":"layout-left-column","new-products":"layout-left-column","prices-drop":"layout-left-column","contact":"layout-left-column"}},"directory":"\/Volumes\/Dev\/Sources\/Clients\/taome\/Nouveau_site\/www\/themes\/classic\/","preview":"themes\/classic\/preview.png"}

10
config/xml/.htaccess Executable file
View File

@@ -0,0 +1,10 @@
# Apache 2.2
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
# Apache 2.4
<IfModule mod_authz_core.c>
Require all denied
</IfModule>

89
config/xml/blog-fr.xml Normal file
View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://www.prestashop.com/fr/blog/feed.xml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:og="http://ogp.me/ns#" xmlns:article="http://ogp.me/ns/article#" xmlns:book="http://ogp.me/ns/book#" xmlns:profile="http://ogp.me/ns/profile#" xmlns:video="http://ogp.me/ns/video#" xmlns:product="http://ogp.me/ns/product#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<channel>
<title>Blog Feed</title>
<link>https://www.prestashop.com/fr/blog/feed.xml</link>
<description></description>
<language>fr</language>
<atom:link href="https://www.prestashop.com/fr/blog/feed.xml" rel="self" type="application/rss+xml" />
<item>
<title>Livraison le jour même : la nouvelle norme de l&amp;#039;e-commerce ?</title>
<link>https://www.prestashop.com/fr/blog/livraison-jour-meme</link>
<description>L&#039;industrie du e-commerce a de beaux jours devant elle. Ce mode de consommation à la croissance continue est devenu une habitude pour beaucoup de consommateurs.</description>
<pubDate>Mon, 05 Oct 2020 17:03:17 +0200</pubDate>
<dc:creator>Mickaël Benamran</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/livraison-jour-meme</guid>
</item>
<item>
<title>Les paiements de A à Z Chapitre 1 : optimisez lexpérience dachat</title>
<link>https://www.prestashop.com/fr/blog/paiements-experience-achat</link>
<description>Un des enjeux majeurs du secteur de le-commerce réside dans le paiement en ligne.</description>
<pubDate>Fri, 02 Oct 2020 16:26:05 +0200</pubDate>
<dc:creator>Lucie Gimon FR</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/paiements-experience-achat</guid>
</item>
<item>
<title>L&amp;#039;importance de la traduction dans l&amp;#039;internationalisation de votre e-commerce</title>
<link>https://www.prestashop.com/fr/blog/traduction-internationalisation-e-commerce</link>
<description>L&#039;expansion internationale est un facteur particulièrement important pour la croissance des ventes de votre boutique en ligne.</description>
<pubDate>Mon, 28 Sep 2020 16:23:16 +0200</pubDate>
<dc:creator>Sara Lázaro FR</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/traduction-internationalisation-e-commerce</guid>
</item>
<item>
<title>Une migration vers PrestaShop réussie pour Dream Extension</title>
<link>https://www.prestashop.com/fr/blog/migration-oxatis-prestashop-dream-extensions</link>
<description>Migrer son site e-commerce est une décision stratégique qui peut être redoutée par certains marchands. Pourtant, le changement est souvent très bénéfique.</description>
<pubDate>Fri, 25 Sep 2020 12:14:00 +0200</pubDate>
<dc:creator>L&#039;équipe PrestaShop</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/migration-oxatis-prestashop-dream-extensions</guid>
</item>
<item>
<title>Comment analyser la concurrence avant de monter son entreprise ?</title>
<link>https://www.prestashop.com/fr/blog/analyser-concurrence-entreprise</link>
<description>Vous montez votre entreprise de vente en ligne ?</description>
<pubDate>Wed, 23 Sep 2020 11:58:02 +0200</pubDate>
<dc:creator>YATEO</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/analyser-concurrence-entreprise</guid>
</item>
<item>
<title>Comment ajouter du contenu en-dessous des produits sur ses pages catégories PrestaShop ?</title>
<link>https://www.prestashop.com/fr/blog/pages-categories-contenu</link>
<description>Les pages de catégories produits ont une importance capitale en référencement naturel.</description>
<pubDate>Fri, 18 Sep 2020 17:06:35 +0200</pubDate>
<dc:creator>Harmonie Andrieu</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/pages-categories-contenu</guid>
</item>
<item>
<title>Marketplaces : quelles sont les principales difficultés rencontrées par les marchands, et quelles sont les solutions ?</title>
<link>https://www.prestashop.com/fr/blog/marketplaces-marketfire-solutions</link>
<description>À loccasion de la sortie du </description>
<pubDate>Tue, 15 Sep 2020 18:11:18 +0200</pubDate>
<dc:creator>L&#039;équipe PrestaShop</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/marketplaces-marketfire-solutions</guid>
</item>
<item>
<title>Une passerelle de paiement e-commerce, qu&amp;#039;est-ce que c&amp;#039;est ?</title>
<link>https://www.prestashop.com/fr/blog/passerelle-paiement-e-commerce</link>
<description>Pour accepter des paiements via votre site internet, vous avez besoin d&#039;une passerelle de paiement.</description>
<pubDate>Mon, 14 Sep 2020 17:57:16 +0200</pubDate>
<dc:creator>Arina Drucioc FR</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/passerelle-paiement-e-commerce</guid>
</item>
<item>
<title> Prolongez votre relation client après achat</title>
<link>https://www.prestashop.com/fr/blog/relation-client-apres-achat</link>
<description>Développez votre communication post achat en remerciant vos clients et provoquez leur intérêt avec une communication personnalisée et impactante.</description>
<pubDate>Thu, 10 Sep 2020 18:14:39 +0200</pubDate>
<dc:creator>Romain De Vera.</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/relation-client-apres-achat</guid>
</item>
<item>
<title>DSP2 : lauthentification forte obligatoire fin 2020 : soyez prêts !</title>
<link>https://www.prestashop.com/fr/blog/dsp2-obligatoire-2020</link>
<description>Initialement prévue pour le 14 septembre 2019, puis repoussée à mars 2020, la DSP2 fait son retour en f</description>
<pubDate>Wed, 09 Sep 2020 15:44:33 +0200</pubDate>
<dc:creator>L&#039;équipe PrestaShop</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/dsp2-obligatoire-2020</guid>
</item>
</channel>
</rss>

File diff suppressed because one or more lines are too long

35
config/xml/index.php Executable file
View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8"?>
<tab_modules_list>
<tab class_name="AdminProducts" display_type="slider_list">
<module name="prestagiftvouchers" position="1"/>
<module name="dmuassocprodcat" position="2"/>
<module name="etranslation" position="3"/>
<module name="apiway" position="4"/>
<module name="prestashoptoquickbooks" position="5"/>
</tab>
<tab class_name="AdminCategories" display_type="slider_list">
<module name="innovativemenu" position="1"/>
<module name="productsbycategoryslider" position="2"/>
<module name="slidercategory" position="3"/>
<module name="apiway" position="4"/>
</tab>
<tab class_name="AdminTracking" display_type="slider_list">
<module name="apiway" position="1"/>
</tab>
<tab class_name="AdminAttributesGroups" display_type="slider_list">
<module name="apiway" position="1"/>
</tab>
<tab class_name="AdminFeatures" display_type="slider_list">
<module name="pm_multiplefeatures" position="1"/>
</tab>
<tab class_name="AdminManufacturers" display_type="slider_list">
<module name="magnalister" position="1"/>
<module name="prestashoptoquickbooks" position="2"/>
<module name="cdiscount" position="3"/>
<module name="amazon" position="4"/>
<module name="gmerchantcenter" position="5"/>
<module name="leguide" position="6"/>
<module name="productsbybrandslider" position="7"/>
<module name="googleshopping" position="8"/>
</tab>
<tab class_name="AdminSuppliers" display_type="slider_list">
<module name="apiway" position="1"/>
<module name="prestashoptoquickbooks" position="2"/>
</tab>
<tab class_name="AdminTags" display_type="slider_list">
<module name="etranslation" position="1"/>
<module name="bablic" position="2"/>
</tab>
<tab class_name="AdminOrders" display_type="slider_list">
<module name="magnalister" position="1"/>
<module name="magnalister" position="2"/>
<module name="cdiscount" position="3"/>
<module name="cartsguru" position="4"/>
<module name="prestashoptoquickbooks" position="5"/>
<module name="smartsupp" position="6"/>
<module name="zendesk" position="7"/>
<module name="googleshopping" position="8"/>
<module name="orlique" position="9"/>
<module name="printlabels" position="10"/>
<module name="pushoncart" position="11"/>
<module name="prestafraud" position="12"/>
<module name="stampsdotcom" position="13"/>
</tab>
<tab class_name="AdminInvoices" display_type="slider_list">
<module name="prestashoptoquickbooks" position="1"/>
<module name="neotaxesupdater" position="2"/>
<module name="ordertaxprofitreport" position="3"/>
<module name="stampsdotcom" position="4"/>
<module name="apiway" position="5"/>
</tab>
<tab class_name="AdminReturn" display_type="slider_list">
<module name="apiway" position="1"/>
</tab>
<tab class_name="AdminDeliverySlip" display_type="slider_list">
<module name="bpostshm" position="1"/>
<module name="socolissimo" position="2"/>
<module name="seur" position="3"/>
<module name="correos" position="4"/>
<module name="imaxgls" position="5"/>
<module name="wing" position="6"/>
<module name="expeditor" position="7"/>
<module name="mondialrelay" position="8"/>
<module name="tntcarrier" position="9"/>
<module name="packlink" position="10"/>
<module name="boxtalconnect" position="11"/>
<module name="chronopost" position="12"/>
<module name="lanavettepickup" position="13"/>
<module name="lowcostexpress" position="14"/>
<module name="dpdfrance" position="15"/>
<module name="lecabflash" position="16"/>
<module name="cubyn" position="17"/>
<module name="emtshipping" position="18"/>
<module name="purolator" position="19"/>
<module name="upstracking" position="20"/>
<module name="stampsdotcom" position="21"/>
<module name="apiway" position="22"/>
<module name="upela" position="23"/>
</tab>
<tab class_name="AdminSlip" display_type="slider_list">
<module name="prestashoptoquickbooks" position="1"/>
<module name="lgabonos" position="2"/>
<module name="dmulistecommandes" position="3"/>
</tab>
<tab class_name="AdminStatuses" display_type="slider_list">
<module name="bpostshm" position="1"/>
<module name="socolissimo" position="2"/>
<module name="seur" position="3"/>
<module name="correos" position="4"/>
<module name="imaxgls" position="5"/>
<module name="wing" position="6"/>
<module name="expeditor" position="7"/>
<module name="mondialrelay" position="8"/>
<module name="tntcarrier" position="9"/>
<module name="packlink" position="10"/>
<module name="envoimoinscher" position="11"/>
<module name="lanavettepickup" position="12"/>
<module name="chronopost" position="13"/>
<module name="lowcostexpress" position="14"/>
<module name="dpdfrance" position="15"/>
<module name="lecabflash" position="16"/>
<module name="emtshipping" position="17"/>
<module name="purolator" position="18"/>
<module name="upstracking" position="19"/>
<module name="apiway" position="20"/>
<module name="upela" position="21"/>
</tab>
<tab class_name="AdminOrderMessage" display_type="slider_list">
<module name="etranslation" position="1"/>
<module name="bablic" position="2"/>
<module name="apiway" position="3"/>
<module name="zendesk" position="4"/>
</tab>
<tab class_name="AdminCustomers" display_type="slider_list">
<module name="trustedshopsintegration" position="1"/>
<module name="steavisgarantis" position="2"/>
<module name="allinone_rewards" position="3"/>
<module name="allexport" position="4"/>
<module name="zendesk" position="5"/>
</tab>
<tab class_name="AdminAddresses" display_type="slider_list">
<module name="stampsdotcom" position="1"/>
</tab>
<tab class_name="AdminGroups" display_type="slider_list">
<module name="siret_customer_group" position="1"/>
<module name="groupinc" position="2"/>
<module name="jcaccountgroup" position="3"/>
<module name="apiway" position="4"/>
<module name="zendesk" position="5"/>
</tab>
<tab class_name="AdminCarts" display_type="slider_list">
<module name="cartsguru" position="1"/>
<module name="followup" position="2"/>
<module name="ps_followup" position="3"/>
<module name="cartabandonmentpro" position="4"/>
</tab>
<tab class_name="AdminCustomerThreads" display_type="slider_list">
<module name="sendinblue" position="1"/>
<module name="digitaleo" position="2"/>
<module name="triggmine" position="3"/>
<module name="skebby" position="4"/>
<module name="expressmailing" position="5"/>
<module name="salesmanago" position="6"/>
<module name="fianetsceau" position="7"/>
<module name="veplatform" position="8"/>
<module name="smartsupp" position="9"/>
<module name="onehopsmsservice" position="10"/>
<module name="zendesk" position="11"/>
</tab>
<tab class_name="AdminContacts" display_type="slider_list">
<module name="sendinblue" position="1"/>
<module name="digitaleo" position="2"/>
<module name="triggmine" position="3"/>
<module name="skebby" position="4"/>
<module name="expressmailing" position="5"/>
<module name="salesmanago" position="6"/>
<module name="iadvize" position="7"/>
<module name="webcallback" position="8"/>
<module name="smartsupp" position="9"/>
<module name="veplatform" position="10"/>
<module name="onehopsmsservice" position="11"/>
<module name="zendesk" position="12"/>
</tab>
<tab class_name="AdminCartRules" display_type="slider_list">
<module name="nostotagging" position="1"/>
<module name="adroll" position="2"/>
<module name="miwo" position="3"/>
<module name="salesmanago" position="4"/>
<module name="pushoncart" position="5"/>
<module name="cartsguru" position="6"/>
<module name="rees46" position="7"/>
<module name="cartabandonmentpro" position="8"/>
<module name="smartsupp" position="9"/>
<module name="apiway" position="10"/>
<module name="prestashoptoquickbooks" position="11"/>
</tab>
<tab class_name="AdminSpecificPriceRule" display_type="slider_list">
<module name="sisucheckout" position="1"/>
<module name="pushoncart" position="2"/>
<module name="vente_flash" position="3"/>
<module name="privatesale" position="4"/>
<module name="prestashoptoquickbooks" position="5"/>
</tab>
<tab class_name="AdminMarketing" display_type="default_list">
<module name="emarketing" position="1"/>
<module name="criteoads" position="2"/>
<module name="touchize" position="3"/>
<module name="jmango360_api" position="4"/>
<module name="mailchimppro" position="5"/>
<module name="cdiscount" position="6"/>
<module name="cleverppc" position="7"/>
<module name="sendinblue" position="8"/>
<module name="ns8csp" position="9"/>
<module name="gamify" position="10"/>
<module name="cartsguru" position="11"/>
<module name="cappasity3d" position="12"/>
<module name="gadwords" position="13"/>
<module name="cartsguru" position="14"/>
<module name="magnalister" position="15"/>
<module name="innovativemenu" position="16"/>
<module name="pushoncart" position="17"/>
<module name="prestanotify" position="18"/>
<module name="pushslide" position="19"/>
<module name="seohelping" position="20"/>
<module name="vente_flash" position="21"/>
<module name="privatesale" position="22"/>
<module name="veplatform" position="23"/>
<module name="referralprogram" position="24"/>
</tab>
<tab class_name="AdminPayment" display_type="default_list">
<module name="ps_checkout" position="1"/>
<module name="mercadopagobr" position="2"/>
<module name="paygol" position="3"/>
<module name="pagofacil17" position="4"/>
<module name="payulatam" position="5"/>
<module name="ewayrapid" position="6"/>
<module name="payplug" position="7"/>
<module name="amzpayments" position="8"/>
<module name="adyenofficial" position="9"/>
<module name="paypal" position="10"/>
<module name="dotpay" position="11"/>
<module name="yourpay" position="12"/>
<module name="sagepay" position="13"/>
<module name="paypalusa" position="14"/>
<module name="simplifycommerce" position="15"/>
<module name="popularpayments" position="16"/>
<module name="nexixpay" position="17"/>
<module name="gestpay" position="18"/>
<module name="satispay" position="19"/>
<module name="easycreditratenkauf" position="20"/>
<module name="fcpayone" position="21"/>
<module name="wirecardceecheckoutseamless" position="22"/>
<module name="klarnaofficial" position="23"/>
<module name="mollie" position="24"/>
<module name="santanderpaymentsolutions" position="25"/>
<module name="paygreen" position="26"/>
<module name="viabill" position="27"/>
<module name="hipay" position="28"/>
<module name="ogone" position="29"/>
<module name="realexredirect" position="30"/>
<module name="stripe_official" position="31"/>
<module name="skrill" position="32"/>
<module name="coingate" position="33"/>
<module name="authorizeaim" position="34"/>
<module name="comnpay" position="35"/>
<module name="ccbill" position="36"/>
<module name="cmcicpaiement" position="37"/>
<module name="atos" position="38"/>
<module name="chequeasy" position="39"/>
<module name="g2apay" position="40"/>
<module name="firstdata" position="41"/>
<module name="secureframe" position="42"/>
<module name="simplifycommerce" position="43"/>
<module name="ingenico" position="44"/>
<module name="chargeback" position="45"/>
<module name="cmcicpaiement" position="46"/>
<module name="paybox" position="47"/>
<module name="redsys" position="48"/>
<module name="qiwi" position="49"/>
<module name="cashondelivery" position="50"/>
<module name="ps_cashondelivery" position="51"/>
<module name="bankwire" position="52"/>
<module name="cheque" position="53"/>
<module name="ps_wirepayment" position="54"/>
<module name="ps_checkpayment" position="55"/>
</tab>
<tab class_name="AdminCarriers" display_type="slider_list">
<module name="glsitaly" position="1"/>
<module name="dhlshipping" position="2"/>
<module name="dhlexpress" position="3"/>
<module name="prestashippingeasy" position="4"/>
<module name="correos" position="5"/>
<module name="correosexpress" position="6"/>
<module name="colissimo" position="7"/>
<module name="dpdfrance" position="8"/>
<module name="chronopost" position="9"/>
<module name="relaiscolis" position="10"/>
<module name="boxtalconnect" position="11"/>
<module name="genei" position="12"/>
<module name="sendcloud" position="13"/>
<module name="hermesc" position="14"/>
<module name="bpostshm" position="15"/>
<module name="apaczkashipping" position="16"/>
<module name="tntcarrier" position="17"/>
<module name="geodisfranceexpress" position="18"/>
<module name="cubyn" position="19"/>
<module name="printlabels" position="20"/>
<module name="expeditor" position="21"/>
<module name="orderpreparation" position="22"/>
<module name="upstracking" position="23"/>
<module name="dateofdelivery" position="24"/>
<module name="carriercompare" position="25"/>
<module name="ps_carriercompare" position="26"/>
</tab>
<tab class_name="AdminShipping" display_type="slider_list">
<module name="glsitaly" position="1"/>
<module name="dhlshipping" position="2"/>
<module name="dhlexpress" position="3"/>
<module name="prestashippingeasy" position="4"/>
<module name="correos" position="5"/>
<module name="correosexpress" position="6"/>
<module name="colissimo" position="7"/>
<module name="dpdfrance" position="8"/>
<module name="chronopost" position="9"/>
<module name="relaiscolis" position="10"/>
<module name="boxtalconnect" position="11"/>
<module name="genei" position="12"/>
<module name="sendcloud" position="13"/>
<module name="hermesc" position="14"/>
<module name="bpostshm" position="15"/>
<module name="apaczkashipping" position="16"/>
<module name="tntcarrier" position="17"/>
<module name="geodisfranceexpress" position="18"/>
<module name="cubyn" position="19"/>
<module name="printlabels" position="20"/>
<module name="expeditor" position="21"/>
<module name="orderpreparation" position="22"/>
<module name="upstracking" position="23"/>
<module name="dateofdelivery" position="24"/>
<module name="carriercompare" position="25"/>
<module name="ps_carriercompare" position="26"/>
</tab>
<tab class_name="AdminLocalization" display_type="slider_list">
<module name="etranslation" position="1"/>
</tab>
<tab class_name="AdminZones" display_type="slider_list">
<module name="etranslation" position="1"/>
<module name="bablic" position="2"/>
<module name="zendesk" position="3"/>
</tab>
<tab class_name="AdminCountries" display_type="slider_list">
<module name="etranslation" position="1"/>
<module name="bablic" position="2"/>
</tab>
<tab class_name="AdminCurrencies" display_type="slider_list">
<module name="prestashoptoquickbooks" position="1"/>
</tab>
<tab class_name="AdminTaxes" display_type="slider_list">
<module name="vatnumber" position="1"/>
<module name="prestashoptoquickbooks" position="2"/>
</tab>
<tab class_name="AdminTaxRulesGroup" display_type="slider_list">
<module name="vatnumber" position="1"/>
<module name="banipmod" position="2"/>
<module name="prestashoptoquickbooks" position="3"/>
</tab>
<tab class_name="AdminTranslations" display_type="slider_list">
<module name="etranslation" position="1"/>
</tab>
<tab class_name="AdminPreferences" display_type="slider_list">
<module name="mailalerts" position="1"/>
<module name="feeder" position="2"/>
<module name="ps_feeder" position="3"/>
</tab>
<tab class_name="AdminOrderPreferences" display_type="slider_list">
<module name="mailalerts" position="1"/>
<module name="apiway" position="2"/>
</tab>
<tab class_name="AdminPPreferences" display_type="slider_list">
<module name="mailalerts" position="1"/>
<module name="feeder" position="2"/>
<module name="ps_feeder" position="3"/>
</tab>
<tab class_name="AdminCustomerPreferences" display_type="slider_list">
<module name="fianetsceau" position="1"/>
<module name="zendesk" position="2"/>
</tab>
<tab class_name="AdminThemes" display_type="slider_list">
<module name="easywebtoapp" position="1"/>
</tab>
<tab class_name="AdminMeta" display_type="slider_list">
<module name="gadwords" position="1"/>
<module name="seohelping" position="2"/>
<module name="ganalytics" position="3"/>
<module name="pm_seointernallinking" position="4"/>
<module name="ec_seo404" position="5"/>
<module name="gmerchantcenter" position="6"/>
<module name="gsitemap" position="7"/>
<module name="etranslation" position="8"/>
<module name="bablic" position="9"/>
</tab>
<tab class_name="AdminCmsContent" display_type="slider_list">
<module name="wic_pushproductcms" position="1"/>
<module name="protectedshops" position="2"/>
<module name="trustedshops" position="3"/>
<module name="trustedshopsintegration" position="4"/>
<module name="ebadgeletitbuy" position="5"/>
<module name="etranslation" position="6"/>
<module name="bablic" position="7"/>
</tab>
<tab class_name="AdminImages" display_type="slider_list">
<module name="cappasity3d" position="1"/>
<module name="productlabel" position="2"/>
</tab>
<tab class_name="AdminSearchConf" display_type="slider_list">
<module name="pm_advancedsearch4" position="1"/>
</tab>
<tab class_name="AdminGeolocation" display_type="slider_list">
</tab>
<tab class_name="AdminInformation" display_type="slider_list">
<module name="a2hosting" position="1"/>
<module name="oneandonehosting" position="2"/>
</tab>
<tab class_name="AdminPerformance" display_type="slider_list">
<module name="a2hosting" position="1"/>
<module name="oneandonehosting" position="2"/>
<module name="ns8csp" position="3"/>
<module name="jmango360_api" position="4"/>
</tab>
<tab class_name="AdminEmails" display_type="slider_list">
<module name="sendinblue" position="1"/>
<module name="digitaleo" position="2"/>
<module name="triggmine" position="3"/>
<module name="newsletter" position="4"/>
<module name="mynewsletter" position="5"/>
<module name="mailchimp" position="6"/>
<module name="mailchimpintegration" position="7"/>
<module name="salesmanago" position="8"/>
<module name="etranslation" position="9"/>
<module name="bablic" position="10"/>
<module name="smartsupp" position="11"/>
<module name="onehopsmsservice" position="12"/>
<module name="ps_emailalerts" position="13"/>
</tab>
<tab class_name="AdminImport" display_type="slider_list">
</tab>
<tab class_name="AdminBackup" display_type="slider_list">
<module name="a2hosting" position="1"/>
<module name="oneandonehosting" position="2"/>
</tab>
<tab class_name="AdminRequestSql" display_type="slider_list">
<module name="a2hosting" position="1"/>
<module name="oneandonehosting" position="2"/>
</tab>
<tab class_name="AdminLogs" display_type="slider_list">
<module name="a2hosting" position="1"/>
<module name="oneandonehosting" position="2"/>
</tab>
<tab class_name="AdminAdminPreferences" display_type="slider_list">
<module name="cgvhaas" position="1"/>
<module name="pm_cachemanager" position="2"/>
<module name="lgcookieslaw" position="3"/>
</tab>
<tab class_name="AdminStats" display_type="slider_list">
<module name="ganalytics" position="1"/>
<module name="criteoads" position="2"/>
<module name="statsbestmanufacturers" position="3"/>
<module name="ordertaxprofitreport" position="4"/>
<module name="dmurealtimestats" position="5"/>
</tab>
<tab class_name="AdminSearchEngines" display_type="slider_list">
<module name="gadwords" position="1"/>
<module name="adeptsearch" position="2"/>
<module name="doofinder" position="3"/>
</tab>
<tab class_name="AdminReferrers" display_type="slider_list">
<module name="trackingfront" position="1"/>
<module name="gadwords" position="2"/>
</tab>
</tab_modules_list>

View File

@@ -0,0 +1,327 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright Prestashop -->
<theme version="1.0" name="default-bootstrap" directory="default-bootstrap">
<author name="PrestaShop" email="contact@prestashop.com" url="http://www.prestashop.com"/>
<descriptions>
<description iso="en"></description>
</descriptions>
<variations>
<variation name="default-bootstrap" directory="default-bootstrap" responsive="1" default_left_column="1"
default_right_column="0" product_per_page="12" from="1.6.0.5" to="1.6.0.5"/>
</variations>
<docs>
<doc name="documentation" path="doc/"/>
</docs>
<metas>
<meta meta_page="404" left="0" right="0"/>
<meta meta_page="best-sales" left="1" right="0"/>
<meta meta_page="contact" left="0" right="0"/>
<meta meta_page="index" left="0" right="0"/>
<meta meta_page="manufacturer" left="1" right="0"/>
<meta meta_page="new-products" left="1" right="0"/>
<meta meta_page="password" left="0" right="0"/>
<meta meta_page="prices-drop" left="1" right="0"/>
<meta meta_page="sitemap" left="1" right="0"/>
<meta meta_page="supplier" left="0" right="0"/>
<meta meta_page="address" left="0" right="0"/>
<meta meta_page="addresses" left="0" right="0"/>
<meta meta_page="authentication" left="0" right="0"/>
<meta meta_page="cart" left="0" right="0"/>
<meta meta_page="discount" left="0" right="0"/>
<meta meta_page="history" left="0" right="0"/>
<meta meta_page="identity" left="0" right="0"/>
<meta meta_page="my-account" left="0" right="0"/>
<meta meta_page="order-follow" left="0" right="0"/>
<meta meta_page="order-slip" left="0" right="0"/>
<meta meta_page="order" left="0" right="0"/>
<meta meta_page="search" left="1" right="0"/>
<meta meta_page="stores" left="0" right="0"/>
<meta meta_page="order-opc" left="0" right="0"/>
<meta meta_page="guest-tracking" left="0" right="0"/>
<meta meta_page="order-confirmation" left="0" right="0"/>
<meta meta_page="product" left="0" right="0"/>
<meta meta_page="category" left="1" right="0"/>
<meta meta_page="cms" left="0" right="0"/>
<meta meta_page="module-cheque-payment" left="0" right="0"/>
<meta meta_page="module-cheque-validation" left="0" right="0"/>
<meta meta_page="module-bankwire-validation" left="0" right="0"/>
<meta meta_page="module-bankwire-payment" left="0" right="0"/>
<meta meta_page="module-cashondelivery-validation" left="0" right="0"/>
</metas>
<modules>
<module action="enable" name="socialsharing"/>
<module action="enable" name="blockbanner"/>
<module action="enable" name="blockbestsellers"/>
<module action="enable" name="blockcart"/>
<module action="enable" name="blocksocial"/>
<module action="enable" name="blockcategories"/>
<module action="enable" name="blockcurrencies"/>
<module action="enable" name="blockfacebook"/>
<module action="enable" name="blocklanguages"/>
<module action="enable" name="blocklayered"/>
<module action="enable" name="blockcms"/>
<module action="enable" name="blockcmsinfo"/>
<module action="enable" name="blockcontact"/>
<module action="enable" name="blockcontactinfos"/>
<module action="enable" name="blockmanufacturer"/>
<module action="enable" name="blockmyaccount"/>
<module action="enable" name="blockmyaccountfooter"/>
<module action="enable" name="blocknewproducts"/>
<module action="enable" name="blocknewsletter"/>
<module action="enable" name="blockpaymentlogo"/>
<module action="enable" name="blocksearch"/>
<module action="enable" name="blockspecials"/>
<module action="enable" name="blockstore"/>
<module action="enable" name="blocksupplier"/>
<module action="enable" name="blocktags"/>
<module action="enable" name="blocktopmenu"/>
<module action="enable" name="blockuserinfo"/>
<module action="enable" name="blockviewed"/>
<module action="enable" name="dashactivity"/>
<module action="enable" name="dashtrends"/>
<module action="enable" name="dashgoals"/>
<module action="enable" name="dashproducts"/>
<module action="enable" name="homeslider"/>
<module action="enable" name="homefeatured"/>
<module action="enable" name="productpaymentlogos"/>
<module action="enable" name="statsdata"/>
<module action="enable" name="themeconfigurator"/>
<module action="enable" name="blockwishlist"/>
<module action="enable" name="productcomments"/>
<module action="enable" name="sendtoafriend"/>
<module action="disable" name="autoupgrade"/>
<module action="disable" name="blockadvertising"/>
<module action="disable" name="blockcustomerprivacy"/>
<module action="disable" name="blocklink"/>
<module action="disable" name="blockpermanentlinks"/>
<module action="disable" name="blockreinsurance"/>
<module action="disable" name="blockrss"/>
<module action="disable" name="blocksharefb"/>
<module action="disable" name="crossselling"/>
<module action="disable" name="editorial"/>
<module action="disable" name="favoriteproducts"/>
<module action="disable" name="ganalytics"/>
<module action="disable" name="gsitemap"/>
<module action="disable" name="mailalerts"/>
<module action="disable" name="newsletter"/>
<module action="disable" name="productscategory"/>
<module action="disable" name="producttooltip"/>
<module action="disable" name="trackingfront"/>
<module action="disable" name="vatnumber"/>
<module action="disable" name="addshoppers"/>
<hooks>
<hook module="socialsharing" hook="displayHeader" position="1"/>
<hook module="socialsharing" hook="displayRightColumnProduct" position="1"/>
<hook module="socialsharing" hook="actionObjectProductUpdateAfter" position="1"/>
<hook module="socialsharing" hook="actionObjectProductDeleteAfter" position="1"/>
<hook module="blockbanner" hook="displayHeader" position="2"/>
<hook module="blockbanner" hook="displayBanner" position="1"/>
<hook module="blockbanner" hook="actionObjectLanguageAddAfter" position="1"/>
<hook module="blockbestsellers" hook="displayLeftColumn" position="1" exceptions="category"/>
<hook module="blockbestsellers" hook="displayHeader" position="3"/>
<hook module="blockbestsellers" hook="actionProductAdd" position="1"/>
<hook module="blockbestsellers" hook="actionProductUpdate" position="1"/>
<hook module="blockbestsellers" hook="actionProductDelete" position="1"/>
<hook module="blockbestsellers" hook="actionOrderStatusPostUpdate" position="1"/>
<hook module="blockbestsellers" hook="displayHomeTab" position="3"/>
<hook module="blockbestsellers" hook="displayHomeTabContent" position="3"/>
<hook module="blockcart" hook="displayHeader" position="4"/>
<hook module="blockcart" hook="displayTop" position="2"/>
<hook module="blockcart" hook="actionCartListOverride" position="1"/>
<hook module="blocksocial" hook="displayHeader" position="5"/>
<hook module="blocksocial" hook="displayFooter" position="2"/>
<hook module="blockcategories" hook="displayLeftColumn" position="2"/>
<hook module="blockcategories" hook="displayHeader" position="6"/>
<hook module="blockcategories" hook="displayFooter" position="3"/>
<hook module="blockcategories" hook="actionCategoryAdd" position="1"/>
<hook module="blockcategories" hook="actionCategoryUpdate" position="1"/>
<hook module="blockcategories" hook="actionCategoryDelete" position="1"/>
<hook module="blockcategories" hook="displayBackOfficeCategory" position="1"/>
<hook module="blockcategories" hook="actionAdminMetaControllerUpdate_optionsBefore" position="1"/>
<hook module="blockcategories" hook="actionAdminLanguagesControllerStatusBefore" position="1"/>
<hook module="blockcurrencies" hook="displayHeader" position="7"/>
<hook module="blockcurrencies" hook="displayNav" position="2"/>
<hook module="blockfacebook" hook="displayHome" position="2"/>
<hook module="blockfacebook" hook="displayHeader" position="8"/>
<hook module="blocklanguages" hook="displayHeader" position="9"/>
<hook module="blocklanguages" hook="displayNav" position="3"/>
<hook module="blocklayered" hook="displayLeftColumn" position="3"/>
<hook module="blocklayered" hook="displayHeader" position="10"/>
<hook module="blocklayered" hook="actionCategoryAdd" position="2"/>
<hook module="blocklayered" hook="actionCategoryUpdate" position="2"/>
<hook module="blocklayered" hook="actionCategoryDelete" position="2"/>
<hook module="blocklayered" hook="displayAttributeGroupForm" position="1"/>
<hook module="blocklayered" hook="actionAttributeGroupSave" position="1"/>
<hook module="blocklayered" hook="actionAttributeGroupDelete" position="1"/>
<hook module="blocklayered" hook="displayFeatureForm" position="1"/>
<hook module="blocklayered" hook="actionFeatureSave" position="1"/>
<hook module="blocklayered" hook="actionFeatureDelete" position="1"/>
<hook module="blocklayered" hook="actionProductSave" position="1"/>
<hook module="blocklayered" hook="actionProductListOverride" position="1"/>
<hook module="blocklayered" hook="displayAttributeGroupPostProcess" position="1"/>
<hook module="blocklayered" hook="displayFeaturePostProcess" position="1"/>
<hook module="blocklayered" hook="displayFeatureValueForm" position="1"/>
<hook module="blocklayered" hook="displayFeatureValuePostProcess" position="1"/>
<hook module="blocklayered" hook="actionFeatureValueDelete" position="1"/>
<hook module="blocklayered" hook="actionFeatureValueSave" position="1"/>
<hook module="blocklayered" hook="displayAttributeForm" position="1"/>
<hook module="blocklayered" hook="actionAttributePostProcess" position="1"/>
<hook module="blocklayered" hook="actionAttributeDelete" position="1"/>
<hook module="blocklayered" hook="actionAttributeSave" position="1"/>
<hook module="blockcms" hook="displayLeftColumn" position="4"/>
<hook module="blockcms" hook="displayHeader" position="11"/>
<hook module="blockcms" hook="displayFooter" position="4"/>
<hook module="blockcms" hook="actionObjectCmsUpdateAfter" position="1"/>
<hook module="blockcms" hook="actionObjectCmsDeleteAfter" position="1"/>
<hook module="blockcms" hook="actionShopDataDuplication" position="1"/>
<hook module="blockcms" hook="actionAdminStoresControllerUpdate_optionsAfter" position="1"/>
<hook module="blockcmsinfo" hook="displayHome" position="3"/>
<hook module="blockcontact" hook="displayHeader" position="12"/>
<hook module="blockcontact" hook="displayNav" position="4"/>
<hook module="blockcontactinfos" hook="displayHeader" position="13"/>
<hook module="blockcontactinfos" hook="displayFooter" position="6"/>
<hook module="blockmanufacturer" hook="displayLeftColumn" position="5" exceptions="category"/>
<hook module="blockmanufacturer" hook="displayHeader" position="14"/>
<hook module="blockmanufacturer" hook="actionObjectManufacturerDeleteAfter" position="1"/>
<hook module="blockmanufacturer" hook="actionObjectManufacturerAddAfter" position="1"/>
<hook module="blockmanufacturer" hook="actionObjectManufacturerUpdateAfter" position="1"/>
<hook module="blockmyaccount" hook="displayLeftColumn" position="6" exceptions="category"/>
<hook module="blockmyaccount" hook="displayHeader" position="15"/>
<hook module="blockmyaccount" hook="actionModuleRegisterHookAfter" position="1"/>
<hook module="blockmyaccount" hook="actionModuleUnRegisterHookAfter" position="1"/>
<hook module="blockmyaccountfooter" hook="displayHeader" position="16"/>
<hook module="blockmyaccountfooter" hook="displayFooter" position="5"/>
<hook module="blockmyaccountfooter" hook="actionModuleRegisterHookAfter" position="2"/>
<hook module="blockmyaccountfooter" hook="actionModuleUnRegisterHookAfter" position="2"/>
<hook module="blocknewproducts" hook="displayLeftColumn" position="7"/>
<hook module="blocknewproducts" hook="displayHeader" position="17"/>
<hook module="blocknewproducts" hook="actionProductAdd" position="2"/>
<hook module="blocknewproducts" hook="actionProductUpdate" position="2"/>
<hook module="blocknewproducts" hook="actionProductDelete" position="2"/>
<hook module="blocknewproducts" hook="displayHomeTab" position="1"/>
<hook module="blocknewproducts" hook="displayHomeTabContent" position="1"/>
<hook module="blocknewsletter" hook="displayHeader" position="18"/>
<hook module="blocknewsletter" hook="displayFooter" position="1"/>
<hook module="blocknewsletter" hook="actionCustomerAccountAdd" position="1"/>
<hook module="blockpaymentlogo" hook="displayLeftColumn" position="8" exceptions="category"/>
<hook module="blockpaymentlogo" hook="displayHeader" position="19"/>
<hook module="blocksearch" hook="displayHeader" position="20"/>
<hook module="blocksearch" hook="displayTop" position="1"/>
<hook module="blocksearch" hook="displayMobileTopSiteMap" position="1"/>
<hook module="blockspecials" hook="displayLeftColumn" position="9"/>
<hook module="blockspecials" hook="displayHeader" position="21"/>
<hook module="blockspecials" hook="actionProductAdd" position="3"/>
<hook module="blockspecials" hook="actionProductUpdate" position="3"/>
<hook module="blockspecials" hook="actionProductDelete" position="3"/>
<hook module="blockstore" hook="displayLeftColumn" position="10"/>
<hook module="blockstore" hook="displayHeader" position="22"/>
<hook module="blocksupplier" hook="displayLeftColumn" position="11" exceptions="category"/>
<hook module="blocksupplier" hook="displayHeader" position="23"/>
<hook module="blocksupplier" hook="actionObjectSupplierDeleteAfter" position="1"/>
<hook module="blocksupplier" hook="actionObjectSupplierAddAfter" position="1"/>
<hook module="blocksupplier" hook="actionObjectSupplierUpdateAfter" position="1"/>
<hook module="blocktags" hook="displayLeftColumn" position="12"/>
<hook module="blocktags" hook="displayHeader" position="24"/>
<hook module="blocktopmenu" hook="displayTop" position="3"/>
<hook module="blocktopmenu" hook="actionCategoryUpdate" position="3"/>
<hook module="blocktopmenu" hook="actionObjectProductUpdateAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectProductDeleteAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectCmsUpdateAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectCmsDeleteAfter" position="2"/>
<hook module="blocktopmenu" hook="actionShopDataDuplication" position="2"/>
<hook module="blocktopmenu" hook="actionObjectManufacturerDeleteAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectManufacturerAddAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectManufacturerUpdateAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectSupplierDeleteAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectSupplierAddAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectSupplierUpdateAfter" position="2"/>
<hook module="blocktopmenu" hook="actionObjectCategoryUpdateAfter" position="1"/>
<hook module="blocktopmenu" hook="actionObjectCategoryDeleteAfter" position="1"/>
<hook module="blocktopmenu" hook="actionObjectCategoryAddAfter" position="1"/>
<hook module="blocktopmenu" hook="actionObjectCmsAddAfter" position="1"/>
<hook module="blocktopmenu" hook="actionObjectProductAddAfter" position="1"/>
<hook module="blocktopmenu" hook="displayHeader" position="34"/>
<hook module="blockuserinfo" hook="displayHeader" position="25"/>
<hook module="blockuserinfo" hook="displayTop" position="4"/>
<hook module="blockuserinfo" hook="displayNav" position="1"/>
<hook module="blockviewed" hook="displayLeftColumn" position="13"/>
<hook module="blockviewed" hook="displayHeader" position="26"/>
<hook module="dashactivity" hook="dashboardZoneOne" position="1"/>
<hook module="dashactivity" hook="dashboardData" position="1"/>
<hook module="dashactivity" hook="actionObjectOrderAddAfter" position="1"/>
<hook module="dashactivity" hook="actionObjectCustomerAddAfter" position="1"/>
<hook module="dashactivity" hook="actionObjectCustomerMessageAddAfter" position="1"/>
<hook module="dashactivity" hook="actionObjectCustomerThreadAddAfter" position="1"/>
<hook module="dashactivity" hook="actionObjectOrderReturnAddAfter" position="1"/>
<hook module="dashactivity" hook="actionAdminControllerSetMedia" position="1"/>
<hook module="dashtrends" hook="actionOrderStatusPostUpdate" position="2"/>
<hook module="dashtrends" hook="dashboardData" position="2"/>
<hook module="dashtrends" hook="actionAdminControllerSetMedia" position="2"/>
<hook module="dashtrends" hook="dashboardZoneTwo" position="1"/>
<hook module="dashgoals" hook="dashboardData" position="3"/>
<hook module="dashgoals" hook="actionAdminControllerSetMedia" position="3"/>
<hook module="dashgoals" hook="dashboardZoneTwo" position="2"/>
<hook module="dashproducts" hook="actionSearch" position="1"/>
<hook module="dashproducts" hook="dashboardData" position="4"/>
<hook module="dashproducts" hook="actionObjectOrderAddAfter" position="2"/>
<hook module="dashproducts" hook="dashboardZoneTwo" position="3"/>
<hook module="homeslider" hook="displayHeader" position="27"/>
<hook module="homeslider" hook="displayTopColumn" position="1"/>
<hook module="homeslider" hook="actionShopDataDuplication" position="3"/>
<hook module="homefeatured" hook="displayHeader" position="28"/>
<hook module="homefeatured" hook="actionProductAdd" position="4"/>
<hook module="homefeatured" hook="actionProductUpdate" position="4"/>
<hook module="homefeatured" hook="actionProductDelete" position="4"/>
<hook module="homefeatured" hook="actionCategoryUpdate" position="4"/>
<hook module="homefeatured" hook="displayHomeTab" position="2"/>
<hook module="homefeatured" hook="displayHomeTabContent" position="2"/>
<hook module="productpaymentlogos" hook="displayHeader" position="29"/>
<hook module="productpaymentlogos" hook="displayProductButtons" position="2"/>
<hook module="statsdata" hook="actionAuthentication" position="1"/>
<hook module="statsdata" hook="displayFooter" position="7"/>
<hook module="statsdata" hook="actionCustomerAccountAdd" position="2"/>
<hook module="themeconfigurator" hook="displayLeftColumn" position="14"/>
<hook module="themeconfigurator" hook="displayHome" position="1"/>
<hook module="themeconfigurator" hook="displayHeader" position="30"/>
<hook module="themeconfigurator" hook="displayFooter" position="8"/>
<hook module="themeconfigurator" hook="displayBackOfficeHeader" position="1"/>
<hook module="themeconfigurator" hook="displayTopColumn" position="2"/>
<hook module="themeconfigurator" hook="actionObjectLanguageAddAfter" position="2"/>
<hook module="blockwishlist" hook="displayHeader" position="31"/>
<hook module="blockwishlist" hook="actionCartSave" position="1"/>
<hook module="blockwishlist" hook="displayTop" position="7"/>
<hook module="blockwishlist" hook="displayAdminCustomers" position="1"/>
<hook module="blockwishlist" hook="displayCustomerAccount" position="1"/>
<hook module="blockwishlist" hook="displayProductButtons" position="1"/>
<hook module="blockwishlist" hook="displayMyAccountBlock" position="1"/>
<hook module="blockwishlist" hook="displayProductListFunctionalButtons" position="1"/>
<hook module="productcomments" hook="displayHeader" position="32"/>
<hook module="productcomments" hook="displayRightColumnProduct" position="2"/>
<hook module="productcomments" hook="displayProductTab" position="1"/>
<hook module="productcomments" hook="displayProductTabContent" position="1"/>
<hook module="productcomments" hook="displayProductListReviews" position="1"/>
<hook module="sendtoafriend" hook="displayHeader" position="33"/>
<hook module="sendtoafriend" hook="displayLeftColumnProduct" position="1"/>
</hooks>
</modules>
<images>
<image name="cart_default" width="80" height="80" products="true" categories="false" manufacturers="false"
suppliers="false" scenes="false"/>
<image name="small_default" width="98" height="98" products="true" categories="false" manufacturers="true"
suppliers="true" scenes="false"/>
<image name="medium_default" width="125" height="125" products="true" categories="true" manufacturers="true"
suppliers="true" scenes="false"/>
<image name="home_default" width="250" height="250" products="true" categories="false" manufacturers="false"
suppliers="false" scenes="false"/>
<image name="large_default" width="458" height="458" products="true" categories="false" manufacturers="true"
suppliers="true" scenes="false"/>
<image name="thickbox_default" width="800" height="800" products="true" categories="false" manufacturers="false"
suppliers="false" scenes="false"/>
<image name="category_default" width="870" height="217" products="false" categories="true" manufacturers="false"
suppliers="false" scenes="false"/>
<image name="scene_default" width="870" height="270" products="false" categories="false" manufacturers="false"
suppliers="false" scenes="true"/>
<image name="m_scene_default" width="161" height="58" products="false" categories="false" manufacturers="false"
suppliers="false" scenes="true"/>
</images>
</theme>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2019 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;