diff --git a/config/.htaccess b/config/.htaccess new file mode 100644 index 00000000..3de9e400 --- /dev/null +++ b/config/.htaccess @@ -0,0 +1,10 @@ +# Apache 2.2 + + Order deny,allow + Deny from all + + +# Apache 2.4 + + Require all denied + diff --git a/config/alias.php b/config/alias.php new file mode 100644 index 00000000..e64b84ac --- /dev/null +++ b/config/alias.php @@ -0,0 +1,64 @@ + + * @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'].'
'.$error['message']; + } +} diff --git a/config/autoload.php b/config/autoload.php new file mode 100644 index 00000000..96d5dcec --- /dev/null +++ b/config/autoload.php @@ -0,0 +1,32 @@ + + * @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')); diff --git a/config/config.inc.php b/config/config.inc.php new file mode 100644 index 00000000..745d8dac --- /dev/null +++ b/config/config.inc.php @@ -0,0 +1,315 @@ + + * @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 composer. 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); +} + +$isNotValidLanguage = !isset($language) || !Validate::isLoadedObject($language); +// `true` if language is defined from multishop or backoffice (`$employee` variable defined) session +$isLanguageDefinedFromSession = (isset($language) && $language->isAssociatedToShop()) || defined('_PS_ADMIN_DIR_'); + +$useDefaultLanguage = $isNotValidLanguage || !$isLanguageDefinedFromSession; +if ($useDefaultLanguage) { + + // Default value for most cases + $language = new Language(Configuration::get('PS_LANG_DEFAULT')); + + // if `PS_LANG_DEFAULT` not a valid language for current shop then + // use first valid language of the shop as default language. + if($language->isMultishop() && !$language->isAssociatedToShop()) { + $shopLanguages = $language->getLanguages(true, Context::getContext()->shop->id, false); + + if(isset($shopLanguages[0]['id_lang'])) { + $shopDefaultLanguage = new Language($shopLanguages[0]['id_lang']); + + if(Validate::isLoadedObject($language)) { + $language = $shopDefaultLanguage; + } + } + } +} + +$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')); +} diff --git a/config/db_slave_server.inc.php b/config/db_slave_server.inc.php new file mode 100644 index 00000000..6b350772 --- /dev/null +++ b/config/db_slave_server.inc.php @@ -0,0 +1,34 @@ + + * @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(); diff --git a/config/defines_uri.inc.php b/config/defines_uri.inc.php new file mode 100644 index 00000000..49f4b177 --- /dev/null +++ b/config/defines_uri.inc.php @@ -0,0 +1,76 @@ + + * @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'); diff --git a/config/index.php b/config/index.php new file mode 100644 index 00000000..76cd9dd3 --- /dev/null +++ b/config/index.php @@ -0,0 +1,35 @@ + + * @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; diff --git a/config/services/admin/services_dev.yml b/config/services/admin/services_dev.yml new file mode 100644 index 00000000..8a28a7d1 --- /dev/null +++ b/config/services/admin/services_dev.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_prod.yml } diff --git a/config/services/admin/services_prod.yml b/config/services/admin/services_prod.yml new file mode 100644 index 00000000..3e5e052c --- /dev/null +++ b/config/services/admin/services_prod.yml @@ -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 diff --git a/config/services/admin/services_test.yml b/config/services/admin/services_test.yml new file mode 100644 index 00000000..8ad75e7f --- /dev/null +++ b/config/services/admin/services_test.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_dev.yml } diff --git a/config/services/common.yml b/config/services/common.yml new file mode 100644 index 00000000..d79fd35e --- /dev/null +++ b/config/services/common.yml @@ -0,0 +1,24 @@ +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 + + PrestaShopBundle\DependencyInjection\RuntimeConstEnvVarProcessor: + public: false + tags: ['container.env_var_processor'] diff --git a/config/services/front/services_dev.yml b/config/services/front/services_dev.yml new file mode 100644 index 00000000..8a28a7d1 --- /dev/null +++ b/config/services/front/services_dev.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_prod.yml } diff --git a/config/services/front/services_prod.yml b/config/services/front/services_prod.yml new file mode 100644 index 00000000..f446122d --- /dev/null +++ b/config/services/front/services_prod.yml @@ -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' diff --git a/config/services/front/services_test.yml b/config/services/front/services_test.yml new file mode 100644 index 00000000..8ad75e7f --- /dev/null +++ b/config/services/front/services_test.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_dev.yml } diff --git a/config/services/webservice/services_dev.yml b/config/services/webservice/services_dev.yml new file mode 100644 index 00000000..8a28a7d1 --- /dev/null +++ b/config/services/webservice/services_dev.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_prod.yml } diff --git a/config/services/webservice/services_prod.yml b/config/services/webservice/services_prod.yml new file mode 100644 index 00000000..2eed898e --- /dev/null +++ b/config/services/webservice/services_prod.yml @@ -0,0 +1,2 @@ +imports: + - { resource: ../common.yml } diff --git a/config/services/webservice/services_test.yml b/config/services/webservice/services_test.yml new file mode 100644 index 00000000..8ad75e7f --- /dev/null +++ b/config/services/webservice/services_test.yml @@ -0,0 +1,2 @@ +imports: + - { resource: services_dev.yml } diff --git a/config/settings.inc.php b/config/settings.inc.php new file mode 100644 index 00000000..56ea0306 --- /dev/null +++ b/config/settings.inc.php @@ -0,0 +1,2 @@ + + * @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; +} diff --git a/config/smartyfront.config.inc.php b/config/smartyfront.config.inc.php new file mode 100644 index 00000000..70374bb0 --- /dev/null +++ b/config/smartyfront.config.inc.php @@ -0,0 +1,273 @@ + + * @copyright Since 2007 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) + */ +global $smarty; + +use PrestaShop\TranslationToolsBundle\Translation\Helper\DomainHelper; + +$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(); + } + + // 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'); + + 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']); + $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); +} diff --git a/config/smartyfront.config.inc.php.before_pagecache_widget_block b/config/smartyfront.config.inc.php.before_pagecache_widget_block new file mode 100644 index 00000000..b0cbc672 --- /dev/null +++ b/config/smartyfront.config.inc.php.before_pagecache_widget_block @@ -0,0 +1,267 @@ + + * @copyright 2007-2018 PrestaShop SA + * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ +global $smarty; + +$template_dirs = array(_PS_THEME_DIR_.'templates'); +$plugin_dirs = array(_PS_THEME_DIR_.'plugins'); +if (_PS_PARENT_THEME_DIR_) { + $template_dirs[] = _PS_PARENT_THEME_DIR_.'templates'; + $plugin_dirs[] = _PS_PARENT_THEME_DIR_.'plugins'; +} + +$smarty->setTemplateDir($template_dirs); +$smarty->addPluginsDir($plugin_dirs); + +$module_resources = array('theme' => _PS_THEME_DIR_.'modules/'); +if (_PS_PARENT_THEME_DIR_) { + $module_resources['parent'] = _PS_PARENT_THEME_DIR_.'modules/'; +} +$module_resources['modules'] = _PS_MODULE_DIR_; +$smarty->registerResource('module', new SmartyResourceModule($module_resources)); + +$parent_resources = array(); +if (_PS_PARENT_THEME_DIR_) { + $parent_resources['parent'] = _PS_PARENT_THEME_DIR_.'templates/'; +} +$smarty->registerResource('parent', new SmartyResourceParent($parent_resources)); + +$smarty->escape_html = true; + +smartyRegisterFunction($smarty, 'function', 'widget', 'smartyWidget'); +smartyRegisterFunction($smarty, 'function', 'render', 'smartyRender'); +smartyRegisterFunction($smarty, 'function', 'form_field', 'smartyFormField'); +smartyRegisterFunction($smarty, 'block', 'widget_block', 'smartyWidgetBlock'); + +function withWidget($params, callable $cb) +{ + if (!isset($params['name'])) { + throw new Exception('Smarty helper `render_widget` expects at least the `name` parameter.'); + } + + $moduleName = $params['name']; + unset($params['name']); + + $moduleInstance = Module::getInstanceByName($moduleName); + + if (!$moduleInstance instanceof PrestaShop\PrestaShop\Core\Module\WidgetInterface) { + throw new Exception(sprintf( + 'Module `%1$s` is not a WidgetInterface.', + $moduleName + )); + } + + return $cb($moduleInstance, $params); +} + +function smartyWidget($params, &$smarty) +{ + return withWidget($params, function ($widget, $params) { + return Hook::coreRenderWidget( + $widget, + isset($params['hook']) ? $params['hook'] : null, + $params + ); + }); +} + +function smartyRender($params, &$smarty) +{ + $ui = $params['ui']; + + if (array_key_exists('file', $params)) { + $ui->setTemplate($params['file']); + } + + return $ui->render($params); +} + +function smartyFormField($params, $smarty) +{ + $scope = $smarty->createData( + $smarty + ); + + $scope->assign($params); + + $file = '_partials/form-fields.tpl'; + + if (isset($params['file'])) { + $file = $params['file']; + } + + $tpl = $smarty->createTemplate($file, $scope); + + return $tpl->fetch(); +} + +function smartyWidgetBlock($params, $content, $smarty) +{ + static $backedUpVariablesStack = array(); + + if (null === $content) { + // Function is called twice: at the opening of the block + // and when it is closed. + // This is the first call. + withWidget($params, function ($widget, $params) use (&$smarty, &$backedUpVariablesStack) { + // Assign widget variables and backup all the variables they override + $currentVariables = $smarty->getTemplateVars(); + $scopedVariables = $widget->getWidgetVariables(isset($params['hook']) ? $params['hook'] : null, $params); + $backedUpVariables = array(); + foreach ($scopedVariables as $key => $value) { + if (array_key_exists($key, $currentVariables)) { + $backedUpVariables[$key] = $currentVariables[$key]; + } + $smarty->assign($key, $value); + } + $backedUpVariablesStack[] = $backedUpVariables; + }); + // We don't display anything since the template is not rendered yet. + return ''; + } else { + // Function gets called for the closing tag of the block. + // We restore the backed up variables in order not to override + // template variables. + if (!empty($backedUpVariablesStack)) { + $backedUpVariables = array_pop($backedUpVariablesStack); + foreach ($backedUpVariables as $key => $value) { + $smarty->assign($key, $value); + } + } + // This time content is filled with rendered template, so return it. + return $content; + } +} + +function smartyTranslate($params, $smarty) +{ + global $_LANG; + + if (!isset($params['js'])) { + $params['js'] = false; + } + if (!isset($params['pdf'])) { + $params['pdf'] = false; + } + if (!isset($params['mod'])) { + $params['mod'] = false; + } + if (!isset($params['sprintf'])) { + $params['sprintf'] = array(); + } + if (!isset($params['d'])) { + $params['d'] = null; + } + + if (!is_null($params['d'])) { + if (isset($params['tags'])) { + $backTrace = debug_backtrace(); + + $errorMessage = sprintf( + 'Unable to translate "%s" in %s. tags() is not supported anymore, please use sprintf().', + $params['s'], + $backTrace[0]['args'][1]->template_resource + ); + + if (_PS_MODE_DEV_) { + throw new Exception($errorMessage); + } else { + PrestaShopLogger::addLog($errorMessage); + } + } + + if (!is_array($params['sprintf'])) { + $backTrace = debug_backtrace(); + + $errorMessage = sprintf( + 'Unable to translate "%s" in %s. sprintf() parameter should be an array.', + $params['s'], + $backTrace[0]['args'][1]->template_resource + ); + + if (_PS_MODE_DEV_) { + throw new Exception($errorMessage); + } else { + PrestaShopLogger::addLog($errorMessage); + + return $params['s']; + } + } + } + + if (($translation = Context::getContext()->getTranslator()->trans($params['s'], $params['sprintf'], $params['d'])) !== $params['s'] + && $params['mod'] === false) { + return $translation; + } + + $string = str_replace('\'', '\\\'', $params['s']); + $basename = basename($smarty->source->name, '.tpl'); + $key = $basename.'_'.md5($string); + + if (isset($smarty->source) && (strpos($smarty->source->filepath, DIRECTORY_SEPARATOR.'override'.DIRECTORY_SEPARATOR) !== false)) { + $key = 'override_'.$key; + } + + if ($params['mod']) { + return Translate::smartyPostProcessTranslation( + Translate::getModuleTranslation( + $params['mod'], + $params['s'], + $basename, + $params['sprintf'], + $params['js'] + ), + $params + ); + } elseif ($params['pdf']) { + return Translate::smartyPostProcessTranslation( + Translate::getPdfTranslation( + $params['s'], + $params['sprintf'] + ), + $params + ); + } + + if ($_LANG != null && isset($_LANG[$key])) { + $msg = $_LANG[$key]; + } elseif ($_LANG != null && isset($_LANG[Tools::strtolower($key)])) { + $msg = $_LANG[Tools::strtolower($key)]; + } else { + $msg = $params['s']; + } + + if ($msg != $params['s'] && !$params['js']) { + $msg = stripslashes($msg); + } elseif ($params['js']) { + $msg = addslashes($msg); + } + + if ($params['sprintf'] !== null) { + $msg = Translate::checkAndReplaceArgs($msg, $params['sprintf']); + } + + return Translate::smartyPostProcessTranslation($params['js'] ? $msg : Tools::safeOutput($msg), $params); +} diff --git a/config/themes/classic-backup/shop1.json b/config/themes/classic-backup/shop1.json new file mode 100644 index 00000000..da6ba2e7 --- /dev/null +++ b/config/themes/classic-backup/shop1.json @@ -0,0 +1 @@ +{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"]},"hooks":{"modules_to_hook":{"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector","ps_customersignin","ps_shoppingcart"],"displayTop":["ps_mainmenu","ps_searchbar"],"displayHome":["ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"],"displayFooterBefore":["ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"]}},"image_types":{"cart_default":{"width":125,"height":125,"scope":["products"]},"small_default":{"width":98,"height":98,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":452,"height":452,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":250,"height":250,"scope":["products"]},"large_default":{"width":800,"height":800,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":141,"height":180,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]}}},"theme_settings":{"default_layout":"layout-full-width","layouts":{"category":"layout-left-column","best-sales":"layout-left-column","new-products":"layout-left-column","prices-drop":"layout-left-column","contact":"layout-left-column"}}} \ No newline at end of file diff --git a/config/themes/classic-backup/shop2.json b/config/themes/classic-backup/shop2.json new file mode 100644 index 00000000..da6ba2e7 --- /dev/null +++ b/config/themes/classic-backup/shop2.json @@ -0,0 +1 @@ +{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"]},"hooks":{"modules_to_hook":{"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector","ps_customersignin","ps_shoppingcart"],"displayTop":["ps_mainmenu","ps_searchbar"],"displayHome":["ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"],"displayFooterBefore":["ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"]}},"image_types":{"cart_default":{"width":125,"height":125,"scope":["products"]},"small_default":{"width":98,"height":98,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":452,"height":452,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":250,"height":250,"scope":["products"]},"large_default":{"width":800,"height":800,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":141,"height":180,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]}}},"theme_settings":{"default_layout":"layout-full-width","layouts":{"category":"layout-left-column","best-sales":"layout-left-column","new-products":"layout-left-column","prices-drop":"layout-left-column","contact":"layout-left-column"}}} \ No newline at end of file diff --git a/config/themes/classic/shop1.json b/config/themes/classic/shop1.json new file mode 100644 index 00000000..da6ba2e7 --- /dev/null +++ b/config/themes/classic/shop1.json @@ -0,0 +1 @@ +{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"]},"hooks":{"modules_to_hook":{"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector","ps_customersignin","ps_shoppingcart"],"displayTop":["ps_mainmenu","ps_searchbar"],"displayHome":["ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"],"displayFooterBefore":["ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"]}},"image_types":{"cart_default":{"width":125,"height":125,"scope":["products"]},"small_default":{"width":98,"height":98,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":452,"height":452,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":250,"height":250,"scope":["products"]},"large_default":{"width":800,"height":800,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":141,"height":180,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]}}},"theme_settings":{"default_layout":"layout-full-width","layouts":{"category":"layout-left-column","best-sales":"layout-left-column","new-products":"layout-left-column","prices-drop":"layout-left-column","contact":"layout-left-column"}}} \ No newline at end of file diff --git a/config/themes/classic/shop2.json b/config/themes/classic/shop2.json new file mode 100644 index 00000000..da6ba2e7 --- /dev/null +++ b/config/themes/classic/shop2.json @@ -0,0 +1 @@ +{"name":"classic","display_name":"Classic","version":"1.0.0","author":{"name":"PrestaShop Team","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"]},"hooks":{"modules_to_hook":{"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector","ps_customersignin","ps_shoppingcart"],"displayTop":["ps_mainmenu","ps_searchbar"],"displayHome":["ps_imageslider","ps_featuredproducts","ps_banner","ps_customtext"],"displayFooterBefore":["ps_emailsubscription","ps_socialfollow"],"displayFooter":["ps_linklist","ps_customeraccountlinks","ps_contactinfo"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"]}},"image_types":{"cart_default":{"width":125,"height":125,"scope":["products"]},"small_default":{"width":98,"height":98,"scope":["products","categories","manufacturers","suppliers"]},"medium_default":{"width":452,"height":452,"scope":["products","manufacturers","suppliers"]},"home_default":{"width":250,"height":250,"scope":["products"]},"large_default":{"width":800,"height":800,"scope":["products","manufacturers","suppliers"]},"category_default":{"width":141,"height":180,"scope":["categories"]},"stores_default":{"width":170,"height":115,"scope":["stores"]}}},"theme_settings":{"default_layout":"layout-full-width","layouts":{"category":"layout-left-column","best-sales":"layout-left-column","new-products":"layout-left-column","prices-drop":"layout-left-column","contact":"layout-left-column"}}} \ No newline at end of file diff --git a/config/themes/leo_gstore/shop1.json b/config/themes/leo_gstore/shop1.json new file mode 100644 index 00000000..4207410c --- /dev/null +++ b/config/themes/leo_gstore/shop1.json @@ -0,0 +1 @@ +{"name":"leo_gstore","display_name":"Leo Gstore","version":"2.0.1","author":{"name":"Leotheme Team","email":"leotheme@gmail.com","url":"http:\/\/www.leotheme.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,"dependencies":{"modules":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]},"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"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayCartTotalPriceLabel":["ps_legalcompliance"],"displayCheckoutSubtotalDetails":["ps_legalcompliance"],"displayCheckoutSummaryTop":["ps_legalcompliance"],"displayCMSDisputeInformation":["ps_legalcompliance"],"displayCMSPrintButton":["ps_legalcompliance"],"displayOverrideTemplate":["ps_legalcompliance"],"displayProductPriceBlock":["ps_legalcompliance"],"actionAdminBefore":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]}},"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":870,"height":217,"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","manufacturer":"layout-left-column","supplier":"layout-left-column","module-pm_advancedsearch4-advancedsearch4":"layout-left-column","module-pm_advancedsearch4-seo":"layout-left-column","module-pm_advancedsearch4-searchresults":"layout-left-column"}},"directory":"C:\\wamp64\\www\\dr_materac\/themes\/leo_gstore\/","preview":"themes\/leo_gstore\/preview.png"} \ No newline at end of file diff --git a/config/themes/leo_gstore/shop2.json b/config/themes/leo_gstore/shop2.json new file mode 100644 index 00000000..65527194 --- /dev/null +++ b/config/themes/leo_gstore/shop2.json @@ -0,0 +1 @@ +{"name":"leo_gstore","display_name":"Leo Gstore","version":"2.0.1","author":{"name":"Leotheme Team","email":"leotheme@gmail.com","url":"http:\/\/www.leotheme.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,"dependencies":{"modules":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]},"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"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayCartTotalPriceLabel":["ps_legalcompliance"],"displayCheckoutSubtotalDetails":["ps_legalcompliance"],"displayCheckoutSummaryTop":["ps_legalcompliance"],"displayCMSDisputeInformation":["ps_legalcompliance"],"displayCMSPrintButton":["ps_legalcompliance"],"displayOverrideTemplate":["ps_legalcompliance"],"displayProductPriceBlock":["ps_legalcompliance"],"actionAdminBefore":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]}},"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":870,"height":217,"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","manufacturer":"layout-left-column","supplier":"layout-left-column","module-pm_advancedsearch4-advancedsearch4":"layout-left-column","module-pm_advancedsearch4-seo":"layout-left-column","module-pm_advancedsearch4-searchresults":"layout-left-column"}},"directory":"\/themes\/leo_gstore\/","preview":"themes\/leo_gstore\/preview.png"} \ No newline at end of file diff --git a/config/themes/leo_lulandia/shop1.json b/config/themes/leo_lulandia/shop1.json new file mode 100644 index 00000000..1195e09d --- /dev/null +++ b/config/themes/leo_lulandia/shop1.json @@ -0,0 +1 @@ +{"name":"leo_lulandia","display_name":"Leo Lulandia","version":"2.1.0","author":{"name":"Leotheme Team","email":"leotheme@gmail.com","url":"http:\/\/www.leotheme.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,"dependencies":{"modules":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]},"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"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayCartTotalPriceLabel":["ps_legalcompliance"],"displayCheckoutSubtotalDetails":["ps_legalcompliance"],"displayCheckoutSummaryTop":["ps_legalcompliance"],"displayCMSDisputeInformation":["ps_legalcompliance"],"displayCMSPrintButton":["ps_legalcompliance"],"displayOverrideTemplate":["ps_legalcompliance"],"displayProductPriceBlock":["ps_legalcompliance"],"actionAdminBefore":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]}},"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":870,"height":217,"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","manufacturer":"layout-left-column","supplier":"layout-left-column"}}} \ No newline at end of file diff --git a/config/themes/leo_lulandia/shop2.json b/config/themes/leo_lulandia/shop2.json new file mode 100644 index 00000000..90e79d57 --- /dev/null +++ b/config/themes/leo_lulandia/shop2.json @@ -0,0 +1 @@ +{"name":"leo_lulandia","display_name":"Leo Lulandia","version":"1.0.0","author":{"name":"Lulandia Team","email":"biuro@lulandia.pl","url":"http:\/\/lulandia.pl"},"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,"dependencies":{"modules":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]},"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"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch"],"displaySearch":["ps_searchbar"],"displayProductAdditionalInfo":["ps_sharebuttons"],"displayReassurance":["blockreassurance"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayCartTotalPriceLabel":["ps_legalcompliance"],"displayCheckoutSubtotalDetails":["ps_legalcompliance"],"displayCheckoutSummaryTop":["ps_legalcompliance"],"displayCMSDisputeInformation":["ps_legalcompliance"],"displayCMSPrintButton":["ps_legalcompliance"],"displayOverrideTemplate":["ps_legalcompliance"],"displayProductPriceBlock":["ps_legalcompliance"],"actionAdminBefore":["appagebuilder","leobootstrapmenu","leoslideshow","leoblog","leoproductsearch","leofeature","leoquicklogin"]}},"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":870,"height":217,"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","manufacturer":"layout-left-column","supplier":"layout-left-column","module-pm_advancedsearch4-advancedsearch4":"layout-left-column","module-pm_advancedsearch4-seo":"layout-left-column","module-pm_advancedsearch4-searchresults":"layout-left-column"}},"directory":"\/themes\/leo_lulandia\/","preview":"themes\/leo_lulandia\/preview.png"} \ No newline at end of file diff --git a/config/themes/probusiness/shop2.json b/config/themes/probusiness/shop2.json new file mode 100644 index 00000000..2eac93e5 --- /dev/null +++ b/config/themes/probusiness/shop2.json @@ -0,0 +1 @@ +{"name":"probusiness","display_name":"probusiness","version":"1.0.8","author":{"name":"YBC-Theme","email":"pub@prestashop.com","url":"http:\/\/www.prestashop.com"},"meta":{"compatibility":{"from":"1.7.0.0","to":null},"available_layouts":{"layout-full-width":{"name":"Full Width","description":"No side columns, ideal for distraction-free pages such as product pages."},"layout-both-columns":{"name":"Three Columns","description":"One large central column and 2 side columns."},"layout-left-column":{"name":"Two Columns, small left column","description":"Two columns with a small left column"},"layout-right-column":{"name":"Two Columns, small right column","description":"Two columns with a small right column"}}},"assets":null,"global_settings":{"configuration":{"PS_IMAGE_QUALITY":"png"},"modules":{"to_enable":["ps_linklist"],"to_reset":["ets_megamenu","ets_multilayerslider","ybc_themeconfig","ybc_widget","ybc_themeconfig","ybc_specificprices","ybc_productimagehover"]},"hooks":{"modules_to_hook":{"blogCategoriesBlock":["ybc_blog_free"],"blogFeaturedPostsBlock":["ybc_blog_free"],"blogGalleryBlock":["ybc_blog_free"],"blogNewsBlock":["ybc_blog_free"],"blogPopularPostsBlock":["ybc_blog_free"],"blogSearchBlock":["ybc_blog_free"],"blogSidebar":["ybc_blog_free"],"blogSlidersBlock":["ybc_blog_free"],"blogTagsBlock":["ybc_blog_free"],"displayBackOfficeFooter":["ybc_themeconfig",null],"displayBackOfficeHeader":["welcome","ets_multilayerslider","ybc_widget","ets_megamenu","ybc_blog_free","ybc_themeconfig",null],"displayBlock":["ets_megamenu"],"displayCrossSellingShoppingCart":["ps_featuredproducts"],"displayCustomDiscount":["ybc_specificprices"],"displayCustomerAccount":["blockwishlist"],"displayFooter":["ps_contactinfo","ps_customeraccountlinks","ps_linklist","ps_emailsubscription","ybc_widget","ybc_blog_free","ybc_specificprices","ybc_themeconfig"],"displayFooterBefore":["ps_socialfollow"],"displayFooterProduct":["ps_categoryproducts"],"displayHome":["ets_multilayerslider","ps_featuredproducts","ybc_widget","ps_bestsellers","ps_specials","ps_newproducts","ybc_blog_free"],"displayLeftColumn":["ps_categorytree","ps_facetedsearch","ybc_widget","ybc_blog_free"],"displayMegaMenu":["ets_megamenu"],"displayMLS":["ets_multilayerslider"],"displayMLSConfigs":["ets_multilayerslider"],"displayMLSLayer":["ets_multilayerslider"],"displayMLSLayerSort":["ets_multilayerslider"],"displayMLSSlide":["ets_multilayerslider"],"displayMLSSlideInner":["ets_multilayerslider"],"displayMLSSlider":["ets_multilayerslider"],"displayMMItemBlock":["ets_megamenu"],"displayMMItemColumn":["ets_megamenu"],"displayMMItemMenu":["ets_megamenu"],"displayMultiLayerSlide":["ets_multilayerslider"],"displayMyAccountBlock":["blockwishlist"],"displayNav":["ybc_widget"],"displayNav1":["ps_contactinfo"],"displayNav2":["ps_languageselector","ps_currencyselector"],"displayOrderConfirmation2":["ps_featuredproducts"],"displayPaymentReturn":["ps_checkpayment","ps_wirepayment","ps_cashondelivery"],"displayProductAdditionalInfo":["ps_sharebuttons","blockwishlist"],"displayProductActions":["blockwishlist"],"displayProductListFunctionalButtons":["blockwishlist"],"displayReassurance":["blockreassurance"],"displayRightColumn":["ybc_widget","blockwishlist"],"displaySearch":["ps_searchbar"],"displayTop":["ps_searchbar","ybc_widget","ets_megamenu","ps_shoppingcart","blockwishlist"],"displayTopColumn":["ets_multilayerslider","ybc_widget"],"displayYbcProductReview":["ybc_themeconfig"],"paymentOptions":["ps_checkpayment","ps_wirepayment","ps_cashondelivery"],"productcustom":["blockwishlist"],"productImageHover":["ybc_productimagehover"],"productSearchProvider":["ps_facetedsearch"],"search":["statssearch"],"ybcBlockSocial":["ybc_themeconfig"],"ybcCopyright":["ybc_themeconfig"],"ybcCustom1":["ybc_widget"],"ybcCustom2":["ybc_widget"],"ybcCustom3":["ybc_widget"],"ybcCustom4":["ybc_widget"],"ybcCustom5":["ybc_widget"],"ybcCustom6":["ybc_widget"],"ybcLayoutUpdate":["ybc_themeconfig"]}},"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-full-width"}},"dependencies":{"modules":["blockwishlist","productcomments","ets_megamenu","ets_multilayerslider","ybc_blog_free","ybc_themeconfig","ybc_widget","ybc_themeconfig","ybc_specificprices","ybc_productimagehover","ps_bestsellers","ps_specials","ps_newproducts"]}} \ No newline at end of file diff --git a/config/xml/.htaccess b/config/xml/.htaccess new file mode 100644 index 00000000..3de9e400 --- /dev/null +++ b/config/xml/.htaccess @@ -0,0 +1,10 @@ +# Apache 2.2 + + Order deny,allow + Deny from all + + +# Apache 2.4 + + Require all denied + diff --git a/config/xml/index.php b/config/xml/index.php new file mode 100644 index 00000000..76cd9dd3 --- /dev/null +++ b/config/xml/index.php @@ -0,0 +1,35 @@ + + * @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; diff --git a/config/xml/themes/default.xml b/config/xml/themes/default.xml new file mode 100644 index 00000000..b775004e --- /dev/null +++ b/config/xml/themes/default.xml @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/xml/themes/index.php b/config/xml/themes/index.php new file mode 100644 index 00000000..76cd9dd3 --- /dev/null +++ b/config/xml/themes/index.php @@ -0,0 +1,35 @@ + + * @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; diff --git a/config/xml/trusted_modules_list.xml b/config/xml/trusted_modules_list.xml new file mode 100644 index 00000000..df016a54 --- /dev/null +++ b/config/xml/trusted_modules_list.xml @@ -0,0 +1,2 @@ + + diff --git a/config/xml/untrusted_modules_list.xml b/config/xml/untrusted_modules_list.xml new file mode 100644 index 00000000..0a0ef55d --- /dev/null +++ b/config/xml/untrusted_modules_list.xml @@ -0,0 +1,2 @@ + +