first commit
This commit is contained in:
10
config/.htaccess
Normal file
10
config/.htaccess
Normal 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
64
config/alias.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
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
32
config/autoload.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
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'));
|
||||
150
config/bootstrap.php
Normal file
150
config/bootstrap.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
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(32));
|
||||
}
|
||||
|
||||
// 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';
|
||||
}
|
||||
293
config/config.inc.php
Normal file
293
config/config.inc.php
Normal file
@@ -0,0 +1,293 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
use PrestaShop\PrestaShop\Core\Session\SessionHandler;
|
||||
|
||||
$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
|
||||
*
|
||||
* @deprecated since 1.7.8.0
|
||||
*/
|
||||
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/Profiler.php';
|
||||
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/Hook.php';
|
||||
include_once _PS_TOOL_DIR_ . 'profiling/Module.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();
|
||||
|
||||
/**
|
||||
* @deprecated since 1.7.7
|
||||
*/
|
||||
define('_PS_PRICE_DISPLAY_PRECISION_', 2);
|
||||
|
||||
/**
|
||||
* @deprecated since 1.7.7
|
||||
*/
|
||||
define('_PS_PRICE_COMPUTE_PRECISION_', 2);
|
||||
|
||||
/* 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);
|
||||
}
|
||||
|
||||
$force_ssl = Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE');
|
||||
if (defined('_PS_ADMIN_DIR_')) {
|
||||
$cookie = new Cookie('psAdmin', '', $cookie_lifetime, null, false, $force_ssl);
|
||||
} else {
|
||||
$domains = null;
|
||||
if ($context->shop->getGroup()->share_order) {
|
||||
$cookie = new Cookie('ps-sg' . $context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart(), false, $force_ssl);
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
if (PHP_SAPI !== 'cli') {
|
||||
$sessionHandler = new SessionHandler(
|
||||
$cookie_lifetime,
|
||||
$force_ssl,
|
||||
Configuration::get('PS_COOKIE_SAMESITE'),
|
||||
Context::getContext()->shop->physical_uri
|
||||
);
|
||||
$sessionHandler->init();
|
||||
|
||||
$context->session = $sessionHandler->getSession();
|
||||
}
|
||||
|
||||
$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->isAssociatedToShop()) {
|
||||
$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'));
|
||||
}
|
||||
34
config/db_slave_server.inc.php
Normal file
34
config/db_slave_server.inc.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
/*
|
||||
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();
|
||||
232
config/defines.inc.php
Normal file
232
config/defines.inc.php
Normal file
@@ -0,0 +1,232 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
/* 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) {
|
||||
$errorReportingLevel = E_ALL | E_STRICT;
|
||||
if (_PS_DISPLAY_COMPATIBILITY_WARNING_ === false) {
|
||||
$errorReportingLevel = $errorReportingLevel & ~E_DEPRECATED & ~E_USER_DEPRECATED;
|
||||
}
|
||||
@ini_set('display_errors', 'on');
|
||||
@error_reporting($errorReportingLevel);
|
||||
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);
|
||||
}
|
||||
if (!defined('_PS_MODE_DEMO_')) {
|
||||
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/');
|
||||
}
|
||||
|
||||
// Find if we are running under a Symfony command
|
||||
$cliEnvValue = null;
|
||||
if (isset($argv) && is_array($argv)) {
|
||||
if (in_array('--env', $argv)) {
|
||||
$cliEnvValue = $argv[array_search('--env', $argv) + 1];
|
||||
} elseif (in_array('-e', $argv)) {
|
||||
$cliEnvValue = $argv[array_search('-e', $argv) + 1];
|
||||
}
|
||||
}
|
||||
|
||||
if ((defined('_PS_IN_TEST_') && _PS_IN_TEST_)
|
||||
|| $cliEnvValue === 'test'
|
||||
) {
|
||||
define('_PS_ENV_', 'test');
|
||||
} else {
|
||||
define('_PS_ENV_', _PS_MODE_DEV_ ? 'dev': 'prod');
|
||||
}
|
||||
|
||||
if (!defined('_PS_CACHE_DIR_')) {
|
||||
define('_PS_CACHE_DIR_', _PS_ROOT_DIR_.'/var/cache/' . _PS_ENV_ . DIRECTORY_SEPARATOR);
|
||||
}
|
||||
|
||||
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_')) {
|
||||
$dir = (defined('_PS_IN_TEST_') && _PS_IN_TEST_) ? '/tests/Resources/download/' : '/download/';
|
||||
define('_PS_DOWNLOAD_DIR_', _PS_ROOT_DIR_.$dir);
|
||||
}
|
||||
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/');
|
||||
|
||||
define('_PS_IMG_SOURCE_DIR_', _PS_ROOT_DIR_.'/img/');
|
||||
if (!defined('_PS_IMG_DIR_')) {
|
||||
$dir = (defined('_PS_IN_TEST_') && _PS_IN_TEST_) ? '/tests/Resources/img/' : '/img/';
|
||||
define('_PS_IMG_DIR_', _PS_ROOT_DIR_.$dir);
|
||||
}
|
||||
|
||||
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_PROFILE_IMG_DIR_', _PS_IMG_DIR_.'pr/');
|
||||
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_', '3.4.1');
|
||||
}
|
||||
|
||||
define('_PS_CACHE_CA_CERT_FILE_', _PS_CACHE_DIR_.'cacert.pem');
|
||||
76
config/defines_uri.inc.php
Normal file
76
config/defines_uri.inc.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
/* 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_EMPLOYEE_DIR_', _PS_IMG_.'e/');
|
||||
define('_THEME_PROD_DIR_', _PS_IMG_.'p/');
|
||||
define('_THEME_PROFILE_DIR_', _PS_IMG_.'pr/');
|
||||
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_);
|
||||
/** @deprecated Since 1.7.7 */
|
||||
Tools::safeDefine('_PS_TAB_MODULE_LIST_URL_', '');
|
||||
/** @deprecated Since 1.7.7 */
|
||||
Tools::safeDefine('_PS_API_MODULES_LIST_16_', '');
|
||||
Tools::safeDefine('_PS_CURRENCY_FEED_URL_', _PS_API_URL_.'/xml/currencies.xml');
|
||||
35
config/index.php
Normal file
35
config/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
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;
|
||||
2
config/services/admin/services_dev.yml
Normal file
2
config/services/admin/services_dev.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_prod.yml }
|
||||
31
config/services/admin/services_prod.yml
Normal file
31
config/services/admin/services_prod.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
imports:
|
||||
- { resource: ../common.yml }
|
||||
- { resource: ../../../src/PrestaShopBundle/Resources/config/services/adapter/news.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
|
||||
2
config/services/admin/services_test.yml
Normal file
2
config/services/admin/services_test.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_dev.yml }
|
||||
20
config/services/common.yml
Normal file
20
config/services/common.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
parameters:
|
||||
mail_themes_uri: "/mails/themes"
|
||||
|
||||
imports:
|
||||
- { resource: ../../src/PrestaShopBundle/Resources/config/services/core/cldr.yml }
|
||||
- { resource: ../../src/PrestaShopBundle/Resources/config/services/core/string.yml }
|
||||
- { resource: ../../src/PrestaShopBundle/Resources/config/services/adapter/data_provider_common.yml }
|
||||
- { resource: ../../src/PrestaShopBundle/Resources/config/services/adapter/common.yml }
|
||||
- { resource: ../../src/PrestaShopBundle/Resources/config/services/core/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
|
||||
2
config/services/front/services_dev.yml
Normal file
2
config/services/front/services_dev.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_prod.yml }
|
||||
53
config/services/front/services_prod.yml
Normal file
53
config/services/front/services_prod.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
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']
|
||||
|
||||
prestashop.adapter.module.repository.module_repository:
|
||||
class: 'PrestaShop\PrestaShop\Adapter\Module\Repository\ModuleRepository'
|
||||
|
||||
prestashop.translation.translator_language_loader:
|
||||
class: PrestaShopBundle\Translation\TranslatorLanguageLoader
|
||||
arguments:
|
||||
- '@prestashop.adapter.module.repository.module_repository'
|
||||
2
config/services/front/services_test.yml
Normal file
2
config/services/front/services_test.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_dev.yml }
|
||||
2
config/services/webservice/services_dev.yml
Normal file
2
config/services/webservice/services_dev.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_prod.yml }
|
||||
2
config/services/webservice/services_prod.yml
Normal file
2
config/services/webservice/services_prod.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: ../common.yml }
|
||||
2
config/services/webservice/services_test.yml
Normal file
2
config/services/webservice/services_test.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
imports:
|
||||
- { resource: services_dev.yml }
|
||||
2
config/settings.inc.php
Normal file
2
config/settings.inc.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
//@deprecated 1.7
|
||||
197
config/smarty.config.inc.php
Normal file
197
config/smarty.config.inc.php
Normal file
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
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 SmartyBC();
|
||||
}
|
||||
|
||||
$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);
|
||||
}
|
||||
151
config/smartyadmin.config.inc.php
Normal file
151
config/smartyadmin.config.inc.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
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;
|
||||
}
|
||||
271
config/smartyfront.config.inc.php
Normal file
271
config/smartyfront.config.inc.php
Normal file
@@ -0,0 +1,271 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
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 (!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($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'];
|
||||
}
|
||||
}
|
||||
|
||||
return Context::getContext()->getTranslator()->trans($params['s'], $params['sprintf'], $params['d']);
|
||||
}
|
||||
|
||||
$string = str_replace('\'', '\\\'', $params['s']);
|
||||
|
||||
// fix inheritance template filename in case of includes from different cross sources between theme, modules, ...
|
||||
$filename = $smarty->template_resource;
|
||||
if (!isset($smarty->inheritance->sourceStack[0]) || $filename === $smarty->inheritance->sourceStack[0]->resource) {
|
||||
$filename = $smarty->source->name;
|
||||
}
|
||||
|
||||
$basename = basename($filename, '.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);
|
||||
}
|
||||
1
config/themes/at_movic/shop1.json
Normal file
1
config/themes/at_movic/shop1.json
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"at_movic","display_name":"At Movic","version":"4.0.5","theme_key":"f88f0068646c9151c757c1a280a31893","author":{"name":"Attran Team","email":"leotheme@gmail.com"},"meta":{"compatibility":{"from":"1.7.6.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,"dependencies":{"modules":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leofeature","blockgrouptop","leoquicklogin","leoproductsearch"]},"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_disable":["ps_contactinfo","ps_mainmenu","ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"]},"hooks":{"modules_to_hook":{"displayNav1":["appagebuilder"],"displayNav2":["appagebuilder"],"displayTop":["appagebuilder"],"displayHome":["leoblog"],"displayFooterBefore":["appagebuilder"],"displayFooter":["appagebuilder"],"actionAdminBefore":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leofeature","blockgrouptop","leoquicklogin","leoproductsearch"]}},"image_types":{"cart_default":{"width":125,"height":157,"scope":["products"]},"small_default":{"width":98,"height":123,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":378,"height":472,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":378,"height":472,"scope":["products"]},"large_default":{"width":800,"height":1000,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":360,"height":360,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]},"manu_default":{"width":98,"height":98,"scope":["manufacturers"]}}},"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","manufacturer":"layout-left-column","supplier":"layout-left-column","module-leoblog-blog":"layout-left-column","module-leoblog-category":"layout-left-column","module-leoblog-list":"layout-left-column"}},"directory":"\/home\/virtualki\/222006\/themes\/at_movic\/","preview":"themes\/at_movic\/preview.png"}
|
||||
1
config/themes/classic/shop1.json
Normal file
1
config/themes/classic/shop1.json
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"https:\/\/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":{"displayAfterBodyOpeningTag":["blockreassurance"],"displayNavFullWidth":["blockreassurance"],"displayAdminCustomers":["blockwishlist"],"displayCustomerAccount":["blockwishlist"],"displayMyAccountBlock":["blockwishlist"],"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":["blockreassurance","ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo","blockwishlist"],"displayFooterAfter":["blockreassurance"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayProductActions":["blockwishlist"]}},"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"}}}
|
||||
10
config/xml/.htaccess
Normal file
10
config/xml/.htaccess
Normal 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>
|
||||
35
config/xml/index.php
Normal file
35
config/xml/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
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;
|
||||
327
config/xml/themes/default.xml
Normal file
327
config/xml/themes/default.xml
Normal 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="https://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>
|
||||
35
config/xml/themes/index.php
Normal file
35
config/xml/themes/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* 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.md.
|
||||
* 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://devdocs.prestashop.com/ for more information.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
|
||||
*/
|
||||
|
||||
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;
|
||||
2
config/xml/trusted_modules_list.xml
Normal file
2
config/xml/trusted_modules_list.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0"?>
|
||||
<modules_list theme="classic"><modules type="trusted"><module name="ps_themecusto"/><module name="psaddonsconnect"/><module name="psgdpr"/><module name="ps_mbo"/><module name="ps_metrics"/><module name="ps_facebook"/><module name="psxmarketingwithgoogle"/><module name="uecookie"/></modules></modules_list>
|
||||
2
config/xml/untrusted_modules_list.xml
Normal file
2
config/xml/untrusted_modules_list.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0"?>
|
||||
<modules_list><modules type="untrusted"><module name="ps_shoppingcart"/><module name="statscarrier"/><module name="pagesnotfound"/><module name="ps_wirepayment"/><module name="statspersonalinfos"/><module name="statsdata"/><module name="blockwishlist"/><module name="ps_contactinfo"/><module name="statssales"/><module name="ps_dataprivacy"/><module name="ps_socialfollow"/><module name="statssearch"/><module name="ps_facetedsearch"/><module name="ps_mainmenu"/><module name="ps_linklist"/><module name="statsbestcategories"/><module name="contactform"/><module name="gridhtml"/><module name="productcomments"/><module name="statsbestsuppliers"/><module name="ps_searchbar"/><module name="statsforecast"/><module name="statsbestproducts"/><module name="ps_sharebuttons"/><module name="statsregistrations"/><module name="statsnewsletter"/><module name="blockreassurance"/><module name="welcome"/><module name="ps_currencyselector"/><module name="statsbestcustomers"/><module name="ps_languageselector"/><module name="statscatalog"/><module name="ps_banner"/><module name="dashgoals"/><module name="ps_customersignin"/><module name="statsproduct"/><module name="dashtrends"/><module name="dashproducts"/><module name="ps_faviconnotificationbo"/><module name="statscheckup"/><module name="ps_emailsubscription"/><module name="dashactivity"/><module name="ps_customtext"/><module name="ps_featuredproducts"/><module name="ps_imageslider"/><module name="ps_crossselling"/><module name="ps_checkpayment"/><module name="ps_categorytree"/><module name="graphnvd3"/><module name="statsbestvouchers"/><module name="statsbestmanufacturers"/><module name="ps_customeraccountlinks"/><module name="gsitemap"/><module name="statsstock"/><module name="ps_emailalerts"/><module name="gamification"/><module name="ps_buybuttonlite"/><module name="ps_bestsellers"/><module name="ps_newproducts"/><module name="ps_specials"/><module name="ps_categoryproducts"/><module name="ps_viewedproduct"/><module name="ps_emailsmanager"/><module name="ps_cashondelivery"/><module name="ps_brandlist"/><module name="codwfeeplus"/><module name="pscleaner"/><module name="eicaptcha"/><module name="aapfree"/><module name="inpostshipping"/><module name="pocztapolskaen"/><module name="dpdpoland"/><module name="ruch"/><module name="paylane"/><module name="paragonfaktura"/><module name="x13import"/></modules></modules_list>
|
||||
Reference in New Issue
Block a user