diff --git a/Adapter/Adapter_AddressFactory.php b/Adapter/Adapter_AddressFactory.php new file mode 100644 index 00000000..927f2be0 --- /dev/null +++ b/Adapter/Adapter_AddressFactory.php @@ -0,0 +1,51 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_AddressFactory +{ + /** + * Initilize an address corresponding to the specified id address or if empty to the + * default shop configuration + * @param null $id_address + * @param bool $with_geoloc + * @return Address + */ + public function findOrCreate($id_address = null, $with_geoloc = false) + { + $func_args = func_get_args(); + return call_user_func_array(array('Address', 'initialize'), $func_args); + } + + /** + * Check if an address exists depending on given $id_address + * @param $id_address + * @return bool + */ + public function addressExists($id_address) + { + return Address::addressExists($id_address); + } +} diff --git a/Adapter/Adapter_Configuration.php b/Adapter/Adapter_Configuration.php new file mode 100644 index 00000000..bcc3aebb --- /dev/null +++ b/Adapter/Adapter_Configuration.php @@ -0,0 +1,44 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_Configuration implements Core_Business_ConfigurationInterface +{ + + /** + * Returns constant defined by given $key if exists or check directly into PrestaShop + * Configuration + * @param $key + * @return mixed + */ + public function get($key) + { + if (defined($key)) { + return constant($key); + } else { + return Configuration::get($key); + } + } +} diff --git a/Adapter/Adapter_Database.php b/Adapter/Adapter_Database.php new file mode 100644 index 00000000..53d74def --- /dev/null +++ b/Adapter/Adapter_Database.php @@ -0,0 +1,52 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_Database implements Core_Foundation_Database_DatabaseInterface +{ + /** + * Perform a SELECT sql statement + * @param $sqlString + * @return array|false + * @throws PrestaShopDatabaseException + */ + public function select($sqlString) + { + return Db::getInstance()->executeS($sqlString); + } + + /** + * Escape $unsafe to be used into a SQL statement + * @param $unsafeData + * @return string + */ + public function escape($unsafeData) + { + // Prepare required params + $html_ok = true; + $bq_sql = true; + return Db::getInstance()->escape($unsafeData, $html_ok, $bq_sql); + } +} diff --git a/Adapter/Adapter_EntityMapper.php b/Adapter/Adapter_EntityMapper.php new file mode 100644 index 00000000..ffa0a44c --- /dev/null +++ b/Adapter/Adapter_EntityMapper.php @@ -0,0 +1,107 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_EntityMapper { + + /** + * Load ObjectModel + * @param $id + * @param $id_lang + * @param $entity ObjectModel + * @param $entity_defs + * @param $id_shop + * @param $should_cache_objects + * @throws PrestaShopDatabaseException + */ + public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cache_objects) + { + // Load object from database if object id is present + $cache_id = 'objectmodel_' . $entity_defs['classname'] . '_' . (int)$id . '_' . (int)$id_shop . '_' . (int)$id_lang; + if (!$should_cache_objects || !Cache::isStored($cache_id)) { + $sql = new DbQuery(); + $sql->from($entity_defs['table'], 'a'); + $sql->where('a.`' . bqSQL($entity_defs['primary']) . '` = ' . (int)$id); + + // Get lang informations + if ($id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) { + + $sql->leftJoin($entity_defs['table'] . '_lang', 'b', 'a.`' . bqSQL($entity_defs['primary']) . '` = b.`' . bqSQL($entity_defs['primary']) . '` AND b.`id_lang` = ' . (int)$id_lang); + if ($id_shop && !empty($entity_defs['multilang_shop'])) { + $sql->where('b.`id_shop` = ' . (int)$id_shop); + } + } + + // Get shop informations + if (Shop::isTableAssociated($entity_defs['table'])) { + $sql->leftJoin($entity_defs['table'] . '_shop', 'c', 'a.`' . bqSQL($entity_defs['primary']) . '` = c.`' . bqSQL($entity_defs['primary']) . '` AND c.`id_shop` = ' . (int)$id_shop); + } + + if ($object_datas = Db::getInstance()->getRow($sql)) { + if (!$id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) { + + $sql = 'SELECT * + FROM `' . bqSQL(_DB_PREFIX_ . $entity_defs['table']) . '_lang` + WHERE `' . bqSQL($entity_defs['primary']) . '` = ' . (int)$id + .(($id_shop && $entity->isLangMultishop()) ? ' AND `id_shop` = ' . (int)$id_shop : ''); + + if ($object_datas_lang = Db::getInstance()->executeS($sql)) { + + foreach ($object_datas_lang as $row) { + foreach ($row as $key => $value) { + if ($key != $entity_defs['primary'] && array_key_exists($key, $entity)) { + if (!isset($object_datas[$key]) || !is_array($object_datas[$key])) + $object_datas[$key] = array(); + + $object_datas[$key][$row['id_lang']] = $value; + } + } + } + } + } + $entity->id = (int)$id; + foreach ($object_datas as $key => $value) { + if (array_key_exists($key, $entity)) { + $entity->{$key} = $value; + } else { + unset($object_datas[$key]); + } + } + if ($should_cache_objects) { + Cache::store($cache_id, $object_datas); + } + } + } else { + $object_datas = Cache::retrieve($cache_id); + if ($object_datas) { + $entity->id = (int)$id; + foreach ($object_datas as $key => $value) { + $entity->{$key} = $value; + } + } + } + } + +} diff --git a/Adapter/Adapter_EntityMetaDataRetriever.php b/Adapter/Adapter_EntityMetaDataRetriever.php new file mode 100644 index 00000000..d1e418db --- /dev/null +++ b/Adapter/Adapter_EntityMetaDataRetriever.php @@ -0,0 +1,51 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_EntityMetaDataRetriever +{ + public function getEntityMetaData($className) + { + $metaData = new Core_Foundation_Database_EntityMetaData; + + $metaData->setEntityClassName($className); + + if (property_exists($className, 'definition')) { + // Legacy entity + $classVars = get_class_vars($className); + $metaData->setTableName($classVars['definition']['table']); + $metaData->setPrimaryKeyFieldNames(array($classVars['definition']['primary'])); + } else { + throw new Adapter_Exception( + sprintf( + 'Cannot get metadata for entity `%s`.', + $className + ) + ); + } + + return $metaData; + } +} diff --git a/Adapter/Adapter_Exception.php b/Adapter/Adapter_Exception.php new file mode 100644 index 00000000..e8108f42 --- /dev/null +++ b/Adapter/Adapter_Exception.php @@ -0,0 +1,29 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_Exception extends Core_Foundation_Exception_Exception +{ +} \ No newline at end of file diff --git a/Adapter/Adapter_ProductPriceCalculator.php b/Adapter/Adapter_ProductPriceCalculator.php new file mode 100644 index 00000000..53676297 --- /dev/null +++ b/Adapter/Adapter_ProductPriceCalculator.php @@ -0,0 +1,69 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_ProductPriceCalculator +{ + public function getProductPrice( + $id_product, + $usetax = true, + $id_product_attribute = null, + $decimals = 6, + $divisor = null, + $only_reduc = false, + $usereduc = true, + $quantity = 1, + $force_associated_tax = false, + $id_customer = null, + $id_cart = null, + $id_address = null, + &$specific_price_output = null, + $with_ecotax = true, + $use_group_reduction = true, + Context $context = null, + $use_customer_price = true + ) + { + return Product::getPriceStatic( + $id_product, + $usetax, + $id_product_attribute, + $decimals, + $divisor, + $only_reduc, + $usereduc, + $quantity, + $force_associated_tax, + $id_customer, + $id_cart, + $id_address, + $specific_price_output, + $with_ecotax, + $use_group_reduction, + $context, + $use_customer_price + ); + } +} diff --git a/Adapter/Adapter_ServiceLocator.php b/Adapter/Adapter_ServiceLocator.php new file mode 100644 index 00000000..ba3ced50 --- /dev/null +++ b/Adapter/Adapter_ServiceLocator.php @@ -0,0 +1,54 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Adapter_ServiceLocator +{ + /** + * Set a service container Instance + * @var Core_Foundation_IoC_Container + */ + private static $service_container; + + public static function setServiceContainerInstance(Core_Foundation_IoC_Container $container) + { + self::$service_container = $container; + } + + /** + * Get a service depending on its given $serviceName + * @param $serviceName + * @return mixed|object + * @throws Adapter_Exception + */ + public static function get($serviceName) + { + if (empty(self::$service_container) || is_null(self::$service_container)) { + throw new Adapter_Exception('Service container is not set.'); + } + + return self::$service_container->make($serviceName); + } +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..472d014f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,49 @@ +Contributing to PrestaShop +-------------------------- + +PrestaShop is an open-source e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +PrestaShop 1.6 is written mostly in PHP. Other languages used throughout are JavaScript, HTML, CSS, the Smarty templating language, SQL, and XML. + +To contribute to the project, you should ideally be familiar with Git, the source code management system that PrestaShop uses, with the official repository being hosted on Github: +* You can learn more about Git here: http://try.github.io/ (there are many tutorials available on the Web). +* You can get help on Github here: https://help.github.com/. +* Windows users can get a nice interface for Git by installing TortoiseGit: http://code.google.com/p/tortoisegit/ + +Contributors should follow the following process: + +1. Create your Github account, if you do not have one already. +2. Fork the PrestaShop project to your Github account. +3. Clone your fork to your local machine. Be sure to make a recursive clone (use "git clone --recursive git://github.com/username/PrestaShop.git" or check the "Recursive" box in TortoiseGit) in order to have all the PrestaShop modules cloned too! +4. Create a branch in your local clone for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]. +6. Push your changed branch to your fork in your Github account. +7. Create a pull request for your changes on the PrestaShop project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open source project! Congratulations! + +The PrestaShop documentation features a thorough explanation of the [complete process to your first pull request][4]. + +If you don't feel comfortable forking the project or using Git, you can also either: +* Edit a file directly within Github: browse to the target file, click the "Edit" button, make your changes in the editor then click on "Propose File Change". Github will automatically create a new fork and branch on your own Github account, then suggest to create a pull request to PrestaShop. Once the pull request is submitted, you just have to wait for a core developer to answer you. +* Submit an issue using the Forge: [PrestaShop Forge][5] is the official ticket-tracker for PrestaShop, and the best place to write a bug ticket or request an improvement, while not having to be a developer at all. You will need to create an account on the Forge: [follow these instructions][6], then wait for a core developer to answer you. + +Thank you for your help in making PrestaShop even better! + + +### About licenses + +* All core files you commit in your pull request must respect/use the [Open Software License (OSL 3.0)][7]. +* All modules files you commit in your pull request must respect/use the [Academic Free License (AFL 3.0)][8]. + + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests +[4]: http://doc.prestashop.com/display/PS16/Contributing+code+to+PrestaShop +[5]: http://forge.prestashop.com/ +[6]: http://doc.prestashop.com/display/PS16/How+to+use+the+Forge+to+contribute+to+PrestaShop +[7]: http://opensource.org/licenses/OSL-3.0 +[8]: http://opensource.org/licenses/AFL-3.0 + diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 00000000..f4679fc5 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,407 @@ +GitHub contributors: +-------------------------------- +- (d)oekia +- 123monsite-regis +- 1RV34 +- Adonis Karavokyros +- Adrien +- Adrien Astier +- Agence CINS +- Aleksander Palyan +- Alessandro Corbelli +- Alex Even +- Alexander Grosul +- Alexander Otchenashev +- Alexandra Even +- AlexEven +- Alexey Svistunov +- alexey-svistunov +- alexsimple +- Alfakom-MK +- Alfonso Jimenez +- Alphacom IT Solutions - Macedonia +- amatosg +- anat +- Anatole +- Andrew +- Antonino Di Bella +- antoniofr +- AntonLejon +- Arnaud Lemercier +- axi +- Axome +- Balestrino +- bellini13 +- Benjamin PONGY +- bercik999 +- Bersam Karbasion +- BigZ +- BluTiGeS +- Bruno Desprez +- Bruno Leveque +- bumbu +- Burhan +- Caleydon Media +- cam.lafit +- Captain FLAM +- Captain-FLAM +- ccauw +- cedricfontaine +- cedricgeffroy +- Chen.Zhidong +- Chris +- Chris Gurk +- ChristopheBoucaut +- CINS +- cippest +- cmouleyre +- codvir +- Comkwatt +- Corentin Delcourt +- Cosmin Hutanu +- Cedric Mouleyre +- damien +- Damien Metzger +- Damien PIQUET +- DamienMetzger +- Damon Skelhorn +- Dan Hlavenka +- danidomen +- Daniel +- Daniele Giachino +- danoosh +- Danoosh Mir +- David Gasperoni +- David Sivocha +- David-Julian BUCH +- Davy Rolink +- Denver Prophit Jr. +- Desbouche Christophe +- DevNet +- Dh42 +- Dimitrios Karvounaris +- Dinis Lage +- djbuch +- djfm +- dlage +- doekia +- DOEO +- Dragan Skrbic +- Dream me up +- dreammeup +- DrySs +- DrySs' +- dSevere +- Dustin +- Dvir Julius +- Dvir-Julius +- edamart +- Edouard Gaulue +- el-tenkova +- elationbase +- eleazar +- Elitius +- Emilien Puget +- emilien-puget +- emily-d +- Eric Le Lay +- Eric Rouvier +- erickturcios +- Etienne Samson +- Fabio Chelly +- fchellypresta +- Felipe Uribe +- fetis +- fird +- flashmaestro +- Florian Kwakkenbos +- fram +- Francois Gaillard +- Francois-Marie de Jouvencel +- François Gaillard +- Frederic BENOIST +- Gabriel Schwardy +- Gaelle ITZKOVITZ +- Gamesh +- ggedamed +- Giant Leap Lab +- Gordon Coubrough +- gr4devel +- Granger Kevin +- Gregory Roussac +- gRoussac +- Gregoire Belorgey +- gskema +- Guillaume DELOINCE +- Guillaume Lafarge +- Guillaume Leseur +- Gytis +- Gytis Skėma +- Ha!*!*y +- ha99y +- harelguy +- hiousi +- htrex +- indesign47 +- iNem0o +- ironwo0d +- ITBpro.com +- Ivan +- ivancasasempere +- J. Danse +- janisVincent +- Javsmile +- JEAN +- jeanbe +- jeckyl +- Jeroen Dewaele +- Jerome Nadaud +- jeromenadaud +- jessylenne +- Joan +- Joan Juvanteny +- joce +- Joe Siwiak +- joemartin247 +- Joep Hendrix +- Jonadabe +- Jonathan Danse +- Jonathan SAHM +- Jorge Vargas +- joseantgv +- jtogrul +- Julien +- Julien Bouchez +- Julien Bourdeau +- Julien Deniau +- Julien Martin +- julienbourdeau +- Jachym Tousek +- Kamil SzymaƄski +- Kelly Karnetsky +- kermes +- Kevin Granger +- kiropowered +- kpodemski +- Krystian Podemski +- Kevin Dunglas +- Ladel +- ldecoker +- Lesley Paone +- LOIC ROSSET ltd +- luc +- Luc Vandesype +- Luca T. +- Lucas CERDAN +- LucasC +- Lyo Nick +- LyoNick +- Leo +- M-Mommsen +- Madef +- Madman +- Mainmich +- makk1ntosh +- marcinsz101 +- Marco Cervellin +- Marcos +- matiasiglesias +- Mats Rynge +- Matteo +- MatthieuB +- MaX3315 +- Maxence +- Maxime +- Maxime Biloe +- Maxime Vasse +- mchelh +- mchojnacki +- mdomenjoud +- Michael Hjulskov +- Michel Courtade +- Mickael Desgranges +- Mikael Blotin +- Mikko Hellsing +- Milow +- Mingsong Hu +- minic studio +- misthero +- moncef102 +- montes +- mplh +- MustangZhong +- natrim +- neemzy +- nezenmoins +- Nicolas Sorosac +- Niklas Ekman +- Niko Wicaksono +- Nils-Helge Garli Hegvik +- NinjaOfWeb +- Nino Uzelac +- nodexpl +- nturato +- oleacorner +- Otto Nascarella +- Pan P. +- Panagiotis Tigas +- panesarsandeep +- Patanock +- Patrick Mettraux +- Pavel Novitsky +- pbirnzain +- Pedro J. Parra +- Per Lejontand +- Peter Schaeffer +- peterept +- Petyuska +- PhpMadman +- Pierre +- Piotr Kaczor +- Piotr Moćko +- PrestaEdit +- PrestaLab +- prestamodule +- PrestanceDesign +- prestarocket +- Prestaspirit +- Priyank Bolia +- Profileo +- Pronux +- proydsl +- pxls +- quadrateam +- Quentin Leonetti +- Quentin Montant +- Quetzacoalt91 +- Racochejl +- Rafael Cunha +- Raphael Malie +- raulgundin +- rGaillard +- Rhys +- Richard LT +- Rimas Kudelis +- robert +- Roland Schütz +- romainberger +- runningz +- Remi Gaillard +- s-duval +- Sacha +- Sacha FROMENT +- sadlyblue +- sagaradonis +- Sam Sanchez +- Samir Shah +- Samy Rabih +- Sarah Lorenzini +- Seb +- SebSept +- Seynaeve +- sfroment42 +- shaffe-fr +- Shagshag +- Shipow +- Shudrum +- sidhujag +- sjousse +- sLorenzini +- smartdatasoft +- snamor +- soufyan +- soware +- Staging +- Stanislav Yordanov +- Stefano Kowalke +- Stephan Obadia +- Steven "SDF" Sulley +- Steven Sulley +- Studio Kiwik +- Sumh +- svensson_david +- Sylvain Gougouzian +- Sylvain WITMEYER +- Sebastien +- Sebastien Bareyre +- Sebastien Bocahu +- Sebastien Monterisi +- Tanguy JACQUET +- tchauviere +- Thibaud Chauviere +- thoma202 +- Thomas +- Thomas Blanc +- Thomas N +- Thomas Nabord +- thomas-aw +- Threef +- timsit +- tmackay +- TMMeilleur +- Tom Panier +- Tomasz Slominski +- Tomas Votruba +- tucoinfo +- Tung Dao +- unlocomqx +- Valerii Savchenko +- vAugagneur +- Vincent Augagneur +- Vincent Schoener +- Vincent Terenti +- vinvin27 +- vinzter +- vitekj +- Wayann +- web-plus +- webbax +- Wojciech Grzebieniowski +- Xavier +- Xavier Borderie +- Xavier Gouley +- Xavier POITAU +- xitromedia +- xKnut +- yanngarras +- Yoozio +- zimmi1 +- ZiZuu.com +- Zollner Robert + +SVN contributors: +-------------------------------- +- aFolletete +- aKorczak +- aNiassy +- bLeveque +- bMancone +- dMetzger +- dSevere +- fBrignoli +- Francois Gaillard +- fSerny +- gBrunier +- gCharmes +- gPoulain +- hAitmansour +- jBreux +- jmCollin +- jObregon +- lBrieu +- lCherifi +- lLefevre +- mBertholino +- mDeflotte +- mMarinetti +- nPellicari +- rGaillard +- rMalie +- rMontagne +- sLorenzini +- sThiebaut +- tDidierjean +- vAugagneur +- vChabot +- vKham +- vSchoener diff --git a/Core/Business/CMS/Core_Business_CMS_CMSRepository.php b/Core/Business/CMS/Core_Business_CMS_CMSRepository.php new file mode 100644 index 00000000..28bbec31 --- /dev/null +++ b/Core/Business/CMS/Core_Business_CMS_CMSRepository.php @@ -0,0 +1,80 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Business_CMS_CMSRepository extends Core_Foundation_Database_EntityRepository +{ + /** + * Return CMSRepository lang associative table name + * @return string + */ + private function getLanguageTableNameWithPrefix() + { + return $this->getTableNameWithPrefix() . '_lang'; + } + + /** + * Return all CMSRepositories depending on $id_lang/$id_shop tuple + * @param $id_lang + * @param $id_shop + * @return array|null + */ + public function i10nFindAll($id_lang, $id_shop) + { + $sql = ' + SELECT * + FROM `'.$this->getTableNameWithPrefix().'` c + JOIN `'.$this->getPrefix().'cms_lang` cl ON c.`id_cms`= cl.`id_cms` + WHERE cl.`id_lang` = '.(int)$id_lang.' + AND cl.`id_shop` = '.(int)$id_shop.' + + '; + + return $this->hydrateMany($this->db->select($sql)); + } + + /** + * Return all CMSRepositories depending on $id_lang/$id_shop tuple + * @param $id_cms + * @param $id_lang + * @param $id_shop + * @return CMS|null + * @throws Core_Foundation_Database_Exception + */ + public function i10nFindOneById($id_cms, $id_lang, $id_shop) + { + $sql = ' + SELECT * + FROM `'.$this->getTableNameWithPrefix().'` c + JOIN `'.$this->getPrefix().'cms_lang` cl ON c.`id_cms`= cl.`id_cms` + WHERE c.`id_cms` = '.(int)$id_cms.' + AND cl.`id_lang` = '.(int)$id_lang.' + AND cl.`id_shop` = '.(int)$id_shop.' + LIMIT 0 , 1 + '; + + return $this->hydrateOne($this->db->select($sql)); + } +} diff --git a/Core/Business/CMS/Core_Business_CMS_CMSRoleRepository.php b/Core/Business/CMS/Core_Business_CMS_CMSRoleRepository.php new file mode 100644 index 00000000..454f59e7 --- /dev/null +++ b/Core/Business/CMS/Core_Business_CMS_CMSRoleRepository.php @@ -0,0 +1,44 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Business_CMS_CMSRoleRepository extends Core_Foundation_Database_EntityRepository +{ + /** + * Return all CMSRoles which are already associated + * @return array|null + */ + public function getCMSRolesAssociated() + { + $sql = ' + SELECT * + FROM `'.$this->getTableNameWithPrefix().'` + WHERE `id_cms` != 0'; + + return $this->hydrateMany($this->db->select($sql)); + } + + +} \ No newline at end of file diff --git a/Core/Business/Core_Business_ConfigurationInterface.php b/Core/Business/Core_Business_ConfigurationInterface.php new file mode 100644 index 00000000..fcf957ae --- /dev/null +++ b/Core/Business/Core_Business_ConfigurationInterface.php @@ -0,0 +1,30 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +interface Core_Business_ConfigurationInterface +{ + public function get($key); +} diff --git a/Core/Business/Core_Business_ContainerBuilder.php b/Core/Business/Core_Business_ContainerBuilder.php new file mode 100644 index 00000000..9d624598 --- /dev/null +++ b/Core/Business/Core_Business_ContainerBuilder.php @@ -0,0 +1,43 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Business_ContainerBuilder +{ + /** + * Construct PrestaShop Core Service container + * @return Core_Foundation_IoC_Container + * @throws Core_Foundation_IoC_Exception + */ + public function build() + { + $container = new Core_Foundation_IoC_Container; + + $container->bind('Core_Business_ConfigurationInterface', 'Adapter_Configuration', true); + $container->bind('Core_Foundation_Database_DatabaseInterface', 'Adapter_Database', true); + + return $container; + } +} diff --git a/Core/Business/Email/Core_Business_Email_EmailLister.php b/Core/Business/Email/Core_Business_Email_EmailLister.php new file mode 100644 index 00000000..7aabfcff --- /dev/null +++ b/Core/Business/Email/Core_Business_Email_EmailLister.php @@ -0,0 +1,92 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Business_Email_EmailLister +{ + private $filesystem; + + public function __construct(Core_Foundation_FileSystem_FileSystem $fs) + { + // Register dependencies + $this->filesystem = $fs; + } + + /** + * Return the list of available mails + * @param null $lang + * @param null $dir + * @return array|null + */ + public function getAvailableMails($dir) + { + if (!is_dir($dir)) { + return null; + } + + $mail_directory = $this->filesystem->listEntriesRecursively($dir); + $mail_list = array(); + + // Remove unwanted .html / .txt / .tpl / .php / . / .. + foreach ($mail_directory as $mail) { + + if (strpos($mail->getFilename(), '.') !== false) { + $tmp = explode('.', $mail->getFilename()); + + // Check for filename existence (left part) and if extension is html (right part) + if ( ($tmp === false || !isset($tmp[0])) || (isset($tmp[1]) && $tmp[1] !== 'html')) { + continue; + } + + $mail_name_no_ext = $tmp[0]; + if (!in_array($mail_name_no_ext, $mail_list)) { + $mail_list[] = $mail_name_no_ext; + } + } + } + + return $mail_list; + } + + + /** + * Give in input getAvailableMails(), will output a human readable and proper string name + * @return string + */ + public function getCleanedMailName($mail_name) + { + if (strpos($mail_name, '.') !== false) { + $tmp = explode('.', $mail_name); + + if ($tmp === false || !isset($tmp[0])) { + return $mail_name; + } + + $mail_name = $tmp[0]; + } + + return ucfirst(str_replace(array('_', '-'), ' ', $mail_name)); + } +} \ No newline at end of file diff --git a/Core/Business/Payment/Core_Business_Payment_PaymentOption.php b/Core/Business/Payment/Core_Business_Payment_PaymentOption.php new file mode 100644 index 00000000..5c75f3ad --- /dev/null +++ b/Core/Business/Payment/Core_Business_Payment_PaymentOption.php @@ -0,0 +1,214 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Business_Payment_PaymentOption +{ + private $callToActionText; + private $logo; + private $action; + private $method; + private $inputs; + private $form; + private $moduleName; + + /** + * Return Call to Action Text + * @return string + */ + public function getCallToActionText() + { + return $this->callToActionText; + } + + /** + * Set Call To Action Text + * @param $callToActionText + * @return $this + */ + public function setCallToActionText($callToActionText) + { + $this->callToActionText = $callToActionText; + return $this; + } + + /** + * Return logo path + * @return string + */ + public function getLogo() + { + return $this->logo; + } + + /** + * Set logo path + * @param $logo + * @return $this + */ + public function setLogo($logo) + { + $this->logo = $logo; + return $this; + } + + /** + * Return action to perform (POST/GET) + * @return string + */ + public function getAction() + { + return $this->action; + } + + + /** + * Set action to be performed by this option + * @param $action + * @return $this + */ + public function setAction($action) + { + $this->action = $action; + return $this; + } + + public function getMethod() + { + return $this->method; + } + + public function setMethod($method) + { + $this->method = $method; + return $this; + } + + /** + * Return inputs contained in this payment option + * @return mixed + */ + public function getInputs() + { + return $this->inputs; + } + + /** + * Set inputs for this payment option + * @param $inputs + * @return $this + */ + public function setInputs($inputs) + { + $this->inputs = $inputs; + return $this; + } + + /** + * Get payment option form + * @return mixed + */ + public function getForm() + { + return $this->form; + } + + /** + * Set payment option form + * @param $form + * @return $this + */ + public function setForm($form) + { + $this->form = $form; + return $this; + } + + /** + * Get related module name to this payment option + * @return string + */ + public function getModuleName() + { + return $this->moduleName; + } + + /** + * Set related module name to this payment option + * @param $moduleName + * @return $this + */ + public function setModuleName($moduleName) + { + $this->moduleName = $moduleName; + return $this; + } + + /** + * Legacy options were specified this way: + * - either an array with a top level property 'cta_text' + * and then the other properties + * - or a numerically indexed array or arrays as described above + * Since this was a mess, this method is provided to convert them. + * It takes as input a legacy option (in either form) and always + * returns an array of instances of Core_Business_Payment_PaymentOption + */ + public static function convertLegacyOption(array $legacyOption) + { + if (!$legacyOption) + return; + + if (array_key_exists('cta_text', $legacyOption)) { + $legacyOption = array($legacyOption); + } + + $newOptions = array(); + + $defaults = array( + 'action' => null, + 'form' => null, + 'method' => null, + 'inputs' => array(), + 'logo' => null + ); + + foreach ($legacyOption as $option) { + + $option = array_merge($defaults, $option); + + $newOption = new Core_Business_Payment_PaymentOption(); + $newOption->setCallToActionText($option['cta_text']) + ->setAction($option['action']) + ->setForm($option['form']) + ->setInputs($option['inputs']) + ->setLogo($option['logo']) + ->setMethod($option['method']); + + $newOptions[] = $newOption; + } + + return $newOptions; + } +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_DatabaseInterface.php b/Core/Foundation/Database/Core_Foundation_Database_DatabaseInterface.php new file mode 100644 index 00000000..55086d51 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_DatabaseInterface.php @@ -0,0 +1,31 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +interface Core_Foundation_Database_DatabaseInterface +{ + public function select($sqlString); + public function escape($unsafeData); +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_EntityInterface.php b/Core/Foundation/Database/Core_Foundation_Database_EntityInterface.php new file mode 100644 index 00000000..b489c421 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_EntityInterface.php @@ -0,0 +1,42 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +interface Core_Foundation_Database_EntityInterface +{ + /** + * Returns the name of the repository class for this entity. + * If unspecified, a generic repository will be used for the entity. + * + * @return string or falsey value + */ + public static function getRepositoryClassName(); + + public function save(); + + public function delete(); + + public function hydrate(array $keyValueData); +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_EntityManager.php b/Core/Foundation/Database/Core_Foundation_Database_EntityManager.php new file mode 100644 index 00000000..44d7b767 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_EntityManager.php @@ -0,0 +1,115 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Database_EntityManager +{ + private $db; + private $configuration; + + private $entityMetaData = array(); + + public function __construct( + Core_Foundation_Database_DatabaseInterface $db, + Core_Business_ConfigurationInterface $configuration + ) + { + $this->db = $db; + $this->configuration = $configuration; + } + + /** + * Return current database object used + * @return Core_Foundation_Database_DatabaseInterface + */ + public function getDatabase() + { + return $this->db; + } + + /** + * Return current repository used + * @param $className + * @return mixed + */ + public function getRepository($className) + { + if (is_callable(array($className, 'getRepositoryClassName'))) { + $repositoryClass = call_user_func(array($className, 'getRepositoryClassName')); + } else { + $repositoryClass = null; + } + + if (!$repositoryClass) { + $repositoryClass = 'Core_Foundation_Database_EntityRepository'; + } + + $repository = new $repositoryClass( + $this, + $this->configuration->get('_DB_PREFIX_'), + $this->getEntityMetaData($className) + ); + + return $repository; + } + + /** + * Return entity's meta data + * @param $className + * @return mixed + * @throws Adapter_Exception + */ + public function getEntityMetaData($className) + { + if (!array_key_exists($className, $this->entityMetaData)) { + $metaDataRetriever = new Adapter_EntityMetaDataRetriever; + $this->entityMetaData[$className] = $metaDataRetriever->getEntityMetaData($className); + } + + return $this->entityMetaData[$className]; + } + + /** + * Flush entity to DB + * @param Core_Foundation_Database_EntityInterface $entity + * @return $this + */ + public function save(Core_Foundation_Database_EntityInterface $entity) + { + $entity->save(); + return $this; + } + + /** + * DElete entity from DB + * @param Core_Foundation_Database_EntityInterface $entity + * @return $this + */ + public function delete(Core_Foundation_Database_EntityInterface $entity) + { + $entity->delete(); + return $this; + } +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_EntityMetaData.php b/Core/Foundation/Database/Core_Foundation_Database_EntityMetaData.php new file mode 100644 index 00000000..f56b03e0 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_EntityMetaData.php @@ -0,0 +1,64 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Database_EntityMetaData +{ + private $tableName; + private $primaryKeyFieldnames; + + public function setTableName($name) + { + $this->tableName = $name; + return $this; + } + + public function getTableName() + { + return $this->tableName; + } + + public function setPrimaryKeyFieldNames(array $primaryKeyFieldnames) + { + $this->primaryKeyFieldnames = $primaryKeyFieldnames; + return $this; + } + + public function getPrimaryKeyFieldnames() + { + return $this->primaryKeyFieldnames; + } + + public function setEntityClassName($entityClassName) + { + $this->entityClassName = $entityClassName; + return $this; + } + + public function getEntityClassName() + { + return $this->entityClassName; + } +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_EntityRepository.php b/Core/Foundation/Database/Core_Foundation_Database_EntityRepository.php new file mode 100644 index 00000000..22b6b7d5 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_EntityRepository.php @@ -0,0 +1,221 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Database_EntityRepository +{ + protected $entityManager; + protected $db; + protected $tablesPrefix; + protected $entityMetaData; + protected $queryBuilder; + + public function __construct( + Core_Foundation_Database_EntityManager $entityManager, + $tablesPrefix, + Core_Foundation_Database_EntityMetaData $entityMetaData + ) + { + $this->entityManager = $entityManager; + $this->db = $this->entityManager->getDatabase(); + $this->tablesPrefix = $tablesPrefix; + $this->entityMetaData = $entityMetaData; + $this->queryBuilder = new Core_Foundation_Database_EntityManager_QueryBuilder($this->db); + } + + public function __call($method, $arguments) + { + if (0 === strpos($method, 'findOneBy')) { + $one = true; + $by = substr($method, 9); + } else if (0 === strpos($method, 'findBy')) { + $one = false; + $by = substr($method, 6); + } else { + throw new Core_Foundation_Database_Exception(sprintf('Undefind method %s.', $method)); + } + + if (count($arguments) !== 1) { + throw new Core_Foundation_Database_Exception(sprintf('Method %s takes exactly one argument.', $method)); + } + + if (!$by) { + $where = $arguments[0]; + } else { + $where = array(); + $by = $this->convertToDbFieldName($by); + $where[$by] = $arguments[0]; + } + + return $this->doFind($one, $where); + } + + /** + * Convert a camelCase field name to a snakeCase one + * e.g.: findAllByIdCMS => id_cms + * @param $camel_case_field_name + * @return string + */ + private function convertToDbFieldName($camel_case_field_name) + { + return strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $camel_case_field_name)); + } + + /** + * Return ID field name + * @return mixed + * @throws Core_Foundation_Database_Exception + */ + protected function getIdFieldName() + { + $primary = $this->entityMetaData->getPrimaryKeyFieldnames(); + + if (count($primary) === 0) { + throw new Core_Foundation_Database_Exception( + sprintf( + 'No primary key defined in entity `%s`.', + $this->entityMetaData->getEntityClassName() + ) + ); + } else if (count($primary) > 1) { + throw new Core_Foundation_Database_Exception( + sprintf( + 'Entity `%s` has a composite primary key, which is not supported by entity repositories.', + $this->entityMetaData->getEntityClassName() + ) + ); + } + + return $primary[0]; + } + + /** + * Returns escaped+prefixed current table name + * @return mixed + */ + protected function getTableNameWithPrefix() + { + return $this->db->escape($this->tablesPrefix . $this->entityMetaData->getTableName()); + } + + /** + * Returns escaped DB table prefix + * @return mixed + */ + protected function getPrefix() + { + return $this->db->escape($this->tablesPrefix); + } + + /** + * Return a new empty Entity depending on current Repository selected + * @return mixed + */ + public function getNewEntity() + { + $entityClassName = $this->entityMetaData->getEntityClassName(); + return new $entityClassName; + } + + /** + * This function takes an array of database rows as input + * and returns an hydrated entity if there is one row only. + * + * Null is returned when there are no rows, and an exception is thrown + * if there are too many rows. + * + * @param array $rows Database rows + */ + protected function hydrateOne(array $rows) + { + if (count($rows) === 0) { + return null; + } else if (count($rows) > 1) { + throw new Core_Foundation_Database_Exception('Too many rows returned.'); + } else { + $data = $rows[0]; + $entity = $this-> getNewEntity(); + $entity->hydrate($data); + return $entity; + } + } + + protected function hydrateMany(array $rows) + { + $entities = array(); + foreach ($rows as $row) { + $entity = $this->getNewEntity(); + $entity->hydrate($row); + $entities[] = $entity; + } + return $entities; + } + + /** + * Constructs and performs 'SELECT' in DB + * @param $one + * @param array $cumulativeConditions + * @return array|mixed|null + * @throws Core_Foundation_Database_Exception + */ + private function doFind($one, array $cumulativeConditions) + { + $whereClause = $this->queryBuilder->buildWhereConditions('AND', $cumulativeConditions); + + $sql = 'SELECT * FROM ' . $this->getTableNameWithPrefix() . ' WHERE ' . $whereClause; + + $rows = $this->db->select($sql); + + if ($one) { + return $this->hydrateOne($rows); + } else { + return $this->hydrateMany($rows); + } + } + + /** + * Find one entity in DB + * @param $id + * @return array|mixed|null + * @throws Core_Foundation_Database_Exception + */ + public function findOne($id) + { + $conditions = array(); + $conditions[$this->getIdFieldName()] = $id; + + return $this->doFind(true, $conditions); + } + + /** + * Find all entities in DB + * @return array + */ + public function findAll() + { + $sql = 'SELECT * FROM ' . $this->getTableNameWithPrefix(); + return $this->hydrateMany($this->db->select($sql)); + } +} diff --git a/Core/Foundation/Database/Core_Foundation_Database_Exception.php b/Core/Foundation/Database/Core_Foundation_Database_Exception.php new file mode 100644 index 00000000..cd13c0e9 --- /dev/null +++ b/Core/Foundation/Database/Core_Foundation_Database_Exception.php @@ -0,0 +1,29 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Database_Exception extends Core_Foundation_Exception_Exception +{ +} \ No newline at end of file diff --git a/Core/Foundation/Database/EntityManager/Core_Foundation_Database_EntityManager_QueryBuilder.php b/Core/Foundation/Database/EntityManager/Core_Foundation_Database_EntityManager_QueryBuilder.php new file mode 100644 index 00000000..ddd8309b --- /dev/null +++ b/Core/Foundation/Database/EntityManager/Core_Foundation_Database_EntityManager_QueryBuilder.php @@ -0,0 +1,71 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Database_EntityManager_QueryBuilder +{ + private $db; + + public function __construct(Core_Foundation_Database_DatabaseInterface $db) + { + $this->db = $db; + } + + public function quote($value) + { + $escaped = $this->db->escape($value); + + if (is_string($value)) { + return "'" . $escaped . "'"; + } else { + return $escaped; + } + } + + public function buildWhereConditions($andOrOr, array $conditions) + { + $operator = strtoupper($andOrOr); + + if ($operator !== 'AND' && $operator !== 'OR') { + throw new Core_Foundation_Database_Exception(sprintf('Invalid operator %s - must be "and" or "or".', $andOrOr)); + } + + $parts = array(); + + foreach ($conditions as $key => $value) { + if (is_scalar($value)) { + $parts[] = $key . ' = ' . $this->quote($value); + } else { + $list = array(); + foreach ($value as $item) { + $list[] = $this->quote($item); + } + $parts[] = $key . ' IN (' . implode(', ', $list) . ')'; + } + } + + return implode(" $operator ", $parts); + } +} diff --git a/Core/Foundation/Exception/Core_Foundation_Exception_Exception.php b/Core/Foundation/Exception/Core_Foundation_Exception_Exception.php new file mode 100644 index 00000000..81f28457 --- /dev/null +++ b/Core/Foundation/Exception/Core_Foundation_Exception_Exception.php @@ -0,0 +1,33 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_Exception_Exception extends Exception +{ + public function __construct($message = null, $code = 0, Exception $previous = null) + { + parent::__construct($message, $code, $previous); + } +} \ No newline at end of file diff --git a/Core/Foundation/Filesystem/Core_Foundation_FileSystem_Exception.php b/Core/Foundation/Filesystem/Core_Foundation_FileSystem_Exception.php new file mode 100644 index 00000000..ececb41f --- /dev/null +++ b/Core/Foundation/Filesystem/Core_Foundation_FileSystem_Exception.php @@ -0,0 +1,29 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_FileSystem_Exception extends Core_Foundation_Exception_Exception +{ +} \ No newline at end of file diff --git a/Core/Foundation/Filesystem/Core_Foundation_FileSystem_FileSystem.php b/Core/Foundation/Filesystem/Core_Foundation_FileSystem_FileSystem.php new file mode 100644 index 00000000..314a75e1 --- /dev/null +++ b/Core/Foundation/Filesystem/Core_Foundation_FileSystem_FileSystem.php @@ -0,0 +1,134 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_FileSystem_FileSystem +{ + /** + * Replaces directory separators with the system's native one + * and trims the trailing separator. + */ + public function normalizePath($path) + { + return rtrim( + str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path), + DIRECTORY_SEPARATOR + ); + } + + private function joinTwoPaths($a, $b) + { + return $this->normalizePath($a) . DIRECTORY_SEPARATOR . $this->normalizePath($b); + } + + /** + * Joins an arbitrary number of paths, normalizing them along the way. + */ + public function joinPaths() + { + if (func_num_args() < 2) { + throw new Core_Foundation_FileSystem_Exception('joinPaths requires at least 2 arguments.'); + } else if (func_num_args() === 2) { + return $this->joinTwoPaths(func_get_arg(0), func_get_arg(1)); + } else if (func_num_args() > 2) { + return $this->joinPaths( + func_get_arg(0), + call_user_func_array( + array($this, 'joinPaths'), + array_slice(func_get_args(), 1) + ) + ); + } + } + + /** + * Performs a depth first listing of directory entries. + * Throws exception if $path is not a file. + * If $path is a file and not a directory, just gets the file info for it + * and return it in an array. + * @return an array of SplFileInfo object indexed by file path + */ + public function listEntriesRecursively($path) + { + if (!file_exists($path)) { + throw new Core_Foundation_FileSystem_Exception( + sprintf( + 'No such file or directory: %s', + $path + ) + ); + } + + if (!is_dir($path)) { + throw new Core_Foundation_FileSystem_Exception( + sprintf( + '%s is not a directory', + $path + ) + ); + } + + $entries = array(); + + foreach (scandir($path) as $entry) { + if ($entry === '.' || $entry === '..') { + continue; + } + + $newPath = $this->joinPaths($path, $entry); + $info = new SplFileInfo($newPath); + + $entries[$newPath] = $info; + + if ($info->isDir()) { + $entries = array_merge( + $entries, + $this->listEntriesRecursively($newPath) + ); + } + } + + return $entries; + } + + /** + * Filter used by listFilesRecursively. + */ + private function matchOnlyFiles(SplFileInfo $info) + { + return $info->isFile(); + } + + /** + * Same as listEntriesRecursively but returns only files. + */ + public function listFilesRecursively($path) + { + return array_filter( + $this->listEntriesRecursively($path), + array($this, 'matchOnlyFiles') + ); + } +} diff --git a/Core/Foundation/IoC/Core_Foundation_IoC_Container.php b/Core/Foundation/IoC/Core_Foundation_IoC_Container.php new file mode 100644 index 00000000..40dafdbf --- /dev/null +++ b/Core/Foundation/IoC/Core_Foundation_IoC_Container.php @@ -0,0 +1,172 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_IoC_Container +{ + private $bindings = array(); + private $instances = array(); + private $namespaceAliases = array(); + + public function knows($serviceName) + { + return array_key_exists($serviceName, $this->bindings); + } + + private function knowsNamespaceAlias($alias) + { + return array_key_exists($alias, $this->namespaceAliases); + } + + public function bind($serviceName, $constructor, $shared = false) + { + if ($this->knows($serviceName)) { + throw new Core_Foundation_IoC_Exception( + sprintf('Cannot bind `%s` again. A service name can only be bound once.', $serviceName) + ); + } + + $this->bindings[$serviceName] = array( + 'constructor' => $constructor, + 'shared' => $shared + ); + + return $this; + } + + public function aliasNamespace($alias, $namespacePrefix) + { + if ($this->knowsNamespaceAlias($alias)) { + throw new Core_Foundation_IoC_Exception( + sprintf( + 'Namespace alias `%1$s` already exists and points to `%2$s`', + $alias, $this->namespaceAliases[$alias] + ) + ); + } + + $this->namespaceAliases[$alias] = $namespacePrefix; + return $this; + } + + public function resolveClassName($className) + { + $colonPos = strpos($className, ':'); + if (0 !== $colonPos) { + $alias = substr($className, 0, $colonPos); + if ($this->knowsNamespaceAlias($alias)) { + $class = ltrim(substr($className, $colonPos + 1), '\\'); + return $this->namespaceAliases[$alias] . '\\' . $class; + } + } + + return $className; + } + + private function makeInstanceFromClassName($className, array $alreadySeen) + { + $className = $this->resolveClassName($className); + + try { + $refl = new ReflectionClass($className); + } catch (ReflectionException $re) { + throw new Core_Foundation_IoC_Exception(sprintf('This doesn\'t seem to be a class name: `%s`.', $className)); + } + + $args = array(); + + if ($refl->isAbstract()) { + throw new Core_Foundation_IoC_Exception(sprintf('Cannot build abstract class: `%s`.', $className)); + } + + $classConstructor = $refl->getConstructor(); + + if ($classConstructor) { + foreach ($classConstructor->getParameters() as $param) { + $paramClass = $param->getClass(); + if ($paramClass) { + $args[] = $this->doMake($param->getClass()->getName(), $alreadySeen); + } else if ($param->isDefaultValueAvailable()) { + $args[] = $param->getDefaultValue(); + } else { + throw new Core_Foundation_IoC_Exception(sprintf('Cannot build a `%s`.', $className)); + } + } + } + + if (count($args) > 0) { + return $refl->newInstanceArgs($args); + } else { + // newInstanceArgs with empty array fails in PHP 5.3 when the class + // doesn't have an explicitly defined constructor + return $refl->newInstance(); + } + } + + private function doMake($serviceName, array $alreadySeen = array()) + { + if (array_key_exists($serviceName, $alreadySeen)) { + throw new Core_Foundation_IoC_Exception(sprintf( + 'Cyclic dependency detected while building `%s`.', + $serviceName + )); + } + + $alreadySeen[$serviceName] = true; + + if (!$this->knows($serviceName)) { + $this->bind($serviceName, $serviceName); + } + + $binding = $this->bindings[$serviceName]; + + if ($binding['shared'] && array_key_exists($serviceName, $this->instances)) { + return $this->instances[$serviceName]; + } else { + $constructor = $binding['constructor']; + + if (is_callable($constructor)) { + $service = call_user_func($constructor); + } else if (!is_string($constructor)) { + // user already provided the value, no need to construct it. + $service = $constructor; + } else { + // assume the $constructor is a class name + $service = $this->makeInstanceFromClassName($constructor, $alreadySeen); + } + + if ($binding['shared']) { + $this->instances[$serviceName] = $service; + } + + return $service; + } + } + + public function make($serviceName) + { + return $this->doMake($serviceName, array()); + } +} diff --git a/Core/Foundation/IoC/Core_Foundation_IoC_Exception.php b/Core/Foundation/IoC/Core_Foundation_IoC_Exception.php new file mode 100644 index 00000000..5c49b68b --- /dev/null +++ b/Core/Foundation/IoC/Core_Foundation_IoC_Exception.php @@ -0,0 +1,29 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class Core_Foundation_IoC_Exception extends Core_Foundation_Exception_Exception +{ +} diff --git a/README.md b/README.md index e69de29b..2f63910f 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,113 @@ +About PrestaShop +-------- + +PrestaShop is a free and open-source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc. [See all the available features][1]. + +

+ PrestaShop's back office dashboard +

+ +To download the latest stable public version of PrestaShop, please go to [the download page][2] on the official PrestaShop site. + + +About this repository +-------- + +This repository contains the source code for the latest version of PrestaShop 1.6. + +Clicking the "Download ZIP" button from the root of this repository will download the current state of PrestaShop 1.6 -- which is in active development, and cannot be considered stable. If you want the latest stable version, go to [the download page][2]. + +Note that the ZIP file does not contain the default modules: you need to make a recursive clone using your local Git client in order to download their files too. See [CONTRIBUTING.md][7] for more information about using Git and GitHub. + +Also, the ZIP file contains resources for developers and designers that are not in the public archive, for instance the SCSS sources files for the default themes (in the /default-bootstrap/sass folder) or the unit testing files (in the /tests folder). + + +Server configuration +-------- + +To install PrestaShop, you need a web server running PHP 5.2+ and any flavor of MySQL 5.0+ (MySQL, MariaDB, Percona Server, etc.). +You will also need a database administration tool, such as phpMyAdmin, in order to create a database for PrestaShop. +We recommend the Apache or Nginx web servers. +You can find more information on the [System Administrator Guide][19]. + +If your host does not offer PHP 5 by default, [here are a few explanations][3] about PHP 5 or the `.htaccess` file for certain hosting services (1&1, Free.fr, OVH, Infomaniak, Amen, GoDaddy, etc.). + +If you want your own store with nothing to download and install, you should use [PrestaShop Cloud][4], our 100% free and fully-hosted PrestaShop service: it lets you create your online store in less than 10 minutes without any technical knowledge. Learn more about the [difference between PrestaShop Cloud and PrestaShop Download][10]. + + +Installation +-------- + +Once the files in the PrestaShop archive have been decompressed and uploaded on your hosting space, go to the root of your PrestaShop directory with your web browser, and the PrestaShop installer will start automatically. Follow the instructions until PrestaShop is installed. + +If you get any PHP error, it might be that you do not have PHP 5 on your web server, or that you need to activate it. See [this page for explanations about PHP 5][3], or contact your web host directly. +If you do not find any solution to start the installer, please post about your issue on [the PrestaShop forums][5]. + + +User documentation +-------- + +The official PrestaShop documentation is available online [on its own website][6] + +First-time users will be particularly interested in the following guides: +* [Getting Started][13]: How to install PrestaShop, and what you need to know. +* [User Guide][14]: All there is to know to put PrestaShop to good use. +* [Updating Guide][15]: Switching to the newest version is not trivial. Make sure you do it right. +* [Merchant's Guide][16]: Tips and tricks for first-time online sellers. +* The [FAQ][17] and the [Troubleshooting][18] pages should also be of tremendous help to you. + + +Contributing +-------- + +If you want to contribute code to PrestaShop, read the [CONTRIBUTING.md][7] file in this repository or read the [tutorials about contribution][8] on the documentation site. + +Current [Travis](https://travis-ci.org/) status: [![Travis](https://travis-ci.org/PrestaShop/PrestaShop.svg?branch=1.6)](https://travis-ci.org/PrestaShop/PrestaShop) (The Unit Tests are being implemented, so the status might be broken). + +If you want to help translate PrestaShop in your language, [join us on Crowdin][9]! + +Current Crowdin status (for 69 registered languages): [![Crowdin](https://crowdin.net/badges/prestashop-official/localized.png)](https://crowdin.net/project/prestashop-official) + + +Extending PrestaShop +-------- + +PrestaShop is a very extensible e-commerce platform, both through modules and themes. Developers can even override the default components and behaviors. Learn more about this using the [Developer Guide][11] and the [Designer Guide][12]. + +Themes and modules can be obtained (and sold!) from [PrestaShop Addons][20], the official marketplace for PrestaShop. + + +Community forums +-------- + +You can discuss about e-commerce, help other merchants and get help, and contribute to improving PrestaShop together with the PrestaShop community on [the PrestaShop forums][5]. + + +Getting support +-------- + +If you need help using PrestaShop 1.6, contact the PrestaShop support team: http://support.prestashop.com/. + + +Thank you for downloading and using the PrestaShop open-source e-commerce solution! + +[1]: https://www.prestashop.com/en/online-store-builder +[2]: http://www.prestashop.com/en/download +[3]: http://doc.prestashop.com/display/PS16/Misc.+information#Misc.information-ActivatingPHP5 +[4]: http://www.prestashop.com +[5]: http://www.prestashop.com/forums/ +[6]: http://doc.prestashop.com +[7]: CONTRIBUTING.md +[8]: http://doc.prestashop.com/display/PS16/Contributing+to+PrestaShop +[9]: https://crowdin.net/project/prestashop-official +[10]: https://www.prestashop.com/en/ecommerce-software +[11]: http://doc.prestashop.com/display/PS16/Developer+Guide +[12]: http://doc.prestashop.com/display/PS16/Designer+Guide +[13]: http://doc.prestashop.com/display/PS16/Getting+Started +[14]: http://doc.prestashop.com/display/PS16/User+Guide +[15]: http://doc.prestashop.com/display/PS16/Updating+PrestaShop +[16]: http://doc.prestashop.com/display/PS16/Merchant%27s+Guide +[17]: http://doc.prestashop.com/display/PS16/FAQ +[18]: http://doc.prestashop.com/display/PS16/Troubleshooting +[19]: http://doc.prestashop.com/display/PS16/System+Administrator+Guide +[20]: http://addons.prestashop.com/ diff --git a/_install/classes/controllerConsole.php b/_install/classes/controllerConsole.php new file mode 100644 index 00000000..bf85f25d --- /dev/null +++ b/_install/classes/controllerConsole.php @@ -0,0 +1,166 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +abstract class InstallControllerConsole +{ + /** + * @var array List of installer steps + */ + protected static $steps = array('process'); + + protected static $instances = array(); + + /** + * @var string Current step + */ + public $step; + + /** + * @var array List of errors + */ + public $errors = array(); + + public $controller; + + /** + * @var InstallSession + */ + public $session; + + /** + * @var InstallLanguages + */ + public $language; + + /** + * @var InstallAbstractModel + */ + public $model; + + /** + * Validate current step + */ + abstract public function validate(); + + final public static function execute($argc, $argv) + { + if (!($argc-1)) + { + $available_arguments = Datas::getInstance()->getArgs(); + echo 'Arguments available:'."\n"; + foreach ($available_arguments as $key => $arg) + { + $name = isset($arg['name']) ? $arg['name'] : $key; + echo '--'.$name."\t".(isset($arg['help']) ? $arg['help'] : '').(isset($arg['default']) ? "\t".'(Default: '.$arg['default'].')' : '')."\n"; + } + exit; + } + + $errors = Datas::getInstance()->getAndCheckArgs($argv); + if (Datas::getInstance()->show_license) + { + echo strip_tags(file_get_contents(_PS_INSTALL_PATH_.'theme/views/license_content.phtml')); + exit; + } + + if ($errors !== true) + { + if (count($errors)) + foreach ($errors as $error) + echo $error."\n"; + exit; + } + + if (!file_exists(_PS_INSTALL_CONTROLLERS_PATH_.'console/process.php')) + throw new PrestashopInstallerException("Controller file 'console/process.php' not found"); + + require_once _PS_INSTALL_CONTROLLERS_PATH_.'console/process.php'; + $classname = 'InstallControllerConsoleProcess'; + self::$instances['process'] = new InstallControllerConsoleProcess('process'); + + $datas = Datas::getInstance(); + + /* redefine HTTP_HOST */ + $_SERVER['HTTP_HOST'] = $datas->http_host; + + @date_default_timezone_set($datas->timezone); + + self::$instances['process']->process(); + } + + final public function __construct($step) + { + $this->step = $step; + $this->datas = Datas::getInstance(); + + // Set current language + $this->language = InstallLanguages::getInstance(); + if (!$this->datas->language) + die('No language defined'); + $this->language->setLanguage($this->datas->language); + + $this->init(); + } + + /** + * Initialize model + */ + public function init() + { + } + + public function printErrors() + { + $errors = $this->model_install->getErrors(); + if (count($errors)) + { + if (!is_array($errors)) + $errors = array($errors); + echo 'Errors :'."\n"; + foreach ($errors as $error_process) + foreach ($error_process as $error) + echo (is_string($error) ? $error : print_r($error, true))."\n"; + die; + } + } + + /** + * Get translated string + * + * @param string $str String to translate + * @param ... All other params will be used with sprintf + * @return string + */ + public function l($str) + { + $args = func_get_args(); + return call_user_func_array(array($this->language, 'l'), $args); + } + + public function process() + { + } +} \ No newline at end of file diff --git a/_install/classes/controllerHttp.php b/_install/classes/controllerHttp.php new file mode 100644 index 00000000..62f99eba --- /dev/null +++ b/_install/classes/controllerHttp.php @@ -0,0 +1,469 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +abstract class InstallControllerHttp +{ + /** + * @var array List of installer steps + */ + protected static $steps = array('welcome', 'license', 'system', 'configure', 'database', 'process'); + protected $phone; + protected static $instances = array(); + + /** + * @var string Current step + */ + public $step; + + /** + * @var array List of errors + */ + public $errors = array(); + + public $controller; + + /** + * @var InstallSession + */ + public $session; + + /** + * @var InstallLanguages + */ + public $language; + + /** + * @var bool If false, disable next button access + */ + public $next_button = true; + + /** + * @var bool If false, disable previous button access + */ + public $previous_button = true; + + /** + * @var InstallAbstractModel + */ + public $model; + + /** + * @var array Magic vars + */ + protected $__vars = array(); + + /** + * Process form to go to next step + */ + abstract public function processNextStep(); + + /** + * Validate current step + */ + abstract public function validate(); + + /** + * Display current step view + */ + abstract public function display(); + + final public static function execute() + { + if (Tools::getValue('compile_templates')) + { + require_once (_PS_INSTALL_CONTROLLERS_PATH_.'http/smarty_compile.php'); + exit; + } + + $session = InstallSession::getInstance(); + if (!$session->last_step || $session->last_step == 'welcome') + Tools::generateIndex(); + + // Include all controllers + foreach (self::$steps as $step) + { + if (!file_exists(_PS_INSTALL_CONTROLLERS_PATH_.'http/'.$step.'.php')) + throw new PrestashopInstallerException("Controller file 'http/{$step}.php' not found"); + + require_once _PS_INSTALL_CONTROLLERS_PATH_.'http/'.$step.'.php'; + $classname = 'InstallControllerHttp'.$step; + self::$instances[$step] = new $classname($step); + } + + if (!$session->last_step || !in_array($session->last_step, self::$steps)) + $session->last_step = self::$steps[0]; + + // Set timezone + if ($session->shop_timezone) + @date_default_timezone_set($session->shop_timezone); + + // Get current step (check first if step is changed, then take it from session) + if (Tools::getValue('step')) + { + $current_step = Tools::getValue('step'); + $session->step = $current_step; + } + else + $current_step = (isset($session->step)) ? $session->step : self::$steps[0]; + + if (!in_array($current_step, self::$steps)) + $current_step = self::$steps[0]; + + // Validate all steps until current step. If a step is not valid, use it as current step. + foreach (self::$steps as $check_step) + { + // Do not validate current step + if ($check_step == $current_step) + break; + + if (!self::$instances[$check_step]->validate()) + { + $current_step = $check_step; + $session->step = $current_step; + $session->last_step = $current_step; + break; + } + } + + // Submit form to go to next step + if (Tools::getValue('submitNext')) + { + self::$instances[$current_step]->processNextStep(); + + // If current step is validated, let's go to next step + if (self::$instances[$current_step]->validate()) + $current_step = self::$instances[$current_step]->findNextStep(); + $session->step = $current_step; + + // Change last step + if (self::getStepOffset($current_step) > self::getStepOffset($session->last_step)) + $session->last_step = $current_step; + } + // Go to previous step + else if (Tools::getValue('submitPrevious') && $current_step != self::$steps[0]) + { + $current_step = self::$instances[$current_step]->findPreviousStep($current_step); + $session->step = $current_step; + } + + self::$instances[$current_step]->process(); + self::$instances[$current_step]->display(); + } + + final public function __construct($step) + { + $this->step = $step; + $this->session = InstallSession::getInstance(); + + // Set current language + $this->language = InstallLanguages::getInstance(); + $detect_language = $this->language->detectLanguage(); + if (isset($this->session->lang)) + $lang = $this->session->lang; + else + $lang = (isset($detect_language['primarytag'])) ? $detect_language['primarytag'] : false; + + if (!in_array($lang, $this->language->getIsoList())) + $lang = 'en'; + $this->language->setLanguage($lang); + + $this->init(); + } + + public function init() + { + } + + public function process() + { + } + + /** + * Get steps list + * + * @return array + */ + public function getSteps() + { + return self::$steps; + } + + public function getLastStep() + { + return $this->session->last_step; + } + + /** + * Find offset of a step by name + * + * @param string $step Step name + * @return int + */ + static public function getStepOffset($step) + { + static $flip = null; + + if (is_null($flip)) + $flip = array_flip(self::$steps); + return $flip[$step]; + } + + /** + * Make a HTTP redirection to a step + * + * @param string $step + */ + public function redirect($step) + { + header('location: index.php?step='.$step); + exit; + } + + /** + * Get translated string + * + * @param string $str String to translate + * @param ... All other params will be used with sprintf + * @return string + */ + public function l($str) + { + $args = func_get_args(); + return call_user_func_array(array($this->language, 'l'), $args); + } + + /** + * Find previous step + * + * @param string $step + */ + public function findPreviousStep() + { + return (isset(self::$steps[$this->getStepOffset($this->step) - 1])) ? self::$steps[$this->getStepOffset($this->step) - 1] : false; + } + + /** + * Find next step + * + * @param string $step + */ + public function findNextStep() + { + $nextStep = (isset(self::$steps[$this->getStepOffset($this->step) + 1])) ? self::$steps[$this->getStepOffset($this->step) + 1] : false; + if ($nextStep == 'system' && self::$instances[$nextStep]->validate()) + $nextStep = self::$instances[$nextStep]->findNextStep(); + return $nextStep; + } + + /** + * Check if current step is first step in list of steps + * + * @return bool + */ + public function isFirstStep() + { + return self::getStepOffset($this->step) == 0; + } + + /** + * Check if current step is last step in list of steps + * + * @return bool + */ + public function isLastStep() + { + return self::getStepOffset($this->step) == (count(self::$steps) - 1); + } + + /** + * Check is given step is already finished + * + * @param string $step + * @return bool + */ + public function isStepFinished($step) + { + return self::getStepOffset($step) < self::getStepOffset($this->getLastStep()); + } + + /** + * Get telephone used for this language + * + * @return string + */ + public function getPhone() + { + if (InstallSession::getInstance()->support_phone != null) + return InstallSession::getInstance()->support_phone; + if ($this->phone === null) + { + $this->phone = $this->language->getInformation('phone', false); + if ($iframe = Tools::file_get_contents('http://api.prestashop.com/iframe/install.php?lang='.$this->language->getLanguageIso(), false, null, 3)) + if (preg_match('//Ui', $iframe, $matches) && isset($matches[1])) + $this->phone = $matches[1]; + } + InstallSession::getInstance()->support_phone = $this->phone; + return $this->phone; + } + + /** + * Get link to documentation for this language + * + * Enter description here ... + */ + public function getDocumentationLink() + { + return $this->language->getInformation('documentation'); + } + + /** + * Get link to tutorial video for this language + * + * Enter description here ... + */ + public function getTutorialLink() + { + return $this->language->getInformation('tutorial'); + } + + /** + * Get link to tailored help for this language + * + * Enter description here ... + */ + public function getTailoredHelp() + { + return $this->language->getInformation('tailored_help'); + } + + /** + * Get link to forum for this language + * + * Enter description here ... + */ + public function getForumLink() + { + return $this->language->getInformation('forum'); + } + + /** + * Get link to blog for this language + * + * Enter description here ... + */ + public function getBlogLink() + { + return $this->language->getInformation('blog'); + } + + /** + * Get link to support for this language + * + * Enter description here ... + */ + public function getSupportLink() + { + return $this->language->getInformation('support'); + } + + public function getDocumentationUpgradeLink() + { + return $this->language->getInformation('documentation_upgrade', true); + } + + /** + * Send AJAX response in JSON format {success: bool, message: string} + * + * @param bool $success + * @param string $message + */ + public function ajaxJsonAnswer($success, $message = '') + { + if (!$success && empty($message)) + $message = print_r(@error_get_last(), true); + die(Tools::jsonEncode(array( + 'success' => (bool)$success, + 'message' => $message, + // 'memory' => round(memory_get_peak_usage()/1024/1024, 2).' Mo', + ))); + } + + /** + * Display a template + * + * @param string $template Template name + * @param bool $get_output Is true, return template html + * @return string + */ + public function displayTemplate($template, $get_output = false, $path = null) + { + if (!$path) + $path = _PS_INSTALL_PATH_.'theme/views/'; + + if (!file_exists($path.$template.'.phtml')) + throw new PrestashopInstallerException("Template '{$template}.phtml' not found"); + + if ($get_output) + ob_start(); + + include($path.$template.'.phtml'); + + if ($get_output) + { + $content = ob_get_contents(); + if (ob_get_level() && ob_get_length() > 0) + ob_end_clean(); + return $content; + } + } + + public function &__get($varname) + { + if (isset($this->__vars[$varname])) + $ref = &$this->__vars[$varname]; + else + { + $null = null; + $ref = &$null; + } + return $ref; + } + + public function __set($varname, $value) + { + $this->__vars[$varname] = $value; + } + + public function __isset($varname) + { + return isset($this->__vars[$varname]); + } + + public function __unset($varname) + { + unset($this->__vars[$varname]); + } +} diff --git a/_install/classes/datas.php b/_install/classes/datas.php new file mode 100644 index 00000000..47ebc0cc --- /dev/null +++ b/_install/classes/datas.php @@ -0,0 +1,229 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class Datas +{ + private static $instance = null; + protected static $available_args = array( + 'step' => array( + 'name' => 'step', + 'default' => 'all', + 'validate' => 'isGenericName', + 'help' => 'all / database,fixtures,theme,modules,addons_modules', + ), + 'language' => array( + 'default' => 'en', + 'validate' => 'isLanguageIsoCode', + 'alias' => 'l', + 'help' => 'language iso code', + ), + 'all_languages' => array( + 'default' => '0', + 'validate' => 'isInt', + 'alias' => 'l', + 'help' => 'install all available languages', + ), + 'timezone' => array( + 'default' => 'Europe/Paris', + 'alias' => 't', + ), + 'base_uri' => array( + 'name' => 'base_uri', + 'validate' => 'isUrl', + 'default' => '/', + ), + 'http_host' => array( + 'name' => 'domain', + 'validate' => 'isGenericName', + 'default' => 'localhost', + ), + 'database_server' => array( + 'name' => 'db_server', + 'default' => 'localhost', + 'validate' => 'isGenericName', + 'alias' => 'h', + ), + 'database_login' => array( + 'name' => 'db_user', + 'alias' => 'u', + 'default' => 'root', + 'validate' => 'isGenericName', + ), + 'database_password' => array( + 'name' => 'db_password', + 'alias' => 'p', + 'default' => '', + ), + 'database_name' => array( + 'name' => 'db_name', + 'alias' => 'd', + 'default' => 'prestashop', + 'validate' => 'isGenericName', + ), + 'database_clear' => array( + 'name' => 'db_clear', + 'default' => '1', + 'validate' => 'isInt', + 'help' => 'Drop existing tables' + ), + 'database_create' => array( + 'name' => 'db_create', + 'default' => '0', + 'validate' => 'isInt', + 'help' => 'Create the database if not exist' + ), + 'database_prefix' => array( + 'name' => 'prefix', + 'default' => 'ps_', + 'validate' => 'isGenericName', + ), + 'database_engine' => array( + 'name' => 'engine', + 'validate' => 'isMySQLEngine', + 'default' => 'InnoDB', + 'help' => 'InnoDB/MyISAM', + ), + 'shop_name' => array( + 'name' => 'name', + 'validate' => 'isGenericName', + 'default' => 'PrestaShop', + ), + 'shop_activity' => array( + 'name' => 'activity', + 'default' => 0, + 'validate' => 'isInt', + ), + 'shop_country' => array( + 'name' => 'country', + 'validate' => 'isLanguageIsoCode', + 'default' => 'fr', + ), + 'admin_firstname' => array( + 'name' => 'firstname', + 'validate' => 'isName', + 'default' => 'John', + ), + 'admin_lastname' => array( + 'name' => 'lastname', + 'validate' => 'isName', + 'default' => 'Doe', + ), + 'admin_password' => array( + 'name' => 'password', + 'validate' => 'isPasswd', + 'default' => '0123456789', + ), + 'admin_email' => array( + 'name' => 'email', + 'validate' => 'isEmail', + 'default' => 'pub@prestashop.com' + ), + 'show_license' => array( + 'name' => 'license', + 'default' => 0, + 'help' => 'show PrestaShop license' + ), + 'newsletter' => array( + 'name' => 'newsletter', + 'default' => 1, + 'help' => 'get news from PrestaShop', + ), + 'send_email' => array( + 'name' => 'send_email', + 'default' => 1, + 'help' => 'send an email to the administrator after installation', + ), + ); + + protected $datas = array(); + + public function __get($key) + { + if (isset($this->datas[$key])) + return $this->datas[$key]; + + return false; + } + + public function __set($key, $value) + { + $this->datas[$key] = $value; + } + + public static function getInstance() + { + if (Datas::$instance === null) + Datas::$instance = new Datas(); + return Datas::$instance; + } + + public static function getArgs() + { + return Datas::$available_args; + } + + public function getAndCheckArgs($argv) + { + if (!$argv) + return false; + + $args_ok = array(); + foreach ($argv as $arg) + { + if (!preg_match('/^--([^=\'"><|`]+)(?:=([^=><|`]+)|(?!license))/i', trim($arg), $res)) + continue; + + if ($res[1] == 'license' && !isset($res[2])) + $res[2] = 1; + elseif (!isset($res[2])) + continue; + + $args_ok[$res[1]] = $res[2]; + } + + $errors = array(); + foreach (Datas::getArgs() as $key => $row) + { + if (isset($row['name'])) + $name = $row['name']; + else + $name = $key; + if (!isset($args_ok[$name])) + { + if (!isset($row['default'])) + $errors[] = 'Field '.$row['name'].' is empty'; + else + $this->$key = $row['default']; + } + elseif (isset($row['validate']) && !call_user_func(array('Validate', $row['validate']), $args_ok[$name])) + $errors[] = 'Field '.$key.' is not valid'; + else + $this->$key = $args_ok[$name]; + } + + return count($errors) ? $errors : true; + } +} diff --git a/_install/classes/exception.php b/_install/classes/exception.php new file mode 100644 index 00000000..981b72d0 --- /dev/null +++ b/_install/classes/exception.php @@ -0,0 +1,29 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class PrestashopInstallerException extends PrestaShopException +{ +} diff --git a/_install/classes/index.php b/_install/classes/index.php new file mode 100644 index 00000000..c642967a --- /dev/null +++ b/_install/classes/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; \ No newline at end of file diff --git a/_install/classes/language.php b/_install/classes/language.php new file mode 100644 index 00000000..06f2e38f --- /dev/null +++ b/_install/classes/language.php @@ -0,0 +1,113 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallLanguage +{ + /** + * @var string Current language folder + */ + protected $path; + + /** + * @var string Current language iso + */ + protected $iso; + + /** + * @var array Cache list of installer translations for this language + */ + protected $data; + + protected $fixtures_data; + + /** + * @var array Cache list of informations in language.xml file + */ + protected $meta; + + /** + * @var array Cache list of countries for this language + */ + protected $countries; + + public function __construct($iso) + { + $this->path = _PS_INSTALL_LANGS_PATH_.$iso.'/'; + $this->iso = $iso; + } + + /** + * Get iso for current language + * + * @return string + */ + public function getIso() + { + return $this->iso; + } + + /** + * Get an information from language.xml file (E.g. $this->getMetaInformation('name')) + * + * @param string $key + * @return string + */ + public function getMetaInformation($key) + { + if (!is_array($this->meta)) + { + $this->meta = array(); + $xml = simplexml_load_file($this->path.'language.xml'); + foreach ($xml->children() as $node) + $this->meta[$node->getName()] = (string)$node; + } + + return isset($this->meta[$key]) ? $this->meta[$key] : null; + } + + public function getTranslation($key, $type = 'translations') + { + if (!is_array($this->data)) + $this->data = file_exists($this->path.'install.php') ? include($this->path.'install.php') : array(); + + return isset($this->data[$type][$key]) ? $this->data[$type][$key] : null; + } + + public function getCountries() + { + if (!is_array($this->countries)) + { + $this->countries = array(); + if (file_exists($this->path.'data/country.xml')) + { + if ($xml = simplexml_load_file($this->path.'data/country.xml')) + foreach ($xml->country as $country) + $this->countries[strtolower((string)$country['id'])] = (string)$country->name; + } + } + return $this->countries; + } +} diff --git a/_install/classes/languages.php b/_install/classes/languages.php new file mode 100644 index 00000000..e7386b63 --- /dev/null +++ b/_install/classes/languages.php @@ -0,0 +1,216 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallLanguages +{ + const DEFAULT_ISO = 'en'; + /** + * @var array List of available languages + */ + protected $languages; + + /** + * @var string Current language + */ + protected $language; + + /** + * @var InstallLanguage Default language (english) + */ + protected $default; + + protected static $_instance; + + public static function getInstance() + { + if (!self::$_instance) + self::$_instance = new self(); + return self::$_instance; + } + + public function __construct() + { + // English language is required + if (!file_exists(_PS_INSTALL_LANGS_PATH_.'en/language.xml')) + throw new PrestashopInstallerException('English language is missing'); + + $this->languages = array( + self::DEFAULT_ISO => new InstallLanguage(self::DEFAULT_ISO), + ); + + // Load other languages + foreach (scandir(_PS_INSTALL_LANGS_PATH_) as $lang) + if ($lang[0] != '.' && is_dir(_PS_INSTALL_LANGS_PATH_.$lang) && $lang != self::DEFAULT_ISO && file_exists(_PS_INSTALL_LANGS_PATH_.$lang.'/install.php')) + $this->languages[$lang] = new InstallLanguage($lang); + uasort($this->languages, 'ps_usort_languages'); + } + + /** + * Set current language + * + * @param string $iso Language iso + */ + public function setLanguage($iso) + { + if (!in_array($iso, $this->getIsoList())) + throw new PrestashopInstallerException('Language '.$iso.' not found'); + $this->language = $iso; + } + + /** + * Get current language + * + * @return string + */ + public function getLanguageIso() + { + return $this->language; + } + + /** + * Get current language + * + * @return InstallLanguage + */ + public function getLanguage($iso = null) + { + if (!$iso) + $iso = $this->language; + return $this->languages[$iso]; + } + + public function getIsoList() + { + return array_keys($this->languages); + } + + /** + * Get list of languages iso supported by installer + * + * @return array + */ + public function getLanguages() + { + return $this->languages; + } + + /** + * Get translated string + * + * @param string $str String to translate + * @param ... All other params will be used with sprintf + * @return string + */ + public function l($str) + { + $args = func_get_args(); + $translation = $this->getLanguage()->getTranslation($args[0]); + if (is_null($translation)) + { + $translation = $this->getLanguage(self::DEFAULT_ISO)->getTranslation($args[0]); + if (is_null($translation)) + $translation = $args[0]; + } + + $args[0] = $translation; + if(count($args) > 1) + return call_user_func_array('sprintf', $args); + else + return $translation; + } + + /** + * Get an information from language (phone, links, etc.) + * + * @param string $key Information identifier + */ + public function getInformation($key, $with_default = true) + { + $information = $this->getLanguage()->getTranslation($key, 'informations'); + if (is_null($information) && $with_default) + return $this->getLanguage(self::DEFAULT_ISO)->getTranslation($key, 'informations'); + return $information; + } + + /** + * Get list of countries for current language + * + * @return array + */ + public function getCountries() + { + static $countries = null; + + if (is_null($countries)) + { + $countries = array(); + $countries_lang = $this->getLanguage()->getCountries(); + $countries_default = $this->getLanguage(self::DEFAULT_ISO)->getCountries(); + $xml = simplexml_load_file(_PS_INSTALL_DATA_PATH_.'xml/country.xml'); + foreach ($xml->entities->country as $country) + { + $iso = strtolower((string)$country['iso_code']); + $countries[$iso] = isset($countries_lang[$iso]) ? $countries_lang[$iso] : $countries_default[$iso]; + } + asort($countries); + } + + return $countries; + } + + /** + * Parse HTTP_ACCEPT_LANGUAGE and get first data matching list of available languages + * + * @return bool|array + */ + public function detectLanguage() + { + // This code is from a php.net comment : http://www.php.net/manual/fr/reserved.variables.server.php#94237 + $split_languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); + if (!is_array($split_languages)) + return false; + + foreach ($split_languages as $lang) + { + $pattern = '/^(?P[a-zA-Z]{2,8})'. + '(?:-(?P[a-zA-Z]{2,8}))?(?:(?:;q=)'. + '(?P\d\.\d))?$/'; + if (preg_match($pattern, $lang, $m)) + if (in_array($m['primarytag'], $this->getIsoList())) + return $m; + } + return false; + } +} + +function ps_usort_languages($a, $b) +{ + $aname = $a->getMetaInformation('name'); + $bname = $b->getMetaInformation('name'); + if ($aname == $bname) + return 0; + return ($aname < $bname) ? -1 : 1; +} diff --git a/_install/classes/model.php b/_install/classes/model.php new file mode 100644 index 00000000..2ceb1f60 --- /dev/null +++ b/_install/classes/model.php @@ -0,0 +1,56 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +abstract class InstallAbstractModel +{ + /** + * @var InstallLanguages + */ + public $language; + + /** + * @var array List of errors + */ + protected $errors = array(); + + public function __construct() + { + $this->language = InstallLanguages::getInstance(); + } + + public function setError($errors) + { + if (!is_array($errors)) + $errors = array($errors); + + $this->errors[] = $errors; + } + + public function getErrors() + { + return $this->errors; + } +} diff --git a/_install/classes/session.php b/_install/classes/session.php new file mode 100644 index 00000000..3afcbbf6 --- /dev/null +++ b/_install/classes/session.php @@ -0,0 +1,119 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Manage session for install script + */ +class InstallSession +{ + protected static $_instance; + protected static $_cookie_mode = false; + protected static $_cookie = false; + + public static function getInstance() + { + if (!self::$_instance) + self::$_instance = new self(); + return self::$_instance; + } + + public function __construct() + { + session_name('install_'.substr(md5($_SERVER['HTTP_HOST']), 0, 12)); + $session_started = session_start(); + if (!($session_started) + || (!isset($_SESSION['session_mode']) && (isset($_GET['_']) || isset($_POST['submitNext']) || isset($_POST['submitPrevious']) || isset($_POST['language'])))) + { + InstallSession::$_cookie_mode = true; + InstallSession::$_cookie = new Cookie('ps_install', null, time() + 7200, null, true); + } + if ($session_started && !isset($_SESSION['session_mode'])) + { + $_SESSION['session_mode'] = 'session'; + session_write_close(); + } + } + + public function clean() + { + if (InstallSession::$_cookie_mode) + InstallSession::$_cookie->logout(); + else + foreach ($_SESSION as $k => $v) + unset($_SESSION[$k]); + } + + public function &__get($varname) + { + if (InstallSession::$_cookie_mode) + { + $ref = InstallSession::$_cookie->{$varname}; + if (0 === strncmp($ref, 'serialized_array:', strlen('serialized_array:'))) + $ref = unserialize(substr($ref, strlen('serialized_array:'))); + } + else + { + if (isset($_SESSION[$varname])) + $ref = &$_SESSION[$varname]; + else + { + $null = null; + $ref = &$null; + } + } + return $ref; + } + + public function __set($varname, $value) + { + if (InstallSession::$_cookie_mode) + { + if ($varname == 'xml_loader_ids') + return; + if (is_array($value)) + $value = 'serialized_array:'.serialize($value); + InstallSession::$_cookie->{$varname} = $value; + } + else + $_SESSION[$varname] = $value; + } + + public function __isset($varname) + { + if (InstallSession::$_cookie_mode) + return isset(InstallSession::$_cookie->{$varname}); + else + return isset($_SESSION[$varname]); + } + + public function __unset($varname) + { + if (InstallSession::$_cookie_mode) + unset(InstallSession::$_cookie->{$varname}); + else + unset($_SESSION[$varname]); + } +} diff --git a/_install/classes/simplexml.php b/_install/classes/simplexml.php new file mode 100644 index 00000000..576a3b64 --- /dev/null +++ b/_install/classes/simplexml.php @@ -0,0 +1,71 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallSimplexmlElement extends SimpleXMLElement +{ + /** + * Can add SimpleXMLElement values in XML tree + * + * @see SimpleXMLElement::addChild() + */ + public function addChild($name, $value = null, $namespace = null) + { + if ($value instanceof SimplexmlElement) + { + $content = trim((string)$value); + if (strlen($content) > 0) + $new_element = parent::addChild($name, str_replace('&', '&', $content), $namespace); + else + { + $new_element = parent::addChild($name); + foreach ($value->attributes() as $k => $v) + $new_element->addAttribute($k, $v); + } + + foreach ($value->children() as $child) + $new_element->addChild($child->getName(), $child); + } + else + return parent::addChild($name, str_replace('&', '&', $value), $namespace); + } + + /** + * Generate nice and sweet XML + * + * @see SimpleXMLElement::asXML() + */ + public function asXML($filename = null) + { + $dom = new DOMDocument('1.0'); + $dom->preserveWhiteSpace = false; + $dom->formatOutput = true; + $dom->loadXML(parent::asXML()); + + if ($filename) + return (bool)file_put_contents($filename, $dom->saveXML()); + return $dom->saveXML(); + } +} \ No newline at end of file diff --git a/_install/classes/sqlLoader.php b/_install/classes/sqlLoader.php new file mode 100644 index 00000000..d5b2dc83 --- /dev/null +++ b/_install/classes/sqlLoader.php @@ -0,0 +1,122 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallSqlLoader +{ + /** + * @var Db + */ + protected $db; + + /** + * @var array List of keywords which will be replaced in queries + */ + protected $metadata = array(); + + /** + * @var array List of errors during last parsing + */ + protected $errors = array(); + + /** + * @param Db $db + */ + public function __construct(Db $db = null) + { + if (is_null($db)) + $db = Db::getInstance(); + $this->db = $db; + } + + /** + * Set a list of keywords which will be replaced in queries + * + * @param array $data + */ + public function setMetaData(array $data) + { + foreach ($data as $k => $v) + $this->metadata[$k] = $v; + } + + /** + * Parse a SQL file and execute queries + * + * @param string $filename + * @param bool $stop_when_fail + */ + public function parse_file($filename, $stop_when_fail = true) + { + if (!file_exists($filename)) + throw new PrestashopInstallerException("File $filename not found"); + + return $this->parse(file_get_contents($filename), $stop_when_fail); + } + + /** + * Parse and execute a list of SQL queries + * + * @param string $content + * @param bool $stop_when_fail + */ + public function parse($content, $stop_when_fail = true) + { + $this->errors = array(); + + $content = str_replace(array_keys($this->metadata), array_values($this->metadata), $content); + $queries = preg_split('#;\s*[\r\n]+#', $content); + foreach ($queries as $query) + { + $query = trim($query); + if (!$query) + continue; + + if (!$this->db->execute($query)) + { + $this->errors[] = array( + 'errno' => $this->db->getNumberError(), + 'error' => $this->db->getMsgError(), + 'query' => $query, + ); + + if ($stop_when_fail) + return false; + } + } + + return count($this->errors) ? false : true; + } + + /** + * Get list of errors from last parsing + * + * @return array + */ + public function getErrors() + { + return $this->errors; + } +} diff --git a/_install/classes/xmlLoader.php b/_install/classes/xmlLoader.php new file mode 100644 index 00000000..e9c905b6 --- /dev/null +++ b/_install/classes/xmlLoader.php @@ -0,0 +1,1285 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallXmlLoader +{ + /** + * @var InstallLanguages + */ + protected $language; + + /** + * @var array List of languages stored as array(id_lang => iso) + */ + protected $languages = array(); + + /** + * @var array Store in cache all loaded XML files + */ + protected $cache_xml_entity = array(); + + /** + * @var array List of errors + */ + protected $errors = array(); + + protected $data_path; + protected $lang_path; + protected $img_path; + public $path_type; + + protected $ids = array(); + + protected $primaries = array(); + + protected $delayed_inserts = array(); + + public function __construct() + { + $this->language = InstallLanguages::getInstance(); + $this->setDefaultPath(); + } + + /** + * Set list of installed languages + * + * @param array $languages array(id_lang => iso) + */ + public function setLanguages(array $languages) + { + $this->languages = $languages; + } + + public function setDefaultPath() + { + $this->path_type = 'common'; + $this->data_path = _PS_INSTALL_DATA_PATH_.'xml/'; + $this->lang_path = _PS_INSTALL_LANGS_PATH_; + $this->img_path = _PS_INSTALL_DATA_PATH_.'img/'; + } + + public function setFixturesPath($path = null) + { + if ($path === null) + $path = _PS_INSTALL_FIXTURES_PATH_.'fashion/'; + + $this->path_type = 'fixture'; + $this->data_path = $path.'data/'; + $this->lang_path = $path.'langs/'; + $this->img_path = $path.'img/'; + } + + /** + * Get list of errors + * + * @return array + */ + public function getErrors() + { + return $this->errors; + } + + /** + * Add an error + * + * @param string $error + */ + public function setError($error) + { + $this->errors[] = $error; + } + + /** + * Store an ID related to an entity and its identifier (E.g. we want to save that product with ID "ipod_nano" has the ID 1) + * + * @param string $entity + * @param string $identifier + * @param int $id + */ + public function storeId($entity, $identifier, $id) + { + $this->ids[$entity.':'.$identifier] = $id; + } + + /** + * Retrieve an ID related to an entity and its identifier + * + * @param string $entity + * @param string $identifier + */ + public function retrieveId($entity, $identifier) + { + return isset($this->ids[$entity.':'.$identifier]) ? $this->ids[$entity.':'.$identifier] : 0; + } + + public function getIds() + { + return $this->ids; + } + + public function setIds($ids) + { + $this->ids = $ids; + } + + public function getSortedEntities() + { + // Browse all XML files from data/xml directory + $entities = array(); + $dependencies = array(); + $fd = opendir($this->data_path); + while ($file = readdir($fd)) + if (preg_match('#^(.+)\.xml$#', $file, $m)) + { + $entity = $m[1]; + $xml = $this->loadEntity($entity); + + // Store entities dependencies (with field type="relation") + if ($xml->fields) + { + foreach ($xml->fields->field as $field) + { + if ($field['relation'] && $field['relation'] != $entity) + { + if (!isset($dependencies[(string)$field['relation']])) + $dependencies[(string)$field['relation']] = array(); + $dependencies[(string)$field['relation']][] = $entity; + } + } + } + $entities[] = $entity; + } + closedir($fd); + + // Sort entities to populate database in good order (E.g. zones before countries) + do + { + $current = (isset($sort_entities)) ? $sort_entities : array(); + $sort_entities = array(); + foreach ($entities as $key => $entity) + { + if (isset($dependencies[$entity])) + { + $min = count($entities) - 1; + foreach ($dependencies[$entity] as $item) + if (($key = array_search($item, $sort_entities)) !== false) + $min = min($min, $key); + if ($min == 0) + array_unshift($sort_entities, $entity); + else + array_splice($sort_entities, $min, 0, array($entity)); + } + else + $sort_entities[] = $entity; + } + $entities = $sort_entities; + } + while ($current != $sort_entities); + + return $sort_entities; + } + + /** + * Read all XML files from data folder and populate tables + */ + public function populateFromXmlFiles() + { + $entities = $this->getSortedEntities(); + + // Populate entities + foreach ($entities as $entity) + $this->populateEntity($entity); + } + + /** + * Populate an entity + * + * @param string $entity + */ + public function populateEntity($entity) + { + if (method_exists($this, 'populateEntity'.Tools::toCamelCase($entity))) + { + $this->{'populateEntity'.Tools::toCamelCase($entity)}(); + return; + } + + if (substr($entity, 0, 1) == '.' || substr($entity, 0, 1) == '_') + return; + + $xml = $this->loadEntity($entity); + + // Read list of fields + if (!is_object($xml) || !$xml->fields) + throw new PrestashopInstallerException('List of fields not found for entity '.$entity); + + if ($this->isMultilang($entity)) + { + $multilang_columns = $this->getColumns($entity, true); + $xml_langs = array(); + $default_lang = null; + foreach ($this->languages as $id_lang => $iso) + { + if ($iso == $this->language->getLanguageIso()) + $default_lang = $id_lang; + + try + { + $xml_langs[$id_lang] = $this->loadEntity($entity, $iso); + } + catch (PrestashopInstallerException $e) + { + $xml_langs[$id_lang] = null; + } + } + } + + // Load all row for current entity and prepare data to be populated + foreach ($xml->entities->$entity as $node) + { + $data = array(); + $identifier = (string)$node['id']; + + // Read attributes + foreach ($node->attributes() as $k => $v) + if ($k != 'id') + $data[$k] = (string)$v; + + // Read cdatas + foreach ($node->children() as $child) + $data[$child->getName()] = (string)$child; + + // Load multilang data + $data_lang = array(); + if ($this->isMultilang($entity)) + { + $xpath_query = $entity.'[@id="'.$identifier.'"]'; + foreach ($xml_langs as $id_lang => $xml_lang) + { + if (!$xml_lang) + continue; + + if (($node_lang = $xml_lang->xpath($xpath_query)) || ($node_lang = $xml_langs[$default_lang]->xpath($xpath_query))) + { + $node_lang = $node_lang[0]; + foreach ($multilang_columns as $column => $is_text) + { + $value = ''; + if ($node_lang[$column]) + $value = (string)$node_lang[$column]; + + if ($node_lang->$column) + $value = (string)$node_lang->$column; + $data_lang[$column][$id_lang] = $value; + } + } + } + } + + $data = $this->rewriteRelationedData($entity, $data); + if (method_exists($this, 'createEntity'.Tools::toCamelCase($entity))) + { + // Create entity with custom method in current class + $method = 'createEntity'.Tools::toCamelCase($entity); + $this->$method($identifier, $data, $data_lang); + } + else + $this->createEntity($entity, $identifier, (string)$xml->fields['class'], $data, $data_lang); + + if ($xml->fields['image']) + { + if (method_exists($this, 'copyImages'.Tools::toCamelCase($entity))) + $this->{'copyImages'.Tools::toCamelCase($entity)}($identifier, $data); + else + $this->copyImages($entity, $identifier, (string)$xml->fields['image'], $data); + } + } + + $this->flushDelayedInserts(); + unset($this->cache_xml_entity[$this->path_type][$entity]); + } + + protected function getFallBackToDefaultLanguage($iso) + { + return file_exists($this->lang_path.$iso.'/data/') ? $iso : 'en'; + } + + /** + * Special case for "tag" entity + */ + public function populateEntityTag() + { + foreach ($this->languages as $id_lang => $iso) + { + if (!file_exists($this->lang_path.$this->getFallBackToDefaultLanguage($iso).'/data/tag.xml')) + continue; + + $xml = $this->loadEntity('tag', $this->getFallBackToDefaultLanguage($iso)); + $tags = array(); + foreach ($xml->tag as $tag_node) + { + $products = trim((string)$tag_node['products']); + if (!$products) + continue; + + foreach (explode(',', $products) as $product) + { + $product = trim($product); + $product_id = $this->retrieveId('product', $product); + if (!isset($tags[$product_id])) + $tags[$product_id] = array(); + $tags[$product_id][] = trim((string)$tag_node['name']); + } + } + + foreach ($tags as $id_product => $tag_list) + Tag::addTags($id_lang, $id_product, $tag_list); + } + } + + /** + * Load an entity XML file + * + * @param string $entity + * @return SimpleXMLElement + */ + protected function loadEntity($entity, $iso = null) + { + if (!isset($this->cache_xml_entity[$this->path_type][$entity][$iso])) + { + if (substr($entity, 0, 1) == '.' || substr($entity, 0, 1) == '_') + return; + + $path = $this->data_path.$entity.'.xml'; + if ($iso) + $path = $this->lang_path.$this->getFallBackToDefaultLanguage($iso).'/data/'.$entity.'.xml'; + + if (!file_exists($path)) + throw new PrestashopInstallerException('XML data file '.$entity.'.xml not found'); + + $this->cache_xml_entity[$this->path_type][$entity][$iso] = @simplexml_load_file($path, 'InstallSimplexmlElement'); + if (!$this->cache_xml_entity[$this->path_type][$entity][$iso]) + throw new PrestashopInstallerException('XML data file '.$entity.'.xml invalid'); + } + + return $this->cache_xml_entity[$this->path_type][$entity][$iso]; + } + + /** + * Check fields related to an other entity, and replace their values by the ID created by the other entity + * + * @param string $entity + * @param array $data + */ + protected function rewriteRelationedData($entity, array $data) + { + $xml = $this->loadEntity($entity); + foreach ($xml->fields->field as $field) + if ($field['relation']) + { + $id = $this->retrieveId((string)$field['relation'], $data[(string)$field['name']]); + if (!$id && $data[(string)$field['name']] && is_numeric($data[(string)$field['name']])) + $id = $data[(string)$field['name']]; + $data[(string)$field['name']] = $id; + } + return $data; + } + + public function flushDelayedInserts() + { + foreach ($this->delayed_inserts as $entity => $queries) + { + $type = Db::INSERT_IGNORE; + if ($entity == 'access') + $type = Db::REPLACE; + + if (!Db::getInstance()->insert($entity, $queries, false, true, $type)) + $this->setError($this->language->l('An SQL error occurred for entity %1$s: %2$s', $entity, Db::getInstance()->getMsgError())); + unset($this->delayed_inserts[$entity]); + } + } + + /** + * Create a simple entity with all its data and lang data + * If a methode createEntity$entity exists, use it. Else if $classname is given, use it. Else do a simple insert in database. + * + * @param string $entity + * @param string $identifier + * @param string $classname + * @param array $data + * @param array $data_lang + */ + public function createEntity($entity, $identifier, $classname, array $data, array $data_lang = array()) + { + $xml = $this->loadEntity($entity); + if ($classname) + { + // Create entity with ObjectModel class + $object = new $classname(); + $object->hydrate($data); + if ($data_lang) + $object->hydrate($data_lang); + $object->add(true, (isset($xml->fields['null'])) ? true : false); + $entity_id = $object->id; + unset($object); + } + else + { + // Generate primary key manually + $primary = ''; + $entity_id = 0; + if (!$xml->fields['primary']) + $primary = 'id_'.$entity; + else if (strpos((string)$xml->fields['primary'], ',') === false) + $primary = (string)$xml->fields['primary']; + unset($xml); + + if ($primary) + { + $entity_id = $this->generatePrimary($entity, $primary); + $data[$primary] = $entity_id; + } + + // Store INSERT queries in order to optimize install with grouped inserts + $this->delayed_inserts[$entity][] = array_map('pSQL', $data); + if ($data_lang) + { + $real_data_lang = array(); + foreach ($data_lang as $field => $list) + foreach ($list as $id_lang => $value) + $real_data_lang[$id_lang][$field] = $value; + + foreach ($real_data_lang as $id_lang => $insert_data_lang) + { + $insert_data_lang['id_'.$entity] = $entity_id; + $insert_data_lang['id_lang'] = $id_lang; + $this->delayed_inserts[$entity.'_lang'][] = array_map('pSQL', $insert_data_lang); + } + + // Store INSERT queries for _shop associations + $entity_asso = Shop::getAssoTable($entity); + if ($entity_asso !== false && $entity_asso['type'] == 'shop') + $this->delayed_inserts[$entity.'_shop'][] = array( + 'id_shop' => 1, + 'id_'.$entity => $entity_id, + ); + } + } + + $this->storeId($entity, $identifier, $entity_id); + } + + public function createEntityConfiguration($identifier, array $data, array $data_lang) + { + if (Db::getInstance()->getValue('SELECT id_configuration FROM '._DB_PREFIX_.'configuration WHERE name = \''.pSQL($data['name']).'\'')) + return; + + $entity = 'configuration'; + $entity_id = $this->generatePrimary($entity, 'id_configuration'); + $data['id_configuration'] = $entity_id; + + // Store INSERT queries in order to optimize install with grouped inserts + $this->delayed_inserts[$entity][] = array_map('pSQL', $data); + if ($data_lang) + { + $real_data_lang = array(); + foreach ($data_lang as $field => $list) + foreach ($list as $id_lang => $value) + $real_data_lang[$id_lang][$field] = $value; + + foreach ($real_data_lang as $id_lang => $insert_data_lang) + { + $insert_data_lang['id_'.$entity] = $entity_id; + $insert_data_lang['id_lang'] = $id_lang; + $this->delayed_inserts[$entity.'_lang'][] = array_map('pSQL', $insert_data_lang); + } + } + + $this->storeId($entity, $identifier, $entity_id); + } + + public function createEntityStockAvailable($identifier, array $data, array $data_lang) + { + $stock_available = new StockAvailable(); + $stock_available->updateQuantity($data['id_product'], $data['id_product_attribute'], $data['quantity'], $data['id_shop']); + } + + public function createEntityTab($identifier, array $data, array $data_lang) + { + static $position = array(); + + $entity = 'tab'; + $xml = $this->loadEntity($entity); + + if (!isset($position[$data['id_parent']])) + $position[$data['id_parent']] = 0; + $data['position'] = $position[$data['id_parent']]++; + + // Generate primary key manually + $primary = ''; + $entity_id = 0; + if (!$xml->fields['primary']) + $primary = 'id_'.$entity; + else if (strpos((string)$xml->fields['primary'], ',') === false) + $primary = (string)$xml->fields['primary']; + + if ($primary) + { + $entity_id = $this->generatePrimary($entity, $primary); + $data[$primary] = $entity_id; + } + + // Store INSERT queries in order to optimize install with grouped inserts + $this->delayed_inserts[$entity][] = array_map('pSQL', $data); + if ($data_lang) + { + $real_data_lang = array(); + foreach ($data_lang as $field => $list) + foreach ($list as $id_lang => $value) + $real_data_lang[$id_lang][$field] = $value; + + foreach ($real_data_lang as $id_lang => $insert_data_lang) + { + $insert_data_lang['id_'.$entity] = $entity_id; + $insert_data_lang['id_lang'] = $id_lang; + $this->delayed_inserts[$entity.'_lang'][] = array_map('pSQL', $insert_data_lang); + } + } + + $this->storeId($entity, $identifier, $entity_id); + } + + public function generatePrimary($entity, $primary) + { + if (!isset($this->primaries[$entity])) + $this->primaries[$entity] = (int)Db::getInstance()->getValue('SELECT '.$primary.' FROM '._DB_PREFIX_.$entity.' ORDER BY '.$primary.' DESC'); + return ++$this->primaries[$entity]; + } + + public function copyImages($entity, $identifier, $path, array $data, $extension = 'jpg') + { + // Get list of image types + $reference = array( + 'product' => 'products', + 'category' => 'categories', + 'manufacturer' => 'manufacturers', + 'supplier' => 'suppliers', + 'scene' => 'scenes', + 'store' => 'stores', + ); + + $types = array(); + if (isset($reference[$entity])) + $types = ImageType::getImagesTypes($reference[$entity]); + + // For each path copy images + $path = array_map('trim', explode(',', $path)); + foreach ($path as $p) + { + $from_path = $this->img_path.$p.'/'; + $dst_path = _PS_IMG_DIR_.$p.'/'; + $entity_id = $this->retrieveId($entity, $identifier); + + if (!@copy($from_path.$identifier.'.'.$extension, $dst_path.$entity_id.'.'.$extension)) + { + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier, $entity)); + return; + } + + foreach ($types as $type) + { + $origin_file = $from_path.$identifier.'-'.$type['name'].'.'.$extension; + $target_file = $dst_path.$entity_id.'-'.$type['name'].'.'.$extension; + + // Test if dest folder is writable + if (!is_writable(dirname($target_file))) + $this->setError($this->language->l('Cannot create image "%1$s" (bad permissions on folder "%2$s")', $identifier.'-'.$type['name'], dirname($target_file))); + // If a file named folder/entity-type.extension exists just copy it, this is an optimisation in order to prevent to much resize + elseif (file_exists($origin_file)) + { + if (!@copy($origin_file, $target_file)) + $this->setError($this->language->l('Cannot create image "%s"', $identifier.'-'.$type['name'])); + @chmod($target_file, 0644); + } + // Resize the image if no cache was prepared in fixtures + elseif (!ImageManager::resize($from_path.$identifier.'.'.$extension, $target_file, $type['width'], $type['height'])) + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier.'-'.$type['name'], $entity)); + } + } + Image::moveToNewFileSystem(); + } + + public function copyImagesScene($identifier, array $data) + { + $this->copyImages('scene', $identifier, 'scenes', $data); + + $from_path = $this->img_path.'scenes/thumbs/'; + $dst_path = _PS_IMG_DIR_.'scenes/thumbs/'; + $entity_id = $this->retrieveId('scene', $identifier); + + if (!@copy($from_path.$identifier.'-m_scene_default.jpg', $dst_path.$entity_id.'-m_scene_default.jpg')) + { + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier, 'scene')); + return; + } + } + + public function copyImagesOrderState($identifier, array $data) + { + $this->copyImages('order_state', $identifier, 'os', $data, 'gif'); + } + + public function copyImagesTab($identifier, array $data) + { + $from_path = $this->img_path.'t/'; + $dst_path = _PS_IMG_DIR_.'t/'; + if (file_exists($from_path.$data['class_name'].'.gif') && !file_exists($dst_path.$data['class_name'].'.gif'))//test if file exist in install dir and if do not exist in dest folder. + if (!@copy($from_path.$data['class_name'].'.gif', $dst_path.$data['class_name'].'.gif')) + { + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier, 'tab')); + return; + } + } + + public function copyImagesImage($identifier) + { + $path = $this->img_path.'p/'; + $image = new Image($this->retrieveId('image', $identifier)); + $dst_path = $image->getPathForCreation(); + if (!@copy($path.$identifier.'.jpg', $dst_path.'.'.$image->image_format)) + { + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier, 'product')); + return; + } + @chmod($dst_path.'.'.$image->image_format, 0644); + + $types = ImageType::getImagesTypes('products'); + foreach ($types as $type) + { + $origin_file = $path.$identifier.'-'.$type['name'].'.jpg'; + $target_file = $dst_path.'-'.$type['name'].'.'.$image->image_format; + + // Test if dest folder is writable + if (!is_writable(dirname($target_file))) + $this->setError($this->language->l('Cannot create image "%1$s" (bad permissions on folder "%2$s")', $identifier.'-'.$type['name'], dirname($target_file))); + // If a file named folder/entity-type.jpg exists just copy it, this is an optimisation in order to prevent to much resize + else if (file_exists($origin_file)) + { + if (!@copy($origin_file, $target_file)) + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier.'-'.$type['name'], 'product')); + @chmod($target_file, 0644); + } + // Resize the image if no cache was prepared in fixtures + else if (!ImageManager::resize($path.$identifier.'.jpg', $target_file, $type['width'], $type['height'])) + $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier.'-'.$type['name'], 'product')); + } + } + + public function getTables() + { + static $tables = null; + + if (is_null($tables)) + { + $tables = array(); + foreach (Db::getInstance()->executeS('SHOW TABLES') as $row) + { + $table = current($row); + if (preg_match('#^'._DB_PREFIX_.'(.+?)(_lang)?$#i', $table, $m)) + $tables[$m[1]] = (isset($m[2]) && $m[2]) ? true : false; + } + } + + return $tables; + } + + public function hasElements($table) + { + return (bool)Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.$table); + } + + public function getColumns($table, $multilang = false, array $exclude = array()) + { + static $columns = array(); + + if ($multilang) + return ($this->isMultilang($table)) ? $this->getColumns($table.'_lang', false, array('id_'.$table)) : array(); + + if (!isset($columns[$table])) + { + $columns[$table] = array(); + $sql = 'SHOW COLUMNS FROM `'._DB_PREFIX_.bqSQL($table).'`'; + foreach (Db::getInstance()->executeS($sql) as $row) + $columns[$table][$row['Field']] = $this->checkIfTypeIsText($row['Type']); + } + + $exclude = array_merge(array('id_'.$table, 'date_add', 'date_upd', 'deleted', 'id_lang'), $exclude); + + $list = array(); + foreach ($columns[$table] as $k => $v) + if (!in_array($k, $exclude)) + $list[$k] = $v; + + return $list; + } + + public function getClasses($path = null) + { + static $cache = null; + + if (!is_null($cache)) + return $cache; + + $dir = $path; + if (is_null($dir)) + $dir = _PS_CLASS_DIR_; + + $classes = array(); + foreach (scandir($dir) as $file) + if ($file[0] != '.' && $file != 'index.php') + { + if (is_dir($dir.$file)) + $classes = array_merge($classes, $this->getClasses($dir.$file.'/')); + else if (preg_match('#^(.+)\.php$#', $file, $m)) + $classes[] = $m[1]; + } + + sort($classes); + if (is_null($path)) + $cache = $classes; + return $classes; + } + + public function checkIfTypeIsText($type) + { + if (preg_match('#^(longtext|text|tinytext)#i', $type)) + return true; + + if (preg_match('#^varchar\(([0-9]+)\)$#i', $type, $m)) + return intval($m[1]) >= 64 ? true : false; + return false; + } + + public function isMultilang($entity) + { + $tables = $this->getTables(); + return isset($tables[$entity]) && $tables[$entity]; + } + + public function entityExists($entity) + { + return file_exists($this->data_path.$entity.'.xml'); + } + + public function getEntitiesList() + { + $entities = array(); + foreach (scandir($this->data_path) as $file) + if ($file[0] != '.' && preg_match('#^(.+)\.xml$#', $file, $m)) + $entities[] = $m[1]; + return $entities; + } + + public function getEntityInfo($entity) + { + $info = array( + 'config' => array( + 'id' => '', + 'primary' => '', + 'class' => '', + 'sql' => '', + 'ordersql' => '', + 'image' => '', + 'null' => '', + ), + 'fields' => array(), + ); + + if (!$this->entityExists($entity)) + return $info; + + $xml = @simplexml_load_file($this->data_path.$entity.'.xml', 'InstallSimplexmlElement'); + if (!$xml) + return $info; + + if ($xml->fields['id']) + $info['config']['id'] = (string)$xml->fields['id']; + + if ($xml->fields['primary']) + $info['config']['primary'] = (string)$xml->fields['primary']; + + if ($xml->fields['class']) + $info['config']['class'] = (string)$xml->fields['class']; + + if ($xml->fields['sql']) + $info['config']['sql'] = (string)$xml->fields['sql']; + + if ($xml->fields['ordersql']) + $info['config']['ordersql'] = (string)$xml->fields['ordersql']; + + if ($xml->fields['null']) + $info['config']['null'] = (string)$xml->fields['null']; + + if ($xml->fields['image']) + $info['config']['image'] = (string)$xml->fields['image']; + + foreach ($xml->fields->field as $field) + { + $column = (string)$field['name']; + $info['fields'][$column] = array(); + if (isset($field['relation'])) + $info['fields'][$column]['relation'] = (string)$field['relation']; + } + return $info; + } + + public function getDependencies() + { + $entities = array(); + foreach ($this->getEntitiesList() as $entity) + $entities[$entity] = $this->getEntityInfo($entity); + + $dependencies = array(); + foreach ($entities as $entity => $info) + { + foreach ($info['fields'] as $field => $info_field) + { + if (isset($info_field['relation']) && $info_field['relation'] != $entity) + { + if (!isset($dependencies[$info_field['relation']])) + $dependencies[$info_field['relation']] = array(); + $dependencies[$info_field['relation']][] = $entity; + } + } + } + + return $dependencies; + } + + public function generateEntitySchema($entity, array $fields, array $config) + { + if ($this->entityExists($entity)) + $xml = $this->loadEntity($entity); + else + $xml = new InstallSimplexmlElement(''); + unset($xml->fields); + + // Fill attributes (config) + $xml_fields = $xml->addChild('fields'); + foreach ($config as $k => $v) + if ($v) + $xml_fields[$k] = $v; + + // Create list of fields + foreach ($fields as $column => $info) + { + $field = $xml_fields->addChild('field'); + $field['name'] = $column; + if (isset($info['relation'])) + $field['relation'] = $info['relation']; + } + + // Recreate entities nodes, in order to have the node after the node + $store_entities = clone $xml->entities; + unset($xml->entities); + $xml->addChild('entities', $store_entities); + + $xml->asXML($this->data_path.$entity.'.xml'); + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function generateAllEntityFiles() + { + $entities = array(); + foreach ($this->getEntitiesList() as $entity) + $entities[$entity] = $this->getEntityInfo($entity); + $this->generateEntityFiles($entities); + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function generateEntityFiles($entities) + { + $dependencies = $this->getDependencies(); + + // Sort entities to populate database in good order (E.g. zones before countries) + do + { + $current = (isset($sort_entities)) ? $sort_entities : array(); + $sort_entities = array(); + foreach ($entities as $entity) + { + if (isset($dependencies[$entity])) + { + $min = count($entities) - 1; + foreach ($dependencies[$entity] as $item) + if (($key = array_search($item, $sort_entities)) !== false) + $min = min($min, $key); + if ($min == 0) + array_unshift($sort_entities, $entity); + else + array_splice($sort_entities, $min, 0, array($entity)); + } + else + $sort_entities[] = $entity; + } + $entities = $sort_entities; + } + while ($current != $sort_entities); + + foreach ($sort_entities as $entity) + $this->generateEntityContent($entity); + } + + public function generateEntityContent($entity) + { + $xml = $this->loadEntity($entity); + if (method_exists($this, 'getEntityContents'.Tools::toCamelCase($entity))) + $content = $this->{'getEntityContents'.Tools::toCamelCase($entity)}($entity); + else + $content = $this->getEntityContents($entity); + + unset($xml->entities); + $entities = $xml->addChild('entities'); + $this->createXmlEntityNodes($entity, $content['nodes'], $entities); + $xml->asXML($this->data_path.$entity.'.xml'); + + // Generate multilang XML files + if ($content['nodes_lang']) + foreach ($content['nodes_lang'] as $id_lang => $nodes) + { + if (!isset($this->languages[$id_lang])) + continue; + + $iso = $this->languages[$id_lang]; + if (!is_dir($this->lang_path.$this->getFallBackToDefaultLanguage($iso).'/data')) + mkdir($this->lang_path.$this->getFallBackToDefaultLanguage($iso).'/data'); + + $xml_node = new InstallSimplexmlElement(''); + $this->createXmlEntityNodes($entity, $nodes, $xml_node); + $xml_node->asXML($this->lang_path.$this->getFallBackToDefaultLanguage($iso).'/data/'.$entity.'.xml'); + } + + if ($xml->fields['image']) + { + if (method_exists($this, 'backupImage'.Tools::toCamelCase($entity))) + $this->{'backupImage'.Tools::toCamelCase($entity)}((string)$xml->fields['image']); + else + $this->backupImage($entity, (string)$xml->fields['image']); + } + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function getEntityContents($entity) + { + $xml = $this->loadEntity($entity); + $primary = (isset($xml->fields['primary']) && $xml->fields['primary']) ? (string)$xml->fields['primary'] : 'id_'.$entity; + $is_multilang = $this->isMultilang($entity); + + // Check if current table is an association table (if multiple primary keys) + $is_association = false; + if (strpos($primary, ',') !== false) + { + $is_association = true; + $primary = array_map('trim', explode(',', $primary)); + } + + // Build query + $sql = new DbQuery(); + $sql->select('a.*'); + $sql->from($entity, 'a'); + if ($is_multilang) + { + $sql->select('b.*'); + $sql->leftJoin($entity.'_lang', 'b', 'a.'.$primary.' = b.'.$primary); + } + + if (isset($xml->fields['sql']) && $xml->fields['sql']) + $sql->where((string)$xml->fields['sql']); + + if (!$is_association) + { + $sql->select('a.'.$primary); + if (!isset($xml->fields['ordersql']) || !$xml->fields['ordersql']) + $sql->orderBy('a.'.$primary); + } + + if ($is_multilang && (!isset($xml->fields['ordersql']) || !$xml->fields['ordersql'])) + $sql->orderBy('b.id_lang'); + + if (isset($xml->fields['ordersql']) && $xml->fields['ordersql']) + $sql->orderBy((string)$xml->fields['ordersql']); + + // Get multilang columns + $alias_multilang = array(); + if ($is_multilang) + { + $columns = $this->getColumns($entity); + $multilang_columns = $this->getColumns($entity, true); + + // If some columns from _lang table have same name than original table, rename them (E.g. value in configuration) + foreach ($multilang_columns as $c => $is_text) + if (isset($columns[$c])) + { + $alias = $c.'_alias'; + $alias_multilang[$c] = $alias; + $sql->select('a.'.$c.' as '.$c.', b.'.$c.' as '.$alias); + } + } + + // Get all results + $nodes = $nodes_lang = array(); + $results = Db::getInstance()->executeS($sql); + if (Db::getInstance()->getNumberError()) + $this->setError($this->language->l('SQL error on query %s', $sql)); + else + { + foreach ($results as $row) + { + // Store common columns + if ($is_association) + { + $id = $entity; + foreach ($primary as $key) + $id .= '_'.$row[$key]; + } + else + $id = $this->generateId($entity, $row[$primary], $row, (isset($xml->fields['id']) && $xml->fields['id']) ? (string)$xml->fields['id'] : null); + + if (!isset($nodes[$id])) + { + $node = array(); + foreach ($xml->fields->field as $field) + { + $column = (string)$field['name']; + if (isset($field['relation'])) + { + $sql = 'SELECT `id_'.bqSQL($field['relation']).'` + FROM `'.bqSQL(_DB_PREFIX_.$field['relation']).'` + WHERE `id_'.bqSQL($field['relation']).'` = '.(int)$row[$column]; + $node[$column] = $this->generateId((string)$field['relation'], Db::getInstance()->getValue($sql)); + + // A little trick to allow storage of some hard values, like '-1' for tab.id_parent + if (!$node[$column] && $row[$column]) + $node[$column] = $row[$column]; + } + else + $node[$column] = $row[$column]; + } + $nodes[$id] = $node; + } + + // Store multilang columns + if ($is_multilang && $row['id_lang']) + { + $node = array(); + foreach ($multilang_columns as $column => $is_text) + $node[$column] = $row[isset($alias_multilang[$column]) ? $alias_multilang[$column] : $column]; + $nodes_lang[$row['id_lang']][$id] = $node; + } + } + } + + return array( + 'nodes' => $nodes, + 'nodes_lang' => $nodes_lang, + ); + } + + public function getEntityContentsTag() + { + $nodes_lang = array(); + + $sql = 'SELECT t.id_tag, t.id_lang, t.name, pt.id_product + FROM '._DB_PREFIX_.'tag t + LEFT JOIN '._DB_PREFIX_.'product_tag pt ON t.id_tag = pt.id_tag + ORDER BY id_lang'; + foreach (Db::getInstance()->executeS($sql) as $row) + { + $identifier = $this->generateId('tag', $row['id_tag']); + if (!isset($nodes_lang[$row['id_lang']])) + $nodes_lang[$row['id_lang']] = array(); + + if (!isset($nodes_lang[$row['id_lang']][$identifier])) + $nodes_lang[$row['id_lang']][$identifier] = array( + 'name' => $row['name'], + 'products' => '', + ); + + $nodes_lang[$row['id_lang']][$identifier]['products'] .= (($nodes_lang[$row['id_lang']][$identifier]['products']) ? ',' : '').$this->generateId('product', $row['id_product']); + } + + return array( + 'nodes' => array(), + 'nodes_lang' => $nodes_lang, + ); + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function generateId($entity, $primary, array $row = array(), $id_format = null) + { + static $ids = array(); + + if (isset($ids[$entity][$primary])) + return $ids[$entity][$primary]; + + if (!isset($ids[$entity])) + $ids[$entity] = array(); + + if (!$primary) + return ''; + + if (!$id_format || !$row || !$row[$id_format]) + $ids[$entity][$primary] = $entity.'_'.$primary; + else + { + $value = $row[$id_format]; + $value = preg_replace('#[^a-z0-9_-]#i', '_', $value); + $value = preg_replace('#_+#', '_', $value); + $value = preg_replace('#^_+#', '', $value); + $value = preg_replace('#_+$#', '', $value); + + $store_identifier = $value; + $i = 1; + while (in_array($store_identifier, $ids[$entity])) + $store_identifier = $value.'_'.$i++; + $ids[$entity][$primary] = $store_identifier; + } + return $ids[$entity][$primary]; + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function createXmlEntityNodes($entity, array $nodes, SimpleXMLElement $entities) + { + $types = array_merge($this->getColumns($entity), $this->getColumns($entity, true)); + foreach ($nodes as $id => $node) + { + $entity_node = $entities->addChild($entity); + $entity_node['id'] = $id; + foreach ($node as $k => $v) + { + if (isset($types[$k]) && $types[$k]) + $entity_node->addChild($k, $v); + else + $entity_node[$k] = $v; + } + } + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function backupImage($entity, $path) + { + $reference = array( + 'product' => 'products', + 'category' => 'categories', + 'manufacturer' => 'manufacturers', + 'supplier' => 'suppliers', + 'scene' => 'scenes', + 'store' => 'stores', + ); + + $types = array(); + if (isset($reference[$entity])) + { + $types = array(); + foreach (ImageType::getImagesTypes($reference[$entity]) as $type) + $types[] = $type['name']; + } + + $path_list = array_map('trim', explode(',', $path)); + foreach ($path_list as $p) + { + $backup_path = $this->img_path.$p.'/'; + $from_path = _PS_IMG_DIR_.$p.'/'; + + if (!is_dir($backup_path) && !mkdir($backup_path)) + $this->setError(sprintf('Cannot create directory %s', $backup_path)); + + foreach (scandir($from_path) as $file) + if ($file[0] != '.' && preg_match('#^(([0-9]+)(-('.implode('|', $types).'))?)\.(gif|jpg|jpeg|png)$#i', $file, $m)) + { + $file_id = $m[2]; + $file_type = $m[3]; + $file_extension = $m[5]; + copy($from_path.$file, $backup_path.$this->generateId($entity, $file_id).$file_type.'.'.$file_extension); + } + } + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function backupImageImage() + { + $types = array(); + foreach (ImageType::getImagesTypes('products') as $type) + $types[] = $type['name']; + + $backup_path = $this->img_path.'p/'; + $from_path = _PS_PROD_IMG_DIR_; + if (!is_dir($backup_path) && !mkdir($backup_path)) + $this->setError(sprintf('Cannot create directory %s', $backup_path)); + + foreach (Image::getAllImages() as $image) + { + $image = new Image($image['id_image']); + $image_path = $image->getExistingImgPath(); + if (file_exists($from_path.$image_path.'.'.$image->image_format)) + copy($from_path.$image_path.'.'.$image->image_format, $backup_path.$this->generateId('image', $image->id).'.'.$image->image_format); + + foreach ($types as $type) + if (file_exists($from_path.$image_path.'-'.$type.'.'.$image->image_format)) + copy($from_path.$image_path.'-'.$type.'.'.$image->image_format, $backup_path.$this->generateId('image', $image->id).'-'.$type.'.'.$image->image_format); + } + } + + /** + * ONLY FOR DEVELOPMENT PURPOSE + */ + public function backupImageTab() + { + $backup_path = $this->img_path.'t/'; + $from_path = _PS_IMG_DIR_.'t/'; + if (!is_dir($backup_path) && !mkdir($backup_path)) + $this->setError(sprintf('Cannot create directory %s', $backup_path)); + + $xml = $this->loadEntity('tab'); + foreach ($xml->entities->tab as $tab) + if (file_exists($from_path.$tab->class_name.'.gif')) + copy($from_path.$tab->class_name.'.gif', $backup_path.$tab->class_name.'.gif'); + } +} diff --git a/_install/controllers/console/index.php b/_install/controllers/console/index.php new file mode 100644 index 00000000..8dd03b06 --- /dev/null +++ b/_install/controllers/console/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../'); +exit; \ No newline at end of file diff --git a/_install/controllers/console/process.php b/_install/controllers/console/process.php new file mode 100644 index 00000000..c56631e6 --- /dev/null +++ b/_install/controllers/console/process.php @@ -0,0 +1,318 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallControllerConsoleProcess extends InstallControllerConsole +{ + const SETTINGS_FILE = 'config/settings.inc.php'; + + protected $model_install; + public $process_steps = array(); + public $previous_button = false; + + public function init() + { + require_once _PS_INSTALL_MODELS_PATH_.'install.php'; + require_once _PS_INSTALL_MODELS_PATH_.'database.php'; + $this->model_install = new InstallModelInstall(); + $this->model_database = new InstallModelDatabase(); + } + + /** + * @see InstallAbstractModel::processNextStep() + */ + public function processNextStep() + { + } + + /** + * @see InstallAbstractModel::validate() + */ + public function validate() + { + return false; + } + + public function initializeContext() + { + global $smarty; + + // Clean all cache values + Cache::clean('*'); + + Context::getContext()->shop = new Shop(1); + Shop::setContext(Shop::CONTEXT_SHOP, 1); + Configuration::loadConfiguration(); + if (!isset(Context::getContext()->language) || !Validate::isLoadedObject(Context::getContext()->language)) + if ($id_lang = (int)Configuration::get('PS_LANG_DEFAULT')) + Context::getContext()->language = new Language($id_lang); + if (!isset(Context::getContext()->country) || !Validate::isLoadedObject(Context::getContext()->country)) + if ($id_country = (int)Configuration::get('PS_COUNTRY_DEFAULT')) + Context::getContext()->country = new Country((int)$id_country); + if (!isset(Context::getContext()->currency) || !Validate::isLoadedObject(Context::getContext()->currency)) + if ($id_currency = (int)Configuration::get('PS_CURRENCY_DEFAULT')) + Context::getContext()->currency = new Currency((int)$id_currency); + + Context::getContext()->cart = new Cart(); + Context::getContext()->employee = new Employee(1); + if (!defined('_PS_SMARTY_FAST_LOAD_')) + define('_PS_SMARTY_FAST_LOAD_', true); + require_once _PS_ROOT_DIR_.'/config/smarty.config.inc.php'; + + Context::getContext()->smarty = $smarty; + } + + public function process() + { + $steps = explode(',', $this->datas->step); + if (in_array('all', $steps)) + $steps = array('database','fixtures','theme','modules','addons_modules'); + + if (in_array('database', $steps)) + { + if (!$this->processGenerateSettingsFile()) + $this->printErrors(); + + if ($this->datas->database_create) + $this->model_database->createDatabase($this->datas->database_server, $this->datas->database_name, $this->datas->database_login, $this->datas->database_password); + + if (!$this->model_database->testDatabaseSettings($this->datas->database_server, $this->datas->database_name, $this->datas->database_login, $this->datas->database_password, $this->datas->database_prefix, $this->datas->database_engine, $this->datas->database_clear)) + $this->printErrors(); + if (!$this->processInstallDatabase()) + $this->printErrors(); + if (!$this->processInstallDefaultData()) + $this->printErrors(); + if (!$this->processPopulateDatabase()) + $this->printErrors(); + if (!$this->processConfigureShop()) + $this->printErrors(); + } + + if (in_array('fixtures', $steps)) + if (!$this->processInstallFixtures()) + $this->printErrors(); + + if (in_array('modules', $steps)) + if (!$this->processInstallModules()) + $this->printErrors(); + + if (in_array('addons_modules', $steps)) + if (!$this->processInstallAddonsModules()) + $this->printErrors(); + + if (in_array('theme', $steps)) + if (!$this->processInstallTheme()) + $this->printErrors(); + + if ($this->datas->newsletter) + { + $params = http_build_query(array( + 'email' => $this->datas->admin_email, + 'method' => 'addMemberToNewsletter', + 'language' => $this->datas->lang, + 'visitorType' => 1, + 'source' => 'installer' + )); + Tools::file_get_contents('http://www.prestashop.com/ajax/controller.php?'.$params); + } + + if ($this->datas->send_email) + if (!$this->processSendEmail()) + $this->printErrors(); + } + + /** + * PROCESS : generateSettingsFile + */ + public function processGenerateSettingsFile() + { + return $this->model_install->generateSettingsFile( + $this->datas->database_server, + $this->datas->database_login, + $this->datas->database_password, + $this->datas->database_name, + $this->datas->database_prefix, + $this->datas->database_engine + ); + + } + + /** + * PROCESS : installDatabase + * Create database structure + */ + public function processInstallDatabase() + { + return $this->model_install->installDatabase($this->datas->database_clear); + } + + /** + * PROCESS : installDefaultData + * Create default shop and languages + */ + public function processInstallDefaultData() + { + $this->initializeContext(); + if (!$res = $this->model_install->installDefaultData($this->datas->shop_name, $this->datas->shop_country, (int)$this->datas->all_languages, true)) + return false; + + if ($this->datas->base_uri != '/') + { + $shop_url = new ShopUrl(1); + $shop_url->physical_uri = $this->datas->base_uri; + $shop_url->save(); + } + + return $res; + } + + /** + * PROCESS : populateDatabase + * Populate database with default data + */ + public function processPopulateDatabase() + { + $this->initializeContext(); + + $this->model_install->xml_loader_ids = $this->datas->xml_loader_ids; + $result = $this->model_install->populateDatabase(); + $this->datas->xml_loader_ids = $this->model_install->xml_loader_ids; + Configuration::updateValue('PS_INSTALL_XML_LOADERS_ID', Tools::jsonEncode($this->datas->xml_loader_ids)); + + return $result; + } + + /** + * PROCESS : configureShop + * Set default shop configuration + */ + public function processConfigureShop() + { + $this->initializeContext(); + + return $this->model_install->configureShop(array( + 'shop_name' => $this->datas->shop_name, + 'shop_activity' => $this->datas->shop_activity, + 'shop_country' => $this->datas->shop_country, + 'shop_timezone' => $this->datas->timezone, + 'use_smtp' => false, + 'admin_firstname' => $this->datas->admin_firstname, + 'admin_lastname' => $this->datas->admin_lastname, + 'admin_password' => $this->datas->admin_password, + 'admin_email' => $this->datas->admin_email, + 'configuration_agrement' => true, + 'send_informations' => true, + )); + + } + + /** + * PROCESS : installModules + * Install all modules in ~/modules/ directory + */ + public function processInstallModules() + { + $this->initializeContext(); + + return $this->model_install->installModules(); + } + + /** + * PROCESS : installFixtures + * Install fixtures (E.g. demo products) + */ + public function processInstallFixtures() + { + $this->initializeContext(); + + if ((!$this->datas->xml_loader_ids || !is_array($this->datas->xml_loader_ids)) && ($xml_ids = Tools::jsonDecode(Configuration::get('PS_INSTALL_XML_LOADERS_ID'), true))) + $this->datas->xml_loader_ids = $xml_ids; + + $this->model_install->xml_loader_ids = $this->datas->xml_loader_ids; + $result = $this->model_install->installFixtures(null, array('shop_activity' => $this->datas->shop_activity, 'shop_country' => $this->datas->shop_country)); + $this->datas->xml_loader_ids = $this->model_install->xml_loader_ids; + return $result; + } + + /** + * PROCESS : installTheme + * Install theme + */ + public function processInstallTheme() + { + $this->initializeContext(); + + return $this->model_install->installTheme(); + } + + /** + * PROCESS : installModulesAddons + * Install modules from addons + */ + public function processInstallAddonsModules() + { + return $this->model_install->installModulesAddons(); + } + + /** + * PROCESS : sendEmail + * Send information e-mail + */ + public function processSendEmail() + { + require_once _PS_INSTALL_MODELS_PATH_.'mail.php'; + $mail = new InstallModelMail( + false, + $this->datas->smtp_server, + $this->datas->smtp_login, + $this->datas->smtp_password, + $this->datas->smtp_port, + $this->datas->smtp_encryption, + $this->datas->admin_email + ); + + if (file_exists(_PS_INSTALL_LANGS_PATH_.$this->language->getLanguageIso().'/mail_identifiers.txt')) + $content = file_get_contents(_PS_INSTALL_LANGS_PATH_.$this->language->getLanguageIso().'/mail_identifiers.txt'); + else + $content = file_get_contents(_PS_INSTALL_LANGS_PATH_.InstallLanguages::DEFAULT_ISO.'/mail_identifiers.txt'); + + $vars = array( + '{firstname}' => $this->datas->admin_firstname, + '{lastname}' => $this->datas->admin_lastname, + '{shop_name}' => $this->datas->shop_name, + '{passwd}' => $this->datas->admin_password, + '{email}' => $this->datas->admin_email, + '{shop_url}' => Tools::getHttpHost(true).__PS_BASE_URI__, + ); + $content = str_replace(array_keys($vars), array_values($vars), $content); + + $mail->send( + $this->l('%s Login information', $this->datas->shop_name), + $content + ); + + return true; + } +} diff --git a/_install/controllers/http/configure.php b/_install/controllers/http/configure.php new file mode 100644 index 00000000..7415e23d --- /dev/null +++ b/_install/controllers/http/configure.php @@ -0,0 +1,304 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Step 4 : configure the shop and admin access + */ +class InstallControllerHttpConfigure extends InstallControllerHttp +{ + + public $list_countries = array(); + + /** + * @see InstallAbstractModel::processNextStep() + */ + public function processNextStep() + { + if (Tools::isSubmit('shop_name')) + { + // Save shop configuration + $this->session->shop_name = trim(Tools::getValue('shop_name')); + $this->session->shop_activity = Tools::getValue('shop_activity'); + $this->session->install_type = Tools::getValue('db_mode'); + $this->session->shop_country = Tools::getValue('shop_country'); + $this->session->shop_timezone = Tools::getValue('shop_timezone'); + + // Save admin configuration + $this->session->admin_firstname = trim(Tools::getValue('admin_firstname')); + $this->session->admin_lastname = trim(Tools::getValue('admin_lastname')); + $this->session->admin_email = trim(Tools::getValue('admin_email')); + $this->session->send_informations = Tools::getValue('send_informations'); + if ($this->session->send_informations) + { + $params = http_build_query(array( + 'email' => $this->session->admin_email, + 'method' => 'addMemberToNewsletter', + 'language' => $this->language->getLanguageIso(), + 'visitorType' => 1, + 'source' => 'installer' + )); + Tools::file_get_contents('http://www.prestashop.com/ajax/controller.php?'.$params); + } + + // If password fields are empty, but are already stored in session, do not fill them again + if (!$this->session->admin_password || trim(Tools::getValue('admin_password'))) + $this->session->admin_password = trim(Tools::getValue('admin_password')); + + if (!$this->session->admin_password_confirm || trim(Tools::getValue('admin_password_confirm'))) + $this->session->admin_password_confirm = trim(Tools::getValue('admin_password_confirm')); + } + } + + /** + * @see InstallAbstractModel::validate() + */ + public function validate() + { + // List of required fields + $required_fields = array('shop_name', 'shop_country', 'shop_timezone', 'admin_firstname', 'admin_lastname', 'admin_email', 'admin_password'); + foreach ($required_fields as $field) + if (!$this->session->$field) + $this->errors[$field] = $this->l('Field required'); + + // Check shop name + if ($this->session->shop_name && !Validate::isGenericName($this->session->shop_name)) + $this->errors['shop_name'] = $this->l('Invalid shop name'); + else if (strlen($this->session->shop_name) > 64) + $this->errors['shop_name'] = $this->l('The field %s is limited to %d characters', $this->l('shop name'), 64); + + // Check admin name + if ($this->session->admin_firstname && !Validate::isName($this->session->admin_firstname)) + $this->errors['admin_firstname'] = $this->l('Your firstname contains some invalid characters'); + else if (strlen($this->session->admin_firstname) > 32) + $this->errors['admin_firstname'] = $this->l('The field %s is limited to %d characters', $this->l('firstname'), 32); + + if ($this->session->admin_lastname && !Validate::isName($this->session->admin_lastname)) + $this->errors['admin_lastname'] = $this->l('Your lastname contains some invalid characters'); + else if (strlen($this->session->admin_lastname) > 32) + $this->errors['admin_lastname'] = $this->l('The field %s is limited to %d characters', $this->l('lastname'), 32); + + // Check passwords + if ($this->session->admin_password) + { + if (!Validate::isPasswdAdmin($this->session->admin_password)) + $this->errors['admin_password'] = $this->l('The password is incorrect (alphanumeric string with at least 8 characters)'); + else if ($this->session->admin_password != $this->session->admin_password_confirm) + $this->errors['admin_password'] = $this->l('Password and its confirmation are different'); + } + + // Check email + if ($this->session->admin_email && !Validate::isEmail($this->session->admin_email)) + $this->errors['admin_email'] = $this->l('This e-mail address is invalid'); + + return count($this->errors) ? false : true; + } + + public function process() + { + if (Tools::getValue('uploadLogo')) + $this->processUploadLogo(); + else if (Tools::getValue('timezoneByIso')) + $this->processTimezoneByIso(); + } + + /** + * Process the upload of new logo + */ + public function processUploadLogo() + { + $error = ''; + if (isset($_FILES['fileToUpload']['tmp_name']) && $_FILES['fileToUpload']['tmp_name']) + { + $file = $_FILES['fileToUpload']; + $error = ImageManager::validateUpload($file, 300000); + if (!strlen($error)) + { + $tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS'); + if (!$tmp_name || !move_uploaded_file($file['tmp_name'], $tmp_name)) + return false; + + list($width, $height, $type) = getimagesize($tmp_name); + + $newheight = ($height > 500) ? 500 : $height; + $percent = $newheight / $height; + $newwidth = $width * $percent; + $newheight = $height * $percent; + + if (!is_writable(_PS_ROOT_DIR_.'/img/')) + $error = $this->l('Image folder %s is not writable', _PS_ROOT_DIR_.'/img/'); + if (!$error) + { + list($src_width, $src_height, $type) = getimagesize($tmp_name); + $src_image = ImageManager::create($type, $tmp_name); + $dest_image = imagecreatetruecolor($src_width, $src_height); + $white = imagecolorallocate($dest_image, 255, 255, 255); + imagefilledrectangle($dest_image, 0, 0, $src_width, $src_height, $white); + imagecopyresampled($dest_image, $src_image, 0, 0, 0, 0, $src_width, $src_height, $src_width, $src_height); + if (!imagejpeg($dest_image, _PS_ROOT_DIR_.'/img/logo.jpg', 95)) + $error = $this->l('An error occurred during logo copy.'); + else + { + imagedestroy($dest_image); + @chmod($filename, 0664); + } + } + } + else + $error = $this->l('An error occurred during logo upload.'); + } + + $this->ajaxJsonAnswer(($error) ? false : true, $error); + } + + /** + * Obtain the timezone associated to an iso + */ + public function processTimezoneByIso() + { + $timezone = $this->getTimezoneByIso(Tools::getValue('iso')); + $this->ajaxJsonAnswer(($timezone) ? true : false, $timezone); + } + + /** + * Get list of timezones + * + * @return array + */ + public function getTimezones() + { + if (!is_null($this->cache_timezones)) + return; + + if (!file_exists(_PS_INSTALL_DATA_PATH_.'xml/timezone.xml')) + return array(); + + $xml = simplexml_load_file(_PS_INSTALL_DATA_PATH_.'xml/timezone.xml'); + $timezones = array(); + foreach ($xml->entities->timezone as $timezone) + $timezones[] = (string)$timezone['name']; + return $timezones; + } + + /** + * Get a timezone associated to an iso + * + * @param string $iso + * @return string + */ + public function getTimezoneByIso($iso) + { + if (!file_exists(_PS_INSTALL_DATA_PATH_.'iso_to_timezone.xml')) + return ''; + + $xml = simplexml_load_file(_PS_INSTALL_DATA_PATH_.'iso_to_timezone.xml'); + $timezones = array(); + foreach ($xml->relation as $relation) + $timezones[(string)$relation['iso']] = (string)$relation['zone']; + return isset($timezones[$iso]) ? $timezones[$iso] : ''; + } + + /** + * @see InstallAbstractModel::display() + */ + public function display() + { + // List of activities + $list_activities = array( + 1 => $this->l('Lingerie and Adult'), + 2 => $this->l('Animals and Pets'), + 3 => $this->l('Art and Culture'), + 4 => $this->l('Babies'), + 5 => $this->l('Beauty and Personal Care'), + 6 => $this->l('Cars'), + 7 => $this->l('Computer Hardware and Software'), + 8 => $this->l('Download'), + 9 => $this->l('Fashion and accessories'), + 10 => $this->l('Flowers, Gifts and Crafts'), + 11 => $this->l('Food and beverage'), + 12 => $this->l('HiFi, Photo and Video'), + 13 => $this->l('Home and Garden'), + 14 => $this->l('Home Appliances'), + 15 => $this->l('Jewelry'), + 16 => $this->l('Mobile and Telecom'), + 17 => $this->l('Services'), + 18 => $this->l('Shoes and accessories'), + 19 => $this->l('Sports and Entertainment'), + 20 => $this->l('Travel'), + ); + + asort($list_activities); + $this->list_activities = $list_activities; + + // Countries list + $this->list_countries = array(); + $countries = $this->language->getCountries(); + $top_countries = array( + 'fr', 'es', 'us', + 'gb', 'it', 'de', + 'nl', 'pl', 'id', + 'be', 'br', 'se', + 'ca', 'ru', 'cn', + ); + + foreach ($top_countries as $iso) + $this->list_countries[] = array('iso' => $iso, 'name' => $countries[$iso]); + $this->list_countries[] = array('iso' => 0, 'name' => '-----------------'); + + foreach ($countries as $iso => $lang) + if (!in_array($iso, $top_countries)) + $this->list_countries[] = array('iso' => $iso, 'name' => $lang); + + // Try to detect default country + if (!$this->session->shop_country) + { + $detect_language = $this->language->detectLanguage(); + if (isset($detect_language['primarytag'])) + { + $this->session->shop_country = strtolower(isset($detect_language['subtag']) ? $detect_language['subtag'] : $detect_language['primarytag']); + $this->session->shop_timezone = $this->getTimezoneByIso($this->session->shop_country); + } + } + + // Install type + $this->install_type = ($this->session->install_type) ? $this->session->install_type : 'full'; + + $this->displayTemplate('configure'); + } + + /** + * Helper to display error for a field + * + * @param string $field + * @return string|void + */ + public function displayError($field) + { + if (!isset($this->errors[$field])) + return; + + return ''.$this->errors[$field].''; + } +} diff --git a/_install/controllers/http/database.php b/_install/controllers/http/database.php new file mode 100644 index 00000000..6ba29d72 --- /dev/null +++ b/_install/controllers/http/database.php @@ -0,0 +1,184 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Step 3 : configure database and email connection + */ +class InstallControllerHttpDatabase extends InstallControllerHttp +{ + /** + * @var InstallModelDatabase + */ + public $model_database; + + /** + * @var InstallModelMail + */ + public $model_mail; + + public function init() + { + require_once _PS_INSTALL_MODELS_PATH_.'database.php'; + $this->model_database = new InstallModelDatabase(); + } + + /** + * @see InstallAbstractModel::processNextStep() + */ + public function processNextStep() + { + // Save database config + $this->session->database_server = trim(Tools::getValue('dbServer')); + $this->session->database_name = trim(Tools::getValue('dbName')); + $this->session->database_login = trim(Tools::getValue('dbLogin')); + $this->session->database_password = trim(Tools::getValue('dbPassword')); + $this->session->database_prefix = trim(Tools::getValue('db_prefix')); + $this->session->database_clear = Tools::getValue('database_clear'); + + $this->session->rewrite_engine = Tools::getValue('rewrite_engine'); + } + + /** + * Database configuration must be valid to validate this step + * + * @see InstallAbstractModel::validate() + */ + public function validate() + { + $this->errors = $this->model_database->testDatabaseSettings( + $this->session->database_server, + $this->session->database_name, + $this->session->database_login, + $this->session->database_password, + $this->session->database_prefix, + // We do not want to validate table prefix if we are already in install process + ($this->session->step == 'process') ? true : $this->session->database_clear + ); + if (count($this->errors)) + return false; + + if (!isset($this->session->database_engine)) + $this->session->database_engine = $this->model_database->getBestEngine($this->session->database_server, $this->session->database_name, $this->session->database_login, $this->session->database_password); + return true; + } + + public function process() + { + if (Tools::getValue('checkDb')) + $this->processCheckDb(); + elseif (Tools::getValue('createDb')) + $this->processCreateDb(); + } + + /** + * Check if a connection to database is possible with these data + */ + public function processCheckDb() + { + $server = Tools::getValue('dbServer'); + $database = Tools::getValue('dbName'); + $login = Tools::getValue('dbLogin'); + $password = Tools::getValue('dbPassword'); + $prefix = Tools::getValue('db_prefix'); + $clear = Tools::getValue('clear'); + + $errors = $this->model_database->testDatabaseSettings($server, $database, $login, $password, $prefix, $clear); + + $this->ajaxJsonAnswer( + (count($errors)) ? false : true, + (count($errors)) ? implode('
', $errors) : $this->l('Database is connected') + ); + } + + /** + * Attempt to create the database + */ + public function processCreateDb() + { + $server = Tools::getValue('dbServer'); + $database = Tools::getValue('dbName'); + $login = Tools::getValue('dbLogin'); + $password = Tools::getValue('dbPassword'); + + $success = $this->model_database->createDatabase($server, $database, $login, $password); + + $this->ajaxJsonAnswer( + $success, + $success ? $this->l('Database is created') : $this->l('Cannot create the database automatically') + ); + } + + /** + * @see InstallAbstractModel::display() + */ + public function display() + { + if (!$this->session->database_server) + { + if (file_exists(_PS_ROOT_DIR_.'/config/settings.inc.php')) + { + @include_once _PS_ROOT_DIR_.'/config/settings.inc.php'; + $this->database_server = _DB_SERVER_; + $this->database_name = _DB_NAME_; + $this->database_login = _DB_USER_; + $this->database_password = _DB_PASSWD_; + $this->database_engine = _MYSQL_ENGINE_; + $this->database_prefix = _DB_PREFIX_; + } + else + { + $this->database_server = 'localhost'; + $this->database_name = 'prestashop'; + $this->database_login = 'root'; + $this->database_password = ''; + $this->database_engine = 'InnoDB'; + $this->database_prefix = 'ps_'; + } + + $this->database_clear = true; + $this->use_smtp = false; + $this->smtp_encryption = 'off'; + $this->smtp_port = 25; + } + else + { + $this->database_server = $this->session->database_server; + $this->database_name = $this->session->database_name; + $this->database_login = $this->session->database_login; + $this->database_password = $this->session->database_password; + $this->database_engine = $this->session->database_engine; + $this->database_prefix = $this->session->database_prefix; + $this->database_clear = $this->session->database_clear; + + $this->use_smtp = $this->session->use_smtp; + $this->smtp_encryption = $this->session->smtp_encryption; + $this->smtp_port = $this->session->smtp_port; + } + + $this->displayTemplate('database'); + } +} + diff --git a/_install/controllers/http/index.php b/_install/controllers/http/index.php new file mode 100644 index 00000000..8dd03b06 --- /dev/null +++ b/_install/controllers/http/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../'); +exit; \ No newline at end of file diff --git a/_install/controllers/http/license.php b/_install/controllers/http/license.php new file mode 100644 index 00000000..ee620249 --- /dev/null +++ b/_install/controllers/http/license.php @@ -0,0 +1,65 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Step 2 : display license form + */ +class InstallControllerHttpLicense extends InstallControllerHttp +{ + /** + * Process license form + * + * @see InstallAbstractModel::process() + */ + public function processNextStep() + { + $this->session->licence_agrement = Tools::getValue('licence_agrement'); + $this->session->configuration_agrement = Tools::getValue('configuration_agrement'); + } + + /** + * Licence agrement must be checked to validate this step + * + * @see InstallAbstractModel::validate() + */ + public function validate() + { + return $this->session->licence_agrement; + } + + public function process() + { + + } + + /** + * Display license step + */ + public function display() + { + $this->displayTemplate('license'); + } +} diff --git a/_install/controllers/http/process.php b/_install/controllers/http/process.php new file mode 100644 index 00000000..e51587d2 --- /dev/null +++ b/_install/controllers/http/process.php @@ -0,0 +1,344 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class InstallControllerHttpProcess extends InstallControllerHttp +{ + const SETTINGS_FILE = 'config/settings.inc.php'; + + protected $model_install; + public $process_steps = array(); + public $previous_button = false; + + public function init() + { + require_once _PS_INSTALL_MODELS_PATH_.'install.php'; + $this->model_install = new InstallModelInstall(); + } + + /** + * @see InstallAbstractModel::processNextStep() + */ + public function processNextStep() + { + } + + /** + * @see InstallAbstractModel::validate() + */ + public function validate() + { + return false; + } + + public function initializeContext() + { + global $smarty; + + Context::getContext()->shop = new Shop(1); + Shop::setContext(Shop::CONTEXT_SHOP, 1); + Configuration::loadConfiguration(); + Context::getContext()->language = new Language(Configuration::get('PS_LANG_DEFAULT')); + Context::getContext()->country = new Country(Configuration::get('PS_COUNTRY_DEFAULT')); + Context::getContext()->currency = new Currency(Configuration::get('PS_CURRENCY_DEFAULT')); + Context::getContext()->cart = new Cart(); + Context::getContext()->employee = new Employee(1); + define('_PS_SMARTY_FAST_LOAD_', true); + require_once _PS_ROOT_DIR_.'/config/smarty.config.inc.php'; + + Context::getContext()->smarty = $smarty; + } + + public function process() + { + if (file_exists(_PS_ROOT_DIR_.'/'.self::SETTINGS_FILE)) + require_once _PS_ROOT_DIR_.'/'.self::SETTINGS_FILE; + + if (!$this->session->process_validated) + $this->session->process_validated = array(); + + if (Tools::getValue('generateSettingsFile')) + $this->processGenerateSettingsFile(); + elseif (Tools::getValue('installDatabase') && !empty($this->session->process_validated['generateSettingsFile'])) + $this->processInstallDatabase(); + elseif (Tools::getValue('installDefaultData')) + $this->processInstallDefaultData(); + elseif (Tools::getValue('populateDatabase') && !empty($this->session->process_validated['installDatabase'])) + $this->processPopulateDatabase(); + elseif (Tools::getValue('configureShop') && !empty($this->session->process_validated['populateDatabase'])) + $this->processConfigureShop(); + elseif (Tools::getValue('installFixtures') && !empty($this->session->process_validated['configureShop'])) + $this->processInstallFixtures(); + elseif (Tools::getValue('installModules') && (!empty($this->session->process_validated['installFixtures']) || $this->session->install_type != 'full')) + $this->processInstallModules(); + elseif (Tools::getValue('installModulesAddons') && !empty($this->session->process_validated['installModules'])) + $this->processInstallAddonsModules(); + elseif (Tools::getValue('installTheme') && !empty($this->session->process_validated['installModulesAddons'])) + $this->processInstallTheme(); + elseif (Tools::getValue('sendEmail') && !empty($this->session->process_validated['installTheme'])) + $this->processSendEmail(); + else + { + // With no parameters, we consider that we are doing a new install, so session where the last process step + // was stored can be cleaned + if (Tools::getValue('restart')) + { + $this->session->process_validated = array(); + $this->session->database_clear = true; + if (Tools::getSafeModeStatus()) + $this->session->safe_mode = true; + } + elseif (!Tools::getValue('submitNext')) + { + $this->session->step = 'configure'; + $this->session->last_step = 'configure'; + Tools::redirect('index.php'); + } + } + } + + /** + * PROCESS : generateSettingsFile + */ + public function processGenerateSettingsFile() + { + $success = $this->model_install->generateSettingsFile( + $this->session->database_server, + $this->session->database_login, + $this->session->database_password, + $this->session->database_name, + $this->session->database_prefix, + $this->session->database_engine + ); + + if (!$success) + $this->ajaxJsonAnswer(false); + $this->session->process_validated = array_merge($this->session->process_validated, array('generateSettingsFile' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installDatabase + * Create database structure + */ + public function processInstallDatabase() + { + if (!$this->model_install->installDatabase($this->session->database_clear) || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->session->process_validated = array_merge($this->session->process_validated, array('installDatabase' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installDefaultData + * Create default shop and languages + */ + public function processInstallDefaultData() + { + // @todo remove true in populateDatabase for 1.5.0 RC version + $result = $this->model_install->installDefaultData($this->session->shop_name, $this->session->shop_country, false, true); + + if (!$result || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : populateDatabase + * Populate database with default data + */ + public function processPopulateDatabase() + { + $this->initializeContext(); + + $this->model_install->xml_loader_ids = $this->session->xml_loader_ids; + $result = $this->model_install->populateDatabase(Tools::getValue('entity')); + if (!$result || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->session->xml_loader_ids = $this->model_install->xml_loader_ids; + $this->session->process_validated = array_merge($this->session->process_validated, array('populateDatabase' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : configureShop + * Set default shop configuration + */ + public function processConfigureShop() + { + $this->initializeContext(); + + $success = $this->model_install->configureShop(array( + 'shop_name' => $this->session->shop_name, + 'shop_activity' => $this->session->shop_activity, + 'shop_country' => $this->session->shop_country, + 'shop_timezone' => $this->session->shop_timezone, + 'admin_firstname' => $this->session->admin_firstname, + 'admin_lastname' => $this->session->admin_lastname, + 'admin_password' => $this->session->admin_password, + 'admin_email' => $this->session->admin_email, + 'send_informations' => $this->session->send_informations, + 'configuration_agrement' => $this->session->configuration_agrement, + 'rewrite_engine' => $this->session->rewrite_engine, + )); + + if (!$success || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + + $this->session->process_validated = array_merge($this->session->process_validated, array('configureShop' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installModules + * Install all modules in ~/modules/ directory + */ + public function processInstallModules() + { + $this->initializeContext(); + + $result = $this->model_install->installModules(Tools::getValue('module')); + if (!$result || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->session->process_validated = array_merge($this->session->process_validated, array('installModules' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installModulesAddons + * Install modules from addons + */ + public function processInstallAddonsModules() + { + $this->initializeContext(); + if (($module = Tools::getValue('module')) && $id_module = Tools::getValue('id_module')) + $result = $this->model_install->installModulesAddons(array('name' => $module, 'id_module' => $id_module)); + else + $result = $this->model_install->installModulesAddons(); + if (!$result || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->session->process_validated = array_merge($this->session->process_validated, array('installModulesAddons' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installFixtures + * Install fixtures (E.g. demo products) + */ + public function processInstallFixtures() + { + $this->initializeContext(); + + $this->model_install->xml_loader_ids = $this->session->xml_loader_ids; + if (!$this->model_install->installFixtures(Tools::getValue('entity', null), array('shop_activity' => $this->session->shop_activity, 'shop_country' => $this->session->shop_country)) || $this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + $this->session->xml_loader_ids = $this->model_install->xml_loader_ids; + $this->session->process_validated = array_merge($this->session->process_validated, array('installFixtures' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * PROCESS : installTheme + * Install theme + */ + public function processInstallTheme() + { + $this->initializeContext(); + + $this->model_install->installTheme(); + if ($this->model_install->getErrors()) + $this->ajaxJsonAnswer(false, $this->model_install->getErrors()); + + $this->session->process_validated = array_merge($this->session->process_validated, array('installTheme' => true)); + $this->ajaxJsonAnswer(true); + } + + /** + * @see InstallAbstractModel::display() + */ + public function display() + { + // The installer SHOULD take less than 32M, but may take up to 35/36M sometimes. So 42M is a good value :) + $low_memory = Tools::getMemoryLimit() < Tools::getOctets('42M'); + + // We fill the process step used for Ajax queries + $this->process_steps[] = array('key' => 'generateSettingsFile', 'lang' => $this->l('Create settings.inc file')); + $this->process_steps[] = array('key' => 'installDatabase', 'lang' => $this->l('Create database tables')); + $this->process_steps[] = array('key' => 'installDefaultData', 'lang' => $this->l('Create default shop and languages')); + + // If low memory, create subtasks for populateDatabase step (entity per entity) + $populate_step = array('key' => 'populateDatabase', 'lang' => $this->l('Populate database tables')); + if ($low_memory) + { + $populate_step['subtasks'] = array(); + $xml_loader = new InstallXmlLoader(); + foreach ($xml_loader->getSortedEntities() as $entity) + $populate_step['subtasks'][] = array('entity' => $entity); + } + + $this->process_steps[] = $populate_step; + $this->process_steps[] = array('key' => 'configureShop', 'lang' => $this->l('Configure shop information')); + + if ($this->session->install_type == 'full') + { + // If low memory, create subtasks for installFixtures step (entity per entity) + $fixtures_step = array('key' => 'installFixtures', 'lang' => $this->l('Install demonstration data')); + if ($low_memory) + { + $fixtures_step['subtasks'] = array(); + $xml_loader = new InstallXmlLoader(); + $xml_loader->setFixturesPath(); + foreach ($xml_loader->getSortedEntities() as $entity) + $fixtures_step['subtasks'][] = array('entity' => $entity); + } + $this->process_steps[] = $fixtures_step; + } + + $install_modules = array('key' => 'installModules', 'lang' => $this->l('Install modules')); + if ($low_memory) + foreach ($this->model_install->getModulesList() as $module) + $install_modules['subtasks'][] = array('module' => $module); + $this->process_steps[] = $install_modules; + + $install_modules = array('key' => 'installModulesAddons', 'lang' => $this->l('Install Addons modules')); + + $params = array( + 'iso_lang' => $this->language->getLanguageIso(), + 'iso_country' => $this->session->shop_country, + 'email' => $this->session->admin_email, + 'shop_url' => Tools::getHttpHost(), + 'version' => _PS_INSTALL_VERSION_ + ); + + if ($low_memory) + foreach ($this->model_install->getAddonsModulesList($params) as $module) + $install_modules['subtasks'][] = array('module' => (string)$module['name'], 'id_module' => (string)$module['id_module']); + $this->process_steps[] = $install_modules; + + $this->process_steps[] = array('key' => 'installTheme', 'lang' => $this->l('Install theme')); + + $this->displayTemplate('process'); + } +} diff --git a/_install/controllers/http/smarty_compile.php b/_install/controllers/http/smarty_compile.php new file mode 100644 index 00000000..b0f5eb1f --- /dev/null +++ b/_install/controllers/http/smarty_compile.php @@ -0,0 +1,44 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +define('_PS_DO_NOT_LOAD_CONFIGURATION_', true); +if (Tools::getValue('bo')) +{ + if (!is_dir(_PS_ROOT_DIR_.'/admin/')) + exit; + define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.'/admin/'); + $directory = _PS_ADMIN_DIR_.'themes/default/'; +} +else + $directory = _PS_THEME_DIR_; + +require_once(_PS_ROOT_DIR_.'/config/smarty.config.inc.php'); + +$smarty->setTemplateDir($directory); +ob_start(); +$smarty->compileAllTemplates('.tpl', false); +if (ob_get_level() && ob_get_length() > 0) + ob_end_clean(); \ No newline at end of file diff --git a/_install/controllers/http/system.php b/_install/controllers/http/system.php new file mode 100644 index 00000000..01f2290f --- /dev/null +++ b/_install/controllers/http/system.php @@ -0,0 +1,150 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Step 2 : check system configuration (permissions on folders, PHP version, etc.) + */ +class InstallControllerHttpSystem extends InstallControllerHttp +{ + public $tests = array(); + + /** + * @var InstallModelSystem + */ + public $model_system; + + /** + * @see InstallAbstractModel::init() + */ + public function init() + { + require_once _PS_INSTALL_MODELS_PATH_.'system.php'; + $this->model_system = new InstallModelSystem(); + } + + /** + * @see InstallAbstractModel::processNextStep() + */ + public function processNextStep() + { + } + + /** + * Required tests must be passed to validate this step + * + * @see InstallAbstractModel::validate() + */ + public function validate() + { + $this->tests['required'] = $this->model_system->checkRequiredTests(); + + return $this->tests['required']['success']; + } + + /** + * Display system step + */ + public function display() + { + if (!isset($this->tests['required'])) + $this->tests['required'] = $this->model_system->checkRequiredTests(); + if (!isset($this->tests['optional'])) + $this->tests['optional'] = $this->model_system->checkOptionalTests(); + + if (!is_callable('getenv') || !($user = @getenv('APACHE_RUN_USER'))) + $user = 'Apache'; + + // Generate display array + $this->tests_render = array( + 'required' => array( + array( + 'title' => $this->l('Required PHP parameters'), + 'success' => 1, + 'checks' => array( + 'phpversion' => $this->l('PHP 5.1.2 or later is not enabled'), + 'upload' => $this->l('Cannot upload files'), + 'system' => $this->l('Cannot create new files and folders'), + 'gd' => $this->l('GD library is not installed'), + 'mysql_support' => $this->l('MySQL support is not activated') + ) + ), + array( + 'title' => $this->l('Files'), + 'success' => 1, + 'checks' => array( + 'files' => $this->l('Not all files were successfully uploaded on your server') + ) + ), + array( + 'title' => $this->l('Permissions on files and folders'), + 'success' => 1, + 'checks' => array( + 'config_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/config/'), + 'cache_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/cache/'), + 'log_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/log/'), + 'img_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/img/'), + 'mails_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/mails/'), + 'module_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/modules/'), + 'theme_lang_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default-bootstrap/lang/'), + 'theme_pdf_lang_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default-bootstrap/pdf/lang/'), + 'theme_cache_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/themes/default-bootstrap/cache/'), + 'translations_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/translations/'), + 'customizable_products_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/upload/'), + 'virtual_products_dir' => $this->l('Recursive write permissions for %1$s user on %2$s', $user, '~/download/') + ) + ), + ), + 'optional' => array( + array( + 'title' => $this->l('Recommended PHP parameters'), + 'success' => $this->tests['optional']['success'], + 'checks' => array( + 'new_phpversion' => sprintf($this->l('You are using PHP %s version. Soon, the latest PHP version supported by PrestaShop will be PHP 5.4. To make sure you’re ready for the future, we recommend you to upgrade to PHP 5.4 now!'), phpversion()), + 'fopen' => $this->l('Cannot open external URLs'), + 'register_globals' => $this->l('PHP register_globals option is enabled'), + 'gz' => $this->l('GZIP compression is not activated'), + 'mcrypt' => $this->l('Mcrypt extension is not enabled'), + 'mbstring' => $this->l('Mbstring extension is not enabled'), + 'magicquotes' => $this->l('PHP magic quotes option is enabled'), + 'dom' => $this->l('Dom extension is not loaded'), + 'pdo_mysql' => $this->l('PDO MySQL extension is not loaded') + ) + ), + ), + ); + + foreach ($this->tests_render['required'] as &$category) + foreach ($category['checks'] as $id => $check) + if ($this->tests['required']['checks'][$id] != 'ok') + $category['success'] = 0; + + // If required tests failed, disable next button + if (!$this->tests['required']['success']) + $this->next_button = false; + + $this->displayTemplate('system'); + } +} diff --git a/_install/controllers/http/welcome.php b/_install/controllers/http/welcome.php new file mode 100644 index 00000000..a3371b1e --- /dev/null +++ b/_install/controllers/http/welcome.php @@ -0,0 +1,72 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * Step 1 : display language form + */ +class InstallControllerHttpWelcome extends InstallControllerHttp +{ + public function processNextStep() + { + + } + + public function validate() + { + return true; + } + + /** + * Change language + */ + public function process() + { + if (Tools::getValue('language')) + { + $this->session->lang = Tools::getValue('language'); + $this->redirect('welcome'); + } + } + + /** + * Display welcome step + */ + public function display() + { + $this->can_upgrade = false; + if (file_exists(_PS_ROOT_DIR_.'/config/settings.inc.php')) + { + @include_once(_PS_ROOT_DIR_.'/config/settings.inc.php'); + if (version_compare(_PS_VERSION_, _PS_INSTALL_VERSION_, '<')) + { + $this->can_upgrade = true; + $this->ps_version = _PS_VERSION_; + } + } + + $this->displayTemplate('welcome'); + } +} diff --git a/_install/controllers/index.php b/_install/controllers/index.php new file mode 100644 index 00000000..c642967a --- /dev/null +++ b/_install/controllers/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; \ No newline at end of file diff --git a/_install/data/db_structure.sql b/_install/data/db_structure.sql new file mode 100644 index 00000000..8425b19a --- /dev/null +++ b/_install/data/db_structure.sql @@ -0,0 +1,2657 @@ +SET NAMES 'utf8'; + +CREATE TABLE `PREFIX_access` ( + `id_profile` int(10) unsigned NOT NULL, + `id_tab` int(10) unsigned NOT NULL, + `view` int(11) NOT NULL, + `add` int(11) NOT NULL, + `edit` int(11) NOT NULL, + `delete` int(11) NOT NULL, + PRIMARY KEY (`id_profile`,`id_tab`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_accessory` ( + `id_product_1` int(10) unsigned NOT NULL, + `id_product_2` int(10) unsigned NOT NULL, + KEY `accessory_product` (`id_product_1`,`id_product_2`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_address` ( + `id_address` int(10) unsigned NOT NULL auto_increment, + `id_country` int(10) unsigned NOT NULL, + `id_state` int(10) unsigned DEFAULT NULL, + `id_customer` int(10) unsigned NOT NULL DEFAULT '0', + `id_manufacturer` int(10) unsigned NOT NULL DEFAULT '0', + `id_supplier` int(10) unsigned NOT NULL DEFAULT '0', + `id_warehouse` int(10) unsigned NOT NULL DEFAULT '0', + `alias` varchar(32) NOT NULL, + `company` varchar(64) DEFAULT NULL, + `lastname` varchar(32) NOT NULL, + `firstname` varchar(32) NOT NULL, + `address1` varchar(128) NOT NULL, + `address2` varchar(128) DEFAULT NULL, + `postcode` varchar(12) DEFAULT NULL, + `city` varchar(64) NOT NULL, + `other` text, + `phone` varchar(32) DEFAULT NULL, + `phone_mobile` varchar(32) DEFAULT NULL, + `vat_number` varchar(32) DEFAULT NULL, + `dni` varchar(16) DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `active` tinyint(1) unsigned NOT NULL DEFAULT '1', + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_address`), + KEY `address_customer` (`id_customer`), + KEY `id_country` (`id_country`), + KEY `id_state` (`id_state`), + KEY `id_manufacturer` (`id_manufacturer`), + KEY `id_supplier` (`id_supplier`), + KEY `id_warehouse` (`id_warehouse`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_alias` ( + `id_alias` int(10) unsigned NOT NULL auto_increment, + `alias` varchar(255) NOT NULL, + `search` varchar(255) NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id_alias`), + UNIQUE KEY `alias` (`alias`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attachment` ( + `id_attachment` int(10) unsigned NOT NULL auto_increment, + `file` varchar(40) NOT NULL, + `file_name` varchar(128) NOT NULL, + `file_size` bigint(10) unsigned NOT NULL DEFAULT '0', + `mime` varchar(128) NOT NULL, + PRIMARY KEY (`id_attachment`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attachment_lang` ( + `id_attachment` int(10) unsigned NOT NULL auto_increment, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) DEFAULT NULL, + `description` TEXT, + PRIMARY KEY (`id_attachment`, `id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_attachment` ( + `id_product` int(10) unsigned NOT NULL, + `id_attachment` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_product`,`id_attachment`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute` ( + `id_attribute` int(10) unsigned NOT NULL auto_increment, + `id_attribute_group` int(10) unsigned NOT NULL, + `color` varchar(32) DEFAULT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_attribute`), + KEY `attribute_group` (`id_attribute_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_group` ( + `id_attribute_group` int(10) unsigned NOT NULL auto_increment, + `is_color_group` tinyint(1) NOT NULL DEFAULT '0', + `group_type` ENUM('select', 'radio', 'color') NOT NULL DEFAULT 'select', + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_attribute_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_group_lang` ( + `id_attribute_group` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(128) NOT NULL, + `public_name` varchar(64) NOT NULL, + PRIMARY KEY (`id_attribute_group`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_impact` ( + `id_attribute_impact` int(10) unsigned NOT NULL auto_increment, + `id_product` int(11) unsigned NOT NULL, + `id_attribute` int(11) unsigned NOT NULL, + `weight` DECIMAL(20,6) NOT NULL, + `price` decimal(17,2) NOT NULL, + PRIMARY KEY (`id_attribute_impact`), + UNIQUE KEY `id_product` (`id_product`,`id_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_lang` ( + `id_attribute` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(128) NOT NULL, + PRIMARY KEY (`id_attribute`,`id_lang`), + KEY `id_lang` (`id_lang`,`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_carrier` ( + `id_carrier` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_reference` int(10) unsigned NOT NULL, + `id_tax_rules_group` int(10) unsigned DEFAULT '0', + `name` varchar(64) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + `shipping_handling` tinyint(1) unsigned NOT NULL DEFAULT '1', + `range_behavior` tinyint(1) unsigned NOT NULL DEFAULT '0', + `is_module` tinyint(1) unsigned NOT NULL DEFAULT '0', + `is_free` tinyint(1) unsigned NOT NULL DEFAULT '0', + `shipping_external` tinyint(1) unsigned NOT NULL DEFAULT '0', + `need_range` tinyint(1) unsigned NOT NULL DEFAULT '0', + `external_module_name` varchar(64) DEFAULT NULL, + `shipping_method` int(2) NOT NULL DEFAULT '0', + `position` int(10) unsigned NOT NULL DEFAULT '0', + `max_width` int(10) DEFAULT '0', + `max_height` int(10) DEFAULT '0', + `max_depth` int(10) DEFAULT '0', + `max_weight` DECIMAL(20,6) DEFAULT '0', + `grade` int(10) DEFAULT '0', + PRIMARY KEY (`id_carrier`), + KEY `deleted` (`deleted`,`active`), + KEY `id_tax_rules_group` (`id_tax_rules_group`), + KEY `reference` (`id_reference`, `deleted`, `active`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_carrier_lang` ( + `id_carrier` int(10) unsigned NOT NULL, + `id_shop` int(11) unsigned NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NOT NULL, + `delay` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id_lang`,`id_shop`, `id_carrier`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_carrier_zone` ( + `id_carrier` int(10) unsigned NOT NULL, + `id_zone` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_carrier`,`id_zone`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart` ( + `id_cart` int(10) unsigned NOT NULL auto_increment, + `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_carrier` int(10) unsigned NOT NULL, + `delivery_option` TEXT NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `id_address_delivery` int(10) unsigned NOT NULL, + `id_address_invoice` int(10) unsigned NOT NULL, + `id_currency` int(10) unsigned NOT NULL, + `id_customer` int(10) unsigned NOT NULL, + `id_guest` int(10) unsigned NOT NULL, + `secure_key` varchar(32) NOT NULL DEFAULT '-1', + `recyclable` tinyint(1) unsigned NOT NULL DEFAULT '1', + `gift` tinyint(1) unsigned NOT NULL DEFAULT '0', + `gift_message` text, + `mobile_theme` tinyint(1) NOT NULL DEFAULT '0', + `allow_seperated_package` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_cart`), + KEY `cart_customer` (`id_customer`), + KEY `id_address_delivery` (`id_address_delivery`), + KEY `id_address_invoice` (`id_address_invoice`), + KEY `id_carrier` (`id_carrier`), + KEY `id_lang` (`id_lang`), + KEY `id_currency` (`id_currency`), + KEY `id_guest` (`id_guest`), + KEY `id_shop_group` (`id_shop_group`), + KEY `id_shop_2` (`id_shop`,`date_upd`), + KEY `id_shop` (`id_shop`,`date_add`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule` ( + `id_cart_rule` int(10) unsigned NOT NULL auto_increment, + `id_customer` int unsigned NOT NULL DEFAULT '0', + `date_from` datetime NOT NULL, + `date_to` datetime NOT NULL, + `description` text, + `quantity` int(10) unsigned NOT NULL DEFAULT '0', + `quantity_per_user` int(10) unsigned NOT NULL DEFAULT '0', + `priority` int(10) unsigned NOT NULL DEFAULT 1, + `partial_use` tinyint(1) unsigned NOT NULL DEFAULT '0', + `code` varchar(254) NOT NULL, + `minimum_amount` decimal(17,2) NOT NULL DEFAULT '0', + `minimum_amount_tax` tinyint(1) NOT NULL DEFAULT '0', + `minimum_amount_currency` int unsigned NOT NULL DEFAULT '0', + `minimum_amount_shipping` tinyint(1) NOT NULL DEFAULT '0', + `country_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `carrier_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `group_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `cart_rule_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `product_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `shop_restriction` tinyint(1) unsigned NOT NULL DEFAULT '0', + `free_shipping` tinyint(1) NOT NULL DEFAULT '0', + `reduction_percent` decimal(5,2) NOT NULL DEFAULT '0', + `reduction_amount` decimal(17,2) NOT NULL DEFAULT '0', + `reduction_tax` tinyint(1) unsigned NOT NULL DEFAULT '0', + `reduction_currency` int(10) unsigned NOT NULL DEFAULT '0', + `reduction_product` int(10) NOT NULL DEFAULT '0', + `gift_product` int(10) unsigned NOT NULL DEFAULT '0', + `gift_product_attribute` int(10) unsigned NOT NULL DEFAULT '0', + `highlight` tinyint(1) unsigned NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_cart_rule`), + KEY `id_customer` (`id_customer`, `active`, `date_to`), + KEY `group_restriction` (`group_restriction`, `active`, `date_to`), + KEY `id_customer_2` (`id_customer`,`active`,`highlight`,`date_to`), + KEY `group_restriction_2` (`group_restriction`,`active`,`highlight`,`date_to`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_lang` ( + `id_cart_rule` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(254) NOT NULL, + PRIMARY KEY (`id_cart_rule`, `id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_country` ( + `id_cart_rule` int(10) unsigned NOT NULL, + `id_country` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart_rule`, `id_country`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_group` ( + `id_cart_rule` int(10) unsigned NOT NULL, + `id_group` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart_rule`, `id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_carrier` ( + `id_cart_rule` int(10) unsigned NOT NULL, + `id_carrier` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart_rule`, `id_carrier`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_combination` ( + `id_cart_rule_1` int(10) unsigned NOT NULL, + `id_cart_rule_2` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart_rule_1`, `id_cart_rule_2`), + KEY `id_cart_rule_1` (`id_cart_rule_1`), + KEY `id_cart_rule_2` (`id_cart_rule_2`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_product_rule_group` ( + `id_product_rule_group` int(10) unsigned NOT NULL auto_increment, + `id_cart_rule` int(10) unsigned NOT NULL, + `quantity` int(10) unsigned NOT NULL DEFAULT 1, + PRIMARY KEY (`id_product_rule_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_product_rule` ( + `id_product_rule` int(10) unsigned NOT NULL auto_increment, + `id_product_rule_group` int(10) unsigned NOT NULL, + `type` ENUM('products', 'categories', 'attributes', 'manufacturers', 'suppliers') NOT NULL, + PRIMARY KEY (`id_product_rule`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_product_rule_value` ( + `id_product_rule` int(10) unsigned NOT NULL, + `id_item` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_product_rule`, `id_item`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_cart_rule` ( + `id_cart` int(10) unsigned NOT NULL, + `id_cart_rule` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart`,`id_cart_rule`), + KEY (`id_cart_rule`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_rule_shop` ( + `id_cart_rule` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_cart_rule`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cart_product` ( + `id_cart` int(10) unsigned NOT NULL, + `id_product` int(10) unsigned NOT NULL, + `id_address_delivery` int(10) UNSIGNED DEFAULT '0', + `id_shop` int(10) unsigned NOT NULL DEFAULT '1', + `id_product_attribute` int(10) unsigned DEFAULT NULL, + `quantity` int(10) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_cart`,`id_product`,`id_product_attribute`,`id_address_delivery`), + KEY `id_product_attribute` (`id_product_attribute`), + KEY `id_cart_order` (`id_cart`, `date_add`, `id_product`, `id_product_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_category` ( + `id_category` int(10) unsigned NOT NULL auto_increment, + `id_parent` int(10) unsigned NOT NULL, + `id_shop_default` int(10) unsigned NOT NULL DEFAULT 1, + `level_depth` tinyint(3) unsigned NOT NULL DEFAULT '0', + `nleft` int(10) unsigned NOT NULL DEFAULT '0', + `nright` int(10) unsigned NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + `is_root_category` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_category`), + KEY `category_parent` (`id_parent`), + KEY `nleftrightactive` (`nleft`, `nright`, `active`), + KEY `level_depth` (`level_depth`), + KEY `nright` (`nright`), + KEY `activenleft` (`active`,`nleft`), + KEY `activenright` (`active`,`nright`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_category_group` ( + `id_category` int(10) unsigned NOT NULL, + `id_group` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_category`,`id_group`), + KEY `id_category` (`id_category`), + KEY `id_group` (`id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_category_lang` ( + `id_category` int(10) unsigned NOT NULL, + `id_shop` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(128) NOT NULL, + `description` text, + `link_rewrite` varchar(128) NOT NULL, + `meta_title` varchar(128) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `meta_description` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_category`,`id_shop`, `id_lang`), + KEY `category_name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_category_product` ( + `id_category` int(10) unsigned NOT NULL, + `id_product` int(10) unsigned NOT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_category`,`id_product`), + INDEX (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms` ( + `id_cms` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_cms_category` int(10) unsigned NOT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `indexation` tinyint(1) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id_cms`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms_lang` ( + `id_cms` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL DEFAULT '1', + `meta_title` varchar(128) NOT NULL, + `meta_description` varchar(255) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `content` longtext, + `link_rewrite` varchar(128) NOT NULL, + PRIMARY KEY (`id_cms`, `id_shop`, `id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms_category` ( + `id_cms_category` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_parent` int(10) unsigned NOT NULL, + `level_depth` tinyint(3) unsigned NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_cms_category`), + KEY `category_parent` (`id_parent`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms_category_lang` ( + `id_cms_category` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL DEFAULT '1', + `name` varchar(128) NOT NULL, + `description` text, + `link_rewrite` varchar(128) NOT NULL, + `meta_title` varchar(128) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `meta_description` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_cms_category`, `id_shop`, `id_lang`), + KEY `category_name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms_category_shop` ( + `id_cms_category` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_shop` INT(11) UNSIGNED NOT NULL , + PRIMARY KEY (`id_cms_category`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_compare` ( + `id_compare` int(10) unsigned NOT NULL auto_increment, + `id_customer` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_compare`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_compare_product` ( + `id_compare` int(10) unsigned NOT NULL, + `id_product` int(10) unsigned NOT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_compare`,`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_configuration` ( + `id_configuration` int(10) unsigned NOT NULL auto_increment, + `id_shop_group` INT(11) UNSIGNED DEFAULT NULL, + `id_shop` INT(11) UNSIGNED DEFAULT NULL, + `name` varchar(254) NOT NULL, + `value` text, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_configuration`), + KEY `name` (`name`), + KEY `id_shop` (`id_shop`), + KEY `id_shop_group` (`id_shop_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_configuration_lang` ( + `id_configuration` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `value` text, + `date_upd` datetime DEFAULT NULL, + PRIMARY KEY (`id_configuration`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_configuration_kpi` ( + `id_configuration_kpi` int(10) unsigned NOT NULL auto_increment, + `id_shop_group` INT(11) UNSIGNED DEFAULT NULL, + `id_shop` INT(11) UNSIGNED DEFAULT NULL, + `name` varchar(64) NOT NULL, + `value` text, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_configuration_kpi`), + KEY `name` (`name`), + KEY `id_shop` (`id_shop`), + KEY `id_shop_group` (`id_shop_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_configuration_kpi_lang` ( + `id_configuration_kpi` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `value` text, + `date_upd` datetime DEFAULT NULL, + PRIMARY KEY (`id_configuration_kpi`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_connections` ( + `id_connections` int(10) unsigned NOT NULL auto_increment, + `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_guest` int(10) unsigned NOT NULL, + `id_page` int(10) unsigned NOT NULL, + `ip_address` BIGINT NULL DEFAULT NULL, + `date_add` datetime NOT NULL, + `http_referer` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_connections`), + KEY `id_guest` (`id_guest`), + KEY `date_add` (`date_add`), + KEY `id_page` (`id_page`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_connections_page` ( + `id_connections` int(10) unsigned NOT NULL, + `id_page` int(10) unsigned NOT NULL, + `time_start` datetime NOT NULL, + `time_end` datetime DEFAULT NULL, + PRIMARY KEY (`id_connections`,`id_page`,`time_start`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_connections_source` ( + `id_connections_source` int(10) unsigned NOT NULL auto_increment, + `id_connections` int(10) unsigned NOT NULL, + `http_referer` varchar(255) DEFAULT NULL, + `request_uri` varchar(255) DEFAULT NULL, + `keywords` varchar(255) DEFAULT NULL, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_connections_source`), + KEY `connections` (`id_connections`), + KEY `orderby` (`date_add`), + KEY `http_referer` (`http_referer`), + KEY `request_uri` (`request_uri`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_contact` ( + `id_contact` int(10) unsigned NOT NULL auto_increment, + `email` varchar(128) NOT NULL, + `customer_service` tinyint(1) NOT NULL DEFAULT '0', + `position` tinyint(2) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_contact`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_contact_lang` ( + `id_contact` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) NOT NULL, + `description` text, + PRIMARY KEY (`id_contact`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_country` ( + `id_country` int(10) unsigned NOT NULL auto_increment, + `id_zone` int(10) unsigned NOT NULL, + `id_currency` int(10) unsigned NOT NULL DEFAULT '0', + `iso_code` varchar(3) NOT NULL, + `call_prefix` int(10) NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `contains_states` tinyint(1) NOT NULL DEFAULT '0', + `need_identification_number` tinyint(1) NOT NULL DEFAULT '0', + `need_zip_code` tinyint(1) NOT NULL DEFAULT '1', + `zip_code_format` varchar(12) NOT NULL DEFAULT '', + `display_tax_label` BOOLEAN NOT NULL, + PRIMARY KEY (`id_country`), + KEY `country_iso_code` (`iso_code`), + KEY `country_` (`id_zone`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_country_lang` ( + `id_country` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(64) NOT NULL, + PRIMARY KEY (`id_country`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_currency` ( + `id_currency` int(10) unsigned NOT NULL auto_increment, + `name` varchar(32) NOT NULL, + `iso_code` varchar(3) NOT NULL DEFAULT '0', + `iso_code_num` varchar(3) NOT NULL DEFAULT '0', + `sign` varchar(8) NOT NULL, + `blank` tinyint(1) unsigned NOT NULL DEFAULT '0', + `format` tinyint(1) unsigned NOT NULL DEFAULT '0', + `decimals` tinyint(1) unsigned NOT NULL DEFAULT '1', + `conversion_rate` decimal(13,6) NOT NULL, + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id_currency`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customer` ( + `id_customer` int(10) unsigned NOT NULL auto_increment, + `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_gender` int(10) unsigned NOT NULL, + `id_default_group` int(10) unsigned NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NULL, + `id_risk` int(10) unsigned NOT NULL DEFAULT '1', + `company` varchar(64), + `siret` varchar(14), + `ape` varchar(5), + `firstname` varchar(32) NOT NULL, + `lastname` varchar(32) NOT NULL, + `email` varchar(128) NOT NULL, + `passwd` varchar(32) NOT NULL, + `last_passwd_gen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `birthday` date DEFAULT NULL, + `newsletter` tinyint(1) unsigned NOT NULL DEFAULT '0', + `ip_registration_newsletter` varchar(15) DEFAULT NULL, + `newsletter_date_add` datetime DEFAULT NULL, + `optin` tinyint(1) unsigned NOT NULL DEFAULT '0', + `website` varchar(128), + `outstanding_allow_amount` DECIMAL( 20,6 ) NOT NULL DEFAULT '0.00', + `show_public_prices` tinyint(1) unsigned NOT NULL DEFAULT '0', + `max_payment_days` int(10) unsigned NOT NULL DEFAULT '60', + `secure_key` varchar(32) NOT NULL DEFAULT '-1', + `note` text, + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `is_guest` tinyint(1) NOT NULL DEFAULT '0', + `deleted` tinyint(1) NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_customer`), + KEY `customer_email` (`email`), + KEY `customer_login` (`email`,`passwd`), + KEY `id_customer_passwd` (`id_customer`,`passwd`), + KEY `id_gender` (`id_gender`), + KEY `id_shop_group` (`id_shop_group`), + KEY `id_shop` (`id_shop`, `date_add`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customer_group` ( + `id_customer` int(10) unsigned NOT NULL, + `id_group` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_customer`,`id_group`), + INDEX customer_login(id_group), + KEY `id_customer` (`id_customer`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customer_message` ( + `id_customer_message` int(10) unsigned NOT NULL auto_increment, + `id_customer_thread` int(11) DEFAULT NULL, + `id_employee` int(10) unsigned DEFAULT NULL, + `message` text NOT NULL, + `file_name` varchar(18) DEFAULT NULL, + `ip_address` varchar(16) DEFAULT NULL, + `user_agent` varchar(128) DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `private` TINYINT NOT NULL DEFAULT '0', + `read` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_customer_message`), + KEY `id_customer_thread` (`id_customer_thread`), + KEY `id_employee` (`id_employee`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + + +CREATE TABLE `PREFIX_customer_message_sync_imap` ( + `md5_header` varbinary(32) NOT NULL, + KEY `md5_header_index` (`md5_header`(4)) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customer_thread` ( + `id_customer_thread` int(11) unsigned NOT NULL auto_increment, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NOT NULL, + `id_contact` int(10) unsigned NOT NULL, + `id_customer` int(10) unsigned DEFAULT NULL, + `id_order` int(10) unsigned DEFAULT NULL, + `id_product` int(10) unsigned DEFAULT NULL, + `status` enum('open','closed','pending1','pending2') NOT NULL DEFAULT 'open', + `email` varchar(128) NOT NULL, + `token` varchar(12) DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_customer_thread`), + KEY `id_shop` (`id_shop`), + KEY `id_lang` (`id_lang`), + KEY `id_contact` (`id_contact`), + KEY `id_customer` (`id_customer`), + KEY `id_order` (`id_order`), + KEY `id_product` (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + + +CREATE TABLE `PREFIX_customization` ( + `id_customization` int(10) unsigned NOT NULL auto_increment, + `id_product_attribute` int(10) unsigned NOT NULL DEFAULT '0', + `id_address_delivery` int(10) UNSIGNED NOT NULL DEFAULT '0', + `id_cart` int(10) unsigned NOT NULL, + `id_product` int(10) NOT NULL, + `quantity` int(10) NOT NULL, + `quantity_refunded` INT NOT NULL DEFAULT '0', + `quantity_returned` INT NOT NULL DEFAULT '0', + `in_cart` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`id_customization`,`id_cart`,`id_product`, `id_address_delivery`), + KEY `id_product_attribute` (`id_product_attribute`), + KEY `id_cart_product` (`id_cart`, `id_product`, `id_product_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customization_field` ( + `id_customization_field` int(10) unsigned NOT NULL auto_increment, + `id_product` int(10) unsigned NOT NULL, + `type` tinyint(1) NOT NULL, + `required` tinyint(1) NOT NULL, + PRIMARY KEY (`id_customization_field`), + KEY `id_product` (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customization_field_lang` ( + `id_customization_field` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `id_shop` int(10) UNSIGNED NOT NULL DEFAULT '1', + `name` varchar(255) NOT NULL, + PRIMARY KEY (`id_customization_field`,`id_lang`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_customized_data` ( + `id_customization` int(10) unsigned NOT NULL, + `type` tinyint(1) NOT NULL, + `index` int(3) NOT NULL, + `value` varchar(255) NOT NULL, + PRIMARY KEY (`id_customization`,`type`,`index`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_date_range` ( + `id_date_range` int(10) unsigned NOT NULL auto_increment, + `time_start` datetime NOT NULL, + `time_end` datetime NOT NULL, + PRIMARY KEY (`id_date_range`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_delivery` ( + `id_delivery` int(10) unsigned NOT NULL auto_increment, + `id_shop` INT UNSIGNED NULL DEFAULT NULL, + `id_shop_group` INT UNSIGNED NULL DEFAULT NULL, + `id_carrier` int(10) unsigned NOT NULL, + `id_range_price` int(10) unsigned DEFAULT NULL, + `id_range_weight` int(10) unsigned DEFAULT NULL, + `id_zone` int(10) unsigned NOT NULL, + `price` decimal(20,6) NOT NULL, + PRIMARY KEY (`id_delivery`), + KEY `id_zone` (`id_zone`), + KEY `id_carrier` (`id_carrier`,`id_zone`), + KEY `id_range_price` (`id_range_price`), + KEY `id_range_weight` (`id_range_weight`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_employee` ( + `id_employee` int(10) unsigned NOT NULL auto_increment, + `id_profile` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL DEFAULT '0', + `lastname` varchar(32) NOT NULL, + `firstname` varchar(32) NOT NULL, + `email` varchar(128) NOT NULL, + `passwd` varchar(32) NOT NULL, + `last_passwd_gen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `stats_date_from` date DEFAULT NULL, + `stats_date_to` date DEFAULT NULL, + `stats_compare_from` date DEFAULT NULL, + `stats_compare_to` date DEFAULT NULL, + `stats_compare_option` int(1) unsigned NOT NULL DEFAULT 1, + `preselect_date_range` varchar(32) DEFAULT NULL, + `bo_color` varchar(32) DEFAULT NULL, + `bo_theme` varchar(32) DEFAULT NULL, + `bo_css` varchar(64) DEFAULT NULL, + `default_tab` int(10) unsigned NOT NULL DEFAULT '0', + `bo_width` int(10) unsigned NOT NULL DEFAULT '0', + `bo_menu` tinyint(1) NOT NULL DEFAULT '1', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `optin` tinyint(1) unsigned NOT NULL DEFAULT '1', + `id_last_order` int(10) unsigned NOT NULL DEFAULT '0', + `id_last_customer_message` int(10) unsigned NOT NULL DEFAULT '0', + `id_last_customer` int(10) unsigned NOT NULL DEFAULT '0', + `last_connection_date` date DEFAULT '0000-00-00', + PRIMARY KEY (`id_employee`), + KEY `employee_login` (`email`,`passwd`), + KEY `id_employee_passwd` (`id_employee`,`passwd`), + KEY `id_profile` (`id_profile`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_employee_shop` ( +`id_employee` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY ( `id_employee` , `id_shop` ), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature` ( + `id_feature` int(10) unsigned NOT NULL auto_increment, + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_feature`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature_lang` ( + `id_feature` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id_feature`,`id_lang`), + KEY (`id_lang`,`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature_product` ( + `id_feature` int(10) unsigned NOT NULL, + `id_product` int(10) unsigned NOT NULL, + `id_feature_value` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_feature`,`id_product`), + KEY `id_feature_value` (`id_feature_value`), + KEY `id_product` (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature_value` ( + `id_feature_value` int(10) unsigned NOT NULL auto_increment, + `id_feature` int(10) unsigned NOT NULL, + `custom` tinyint(3) unsigned DEFAULT NULL, + PRIMARY KEY (`id_feature_value`), + KEY `feature` (`id_feature`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature_value_lang` ( + `id_feature_value` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `value` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_feature_value`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_gender` ( + `id_gender` int(11) NOT NULL AUTO_INCREMENT, + `type` tinyint(1) NOT NULL, + PRIMARY KEY (`id_gender`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_gender_lang` ( + `id_gender` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(20) NOT NULL, + PRIMARY KEY (`id_gender`,`id_lang`), + KEY `id_gender` (`id_gender`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_group` ( + `id_group` int(10) unsigned NOT NULL auto_increment, + `reduction` decimal(17,2) NOT NULL DEFAULT '0.00', + `price_display_method` TINYINT NOT NULL DEFAULT '0', + `show_prices` tinyint(1) unsigned NOT NULL DEFAULT '1', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_group_lang` ( + `id_group` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) NOT NULL, + PRIMARY KEY (`id_group`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_group_reduction` ( + `id_group_reduction` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, + `id_group` INT(10) UNSIGNED NOT NULL, + `id_category` INT(10) UNSIGNED NOT NULL, + `reduction` DECIMAL(4, 3) NOT NULL, + PRIMARY KEY (`id_group_reduction`), + UNIQUE KEY(`id_group`, `id_category`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_group_reduction_cache` ( + `id_product` INT UNSIGNED NOT NULL, + `id_group` INT UNSIGNED NOT NULL, + `reduction` DECIMAL(4, 3) NOT NULL, + PRIMARY KEY (`id_product`, `id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_carrier` ( + `id_product` int(10) unsigned NOT NULL, + `id_carrier_reference` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_product`, `id_carrier_reference`, `id_shop`) +) ENGINE = ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_guest` ( + `id_guest` int(10) unsigned NOT NULL auto_increment, + `id_operating_system` int(10) unsigned DEFAULT NULL, + `id_web_browser` int(10) unsigned DEFAULT NULL, + `id_customer` int(10) unsigned DEFAULT NULL, + `javascript` tinyint(1) DEFAULT '0', + `screen_resolution_x` smallint(5) unsigned DEFAULT NULL, + `screen_resolution_y` smallint(5) unsigned DEFAULT NULL, + `screen_color` tinyint(3) unsigned DEFAULT NULL, + `sun_java` tinyint(1) DEFAULT NULL, + `adobe_flash` tinyint(1) DEFAULT NULL, + `adobe_director` tinyint(1) DEFAULT NULL, + `apple_quicktime` tinyint(1) DEFAULT NULL, + `real_player` tinyint(1) DEFAULT NULL, + `windows_media` tinyint(1) DEFAULT NULL, + `accept_language` varchar(8) DEFAULT NULL, + `mobile_theme` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_guest`), + KEY `id_customer` (`id_customer`), + KEY `id_operating_system` (`id_operating_system`), + KEY `id_web_browser` (`id_web_browser`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_hook` ( + `id_hook` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `title` varchar(64) NOT NULL, + `description` text, + `position` tinyint(1) NOT NULL DEFAULT '1', + `live_edit` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_hook`), + UNIQUE KEY `hook_name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_hook_alias` ( + `id_hook_alias` int(10) unsigned NOT NULL auto_increment, + `alias` varchar(64) NOT NULL, + `name` varchar(64) NOT NULL, + PRIMARY KEY (`id_hook_alias`), + UNIQUE KEY `alias` (`alias`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_hook_module` ( + `id_module` int(10) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_hook` int(10) unsigned NOT NULL, + `position` tinyint(2) unsigned NOT NULL, + PRIMARY KEY (`id_module`,`id_hook`,`id_shop`), + KEY `id_hook` (`id_hook`), + KEY `id_module` (`id_module`), + KEY `position` (`id_shop`, `position`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_hook_module_exceptions` ( + `id_hook_module_exceptions` int(10) unsigned NOT NULL auto_increment, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_module` int(10) unsigned NOT NULL, + `id_hook` int(10) unsigned NOT NULL, + `file_name` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_hook_module_exceptions`), + KEY `id_module` (`id_module`), + KEY `id_hook` (`id_hook`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_image` ( + `id_image` int(10) unsigned NOT NULL auto_increment, + `id_product` int(10) unsigned NOT NULL, + `position` smallint(2) unsigned NOT NULL DEFAULT '0', + `cover` tinyint(1) unsigned NULL DEFAULT NULL, + PRIMARY KEY (`id_image`), + KEY `image_product` (`id_product`), + UNIQUE KEY `id_product_cover` (`id_product`,`cover`), + UNIQUE KEY `idx_product_image` (`id_image`, `id_product`, `cover`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_image_lang` ( + `id_image` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `legend` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id_image`,`id_lang`), + KEY `id_image` (`id_image`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_image_type` ( + `id_image_type` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `width` int(10) unsigned NOT NULL, + `height` int(10) unsigned NOT NULL, + `products` tinyint(1) NOT NULL DEFAULT '1', + `categories` tinyint(1) NOT NULL DEFAULT '1', + `manufacturers` tinyint(1) NOT NULL DEFAULT '1', + `suppliers` tinyint(1) NOT NULL DEFAULT '1', + `scenes` tinyint(1) NOT NULL DEFAULT '1', + `stores` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id_image_type`), + KEY `image_type_name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_lang` ( + `id_lang` int(10) unsigned NOT NULL auto_increment, + `name` varchar(32) NOT NULL, + `active` tinyint(3) unsigned NOT NULL DEFAULT '0', + `iso_code` char(2) NOT NULL, + `language_code` char(5) NOT NULL, + `date_format_lite` char(32) NOT NULL DEFAULT 'Y-m-d', + `date_format_full` char(32) NOT NULL DEFAULT 'Y-m-d H:i:s', + `is_rtl` TINYINT(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_lang`), + KEY `lang_iso_code` (`iso_code`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_manufacturer` ( + `id_manufacturer` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_manufacturer`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_manufacturer_lang` ( + `id_manufacturer` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `description` text, + `short_description` text, + `meta_title` varchar(128) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `meta_description` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_manufacturer`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_message` ( + `id_message` int(10) unsigned NOT NULL auto_increment, + `id_cart` int(10) unsigned DEFAULT NULL, + `id_customer` int(10) unsigned NOT NULL, + `id_employee` int(10) unsigned DEFAULT NULL, + `id_order` int(10) unsigned NOT NULL, + `message` text NOT NULL, + `private` tinyint(1) unsigned NOT NULL DEFAULT '1', + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_message`), + KEY `message_order` (`id_order`), + KEY `id_cart` (`id_cart`), + KEY `id_customer` (`id_customer`), + KEY `id_employee` (`id_employee`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_message_readed` ( + `id_message` int(10) unsigned NOT NULL, + `id_employee` int(10) unsigned NOT NULL, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_message`,`id_employee`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_meta` ( + `id_meta` int(10) unsigned NOT NULL auto_increment, + `page` varchar(64) NOT NULL, + `configurable` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1', + PRIMARY KEY (`id_meta`), + UNIQUE KEY `page` (`page`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_meta_lang` ( + `id_meta` int(10) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NOT NULL, + `title` varchar(128) DEFAULT NULL, + `description` varchar(255) DEFAULT NULL, + `keywords` varchar(255) DEFAULT NULL, + `url_rewrite` varchar(254) NOT NULL, + PRIMARY KEY (`id_meta`, `id_shop`, `id_lang`), + KEY `id_shop` (`id_shop`), + KEY `id_lang` (`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module` ( + `id_module` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `version` VARCHAR(8) NOT NULL, + PRIMARY KEY (`id_module`), + KEY `name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_access` ( + `id_profile` int(10) unsigned NOT NULL, + `id_module` int(10) unsigned NOT NULL, + `view` tinyint(1) NOT NULL DEFAULT '0', + `configure` tinyint(1) NOT NULL DEFAULT '0', + `uninstall` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_profile`,`id_module`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_country` ( + `id_module` int(10) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_country` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_module`,`id_shop`, `id_country`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_currency` ( + `id_module` int(10) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_currency` int(11) NOT NULL, + PRIMARY KEY (`id_module`,`id_shop`, `id_currency`), + KEY `id_module` (`id_module`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_group` ( + `id_module` int(10) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_group` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_module`,`id_shop`, `id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_operating_system` ( + `id_operating_system` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) DEFAULT NULL, + PRIMARY KEY (`id_operating_system`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_orders` ( + `id_order` int(10) unsigned NOT NULL auto_increment, + `reference` VARCHAR(9), + `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_carrier` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `id_customer` int(10) unsigned NOT NULL, + `id_cart` int(10) unsigned NOT NULL, + `id_currency` int(10) unsigned NOT NULL, + `id_address_delivery` int(10) unsigned NOT NULL, + `id_address_invoice` int(10) unsigned NOT NULL, + `current_state` int(10) unsigned NOT NULL, + `secure_key` varchar(32) NOT NULL DEFAULT '-1', + `payment` varchar(255) NOT NULL, + `conversion_rate` decimal(13,6) NOT NULL DEFAULT 1, + `module` varchar(255) DEFAULT NULL, + `recyclable` tinyint(1) unsigned NOT NULL DEFAULT '0', + `gift` tinyint(1) unsigned NOT NULL DEFAULT '0', + `gift_message` text, + `mobile_theme` tinyint(1) NOT NULL DEFAULT '0', + `shipping_number` varchar(64) DEFAULT NULL, + `total_discounts` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_discounts_tax_incl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_discounts_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid_tax_incl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid_real` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_products` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_products_wt` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_shipping` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_shipping_tax_incl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_shipping_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `carrier_tax_rate` DECIMAL(10, 3) NOT NULL DEFAULT '0.00', + `total_wrapping` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_wrapping_tax_incl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_wrapping_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `round_mode` tinyint(1) NOT NULL DEFAULT '2', + `round_type` tinyint(1) NOT NULL DEFAULT '1', + `invoice_number` int(10) unsigned NOT NULL DEFAULT '0', + `delivery_number` int(10) unsigned NOT NULL DEFAULT '0', + `invoice_date` datetime NOT NULL, + `delivery_date` datetime NOT NULL, + `valid` int(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_order`), + KEY `reference` (`reference`), + KEY `id_customer` (`id_customer`), + KEY `id_cart` (`id_cart`), + KEY `invoice_number` (`invoice_number`), + KEY `id_carrier` (`id_carrier`), + KEY `id_lang` (`id_lang`), + KEY `id_currency` (`id_currency`), + KEY `id_address_delivery` (`id_address_delivery`), + KEY `id_address_invoice` (`id_address_invoice`), + KEY `id_shop_group` (`id_shop_group`), + KEY (`current_state`), + KEY `id_shop` (`id_shop`), + INDEX `date_add`(`date_add`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_detail_tax` ( + `id_order_detail` int(11) NOT NULL, + `id_tax` int(11) NOT NULL, + `unit_amount` DECIMAL(16, 6) NOT NULL DEFAULT '0.00', + `total_amount` DECIMAL(16, 6) NOT NULL DEFAULT '0.00', + KEY (`id_order_detail`), + KEY `id_tax` (`id_tax`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_invoice` ( + `id_order_invoice` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `id_order` int(11) NOT NULL, + `number` int(11) NOT NULL, + `delivery_number` int(11) NOT NULL, + `delivery_date` datetime, + `total_discount_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_discount_tax_incl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid_tax_excl` decimal(20,6) NOT NULL DEFAULT '0.00', + `total_paid_tax_incl` decimal(20, 6) NOT NULL DEFAULT '0.00', + `total_products` decimal(20, 6) NOT NULL DEFAULT '0.00', + `total_products_wt` decimal(20, 6) NOT NULL DEFAULT '0.00', + `total_shipping_tax_excl` decimal(20, 6) NOT NULL DEFAULT '0.00', + `total_shipping_tax_incl` decimal(20, 6) NOT NULL DEFAULT '0.00', + `shipping_tax_computation_method` int(10) unsigned NOT NULL, + `total_wrapping_tax_excl` decimal(20, 6) NOT NULL DEFAULT '0.00', + `total_wrapping_tax_incl` decimal(20, 6) NOT NULL DEFAULT '0.00', + `shop_address` text DEFAULT NULL, + `invoice_address` text DEFAULT NULL, + `delivery_address` text DEFAULT NULL, + `note` text, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_order_invoice`), + KEY `id_order` (`id_order`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_order_invoice_tax` ( + `id_order_invoice` int(11) NOT NULL, + `type` varchar(15) NOT NULL, + `id_tax` int(11) NOT NULL, + `amount` decimal(10,6) NOT NULL DEFAULT '0.000000', + KEY `id_tax` (`id_tax`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_detail` ( + `id_order_detail` int(10) unsigned NOT NULL auto_increment, + `id_order` int(10) unsigned NOT NULL, + `id_order_invoice` int(11) DEFAULT NULL, + `id_warehouse` int(10) unsigned DEFAULT '0', + `id_shop` int(11) unsigned NOT NULL, + `product_id` int(10) unsigned NOT NULL, + `product_attribute_id` int(10) unsigned DEFAULT NULL, + `product_name` varchar(255) NOT NULL, + `product_quantity` int(10) unsigned NOT NULL DEFAULT '0', + `product_quantity_in_stock` int(10) NOT NULL DEFAULT '0', + `product_quantity_refunded` int(10) unsigned NOT NULL DEFAULT '0', + `product_quantity_return` int(10) unsigned NOT NULL DEFAULT '0', + `product_quantity_reinjected` int(10) unsigned NOT NULL DEFAULT '0', + `product_price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `reduction_percent` DECIMAL(10, 2) NOT NULL DEFAULT '0.00', + `reduction_amount` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `reduction_amount_tax_incl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `reduction_amount_tax_excl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `group_reduction` DECIMAL(10, 2) NOT NULL DEFAULT '0.000000', + `product_quantity_discount` decimal(20,6) NOT NULL DEFAULT '0.000000', + `product_ean13` varchar(13) DEFAULT NULL, + `product_upc` varchar(12) DEFAULT NULL, + `product_reference` varchar(32) DEFAULT NULL, + `product_supplier_reference` varchar(32) DEFAULT NULL, + `product_weight` DECIMAL(20,6) NOT NULL, + `id_tax_rules_group` INT(11) UNSIGNED DEFAULT '0', + `tax_computation_method` tinyint(1) unsigned NOT NULL DEFAULT '0', + `tax_name` varchar(16) NOT NULL, + `tax_rate` DECIMAL(10,3) NOT NULL DEFAULT '0.000', + `ecotax` decimal(21,6) NOT NULL DEFAULT '0.00', + `ecotax_tax_rate` DECIMAL(5,3) NOT NULL DEFAULT '0.000', + `discount_quantity_applied` TINYINT(1) NOT NULL DEFAULT '0', + `download_hash` varchar(255) DEFAULT NULL, + `download_nb` int(10) unsigned DEFAULT '0', + `download_deadline` datetime DEFAULT NULL, + `total_price_tax_incl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `total_price_tax_excl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `unit_price_tax_incl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `unit_price_tax_excl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `total_shipping_price_tax_incl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `total_shipping_price_tax_excl` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `purchase_supplier_price` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + `original_product_price` DECIMAL(20, 6) NOT NULL DEFAULT '0.000000', + PRIMARY KEY (`id_order_detail`), + KEY `order_detail_order` (`id_order`), + KEY `product_id` (`product_id`), + KEY `product_attribute_id` (`product_attribute_id`), + KEY `id_tax_rules_group` (`id_tax_rules_group`), + KEY `id_order_id_order_detail` (`id_order`, `id_order_detail`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_cart_rule` ( + `id_order_cart_rule` int(10) unsigned NOT NULL auto_increment, + `id_order` int(10) unsigned NOT NULL, + `id_cart_rule` int(10) unsigned NOT NULL, + `id_order_invoice` int(10) unsigned DEFAULT '0', + `name` varchar(254) NOT NULL, + `value` decimal(17,2) NOT NULL DEFAULT '0.00', + `value_tax_excl` decimal(17,2) NOT NULL DEFAULT '0.00', + `free_shipping` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_order_cart_rule`), + KEY `id_order` (`id_order`), + KEY `id_cart_rule` (`id_cart_rule`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_history` ( + `id_order_history` int(10) unsigned NOT NULL auto_increment, + `id_employee` int(10) unsigned NOT NULL, + `id_order` int(10) unsigned NOT NULL, + `id_order_state` int(10) unsigned NOT NULL, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_order_history`), + KEY `order_history_order` (`id_order`), + KEY `id_employee` (`id_employee`), + KEY `id_order_state` (`id_order_state`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_message` ( + `id_order_message` int(10) unsigned NOT NULL auto_increment, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_order_message`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_message_lang` ( + `id_order_message` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(128) NOT NULL, + `message` text NOT NULL, + PRIMARY KEY (`id_order_message`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_return` ( + `id_order_return` int(10) unsigned NOT NULL auto_increment, + `id_customer` int(10) unsigned NOT NULL, + `id_order` int(10) unsigned NOT NULL, + `state` tinyint(1) unsigned NOT NULL DEFAULT '1', + `question` text NOT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_order_return`), + KEY `order_return_customer` (`id_customer`), + KEY `id_order` (`id_order`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_return_detail` ( + `id_order_return` int(10) unsigned NOT NULL, + `id_order_detail` int(10) unsigned NOT NULL, + `id_customization` int(10) unsigned NOT NULL DEFAULT '0', + `product_quantity` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_order_return`,`id_order_detail`,`id_customization`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_return_state` ( + `id_order_return_state` int(10) unsigned NOT NULL auto_increment, + `color` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id_order_return_state`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_return_state_lang` ( + `id_order_return_state` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(64) NOT NULL, + PRIMARY KEY (`id_order_return_state`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + + +CREATE TABLE `PREFIX_order_slip` ( + `id_order_slip` int(10) unsigned NOT NULL auto_increment, + `conversion_rate` decimal(13,6) NOT NULL DEFAULT 1, + `id_customer` int(10) unsigned NOT NULL, + `id_order` int(10) unsigned NOT NULL, + `total_products_tax_excl` DECIMAL(20, 6) NULL, + `total_products_tax_incl` DECIMAL(20, 6) NULL, + `total_shipping_tax_excl` DECIMAL(20, 6) NULL, + `total_shipping_tax_incl` DECIMAL(20, 6) NULL, + `shipping_cost` tinyint(3) unsigned NOT NULL DEFAULT '0', + `amount` DECIMAL(10,2) NOT NULL, + `shipping_cost_amount` DECIMAL(10,2) NOT NULL, + `partial` TINYINT(1) NOT NULL, + `order_slip_type` TINYINT(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_order_slip`), + KEY `order_slip_customer` (`id_customer`), + KEY `id_order` (`id_order`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_slip_detail` ( + `id_order_slip` int(10) unsigned NOT NULL, + `id_order_detail` int(10) unsigned NOT NULL, + `product_quantity` int(10) unsigned NOT NULL DEFAULT '0', + `unit_price_tax_excl` DECIMAL(20, 6) NULL, + `unit_price_tax_incl` DECIMAL(20, 6) NULL, + `total_price_tax_excl` DECIMAL(20, 6) NULL, + `total_price_tax_incl` DECIMAL(20, 6), + `amount_tax_excl` DECIMAL(20, 6) DEFAULT NULL, + `amount_tax_incl` DECIMAL(20, 6) DEFAULT NULL, + PRIMARY KEY (`id_order_slip`,`id_order_detail`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_state` ( + `id_order_state` int(10) UNSIGNED NOT NULL auto_increment, + `invoice` tinyint(1) UNSIGNED DEFAULT '0', + `send_email` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + `module_name` VARCHAR(255) NULL DEFAULT NULL, + `color` varchar(32) DEFAULT NULL, + `unremovable` tinyint(1) UNSIGNED NOT NULL, + `hidden` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + `logable` tinyint(1) NOT NULL DEFAULT '0', + `delivery` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + `shipped` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + `paid` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + `pdf_invoice` tinyint(1) UNSIGNED NOT NULL default '0', + `pdf_delivery` tinyint(1) UNSIGNED NOT NULL default '0', + `deleted` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`id_order_state`), + KEY `module_name` (`module_name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_state_lang` ( + `id_order_state` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(64) NOT NULL, + `template` varchar(64) NOT NULL, + PRIMARY KEY (`id_order_state`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_pack` ( + `id_product_pack` int(10) unsigned NOT NULL, + `id_product_item` int(10) unsigned NOT NULL, + `id_product_attribute_item` int(10) unsigned NOT NULL, + `quantity` int(10) unsigned NOT NULL DEFAULT 1, + PRIMARY KEY (`id_product_pack`, `id_product_item`, `id_product_attribute_item`), + KEY `product_item` (`id_product_item`,`id_product_attribute_item`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_page` ( + `id_page` int(10) unsigned NOT NULL auto_increment, + `id_page_type` int(10) unsigned NOT NULL, + `id_object` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id_page`), + KEY `id_page_type` (`id_page_type`), + KEY `id_object` (`id_object`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_page_type` ( + `id_page_type` int(10) unsigned NOT NULL auto_increment, + `name` varchar(255) NOT NULL, + PRIMARY KEY (`id_page_type`), + KEY `name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_page_viewed` ( + `id_page` int(10) unsigned NOT NULL, + `id_shop_group` INT UNSIGNED NOT NULL DEFAULT '1', + `id_shop` INT UNSIGNED NOT NULL DEFAULT '1', + `id_date_range` int(10) unsigned NOT NULL, + `counter` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_page`, `id_date_range`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_payment` ( + `id_order_payment` INT NOT NULL auto_increment, + `order_reference` VARCHAR(9), + `id_currency` INT UNSIGNED NOT NULL, + `amount` DECIMAL(10,2) NOT NULL, + `payment_method` varchar(255) NOT NULL, + `conversion_rate` decimal(13,6) NOT NULL DEFAULT 1, + `transaction_id` VARCHAR(254) NULL, + `card_number` VARCHAR(254) NULL, + `card_brand` VARCHAR(254) NULL, + `card_expiration` CHAR(7) NULL, + `card_holder` VARCHAR(254) NULL, + `date_add` DATETIME NOT NULL, + PRIMARY KEY (`id_order_payment`), + KEY `order_reference`(`order_reference`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product` ( + `id_product` int(10) unsigned NOT NULL auto_increment, + `id_supplier` int(10) unsigned DEFAULT NULL, + `id_manufacturer` int(10) unsigned DEFAULT NULL, + `id_category_default` int(10) unsigned DEFAULT NULL, + `id_shop_default` int(10) unsigned NOT NULL DEFAULT 1, + `id_tax_rules_group` INT(11) UNSIGNED NOT NULL, + `on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0', + `online_only` tinyint(1) unsigned NOT NULL DEFAULT '0', + `ean13` varchar(13) DEFAULT NULL, + `upc` varchar(12) DEFAULT NULL, + `ecotax` decimal(17,6) NOT NULL DEFAULT '0.00', + `quantity` int(10) NOT NULL DEFAULT '0', + `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1', + `price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `unity` varchar(255) DEFAULT NULL, + `unit_price_ratio` decimal(20,6) NOT NULL DEFAULT '0.000000', + `additional_shipping_cost` decimal(20,2) NOT NULL DEFAULT '0.00', + `reference` varchar(32) DEFAULT NULL, + `supplier_reference` varchar(32) DEFAULT NULL, + `location` varchar(64) DEFAULT NULL, + `width` DECIMAL(20, 6) NOT NULL DEFAULT '0', + `height` DECIMAL(20, 6) NOT NULL DEFAULT '0', + `depth` DECIMAL(20, 6) NOT NULL DEFAULT '0', + `weight` DECIMAL(20, 6) NOT NULL DEFAULT '0', + `out_of_stock` int(10) unsigned NOT NULL DEFAULT '2', + `quantity_discount` tinyint(1) DEFAULT '0', + `customizable` tinyint(2) NOT NULL DEFAULT '0', + `uploadable_files` tinyint(4) NOT NULL DEFAULT '0', + `text_fields` tinyint(4) NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `redirect_type` ENUM('', '404', '301', '302') NOT NULL DEFAULT '', + `id_product_redirected` int(10) unsigned NOT NULL DEFAULT '0', + `available_for_order` tinyint(1) NOT NULL DEFAULT '1', + `available_date` date NOT NULL DEFAULT '0000-00-00', + `condition` ENUM('new', 'used', 'refurbished') NOT NULL DEFAULT 'new', + `show_price` tinyint(1) NOT NULL DEFAULT '1', + `indexed` tinyint(1) NOT NULL DEFAULT '0', + `visibility` ENUM('both', 'catalog', 'search', 'none') NOT NULL DEFAULT 'both', + `cache_is_pack` tinyint(1) NOT NULL DEFAULT '0', + `cache_has_attachments` tinyint(1) NOT NULL DEFAULT '0', + `is_virtual` tinyint(1) NOT NULL DEFAULT '0', + `cache_default_attribute` int(10) unsigned DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `advanced_stock_management` tinyint(1) DEFAULT '0' NOT NULL, + `pack_stock_type` int(11) unsigned DEFAULT '3' NOT NULL, + PRIMARY KEY (`id_product`), + KEY `product_supplier` (`id_supplier`), + KEY `product_manufacturer` (`id_manufacturer`, `id_product`), + KEY `id_category_default` (`id_category_default`), + KEY `indexed` (`indexed`), + KEY `date_add` (`date_add`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_product_shop` ( + `id_product` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL, + `id_category_default` int(10) unsigned DEFAULT NULL, + `id_tax_rules_group` INT(11) UNSIGNED NOT NULL, + `on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0', + `online_only` tinyint(1) unsigned NOT NULL DEFAULT '0', + `ecotax` decimal(17,6) NOT NULL DEFAULT '0.000000', + `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1', + `price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `unity` varchar(255) DEFAULT NULL, + `unit_price_ratio` decimal(20,6) NOT NULL DEFAULT '0.000000', + `additional_shipping_cost` decimal(20,2) NOT NULL DEFAULT '0.00', + `customizable` tinyint(2) NOT NULL DEFAULT '0', + `uploadable_files` tinyint(4) NOT NULL DEFAULT '0', + `text_fields` tinyint(4) NOT NULL DEFAULT '0', + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `redirect_type` ENUM('', '404', '301', '302') NOT NULL DEFAULT '', + `id_product_redirected` int(10) unsigned NOT NULL DEFAULT '0', + `available_for_order` tinyint(1) NOT NULL DEFAULT '1', + `available_date` date NOT NULL DEFAULT '0000-00-00', + `condition` enum('new','used','refurbished') NOT NULL DEFAULT 'new', + `show_price` tinyint(1) NOT NULL DEFAULT '1', + `indexed` tinyint(1) NOT NULL DEFAULT '0', + `visibility` enum('both','catalog','search','none') NOT NULL DEFAULT 'both', + `cache_default_attribute` int(10) unsigned DEFAULT NULL, + `advanced_stock_management` tinyint(1) DEFAULT '0' NOT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `pack_stock_type` int(11) unsigned DEFAULT '3' NOT NULL, + PRIMARY KEY (`id_product`, `id_shop`), + KEY `id_category_default` (`id_category_default`), + KEY `date_add` (`date_add` , `active` , `visibility`), + KEY `indexed` (`indexed`, `active`, `id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_attribute` ( + `id_product_attribute` int(10) unsigned NOT NULL auto_increment, + `id_product` int(10) unsigned NOT NULL, + `reference` varchar(32) DEFAULT NULL, + `supplier_reference` varchar(32) DEFAULT NULL, + `location` varchar(64) DEFAULT NULL, + `ean13` varchar(13) DEFAULT NULL, + `upc` varchar(12) DEFAULT NULL, + `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `ecotax` decimal(17,6) NOT NULL DEFAULT '0.00', + `quantity` int(10) NOT NULL DEFAULT '0', + `weight` DECIMAL(20,6) NOT NULL DEFAULT '0', + `unit_price_impact` DECIMAL(20,6) NOT NULL DEFAULT '0.00', + `default_on` tinyint(1) unsigned NULL DEFAULT NULL, + `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1', + `available_date` date NOT NULL DEFAULT '0000-00-00', + PRIMARY KEY (`id_product_attribute`), + KEY `product_attribute_product` (`id_product`), + KEY `reference` (`reference`), + KEY `supplier_reference` (`supplier_reference`), + UNIQUE KEY `product_default` (`id_product`,`default_on`), + KEY `id_product_id_product_attribute` (`id_product_attribute` , `id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_attribute_shop` ( + `id_product` int(10) unsigned NOT NULL, + `id_product_attribute` int(10) unsigned NOT NULL, + `id_shop` int(10) unsigned NOT NULL, + `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `price` decimal(20,6) NOT NULL DEFAULT '0.000000', + `ecotax` decimal(17,6) NOT NULL DEFAULT '0.00', + `weight` DECIMAL(20,6) NOT NULL DEFAULT '0', + `unit_price_impact` DECIMAL(20,6) NOT NULL DEFAULT '0.00', + `default_on` tinyint(1) unsigned NULL DEFAULT NULL, + `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1', + `available_date` date NOT NULL DEFAULT '0000-00-00', + PRIMARY KEY (`id_product_attribute`, `id_shop`), + UNIQUE KEY `id_product` (`id_product`, `id_shop`, `default_on`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_attribute_combination` ( + `id_attribute` int(10) unsigned NOT NULL, + `id_product_attribute` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_attribute`,`id_product_attribute`), + KEY `id_product_attribute` (`id_product_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_attribute_image` ( + `id_product_attribute` int(10) unsigned NOT NULL, + `id_image` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_product_attribute`,`id_image`), + KEY `id_image` (`id_image`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_download` ( + `id_product_download` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_product` int(10) unsigned NOT NULL, + `display_filename` varchar(255) DEFAULT NULL, + `filename` varchar(255) DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_expiration` datetime DEFAULT NULL, + `nb_days_accessible` int(10) unsigned DEFAULT NULL, + `nb_downloadable` int(10) unsigned DEFAULT '1', + `active` tinyint(1) unsigned NOT NULL DEFAULT '1', + `is_shareable` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_product_download`), + KEY `product_active` (`id_product`,`active`), + UNIQUE KEY `id_product` (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_lang` ( + `id_product` int(10) unsigned NOT NULL, + `id_shop` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1', + `id_lang` int(10) unsigned NOT NULL, + `description` text, + `description_short` text, + `link_rewrite` varchar(128) NOT NULL, + `meta_description` varchar(255) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `meta_title` varchar(128) DEFAULT NULL, + `name` varchar(128) NOT NULL, + `available_now` varchar(255) DEFAULT NULL, + `available_later` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_product`, `id_shop` , `id_lang`), + KEY `id_lang` (`id_lang`), + KEY `name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_sale` ( + `id_product` int(10) unsigned NOT NULL, + `quantity` int(10) unsigned NOT NULL DEFAULT '0', + `sale_nbr` int(10) unsigned NOT NULL DEFAULT '0', + `date_upd` date NOT NULL, + PRIMARY KEY (`id_product`), + KEY `quantity` (`quantity`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_tag` ( + `id_product` int(10) unsigned NOT NULL, + `id_tag` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_product`,`id_tag`), + KEY `id_tag` (`id_tag`), + KEY `id_lang` (`id_lang`,`id_tag`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_profile` ( + `id_profile` int(10) unsigned NOT NULL auto_increment, + PRIMARY KEY (`id_profile`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_profile_lang` ( + `id_lang` int(10) unsigned NOT NULL, + `id_profile` int(10) unsigned NOT NULL, + `name` varchar(128) NOT NULL, + PRIMARY KEY (`id_profile`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_quick_access` ( + `id_quick_access` int(10) unsigned NOT NULL auto_increment, + `new_window` tinyint(1) NOT NULL DEFAULT '0', + `link` varchar(255) NOT NULL, + PRIMARY KEY (`id_quick_access`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_quick_access_lang` ( + `id_quick_access` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) NOT NULL, + PRIMARY KEY (`id_quick_access`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_range_price` ( + `id_range_price` int(10) unsigned NOT NULL auto_increment, + `id_carrier` int(10) unsigned NOT NULL, + `delimiter1` decimal(20,6) NOT NULL, + `delimiter2` decimal(20,6) NOT NULL, + PRIMARY KEY (`id_range_price`), + UNIQUE KEY `id_carrier` (`id_carrier`,`delimiter1`,`delimiter2`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_range_weight` ( + `id_range_weight` int(10) unsigned NOT NULL auto_increment, + `id_carrier` int(10) unsigned NOT NULL, + `delimiter1` decimal(20,6) NOT NULL, + `delimiter2` decimal(20,6) NOT NULL, + PRIMARY KEY (`id_range_weight`), + UNIQUE KEY `id_carrier` (`id_carrier`,`delimiter1`,`delimiter2`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_referrer` ( + `id_referrer` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `passwd` varchar(32) DEFAULT NULL, + `http_referer_regexp` varchar(64) DEFAULT NULL, + `http_referer_like` varchar(64) DEFAULT NULL, + `request_uri_regexp` varchar(64) DEFAULT NULL, + `request_uri_like` varchar(64) DEFAULT NULL, + `http_referer_regexp_not` varchar(64) DEFAULT NULL, + `http_referer_like_not` varchar(64) DEFAULT NULL, + `request_uri_regexp_not` varchar(64) DEFAULT NULL, + `request_uri_like_not` varchar(64) DEFAULT NULL, + `base_fee` decimal(5,2) NOT NULL DEFAULT '0.00', + `percent_fee` decimal(5,2) NOT NULL DEFAULT '0.00', + `click_fee` decimal(5,2) NOT NULL DEFAULT '0.00', + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_referrer`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_referrer_cache` ( + `id_connections_source` int(11) unsigned NOT NULL, + `id_referrer` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_connections_source`, `id_referrer`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_referrer_shop` ( + `id_referrer` int(10) unsigned NOT NULL auto_increment, + `id_shop` int(10) unsigned NOT NULL DEFAULT '1', + `cache_visitors` int(11) DEFAULT NULL, + `cache_visits` int(11) DEFAULT NULL, + `cache_pages` int(11) DEFAULT NULL, + `cache_registrations` int(11) DEFAULT NULL, + `cache_orders` int(11) DEFAULT NULL, + `cache_sales` decimal(17,2) DEFAULT NULL, + `cache_reg_rate` decimal(5,4) DEFAULT NULL, + `cache_order_rate` decimal(5,4) DEFAULT NULL, + PRIMARY KEY (`id_referrer`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_request_sql` ( + `id_request_sql` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `sql` text NOT NULL, + PRIMARY KEY (`id_request_sql`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_scene` ( + `id_scene` int(10) unsigned NOT NULL auto_increment, + `active` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id_scene`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_scene_category` ( + `id_scene` int(10) unsigned NOT NULL, + `id_category` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_scene`,`id_category`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_scene_lang` ( + `id_scene` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(100) NOT NULL, + PRIMARY KEY (`id_scene`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_scene_products` ( + `id_scene` int(10) unsigned NOT NULL, + `id_product` int(10) unsigned NOT NULL, + `x_axis` int(4) NOT NULL, + `y_axis` int(4) NOT NULL, + `zone_width` int(3) NOT NULL, + `zone_height` int(3) NOT NULL, + PRIMARY KEY (`id_scene`, `id_product`, `x_axis`, `y_axis`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_search_engine` ( + `id_search_engine` int(10) unsigned NOT NULL auto_increment, + `server` varchar(64) NOT NULL, + `getvar` varchar(16) NOT NULL, + PRIMARY KEY (`id_search_engine`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_search_index` ( + `id_product` int(11) unsigned NOT NULL, + `id_word` int(11) unsigned NOT NULL, + `weight` smallint(4) unsigned NOT NULL DEFAULT 1, + PRIMARY KEY (`id_word`, `id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_search_word` ( + `id_word` int(10) unsigned NOT NULL auto_increment, + `id_shop` int(11) unsigned NOT NULL DEFAULT 1, + `id_lang` int(10) unsigned NOT NULL, + `word` varchar(15) NOT NULL, + PRIMARY KEY (`id_word`), + UNIQUE KEY `id_lang` (`id_lang`,`id_shop`, `word`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_specific_price` ( + `id_specific_price` INT UNSIGNED NOT NULL AUTO_INCREMENT, + `id_specific_price_rule` INT(11) UNSIGNED NOT NULL, + `id_cart` INT(11) UNSIGNED NOT NULL, + `id_product` INT UNSIGNED NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_shop_group` INT(11) UNSIGNED NOT NULL, + `id_currency` INT UNSIGNED NOT NULL, + `id_country` INT UNSIGNED NOT NULL, + `id_group` INT UNSIGNED NOT NULL, + `id_customer` INT UNSIGNED NOT NULL, + `id_product_attribute` INT UNSIGNED NOT NULL, + `price` DECIMAL(20, 6) NOT NULL, + `from_quantity` mediumint(8) UNSIGNED NOT NULL, + `reduction` DECIMAL(20, 6) NOT NULL, + `reduction_tax` tinyint(1) NOT NULL DEFAULT 1, + `reduction_type` ENUM('amount', 'percentage') NOT NULL, + `from` DATETIME NOT NULL, + `to` DATETIME NOT NULL, + PRIMARY KEY (`id_specific_price`), + KEY (`id_product`, `id_shop`, `id_currency`, `id_country`, `id_group`, `id_customer`, `from_quantity`, `from`, `to`), + KEY `from_quantity` (`from_quantity`), + KEY (`id_specific_price_rule`), + KEY (`id_cart`), + UNIQUE KEY `id_product_2` (`id_product`,`id_shop`,`id_shop_group`,`id_currency`,`id_country`,`id_group`,`id_customer`,`id_product_attribute`,`from_quantity`,`id_specific_price_rule`,`from`,`to`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_state` ( + `id_state` int(10) unsigned NOT NULL auto_increment, + `id_country` int(11) unsigned NOT NULL, + `id_zone` int(11) unsigned NOT NULL, + `name` varchar(64) NOT NULL, + `iso_code` varchar(7) NOT NULL, + `tax_behavior` smallint(1) NOT NULL DEFAULT '0', + `active` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_state`), + KEY `id_country` (`id_country`), + KEY `name` (`name`), + KEY `id_zone` (`id_zone`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + + +CREATE TABLE `PREFIX_supplier` ( + `id_supplier` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_supplier`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supplier_lang` ( + `id_supplier` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `description` text, + `meta_title` varchar(128) DEFAULT NULL, + `meta_keywords` varchar(255) DEFAULT NULL, + `meta_description` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id_supplier`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tab` ( + `id_tab` int(10) unsigned NOT NULL auto_increment, + `id_parent` int(11) NOT NULL, + `class_name` varchar(64) NOT NULL, + `module` varchar(64) NULL, + `position` int(10) unsigned NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT 1, + `hide_host_mode` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_tab`), + KEY `class_name` (`class_name`), + KEY `id_parent` (`id_parent`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tab_lang` ( + `id_tab` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(64) DEFAULT NULL, + PRIMARY KEY (`id_tab`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tag` ( + `id_tag` int(10) unsigned NOT NULL auto_increment, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) NOT NULL, + PRIMARY KEY (`id_tag`), + KEY `tag_name` (`name`), + KEY `id_lang` (`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tag_count` ( + `id_group` int(10) unsigned NOT NULL DEFAULT 0, + `id_tag` int(10) unsigned NOT NULL DEFAULT 0, + `id_lang` int(10) unsigned NOT NULL DEFAULT 0, + `id_shop` int(11) unsigned NOT NULL DEFAULT 0, + `counter` int(10) unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`id_group`, `id_tag`), + KEY (`id_group`, `id_lang`, `id_shop`, `counter`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tax` ( + `id_tax` int(10) unsigned NOT NULL auto_increment, + `rate` DECIMAL(10, 3) NOT NULL, + `active` tinyint(1) unsigned NOT NULL DEFAULT '1', + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_tax`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tax_lang` ( + `id_tax` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(32) NOT NULL, + PRIMARY KEY (`id_tax`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_timezone` ( + id_timezone int(10) unsigned NOT NULL auto_increment, + name VARCHAR(32) NOT NULL, + PRIMARY KEY (`id_timezone`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_web_browser` ( + `id_web_browser` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) DEFAULT NULL, + PRIMARY KEY (`id_web_browser`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_zone` ( + `id_zone` int(10) unsigned NOT NULL auto_increment, + `name` varchar(64) NOT NULL, + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_zone`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_carrier_group` ( + `id_carrier` int(10) unsigned NOT NULL, + `id_group` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_carrier`,`id_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_store` ( + `id_store` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_country` int(10) unsigned NOT NULL, + `id_state` int(10) unsigned DEFAULT NULL, + `name` varchar(128) NOT NULL, + `address1` varchar(128) NOT NULL, + `address2` varchar(128) DEFAULT NULL, + `city` varchar(64) NOT NULL, + `postcode` varchar(12) NOT NULL, + `latitude` decimal(13,8) DEFAULT NULL, + `longitude` decimal(13,8) DEFAULT NULL, + `hours` varchar(254) DEFAULT NULL, + `phone` varchar(16) DEFAULT NULL, + `fax` varchar(16) DEFAULT NULL, + `email` varchar(128) DEFAULT NULL, + `note` text, + `active` tinyint(1) unsigned NOT NULL DEFAULT '0', + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_store`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_webservice_account` ( + `id_webservice_account` int(11) NOT NULL AUTO_INCREMENT, + `key` varchar(32) NOT NULL, + `description` text NULL, + `class_name` VARCHAR( 50 ) NOT NULL DEFAULT 'WebserviceRequest', + `is_module` TINYINT( 2 ) NOT NULL DEFAULT '0', + `module_name` VARCHAR( 50 ) NULL DEFAULT NULL, + `active` tinyint(2) NOT NULL, + PRIMARY KEY (`id_webservice_account`), + KEY `key` (`key`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_webservice_permission` ( + `id_webservice_permission` int(11) NOT NULL AUTO_INCREMENT, + `resource` varchar(50) NOT NULL, + `method` enum('GET','POST','PUT','DELETE','HEAD') NOT NULL, + `id_webservice_account` int(11) NOT NULL, + PRIMARY KEY (`id_webservice_permission`), + UNIQUE KEY `resource_2` (`resource`,`method`,`id_webservice_account`), + KEY `resource` (`resource`), + KEY `method` (`method`), + KEY `id_webservice_account` (`id_webservice_account`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_required_field` ( + `id_required_field` int(11) NOT NULL AUTO_INCREMENT, + `object_name` varchar(32) NOT NULL, + `field_name` varchar(32) NOT NULL, + PRIMARY KEY (`id_required_field`), + KEY `object_name` (`object_name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_memcached_servers` ( +`id_memcached_server` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , +`ip` VARCHAR( 254 ) NOT NULL , +`port` INT(11) UNSIGNED NOT NULL , +`weight` INT(11) UNSIGNED NOT NULL +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_country_tax` ( + `id_product` int(11) NOT NULL, + `id_country` int(11) NOT NULL, + `id_tax` int(11) NOT NULL, + PRIMARY KEY (`id_product`,`id_country`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tax_rule` ( + `id_tax_rule` int(11) NOT NULL AUTO_INCREMENT, + `id_tax_rules_group` int(11) NOT NULL, + `id_country` int(11) NOT NULL, + `id_state` int(11) NOT NULL, + `zipcode_from` VARCHAR(12) NOT NULL, + `zipcode_to` VARCHAR(12) NOT NULL, + `id_tax` int(11) NOT NULL, + `behavior` int(11) NOT NULL, + `description` VARCHAR( 100 ) NOT NULL, + PRIMARY KEY (`id_tax_rule`), + KEY `id_tax_rules_group` (`id_tax_rules_group`), + KEY `id_tax` (`id_tax`), + KEY `category_getproducts` ( `id_tax_rules_group` , `id_country` , `id_state` , `zipcode_from` ) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tax_rules_group` ( +`id_tax_rules_group` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +`name` VARCHAR( 50 ) NOT NULL, +`active` INT NOT NULL, +`deleted` TINYINT(1) UNSIGNED NOT NULL, +`date_add` DATETIME NOT NULL, +`date_upd` DATETIME NOT NULL +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_specific_price_priority` ( + `id_specific_price_priority` INT NOT NULL AUTO_INCREMENT , + `id_product` INT NOT NULL , + `priority` VARCHAR( 80 ) NOT NULL , + PRIMARY KEY ( `id_specific_price_priority` , `id_product` ), + UNIQUE KEY `id_product` (`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_log` ( + `id_log` int(10) unsigned NOT NULL AUTO_INCREMENT, + `severity` tinyint(1) NOT NULL, + `error_code` int(11) DEFAULT NULL, + `message` text NOT NULL, + `object_type` varchar(32) DEFAULT NULL, + `object_id` int(10) unsigned DEFAULT NULL, + `id_employee` int(10) unsigned DEFAULT NULL, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + PRIMARY KEY (`id_log`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_import_match` ( + `id_import_match` int(10) NOT NULL AUTO_INCREMENT, + `name` varchar(32) NOT NULL, + `match` text NOT NULL, + `skip` int(2) NOT NULL, + PRIMARY KEY (`id_import_match`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_shop_group` ( + `id_shop_group` int(11) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8 NOT NULL, + `share_customer` TINYINT(1) NOT NULL, + `share_order` TINYINT(1) NOT NULL, + `share_stock` TINYINT(1) NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT '1', + `deleted` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_shop_group`), + KEY `deleted` (`deleted`, `name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_shop` ( + `id_shop` int(11) unsigned NOT NULL AUTO_INCREMENT, + `id_shop_group` int(11) unsigned NOT NULL, + `name` varchar(64) CHARACTER SET utf8 NOT NULL, + `id_category` INT(11) UNSIGNED NOT NULL DEFAULT '1', + `id_theme` INT(1) UNSIGNED NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT '1', + `deleted` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_shop`), + KEY `id_shop_group` (`id_shop_group`, `deleted`), + KEY `id_category` (`id_category`), + KEY `id_theme` (`id_theme`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_shop_url` ( + `id_shop_url` int(11) unsigned NOT NULL AUTO_INCREMENT, + `id_shop` int(11) unsigned NOT NULL, + `domain` varchar(150) NOT NULL, + `domain_ssl` varchar(150) NOT NULL, + `physical_uri` varchar(64) NOT NULL, + `virtual_uri` varchar(64) NOT NULL, + `main` TINYINT(1) NOT NULL, + `active` TINYINT(1) NOT NULL, + PRIMARY KEY (`id_shop_url`), + KEY `id_shop` (`id_shop`, `main`), + UNIQUE KEY `full_shop_url` (`domain`, `physical_uri`, `virtual_uri`), + UNIQUE KEY `full_shop_url_ssl` (`domain_ssl`, `physical_uri`, `virtual_uri`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_theme` ( + `id_theme` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(64) NOT NULL, + `directory` varchar(64) NOT NULL, + `responsive` tinyint(1) NOT NULL DEFAULT '0', + `default_left_column` tinyint(1) NOT NULL DEFAULT '0', + `default_right_column` tinyint(1) NOT NULL DEFAULT '0', + `product_per_page` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_theme`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_theme_meta` ( + `id_theme_meta` int(11) NOT NULL AUTO_INCREMENT, + `id_theme` int(11) NOT NULL, + `id_meta` int(10) unsigned NOT NULL, + `left_column` tinyint(1) NOT NULL DEFAULT '1', + `right_column` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id_theme_meta`), + UNIQUE KEY `id_theme_2` (`id_theme`,`id_meta`), + KEY `id_theme` (`id_theme`), + KEY `id_meta` (`id_meta`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; + +CREATE TABLE IF NOT EXISTS `PREFIX_theme_specific` ( + `id_theme` int(11) unsigned NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL, + `entity` int(11) unsigned NOT NULL, + `id_object` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_theme`,`id_shop`, `entity`,`id_object`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_country_shop` ( +`id_country` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY (`id_country`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_carrier_shop` ( +`id_carrier` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL , +PRIMARY KEY (`id_carrier`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_address_format` ( + `id_country` int(10) unsigned NOT NULL, + `format` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`id_country`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_cms_shop` ( +`id_cms` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY (`id_cms`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_lang_shop` ( +`id_lang` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, + PRIMARY KEY (`id_lang`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_currency_shop` ( +`id_currency` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +`conversion_rate` decimal(13,6) NOT NULL, + PRIMARY KEY (`id_currency`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_contact_shop` ( + `id_contact` INT(11) UNSIGNED NOT NULL, + `id_shop` INT(11) UNSIGNED NOT NULL, + PRIMARY KEY (`id_contact`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_image_shop` ( + `id_product` int(10) unsigned NOT NULL, + `id_image` INT( 11 ) UNSIGNED NOT NULL, + `id_shop` INT( 11 ) UNSIGNED NOT NULL, + `cover` tinyint(1) UNSIGNED NULL DEFAULT NULL, + PRIMARY KEY (`id_image`, `id_shop`), + UNIQUE KEY `id_product` (`id_product`, `id_shop`, `cover`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_shop` ( +`id_attribute` INT(11) UNSIGNED NOT NULL, +`id_shop` INT(11) UNSIGNED NOT NULL, + PRIMARY KEY (`id_attribute`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_feature_shop` ( +`id_feature` INT(11) UNSIGNED NOT NULL, +`id_shop` INT(11) UNSIGNED NOT NULL , + PRIMARY KEY (`id_feature`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_group_shop` ( +`id_group` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, + PRIMARY KEY (`id_group`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_attribute_group_shop` ( +`id_attribute_group` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY (`id_attribute_group`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tax_rules_group_shop` ( + `id_tax_rules_group` INT( 11 ) UNSIGNED NOT NULL, + `id_shop` INT( 11 ) UNSIGNED NOT NULL, + PRIMARY KEY (`id_tax_rules_group`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_zone_shop` ( +`id_zone` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY (`id_zone`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_manufacturer_shop` ( +`id_manufacturer` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL , + PRIMARY KEY (`id_manufacturer`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supplier_shop` ( +`id_supplier` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +PRIMARY KEY (`id_supplier`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_store_shop` ( +`id_store` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +PRIMARY KEY (`id_store`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_shop` ( +`id_module` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +`enable_device` TINYINT(1) NOT NULL DEFAULT '7', +PRIMARY KEY (`id_module` , `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_webservice_account_shop` ( +`id_webservice_account` INT( 11 ) UNSIGNED NOT NULL, +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +PRIMARY KEY (`id_webservice_account` , `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_scene_shop` ( +`id_scene` INT( 11 ) UNSIGNED NOT NULL , +`id_shop` INT( 11 ) UNSIGNED NOT NULL, +PRIMARY KEY (`id_scene`, `id_shop`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_stock_mvt` ( + `id_stock_mvt` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, + `id_stock` INT(11) UNSIGNED NOT NULL, + `id_order` INT(11) UNSIGNED DEFAULT NULL, + `id_supply_order` INT(11) UNSIGNED DEFAULT NULL, + `id_stock_mvt_reason` INT(11) UNSIGNED NOT NULL, + `id_employee` INT(11) UNSIGNED NOT NULL, + `employee_lastname` varchar(32) DEFAULT '', + `employee_firstname` varchar(32) DEFAULT '', + `physical_quantity` INT(11) UNSIGNED NOT NULL, + `date_add` DATETIME NOT NULL, + `sign` tinyint(1) NOT NULL DEFAULT 1, + `price_te` DECIMAL(20,6) DEFAULT '0.000000', + `last_wa` DECIMAL(20,6) DEFAULT '0.000000', + `current_wa` DECIMAL(20,6) DEFAULT '0.000000', + `referer` bigint UNSIGNED DEFAULT NULL, + PRIMARY KEY (`id_stock_mvt`), + KEY `id_stock` (`id_stock`), + KEY `id_stock_mvt_reason` (`id_stock_mvt_reason`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_stock_mvt_reason` ( + `id_stock_mvt_reason` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `sign` tinyint(1) NOT NULL DEFAULT 1, + `date_add` datetime NOT NULL, + `date_upd` datetime NOT NULL, + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_stock_mvt_reason`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_stock_mvt_reason_lang` ( + `id_stock_mvt_reason` INT(11) UNSIGNED NOT NULL, + `id_lang` INT(11) UNSIGNED NOT NULL, + `name` VARCHAR(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id_stock_mvt_reason`,`id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_stock` ( +`id_stock` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_warehouse` INT(11) UNSIGNED NOT NULL, +`id_product` INT(11) UNSIGNED NOT NULL, +`id_product_attribute` INT(11) UNSIGNED NOT NULL, +`reference` VARCHAR(32) NOT NULL, +`ean13` VARCHAR(13) DEFAULT NULL, +`upc` VARCHAR(12) DEFAULT NULL, +`physical_quantity` INT(11) UNSIGNED NOT NULL, +`usable_quantity` INT(11) UNSIGNED NOT NULL, +`price_te` DECIMAL(20,6) DEFAULT '0.000000', + PRIMARY KEY (`id_stock`), + KEY `id_warehouse` (`id_warehouse`), + KEY `id_product` (`id_product`), + KEY `id_product_attribute` (`id_product_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_warehouse` ( +`id_warehouse` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_currency` INT(11) UNSIGNED NOT NULL, +`id_address` INT(11) UNSIGNED NOT NULL, +`id_employee` INT(11) UNSIGNED NOT NULL, +`reference` VARCHAR(32) DEFAULT NULL, +`name` VARCHAR(45) NOT NULL, +`management_type` ENUM('WA', 'FIFO', 'LIFO') NOT NULL DEFAULT 'WA', +`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_warehouse`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_warehouse_product_location` ( + `id_warehouse_product_location` int(11) unsigned NOT NULL AUTO_INCREMENT, + `id_product` int(11) unsigned NOT NULL, + `id_product_attribute` int(11) unsigned NOT NULL, + `id_warehouse` int(11) unsigned NOT NULL, + `location` varchar(64) DEFAULT NULL, + PRIMARY KEY (`id_warehouse_product_location`), + UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_warehouse`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_warehouse_shop` ( +`id_shop` INT(11) UNSIGNED NOT NULL, +`id_warehouse` INT(11) UNSIGNED NOT NULL, + PRIMARY KEY (`id_warehouse`, `id_shop`), + KEY `id_warehouse` (`id_warehouse`), + KEY `id_shop` (`id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_warehouse_carrier` ( +`id_carrier` INT(11) UNSIGNED NOT NULL, +`id_warehouse` INT(11) UNSIGNED NOT NULL, + PRIMARY KEY (`id_warehouse`, `id_carrier`), + KEY `id_warehouse` (`id_warehouse`), + KEY `id_carrier` (`id_carrier`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_stock_available` ( +`id_stock_available` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_product` INT(11) UNSIGNED NOT NULL, +`id_product_attribute` INT(11) UNSIGNED NOT NULL, +`id_shop` INT(11) UNSIGNED NOT NULL, +`id_shop_group` INT(11) UNSIGNED NOT NULL, +`quantity` INT(10) NOT NULL DEFAULT '0', +`depends_on_stock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', +`out_of_stock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`id_stock_available`), + KEY `id_shop` (`id_shop`), + KEY `id_shop_group` (`id_shop_group`), + KEY `id_product` (`id_product`), + KEY `id_product_attribute` (`id_product_attribute`), + UNIQUE `product_sqlstock` (`id_product` , `id_product_attribute` , `id_shop`, `id_shop_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order` ( +`id_supply_order` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_supplier` INT(11) UNSIGNED NOT NULL, +`supplier_name` VARCHAR(64) NOT NULL, +`id_lang` INT(11) UNSIGNED NOT NULL, +`id_warehouse` INT(11) UNSIGNED NOT NULL, +`id_supply_order_state` INT(11) UNSIGNED NOT NULL, +`id_currency` INT(11) UNSIGNED NOT NULL, +`id_ref_currency` INT(11) UNSIGNED NOT NULL, +`reference` VARCHAR(64) NOT NULL, +`date_add` DATETIME NOT NULL, +`date_upd` DATETIME NOT NULL, +`date_delivery_expected` DATETIME DEFAULT NULL, +`total_te` DECIMAL(20,6) DEFAULT '0.000000', +`total_with_discount_te` DECIMAL(20,6) DEFAULT '0.000000', +`total_tax` DECIMAL(20,6) DEFAULT '0.000000', +`total_ti` DECIMAL(20,6) DEFAULT '0.000000', +`discount_rate` DECIMAL(20,6) DEFAULT '0.000000', +`discount_value_te` DECIMAL(20,6) DEFAULT '0.000000', +`is_template` tinyint(1) DEFAULT '0', + PRIMARY KEY (`id_supply_order`), + KEY `id_supplier` (`id_supplier`), + KEY `id_warehouse` (`id_warehouse`), + KEY `reference` (`reference`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order_detail` ( +`id_supply_order_detail` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_supply_order` INT(11) UNSIGNED NOT NULL, +`id_currency` INT(11) UNSIGNED NOT NULL, +`id_product` INT(11) UNSIGNED NOT NULL, +`id_product_attribute` INT(11) UNSIGNED NOT NULL, +`reference` VARCHAR(32) NOT NULL, +`supplier_reference` VARCHAR(32) NOT NULL, +`name` varchar(128) NOT NULL, +`ean13` VARCHAR(13) DEFAULT NULL, +`upc` VARCHAR(12) DEFAULT NULL, +`exchange_rate` DECIMAL(20,6) DEFAULT '0.000000', +`unit_price_te` DECIMAL(20,6) DEFAULT '0.000000', +`quantity_expected` INT(11) UNSIGNED NOT NULL, +`quantity_received` INT(11) UNSIGNED NOT NULL, +`price_te` DECIMAL(20,6) DEFAULT '0.000000', +`discount_rate` DECIMAL(20,6) DEFAULT '0.000000', +`discount_value_te` DECIMAL(20,6) DEFAULT '0.000000', +`price_with_discount_te` DECIMAL(20,6) DEFAULT '0.000000', +`tax_rate` DECIMAL(20,6) DEFAULT '0.000000', +`tax_value` DECIMAL(20,6) DEFAULT '0.000000', +`price_ti` DECIMAL(20,6) DEFAULT '0.000000', +`tax_value_with_order_discount` DECIMAL(20,6) DEFAULT '0.000000', +`price_with_order_discount_te` DECIMAL(20,6) DEFAULT '0.000000', + PRIMARY KEY (`id_supply_order_detail`), + KEY `id_supply_order` (`id_supply_order`, `id_product`), + KEY `id_product_attribute` (`id_product_attribute`), + KEY `id_product_product_attribute` (`id_product`, `id_product_attribute`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order_history` ( +`id_supply_order_history` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_supply_order` INT(11) UNSIGNED NOT NULL, +`id_employee` INT(11) UNSIGNED NOT NULL, +`employee_lastname` varchar(32) DEFAULT '', +`employee_firstname` varchar(32) DEFAULT '', +`id_state` INT(11) UNSIGNED NOT NULL, +`date_add` DATETIME NOT NULL, + PRIMARY KEY (`id_supply_order_history`), + KEY `id_supply_order` (`id_supply_order`), + KEY `id_employee` (`id_employee`), + KEY `id_state` (`id_state`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order_state` ( +`id_supply_order_state` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`delivery_note` tinyint(1) NOT NULL DEFAULT '0', +`editable` tinyint(1) NOT NULL DEFAULT '0', +`receipt_state` tinyint(1) NOT NULL DEFAULT '0', +`pending_receipt` tinyint(1) NOT NULL DEFAULT '0', +`enclosed` tinyint(1) NOT NULL DEFAULT '0', +`color` VARCHAR(32) DEFAULT NULL, + PRIMARY KEY (`id_supply_order_state`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order_state_lang` ( +`id_supply_order_state` INT(11) UNSIGNED NOT NULL, +`id_lang` INT(11) UNSIGNED NOT NULL, +`name` VARCHAR(128) DEFAULT NULL, + PRIMARY KEY (`id_supply_order_state`, `id_lang`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_supply_order_receipt_history` ( +`id_supply_order_receipt_history` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, +`id_supply_order_detail` INT(11) UNSIGNED NOT NULL, +`id_employee` INT(11) UNSIGNED NOT NULL, +`employee_lastname` varchar(32) DEFAULT '', +`employee_firstname` varchar(32) DEFAULT '', +`id_supply_order_state` INT(11) UNSIGNED NOT NULL, +`quantity` INT(11) UNSIGNED NOT NULL, +`date_add` DATETIME NOT NULL, + PRIMARY KEY (`id_supply_order_receipt_history`), + KEY `id_supply_order_detail` (`id_supply_order_detail`), + KEY `id_supply_order_state` (`id_supply_order_state`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_product_supplier` ( + `id_product_supplier` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `id_product` int(11) UNSIGNED NOT NULL, + `id_product_attribute` int(11) UNSIGNED NOT NULL DEFAULT '0', + `id_supplier` int(11) UNSIGNED NOT NULL, + `product_supplier_reference` varchar(32) DEFAULT NULL, + `product_supplier_price_te` decimal(20,6) NOT NULL DEFAULT '0.000000', + `id_currency` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_product_supplier`), + UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_supplier`), + KEY `id_supplier` (`id_supplier`,`id_product`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_carrier` ( + `id_order_carrier` int(11) NOT NULL AUTO_INCREMENT, + `id_order` int(11) unsigned NOT NULL, + `id_carrier` int(11) unsigned NOT NULL, + `id_order_invoice` int(11) unsigned DEFAULT NULL, + `weight` DECIMAL(20,6) DEFAULT NULL, + `shipping_cost_tax_excl` decimal(20,6) DEFAULT NULL, + `shipping_cost_tax_incl` decimal(20,6) DEFAULT NULL, + `tracking_number` varchar(64) DEFAULT NULL, + `date_add` datetime NOT NULL, + PRIMARY KEY (`id_order_carrier`), + KEY `id_order` (`id_order`), + KEY `id_carrier` (`id_carrier`), + KEY `id_order_invoice` (`id_order_invoice`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_specific_price_rule` ( + `id_specific_price_rule` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + `id_shop` int(11) unsigned NOT NULL DEFAULT '1', + `id_currency` int(10) unsigned NOT NULL, + `id_country` int(10) unsigned NOT NULL, + `id_group` int(10) unsigned NOT NULL, + `from_quantity` mediumint(8) unsigned NOT NULL, + `price` DECIMAL(20,6), + `reduction` decimal(20,6) NOT NULL, + `reduction_tax` tinyint(1) NOT NULL DEFAULT 1, + `reduction_type` enum('amount','percentage') NOT NULL, + `from` datetime NOT NULL, + `to` datetime NOT NULL, + PRIMARY KEY (`id_specific_price_rule`), + KEY `id_product` (`id_shop`,`id_currency`,`id_country`,`id_group`,`from_quantity`,`from`,`to`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_specific_price_rule_condition_group` ( + `id_specific_price_rule_condition_group` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `id_specific_price_rule` INT(11) UNSIGNED NOT NULL, + PRIMARY KEY ( `id_specific_price_rule_condition_group`, `id_specific_price_rule` ) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_specific_price_rule_condition` ( + `id_specific_price_rule_condition` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `id_specific_price_rule_condition_group` INT(11) UNSIGNED NOT NULL, + `type` VARCHAR(255) NOT NULL, + `value` VARCHAR(255) NOT NULL, +PRIMARY KEY (`id_specific_price_rule_condition`), +INDEX (`id_specific_price_rule_condition_group`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_risk` ( + `id_risk` int(11) unsigned NOT NULL AUTO_INCREMENT, + `percent` tinyint(3) NOT NULL, + `color` varchar(32) NULL, + PRIMARY KEY (`id_risk`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_risk_lang` ( + `id_risk` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `name` varchar(20) NOT NULL, + PRIMARY KEY (`id_risk`,`id_lang`), + KEY `id_risk` (`id_risk`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_category_shop` ( + `id_category` int(11) NOT NULL, + `id_shop` int(11) NOT NULL, + `position` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id_category`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_module_preference` ( + `id_module_preference` int(11) NOT NULL auto_increment, + `id_employee` int(11) NOT NULL, + `module` varchar(255) NOT NULL, + `interest` tinyint(1) DEFAULT NULL, + `favorite` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id_module_preference`), + UNIQUE KEY `employee_module` (`id_employee`, `module`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_tab_module_preference` ( + `id_tab_module_preference` int(11) NOT NULL auto_increment, + `id_employee` int(11) NOT NULL, + `id_tab` int(11) NOT NULL, + `module` varchar(255) NOT NULL, + PRIMARY KEY (`id_tab_module_preference`), + UNIQUE KEY `employee_module` (`id_employee`, `id_tab`, `module`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + + CREATE TABLE `PREFIX_carrier_tax_rules_group_shop` ( + `id_carrier` int( 11 ) unsigned NOT NULL, + `id_tax_rules_group` int(11) unsigned NOT NULL, + `id_shop` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_carrier`, `id_tax_rules_group`, `id_shop`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_order_invoice_payment` ( + `id_order_invoice` int(11) unsigned NOT NULL, + `id_order_payment` int(11) unsigned NOT NULL, + `id_order` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_order_invoice`,`id_order_payment`), + KEY `order_payment` (`id_order_payment`), + KEY `id_order` (`id_order`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_smarty_cache` ( + `id_smarty_cache` char(40) NOT NULL, + `name` char(40) NOT NULL, + `cache_id` varchar(254) DEFAULT NULL, + `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `content` longtext NOT NULL, + PRIMARY KEY (`id_smarty_cache`), + KEY `name` (`name`), + KEY `cache_id` (`cache_id`), + KEY `modified` (`modified`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_order_slip_detail_tax` ( + `id_order_slip_detail` int(11) unsigned NOT NULL, + `id_tax` int(11) unsigned NOT NULL, + `unit_amount` decimal(16,6) NOT NULL DEFAULT '0.000000', + `total_amount` decimal(16,6) NOT NULL DEFAULT '0.000000', + KEY (`id_order_slip_detail`), + KEY `id_tax` (`id_tax`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE IF NOT EXISTS `PREFIX_mail` ( + `id_mail` int(11) unsigned NOT NULL AUTO_INCREMENT, + `recipient` varchar(126) NOT NULL, + `template` varchar(62) NOT NULL, + `subject` varchar(254) NOT NULL, + `id_lang` int(11) unsigned NOT NULL, + `date_add` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id_mail`), + KEY `recipient` (`recipient`(10)) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION; + +CREATE TABLE `PREFIX_smarty_lazy_cache` ( + `template_hash` varchar(32) NOT NULL DEFAULT '', + `cache_id` varchar(255) NOT NULL DEFAULT '', + `compile_id` varchar(32) NOT NULL DEFAULT '', + `filepath` varchar(255) NOT NULL DEFAULT '', + `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`template_hash`, `cache_id`, `compile_id`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; + +CREATE TABLE `PREFIX_smarty_last_flush` ( + `type` ENUM('compile', 'template'), + `last_flush` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`type`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; + +CREATE TABLE `PREFIX_modules_perfs` ( + `id_modules_perfs` int(11) unsigned NOT NULL AUTO_INCREMENT, + `session` int(11) unsigned NOT NULL, + `module` varchar(62) NOT NULL, + `method` varchar(126) NOT NULL, + `time_start` double unsigned NOT NULL, + `time_end` double unsigned NOT NULL, + `memory_start` int unsigned NOT NULL, + `memory_end` int unsigned NOT NULL, + PRIMARY KEY (`id_modules_perfs`), + KEY (`session`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `PREFIX_cms_role` ( + `id_cms_role` int(11) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `id_cms` int(11) unsigned NOT NULL, + PRIMARY KEY (`id_cms_role`, `id_cms`), + UNIQUE KEY `name` (`name`) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `PREFIX_cms_role_lang` ( + `id_cms_role` int(11) unsigned NOT NULL, + `id_lang` int(11) unsigned NOT NULL, + `id_shop` int(11) unsigned NOT NULL, + `name` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id_cms_role`,`id_lang`, id_shop) +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; diff --git a/_install/data/img/genders/Mr.jpg b/_install/data/img/genders/Mr.jpg new file mode 100644 index 00000000..09ef648c Binary files /dev/null and b/_install/data/img/genders/Mr.jpg differ diff --git a/_install/data/img/genders/Mrs.jpg b/_install/data/img/genders/Mrs.jpg new file mode 100644 index 00000000..4df662a0 Binary files /dev/null and b/_install/data/img/genders/Mrs.jpg differ diff --git a/_install/data/img/genders/Unknown.jpg b/_install/data/img/genders/Unknown.jpg new file mode 100644 index 00000000..237d3c6d Binary files /dev/null and b/_install/data/img/genders/Unknown.jpg differ diff --git a/_install/data/img/genders/index.php b/_install/data/img/genders/index.php new file mode 100644 index 00000000..22383709 --- /dev/null +++ b/_install/data/img/genders/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/data/img/index.php b/_install/data/img/index.php new file mode 100644 index 00000000..8dd03b06 --- /dev/null +++ b/_install/data/img/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../'); +exit; \ No newline at end of file diff --git a/_install/data/img/os/Awaiting_PayPal_payment.gif b/_install/data/img/os/Awaiting_PayPal_payment.gif new file mode 100644 index 00000000..57abc204 Binary files /dev/null and b/_install/data/img/os/Awaiting_PayPal_payment.gif differ diff --git a/_install/data/img/os/Awaiting_bank_wire_payment.gif b/_install/data/img/os/Awaiting_bank_wire_payment.gif new file mode 100644 index 00000000..2780d81e Binary files /dev/null and b/_install/data/img/os/Awaiting_bank_wire_payment.gif differ diff --git a/_install/data/img/os/Awaiting_cheque_payment.gif b/_install/data/img/os/Awaiting_cheque_payment.gif new file mode 100644 index 00000000..a0438cf2 Binary files /dev/null and b/_install/data/img/os/Awaiting_cheque_payment.gif differ diff --git a/_install/data/img/os/Awaiting_cod_validation.gif b/_install/data/img/os/Awaiting_cod_validation.gif new file mode 100644 index 00000000..2780d81e Binary files /dev/null and b/_install/data/img/os/Awaiting_cod_validation.gif differ diff --git a/_install/data/img/os/Canceled.gif b/_install/data/img/os/Canceled.gif new file mode 100644 index 00000000..a916b9e3 Binary files /dev/null and b/_install/data/img/os/Canceled.gif differ diff --git a/_install/data/img/os/Delivered.gif b/_install/data/img/os/Delivered.gif new file mode 100644 index 00000000..0fb43804 Binary files /dev/null and b/_install/data/img/os/Delivered.gif differ diff --git a/_install/data/img/os/On_backorder_paid.gif b/_install/data/img/os/On_backorder_paid.gif new file mode 100644 index 00000000..b8224b98 Binary files /dev/null and b/_install/data/img/os/On_backorder_paid.gif differ diff --git a/_install/data/img/os/On_backorder_unpaid.gif b/_install/data/img/os/On_backorder_unpaid.gif new file mode 100644 index 00000000..b8224b98 Binary files /dev/null and b/_install/data/img/os/On_backorder_unpaid.gif differ diff --git a/_install/data/img/os/Payment_accepted.gif b/_install/data/img/os/Payment_accepted.gif new file mode 100644 index 00000000..19282958 Binary files /dev/null and b/_install/data/img/os/Payment_accepted.gif differ diff --git a/_install/data/img/os/Payment_error.gif b/_install/data/img/os/Payment_error.gif new file mode 100644 index 00000000..80e916a4 Binary files /dev/null and b/_install/data/img/os/Payment_error.gif differ diff --git a/_install/data/img/os/Payment_remotely_accepted.gif b/_install/data/img/os/Payment_remotely_accepted.gif new file mode 100644 index 00000000..0f2e46ec Binary files /dev/null and b/_install/data/img/os/Payment_remotely_accepted.gif differ diff --git a/_install/data/img/os/Preparation_in_progress.gif b/_install/data/img/os/Preparation_in_progress.gif new file mode 100644 index 00000000..56d6cefc Binary files /dev/null and b/_install/data/img/os/Preparation_in_progress.gif differ diff --git a/_install/data/img/os/Refund.gif b/_install/data/img/os/Refund.gif new file mode 100644 index 00000000..3901dddb Binary files /dev/null and b/_install/data/img/os/Refund.gif differ diff --git a/_install/data/img/os/Shipped.gif b/_install/data/img/os/Shipped.gif new file mode 100644 index 00000000..cbd0fea4 Binary files /dev/null and b/_install/data/img/os/Shipped.gif differ diff --git a/_install/data/img/os/index.php b/_install/data/img/os/index.php new file mode 100644 index 00000000..22383709 --- /dev/null +++ b/_install/data/img/os/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/data/img/os/order_state_1.gif b/_install/data/img/os/order_state_1.gif new file mode 100644 index 00000000..a0438cf2 Binary files /dev/null and b/_install/data/img/os/order_state_1.gif differ diff --git a/_install/data/img/os/order_state_10.gif b/_install/data/img/os/order_state_10.gif new file mode 100644 index 00000000..2780d81e Binary files /dev/null and b/_install/data/img/os/order_state_10.gif differ diff --git a/_install/data/img/os/order_state_11.gif b/_install/data/img/os/order_state_11.gif new file mode 100644 index 00000000..57abc204 Binary files /dev/null and b/_install/data/img/os/order_state_11.gif differ diff --git a/_install/data/img/os/order_state_12.gif b/_install/data/img/os/order_state_12.gif new file mode 100644 index 00000000..0f2e46ec Binary files /dev/null and b/_install/data/img/os/order_state_12.gif differ diff --git a/_install/data/img/os/order_state_2.gif b/_install/data/img/os/order_state_2.gif new file mode 100644 index 00000000..19282958 Binary files /dev/null and b/_install/data/img/os/order_state_2.gif differ diff --git a/_install/data/img/os/order_state_3.gif b/_install/data/img/os/order_state_3.gif new file mode 100644 index 00000000..56d6cefc Binary files /dev/null and b/_install/data/img/os/order_state_3.gif differ diff --git a/_install/data/img/os/order_state_4.gif b/_install/data/img/os/order_state_4.gif new file mode 100644 index 00000000..cbd0fea4 Binary files /dev/null and b/_install/data/img/os/order_state_4.gif differ diff --git a/_install/data/img/os/order_state_5.gif b/_install/data/img/os/order_state_5.gif new file mode 100644 index 00000000..0fb43804 Binary files /dev/null and b/_install/data/img/os/order_state_5.gif differ diff --git a/_install/data/img/os/order_state_6.gif b/_install/data/img/os/order_state_6.gif new file mode 100644 index 00000000..a916b9e3 Binary files /dev/null and b/_install/data/img/os/order_state_6.gif differ diff --git a/_install/data/img/os/order_state_7.gif b/_install/data/img/os/order_state_7.gif new file mode 100644 index 00000000..3901dddb Binary files /dev/null and b/_install/data/img/os/order_state_7.gif differ diff --git a/_install/data/img/os/order_state_8.gif b/_install/data/img/os/order_state_8.gif new file mode 100644 index 00000000..80e916a4 Binary files /dev/null and b/_install/data/img/os/order_state_8.gif differ diff --git a/_install/data/img/os/order_state_9.gif b/_install/data/img/os/order_state_9.gif new file mode 100644 index 00000000..b8224b98 Binary files /dev/null and b/_install/data/img/os/order_state_9.gif differ diff --git a/_install/data/index.php b/_install/data/index.php new file mode 100644 index 00000000..c642967a --- /dev/null +++ b/_install/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; \ No newline at end of file diff --git a/_install/data/iso_to_timezone.xml b/_install/data/iso_to_timezone.xml new file mode 100644 index 00000000..c2a1fa96 --- /dev/null +++ b/_install/data/iso_to_timezone.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_install/data/theme.sql b/_install/data/theme.sql new file mode 100644 index 00000000..f5a1d396 --- /dev/null +++ b/_install/data/theme.sql @@ -0,0 +1,190 @@ +SET NAMES 'utf8'; + +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_CONDITIONS'; +UPDATE `PREFIX_configuration` SET value = '12' WHERE name = 'PS_PRODUCTS_PER_PAGE'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_PRODUCTS_ORDER_WAY'; +UPDATE `PREFIX_configuration` SET value = '4' WHERE name = 'PS_PRODUCTS_ORDER_BY'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_DISPLAY_QTIES'; +UPDATE `PREFIX_configuration` SET value = '20' WHERE name = 'PS_NB_DAYS_NEW_PRODUCT'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_BLOCK_CART_AJAX'; +UPDATE `PREFIX_configuration` SET value = '8388608' WHERE name = 'PS_PRODUCT_PICTURE_MAX_SIZE'; +UPDATE `PREFIX_configuration` SET value = '64' WHERE name = 'PS_PRODUCT_PICTURE_WIDTH'; +UPDATE `PREFIX_configuration` SET value = '64' WHERE name = 'PS_PRODUCT_PICTURE_HEIGHT'; +UPDATE `PREFIX_configuration` SET value = '3' WHERE name = 'PS_SEARCH_MINWORDLEN'; +UPDATE `PREFIX_configuration` SET value = '6' WHERE name = 'PS_SEARCH_WEIGHT_PNAME'; +UPDATE `PREFIX_configuration` SET value = '10' WHERE name = 'PS_SEARCH_WEIGHT_REF'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_SEARCH_WEIGHT_SHORTDESC'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_SEARCH_WEIGHT_DESC'; +UPDATE `PREFIX_configuration` SET value = '3' WHERE name = 'PS_SEARCH_WEIGHT_CNAME'; +UPDATE `PREFIX_configuration` SET value = '3' WHERE name = 'PS_SEARCH_WEIGHT_MNAME'; +UPDATE `PREFIX_configuration` SET value = '4' WHERE name = 'PS_SEARCH_WEIGHT_TAG'; +UPDATE `PREFIX_configuration` SET value = '2' WHERE name = 'PS_SEARCH_WEIGHT_ATTRIBUTE'; +UPDATE `PREFIX_configuration` SET value = '2' WHERE name = 'PS_SEARCH_WEIGHT_FEATURE'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_SEARCH_AJAX'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_DISPLAY_JQZOOM'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_BLOCK_BESTSELLERS_DISPLAY'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_BLOCK_NEWPRODUCTS_DISPLAY'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_BLOCK_SPECIALS_DISPLAY'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_STORES_DISPLAY_CMS'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_STORES_DISPLAY_FOOTER'; +UPDATE `PREFIX_configuration` SET value = '350' WHERE name = 'SHOP_LOGO_WIDTH'; +UPDATE `PREFIX_configuration` SET value = '99' WHERE name = 'SHOP_LOGO_HEIGHT'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_DISPLAY_SUPPLIERS'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_DISPLAY_BEST_SELLERS'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'PS_LEGACY_IMAGES'; +UPDATE `PREFIX_configuration` SET value = 'jpg' WHERE name = 'PS_IMAGE_QUALITY'; +UPDATE `PREFIX_configuration` SET value = '7' WHERE name = 'PS_PNG_QUALITY'; +UPDATE `PREFIX_configuration` SET value = '90' WHERE name = 'PS_JPEG_QUALITY'; +UPDATE `PREFIX_configuration` SET value = '2' WHERE name = 'PRODUCTS_VIEWED_NBR'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'BLOCK_CATEG_DHTML'; +UPDATE `PREFIX_configuration` SET value = '4' WHERE name = 'BLOCK_CATEG_MAX_DEPTH'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'MANUFACTURER_DISPLAY_FORM'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'MANUFACTURER_DISPLAY_TEXT'; +UPDATE `PREFIX_configuration` SET value = '5' WHERE name = 'MANUFACTURER_DISPLAY_TEXT_NB'; +UPDATE `PREFIX_configuration` SET value = '8' WHERE name = 'NEW_PRODUCTS_NBR'; +UPDATE `PREFIX_configuration` SET value = '10' WHERE name = 'BLOCKTAGS_NBR'; +UPDATE `PREFIX_configuration` SET value = '0_3|0_4' WHERE name = 'FOOTER_CMS'; +UPDATE `PREFIX_configuration` SET value = '0_3|0_4' WHERE name = 'FOOTER_BLOCK_ACTIVATION'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'FOOTER_POWEREDBY'; +UPDATE `PREFIX_configuration` SET value = 'http://www.prestashop.com' WHERE name = 'BLOCKADVERT_LINK'; +UPDATE `PREFIX_configuration` SET value = 'store.jpg' WHERE name = 'BLOCKSTORE_IMG'; +UPDATE `PREFIX_configuration` SET value = 'jpg' WHERE name = 'BLOCKADVERT_IMG_EXT'; +UPDATE `PREFIX_configuration` SET value = 'CAT3,CAT8,CAT5,LNK1' WHERE name = 'MOD_BLOCKTOPMENU_ITEMS'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'MOD_BLOCKTOPMENU_SEARCH'; +UPDATE `PREFIX_configuration` SET value = 'http://www.facebook.com/prestashop' WHERE name = 'BLOCKSOCIAL_FACEBOOK'; +UPDATE `PREFIX_configuration` SET value = 'http://www.twitter.com/prestashop' WHERE name = 'BLOCKSOCIAL_TWITTER'; +UPDATE `PREFIX_configuration` SET value = 'http://www.prestashop.com/blog/en/' WHERE name = 'BLOCKSOCIAL_RSS'; +UPDATE `PREFIX_configuration` SET value = 'https://www.google.com/+prestashop' WHERE name = 'BLOCKSOCIAL_GOOGLE_PLUS'; +UPDATE `PREFIX_configuration` SET value = 'My Company' WHERE name = 'BLOCKCONTACTINFOS_COMPANY'; +UPDATE `PREFIX_configuration` SET value = '42 avenue des Champs ElysĂ©es\n75000 Paris\nFrance' WHERE name = 'BLOCKCONTACTINFOS_ADDRESS'; +UPDATE `PREFIX_configuration` SET value = '0123-456-789' WHERE name = 'BLOCKCONTACTINFOS_PHONE'; +UPDATE `PREFIX_configuration` SET value = 'sales@yourcompany.com' WHERE name = 'BLOCKCONTACTINFOS_EMAIL'; +UPDATE `PREFIX_configuration` SET value = '0123-456-789' WHERE name = 'BLOCKCONTACT_TELNUMBER'; +UPDATE `PREFIX_configuration` SET value = 'sales@yourcompany.com' WHERE name = 'BLOCKCONTACT_EMAIL'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'SUPPLIER_DISPLAY_TEXT'; +UPDATE `PREFIX_configuration` SET value = '5' WHERE name = 'SUPPLIER_DISPLAY_TEXT_NB'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'SUPPLIER_DISPLAY_FORM'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'BLOCK_CATEG_NBR_COLUMN_FOOTER'; +UPDATE `PREFIX_configuration` SET value = '' WHERE name = 'UPGRADER_BACKUPDB_FILENAME'; +UPDATE `PREFIX_configuration` SET value = '' WHERE name = 'UPGRADER_BACKUPFILES_FILENAME'; +UPDATE `PREFIX_configuration` SET value = '40' WHERE name = 'CONF_AVERAGE_PRODUCT_MARGIN'; +UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'PS_DASHBOARD_SIMULATION'; + +/* No right column */ +DELETE FROM `PREFIX_hook_module` WHERE id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayRightColumn'); + +/* displayHome */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHome'); +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'themeconfigurator') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockfacebook') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 3 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcmsinfo') +AND id_hook = @id_hook; + +/* displayNav */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayNav'); +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockuserinfo') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcurrencies') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 3 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocklanguages') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 4 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcontact') +AND id_hook = @id_hook; + +/* displayTop */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayTop'); +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocksearch') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcart') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 3 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocktopmenu') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 4 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'themeconfigurator') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 5 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockwhislist') +AND id_hook = @id_hook; + +/* displayHomeTab && displayHomeTabContent */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHomeTab'); +SET @id_hook2 = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHomeTabContent'); + +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocknewproducts') +AND id_hook IN (@id_hook, @id_hook2); + +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'homefeatured') +AND id_hook IN (@id_hook, @id_hook2); + +UPDATE `PREFIX_hook_module` SET position = 3 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockbestsellers') +AND id_hook IN (@id_hook, @id_hook2); + +/* displayFooter */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayFooter'); +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocknewsletter') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocksocial') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 3 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 4 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcms') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 5 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockmyaccountfooter') +AND id_hook = @id_hook; + +UPDATE `PREFIX_hook_module` SET position = 6 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcontactinfos') +AND id_hook = @id_hook; + +/* displayProductButtons */ +SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayProductButtons'); +UPDATE `PREFIX_hook_module` SET position = 1 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockwishlist') +AND id_hook = @id_hook; +UPDATE `PREFIX_hook_module` SET position = 2 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'productpaymentlogos') +AND id_hook = @id_hook; + +INSERT INTO `PREFIX_hook_module_exceptions` (`id_shop`, `id_module`, `id_hook`, `file_name`) +( + SELECT 1, m.id_module, h.id_hook, 'category' + FROM `PREFIX_hook` h + JOIN `PREFIX_hook_module` hm ON (hm.id_hook = h.id_hook) + JOIN `PREFIX_module` m ON (m.id_module = hm.id_module) + WHERE + h.name='displayLeftColumn' AND m.name IN ('blockbestsellers', 'blockmanufacturer', 'blocksupplier', 'blockmyaccount', 'blockpaymentlogo') + GROUP BY m.id_module +); diff --git a/_install/data/xml/access.xml b/_install/data/xml/access.xml new file mode 100644 index 00000000..3e510734 --- /dev/null +++ b/_install/data/xml/access.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/address_format.xml b/_install/data/xml/address_format.xml new file mode 100644 index 00000000..53107b78 --- /dev/null +++ b/_install/data/xml/address_format.xml @@ -0,0 +1,2696 @@ + + + + + + + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +address1 +address2 +city State:name postcode +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +State:name +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +State:name +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +city +postcode +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +address1 address2 +city, State:name postcode +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +State:name +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +State:name +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +State:name +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + firstname lastname +company +vat_number +address1 +address2 +postcode city +Country:name +phone +phone_mobile + + + diff --git a/_install/data/xml/carrier.xml b/_install/data/xml/carrier.xml new file mode 100644 index 00000000..f2e9be67 --- /dev/null +++ b/_install/data/xml/carrier.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + diff --git a/_install/data/xml/carrier_group.xml b/_install/data/xml/carrier_group.xml new file mode 100644 index 00000000..94cce906 --- /dev/null +++ b/_install/data/xml/carrier_group.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_install/data/xml/carrier_tax_rules_group_shop.xml b/_install/data/xml/carrier_tax_rules_group_shop.xml new file mode 100644 index 00000000..371a5462 --- /dev/null +++ b/_install/data/xml/carrier_tax_rules_group_shop.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/data/xml/carrier_zone.xml b/_install/data/xml/carrier_zone.xml new file mode 100644 index 00000000..eba14abc --- /dev/null +++ b/_install/data/xml/carrier_zone.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/data/xml/category.xml b/_install/data/xml/category.xml new file mode 100644 index 00000000..8e1562d8 --- /dev/null +++ b/_install/data/xml/category.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/data/xml/category_group.xml b/_install/data/xml/category_group.xml new file mode 100644 index 00000000..3de4adcf --- /dev/null +++ b/_install/data/xml/category_group.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_install/data/xml/cms.xml b/_install/data/xml/cms.xml new file mode 100644 index 00000000..b8ca83e1 --- /dev/null +++ b/_install/data/xml/cms.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/_install/data/xml/cms_category.xml b/_install/data/xml/cms_category.xml new file mode 100644 index 00000000..33d4e3d2 --- /dev/null +++ b/_install/data/xml/cms_category.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/data/xml/configuration.xml b/_install/data/xml/configuration.xml new file mode 100644 index 00000000..db0eb60e --- /dev/null +++ b/_install/data/xml/configuration.xml @@ -0,0 +1,851 @@ + + + + + + + + + 1 + + + 1 + + + 1 + + + 0 + + + 1 + + + 8 + + + 0 + + + 0 + + + 3 + + + 1 + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + > + + + 12 + + + 0 + + + 0 + + + 4 + + + 1 + + + 2 + + + 0 + + + 0 + + + 1 + + + 1 + + + 1 + + + 20 + + + 0 + + + kg + + + 1 + + + 0 + + + 14 + + + 3 + + + 8388608 + + + 64 + + + 64 + + + #IN + + + {"avoid":["vat_number","phone","phone_mobile"]} + + + {"avoid":["vat_number","phone","phone_mobile"]} + + + #DE + + + 1 + + + #RE + + + 1 + + + 360 + + + 360 + + + 1 + + + 3 + + + + + + 6 + + + 10 + + + 1 + + + 1 + + + 3 + + + 3 + + + 4 + + + 2 + + + 2 + + + 1 + + + Europe/Paris + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 2011-12-27 10:20:42 + + + 2 + + + 2011-12-27 10:20:42 + + + 3 + + + 0 + + + 0 + + + 0 + + + cl + + + 1 + + + 1 + + + 1 + + + + + + 0 + + + 0 + + + 0 + + + 3 + + + 3 + + + 0 + + + id_shop;id_currency;id_country;id_group + + + 0 + + + 1 + + + km + + + 1 + + + 1 + + + 0 + + + 209 + + + 52 + + + 530 + + + 228 + + + 0 + + + 0 + + + 0 + + + 0 + + + AF;ZA;AX;AL;DZ;DE;AD;AO;AI;AQ;AG;AN;SA;AR;AM;AW;AU;AT;AZ;BS;BH;BD;BB;BY;BE;BZ;BJ;BM;BT;BO;BA;BW;BV;BR;BN;BG;BF;MM;BI;KY;KH;CM;CA;CV;CF;CL;CN;CX;CY;CC;CO;KM;CG;CD;CK;KR;KP;CR;CI;HR;CU;DK;DJ;DM;EG;IE;SV;AE;EC;ER;ES;EE;ET;FK;FO;FJ;FI;FR;GA;GM;GE;GS;GH;GI;GR;GD;GL;GP;GU;GT;GG;GN;GQ;GW;GY;GF;HT;HM;HN;HK;HU;IM;MU;VG;VI;IN;ID;IR;IQ;IS;IL;IT;JM;JP;JE;JO;KZ;KE;KG;KI;KW;LA;LS;LV;LB;LR;LY;LI;LT;LU;MO;MK;MG;MY;MW;MV;ML;MT;MP;MA;MH;MQ;MR;YT;MX;FM;MD;MC;MN;ME;MS;MZ;NA;NR;NP;NI;NE;NG;NU;NF;NO;NC;NZ;IO;OM;UG;UZ;PK;PW;PS;PA;PG;PY;NL;PE;PH;PN;PL;PF;PR;PT;QA;DO;CZ;RE;RO;GB;RU;RW;EH;BL;KN;SM;MF;PM;VA;VC;LC;SB;WS;AS;ST;SN;RS;SC;SL;SG;SK;SI;SO;SD;LK;SE;CH;SR;SJ;SZ;SY;TJ;TW;TZ;TD;TF;TH;TL;TG;TK;TO;TT;TN;TM;TC;TR;TV;UA;UY;US;VU;VE;VN;WF;YE;ZM;ZW + + + 0 + + + fr + + + fr + + + 8 + + + 1 + + + cm + + + 0 + + + 1 + + + 1 + + + 0 + + +127;209.185.108;209.185.253;209.85.238;209.85.238.11;209.85.238.4;216.239.33.96;216.239.33.97;216.239.33.98;216.239.33.99;216.239.37.98;216.239.37.99;216.239.39.98;216.239.39.99;216.239.41.96;216.239.41.97;216.239.41.98;216.239.41.99;216.239.45.4;216.239.46;216.239.51.96;216.239.51.97;216.239.51.98;216.239.51.99;216.239.53.98;216.239.53.99;216.239.57.96;91.240.109;216.239.57.97;216.239.57.98;216.239.57.99;216.239.59.98;216.239.59.99;216.33.229.163;64.233.173.193;64.233.173.194;64.233.173.195;64.233.173.196;64.233.173.197;64.233.173.198;64.233.173.199;64.233.173.200;64.233.173.201;64.233.173.202;64.233.173.203;64.233.173.204;64.233.173.205;64.233.173.206;64.233.173.207;64.233.173.208;64.233.173.209;64.233.173.210;64.233.173.211;64.233.173.212;64.233.173.213;64.233.173.214;64.233.173.215;64.233.173.216;64.233.173.217;64.233.173.218;64.233.173.219;64.233.173.220;64.233.173.221;64.233.173.222;64.233.173.223;64.233.173.224;64.233.173.225;64.233.173.226;64.233.173.227;64.233.173.228;64.233.173.229;64.233.173.230;64.233.173.231;64.233.173.232;64.233.173.233;64.233.173.234;64.233.173.235;64.233.173.236;64.233.173.237;64.233.173.238;64.233.173.239;64.233.173.240;64.233.173.241;64.233.173.242;64.233.173.243;64.233.173.244;64.233.173.245;64.233.173.246;64.233.173.247;64.233.173.248;64.233.173.249;64.233.173.250;64.233.173.251;64.233.173.252;64.233.173.253;64.233.173.254;64.233.173.255;64.68.80;64.68.81;64.68.82;64.68.83;64.68.84;64.68.85;64.68.86;64.68.87;64.68.88;64.68.89;64.68.90.1;64.68.90.10;64.68.90.11;64.68.90.12;64.68.90.129;64.68.90.13;64.68.90.130;64.68.90.131;64.68.90.132;64.68.90.133;64.68.90.134;64.68.90.135;64.68.90.136;64.68.90.137;64.68.90.138;64.68.90.139;64.68.90.14;64.68.90.140;64.68.90.141;64.68.90.142;64.68.90.143;64.68.90.144;64.68.90.145;64.68.90.146;64.68.90.147;64.68.90.148;64.68.90.149;64.68.90.15;64.68.90.150;64.68.90.151;64.68.90.152;64.68.90.153;64.68.90.154;64.68.90.155;64.68.90.156;64.68.90.157;64.68.90.158;64.68.90.159;64.68.90.16;64.68.90.160;64.68.90.161;64.68.90.162;64.68.90.163;64.68.90.164;64.68.90.165;64.68.90.166;64.68.90.167;64.68.90.168;64.68.90.169;64.68.90.17;64.68.90.170;64.68.90.171;64.68.90.172;64.68.90.173;64.68.90.174;64.68.90.175;64.68.90.176;64.68.90.177;64.68.90.178;64.68.90.179;64.68.90.18;64.68.90.180;64.68.90.181;64.68.90.182;64.68.90.183;64.68.90.184;64.68.90.185;64.68.90.186;64.68.90.187;64.68.90.188;64.68.90.189;64.68.90.19;64.68.90.190;64.68.90.191;64.68.90.192;64.68.90.193;64.68.90.194;64.68.90.195;64.68.90.196;64.68.90.197;64.68.90.198;64.68.90.199;64.68.90.2;64.68.90.20;64.68.90.200;64.68.90.201;64.68.90.202;64.68.90.203;64.68.90.204;64.68.90.205;64.68.90.206;64.68.90.207;64.68.90.208;64.68.90.21;64.68.90.22;64.68.90.23;64.68.90.24;64.68.90.25;64.68.90.26;64.68.90.27;64.68.90.28;64.68.90.29;64.68.90.3;64.68.90.30;64.68.90.31;64.68.90.32;64.68.90.33;64.68.90.34;64.68.90.35;64.68.90.36;64.68.90.37;64.68.90.38;64.68.90.39;64.68.90.4;64.68.90.40;64.68.90.41;64.68.90.42;64.68.90.43;64.68.90.44;64.68.90.45;64.68.90.46;64.68.90.47;64.68.90.48;64.68.90.49;64.68.90.5;64.68.90.50;64.68.90.51;64.68.90.52;64.68.90.53;64.68.90.54;64.68.90.55;64.68.90.56;64.68.90.57;64.68.90.58;64.68.90.59;64.68.90.6;64.68.90.60;64.68.90.61;64.68.90.62;64.68.90.63;64.68.90.64;64.68.90.65;64.68.90.66;64.68.90.67;64.68.90.68;64.68.90.69;64.68.90.7;64.68.90.70;64.68.90.71;64.68.90.72;64.68.90.73;64.68.90.74;64.68.90.75;64.68.90.76;64.68.90.77;64.68.90.78;64.68.90.79;64.68.90.8;64.68.90.80;64.68.90.9;64.68.91;64.68.92;66.249.64;66.249.65;66.249.66;66.249.67;66.249.68;66.249.69;66.249.70;66.249.71;66.249.72;66.249.73;66.249.78;66.249.79;72.14.199;8.6.48 + + + 5 + + + 1 + + + 25.948969 + + + -80.226439 + + + 0 + + + 1 + + + 1324977642 + + + 1 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + 10 + + + 11 + + + 12 + + + 9 + + + 13 + + + 14 + + + 0 + + + jpg + + + 7 + + + 90 + + + 480 + + + 480 + + + 0 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + id_address_delivery + + + 1 + + + 0 + + + 1 + + + 2 + + + 0 + + + 1 + + + 7 + + + 6 + + + 0 + + + 8 + + + 3 + + + 1 + + + 2 + + + 3 + + + 0 + + + invoice + + + 2 + + + 2 + + + + + + + + + 1 + + + + 1 + + + 0 + + + 0 + + + 0 + + + http://www.yoursite.com + + + 2 + + + 5 + + + 2,1 + + + 2,1 + + + 2 + + + 1 + + + 4 + + + 1 + + + 1 + + + 5 + + + 5 + + + 1 + + + graphnvd3 + + + never + + + gridhtml + + + 10 + + + 100 + + + 400 + + + 1 + + + 2 + + + 1 + + + 2 + + + 1 + + + 3 + + + 0_3|0_4 + + + 0_3|0_4 + + + 1 + + + http://www.prestashop.com + + + store.jpg + + + jpg + + + CAT2,CAT3,CAT4 + + + + + + http://www.facebook.com/prestashop + + + http://www.twitter.com/prestashop + + + http://www.prestashop.com/blog/en/feed/ + + + Your company + + + Address line 1 +City +Country + + + 0123-456-789 + + + pub@prestashop.com + + + 0123-456-789 + + + pub@prestashop.com + + + 1 + + + 5 + + + 1 + + + 1 + + + + + + + + + 5 + + + 535 + + + 1300 + + + 7700 + + + 1 + + + m + + + localhost + + + localhost + + + PrestaShop + + + pub@prestashop.com + + + 1 + + + Animaux + + + + favicon.ico + + + logo_stores.png + + + 1 + + + 2 + + + 0 + + + smtp. + + + + + + + + + off + + + 25 + + + #db3484 + + + nK4KJP7jOsnzWMpo + + + 0 + + + 8 + + + 1 + + + + + + 1 + + + 1 + + + SMARTY_DEBUG + + + 0 + + + - + + + 40 + + + 1 + + + 1 + + + 1 + + + filesystem + + + everytime + + + 1 + + + 1 + + + 2 + + + 2 + + + 1 + + + 1 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 2 + + + 0 + + + diff --git a/_install/data/xml/contact.xml b/_install/data/xml/contact.xml new file mode 100644 index 00000000..9f803439 --- /dev/null +++ b/_install/data/xml/contact.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/data/xml/country.xml b/_install/data/xml/country.xml new file mode 100644 index 00000000..62f91e8e --- /dev/null +++ b/_install/data/xml/country.xml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/delivery.xml b/_install/data/xml/delivery.xml new file mode 100644 index 00000000..093f666a --- /dev/null +++ b/_install/data/xml/delivery.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/_install/data/xml/gender.xml b/_install/data/xml/gender.xml new file mode 100644 index 00000000..6e963492 --- /dev/null +++ b/_install/data/xml/gender.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/data/xml/group.xml b/_install/data/xml/group.xml new file mode 100644 index 00000000..32324b59 --- /dev/null +++ b/_install/data/xml/group.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/_install/data/xml/hook.xml b/_install/data/xml/hook.xml new file mode 100644 index 00000000..80106b2c --- /dev/null +++ b/_install/data/xml/hook.xml @@ -0,0 +1,329 @@ + + + + + + + + + + + displayPaymentPaymentThis hook displays new elements on the payment page + + + actionValidateOrderNew orders + + + displayMaintenanceMaintenance PageThis hook displays new elements on the maintenance page + + + actionPaymentConfirmationPayment confirmationThis hook displays new elements after the payment is validated + + + displayPaymentReturnPayment return + + + actionUpdateQuantityQuantity updateQuantity is updated only when a customer effectively places their order + + + displayRightColumnRight column blocksThis hook displays new elements in the right-hand column + + + displayLeftColumnLeft column blocksThis hook displays new elements in the left-hand column + + + displayHomeHomepage contentThis hook displays new elements on the homepage + + + HeaderPages html head sectionThis hook adds additional elements in the head section of your pages (head section of html) + + + actionCartSaveCart creation and updateThis hook is displayed when a product is added to the cart or if the cart's content is modified + + + actionAuthenticationSuccessful customer authenticationThis hook is displayed after a customer successfully signs in + + + actionProductAddProduct creationThis hook is displayed after a product is created + + + actionProductUpdateProduct updateThis hook is displayed after a product has been updated + + + displayTopTop of pagesThis hook displays additional elements at the top of your pages + + + displayRightColumnProductNew elements on the product page (right column)This hook displays new elements in the right-hand column of the product page + + + actionProductDeleteProduct deletionThis hook is called when a product is deleted + + + displayFooterProductProduct footerThis hook adds new blocks under the product's description + + + displayInvoiceInvoiceThis hook displays new blocks on the invoice (order) + + + actionOrderStatusUpdateOrder status update - EventThis hook launches modules when the status of an order changes. + + + displayAdminOrderDisplay new elements in the Back Office, tab AdminOrderThis hook launches modules when the AdminOrder tab is displayed in the Back Office + + + displayAdminOrderTabOrderDisplay new elements in Back Office, AdminOrder, panel OrderThis hook launches modules when the AdminOrder tab is displayed in the Back Office and extends / override Order panel tabs + + + displayAdminOrderTabShipDisplay new elements in Back Office, AdminOrder, panel ShippingThis hook launches modules when the AdminOrder tab is displayed in the Back Office and extends / override Shipping panel tabs + + + displayAdminOrderContentOrderDisplay new elements in Back Office, AdminOrder, panel OrderThis hook launches modules when the AdminOrder tab is displayed in the Back Office and extends / override Order panel content + + + displayAdminOrderContentShipDisplay new elements in Back Office, AdminOrder, panel ShippingThis hook launches modules when the AdminOrder tab is displayed in the Back Office and extends / override Shipping panel content + + + displayFooterFooterThis hook displays new blocks in the footer + + + displayPDFInvoicePDF InvoiceThis hook allows you to display additional information on PDF invoices + + + displayInvoiceLegalFreeTextPDF Invoice - Legal Free TextThis hook allows you to modify the legal free text on PDF invoices + + + displayAdminCustomersDisplay new elements in the Back Office, tab AdminCustomersThis hook launches modules when the AdminCustomers tab is displayed in the Back Office + + + displayOrderConfirmationOrder confirmation pageThis hook is called within an order's confirmation page + + + actionCustomerAccountAddSuccessful customer account creationThis hook is called when a new customer creates an account successfully + + + displayCustomerAccountCustomer account displayed in Front OfficeThis hook displays new elements on the customer account page + + + displayCustomerIdentityFormCustomer identity form displayed in Front OfficeThis hook displays new elements on the form to update a customer identity + + + actionOrderSlipAddOrder slip creationThis hook is called when a new credit slip is added regarding client order + + + displayProductTabTabs on product pageThis hook is called on the product page's tab + + + displayProductTabContentTabs content on the product pageThis hook is called on the product page's tab + + + displayShoppingCartFooterShopping cart footerThis hook displays some specific information on the shopping cart's page + + + displayCustomerAccountFormCustomer account creation formThis hook displays some information on the form to create a customer account + + + displayAdminStatsModulesStats - Modules + + + displayAdminStatsGraphEngineGraph engines + + + actionOrderReturnReturned productThis hook is displayed when a customer returns a product + + + displayProductButtonsProduct page actionsThis hook adds new action buttons on the product page + + + displayBackOfficeHomeAdministration panel homepageThis hook is displayed on the admin panel's homepage + + + displayAdminStatsGridEngineGrid engines + + + actionWatermarkWatermark + + + actionProductCancelProduct cancelledThis hook is called when you cancel a product in an order + + + displayLeftColumnProductNew elements on the product page (left column)This hook displays new elements in the left-hand column of the product page + + + actionProductOutOfStockOut-of-stock productThis hook displays new action buttons if a product is out of stock + + + actionProductAttributeUpdateProduct attribute updateThis hook is displayed when a product's attribute is updated + + + displayCarrierListExtra carrier (module mode) + + + displayShoppingCartShopping cart - Additional buttonThis hook displays new action buttons within the shopping cart + + + actionSearchSearch + + + displayBeforePaymentRedirect during the order processThis hook redirects the user to the module instead of displaying payment modules + + + actionCarrierUpdateCarrier UpdateThis hook is called when a carrier is updated + + + actionOrderStatusPostUpdatePost update of order status + + + displayCustomerAccountFormTopBlock above the form for create an accountThis hook is displayed above the customer's account creation form + + + displayBackOfficeHeaderAdministration panel headerThis hook is displayed in the header of the admin panel + + + displayBackOfficeTopAdministration panel hover the tabsThis hook is displayed on the roll hover of the tabs within the admin panel + + + displayBackOfficeFooterAdministration panel footerThis hook is displayed within the admin panel's footer + + + actionProductAttributeDeleteProduct attribute deletionThis hook is displayed when a product's attribute is deleted + + + actionCarrierProcessCarrier process + + + actionOrderDetailOrder detailThis hook is used to set the follow-up in Smarty when an order's detail is called + + + displayBeforeCarrierBefore carriers listThis hook is displayed before the carrier list in Front Office + + + displayOrderDetailOrder detailThis hook is displayed within the order's details in Front Office + + + actionPaymentCCAddPayment CC added + + + displayProductComparisonExtra product comparison + + + actionCategoryAddCategory creationThis hook is displayed when a category is created + + + actionCategoryUpdateCategory modificationThis hook is displayed when a category is modified + + + actionCategoryDeleteCategory deletionThis hook is displayed when a category is deleted + + + actionBeforeAuthenticationBefore authenticationThis hook is displayed before the customer's authentication + + + displayPaymentTopTop of payment pageThis hook is displayed at the top of the payment page + + + actionHtaccessCreateAfter htaccess creationThis hook is displayed after the htaccess creation + + + actionAdminMetaSaveAfter saving the configuration in AdminMetaThis hook is displayed after saving the configuration in AdminMeta + + + displayAttributeGroupFormAdd fields to the form 'attribute group'This hook adds fields to the form 'attribute group' + + + actionAttributeGroupSaveSaving an attribute groupThis hook is called while saving an attributes group + + + actionAttributeGroupDeleteDeleting attribute groupThis hook is called while deleting an attributes group + + + displayFeatureFormAdd fields to the form 'feature'This hook adds fields to the form 'feature' + + + actionFeatureSaveSaving attributes' featuresThis hook is called while saving an attributes features + + + actionFeatureDeleteDeleting attributes' featuresThis hook is called while deleting an attributes features + + + actionProductSaveSaving productsThis hook is called while saving products + + + actionProductListOverrideAssign a products list to a categoryThis hook assigns a products list to a category + + + displayAttributeGroupPostProcessOn post-process in admin attribute groupThis hook is called on post-process in admin attribute group + + + displayFeaturePostProcessOn post-process in admin featureThis hook is called on post-process in admin feature + + + displayFeatureValueFormAdd fields to the form 'feature value'This hook adds fields to the form 'feature value' + + + displayFeatureValuePostProcessOn post-process in admin feature valueThis hook is called on post-process in admin feature value + + + actionFeatureValueDeleteDeleting attributes' features' valuesThis hook is called while deleting an attributes features value + + + actionFeatureValueSaveSaving an attributes features valueThis hook is called while saving an attributes features value + + + displayAttributeFormAdd fields to the form 'attribute value'This hook adds fields to the form 'attribute value' + + + actionAttributePostProcessOn post-process in admin feature valueThis hook is called on post-process in admin feature value + + + actionAttributeDeleteDeleting an attributes features valueThis hook is called while deleting an attributes features value + + + actionAttributeSaveSaving an attributes features valueThis hook is called while saving an attributes features value + + + actionTaxManagerTax Manager Factory + + + displayMyAccountBlockMy account blockThis hook displays extra information within the 'my account' block" + + + actionModuleInstallBeforeactionModuleInstallBefore + + + actionModuleInstallAfteractionModuleInstallAfter + + + displayHomeTabHome Page TabsThis hook displays new elements on the homepage tabs + + + displayHomeTabContentHome Page Tabs ContentThis hook displays new elements on the homepage tabs content + + + displayTopColumnTop column blocksThis hook displays new elements in the top of columns + + + displayBackOfficeCategoryDisplay new elements in the Back Office, tab AdminCategoriesThis hook launches modules when the AdminCategories tab is displayed in the Back Office + + + displayProductListFunctionalButtonsDisplay new elements in the Front Office, products listThis hook launches modules when the products list is displayed in the Front Office + + + displayNavNavigation + + + displayOverrideTemplateChange the default template of current controller + + + actionAdminLoginControllerSetMediaSet media on admin login page headerThis hook is called after adding media to admin login page header + + + actionOrderEditedOrder editedThis hook is called when an order is edited. + + + actionEmailAddBeforeContentAdd extra content before mail contentThis hook is called just before fetching mail template + + + actionEmailAddAfterContentAdd extra content after mail contentThis hook is called just after fetching mail template + + + diff --git a/_install/data/xml/hook_alias.xml b/_install/data/xml/hook_alias.xml new file mode 100644 index 00000000..471ddcf0 --- /dev/null +++ b/_install/data/xml/hook_alias.xml @@ -0,0 +1,353 @@ + + + + + + + + + payment + displayPayment + + + newOrder + actionValidateOrder + + + paymentConfirm + actionPaymentConfirmation + + + paymentReturn + displayPaymentReturn + + + updateQuantity + actionUpdateQuantity + + + rightColumn + displayRightColumn + + + leftColumn + displayLeftColumn + + + home + displayHome + + + displayHeader + Header + + + cart + actionCartSave + + + authentication + actionAuthentication + + + addproduct + actionProductAdd + + + updateproduct + actionProductUpdate + + + top + displayTop + + + extraRight + displayRightColumnProduct + + + deleteproduct + actionProductDelete + + + productfooter + displayFooterProduct + + + invoice + displayInvoice + + + updateOrderStatus + actionOrderStatusUpdate + + + adminOrder + displayAdminOrder + + + footer + displayFooter + + + PDFInvoice + displayPDFInvoice + + + adminCustomers + displayAdminCustomers + + + orderConfirmation + displayOrderConfirmation + + + createAccount + actionCustomerAccountAdd + + + customerAccount + displayCustomerAccount + + + orderSlip + actionOrderSlipAdd + + + productTab + displayProductTab + + + productTabContent + displayProductTabContent + + + shoppingCart + displayShoppingCartFooter + + + createAccountForm + displayCustomerAccountForm + + + AdminStatsModules + displayAdminStatsModules + + + GraphEngine + displayAdminStatsGraphEngine + + + orderReturn + actionOrderReturn + + + productActions + displayProductButtons + + + backOfficeHome + displayBackOfficeHome + + + GridEngine + displayAdminStatsGridEngine + + + watermark + actionWatermark + + + cancelProduct + actionProductCancel + + + extraLeft + displayLeftColumnProduct + + + productOutOfStock + actionProductOutOfStock + + + updateProductAttribute + actionProductAttributeUpdate + + + extraCarrier + displayCarrierList + + + shoppingCartExtra + displayShoppingCart + + + search + actionSearch + + + backBeforePayment + displayBeforePayment + + + updateCarrier + actionCarrierUpdate + + + postUpdateOrderStatus + actionOrderStatusPostUpdate + + + createAccountTop + displayCustomerAccountFormTop + + + backOfficeHeader + displayBackOfficeHeader + + + backOfficeTop + displayBackOfficeTop + + + backOfficeFooter + displayBackOfficeFooter + + + deleteProductAttribute + actionProductAttributeDelete + + + processCarrier + actionCarrierProcess + + + orderDetail + actionOrderDetail + + + beforeCarrier + displayBeforeCarrier + + + orderDetailDisplayed + displayOrderDetail + + + paymentCCAdded + actionPaymentCCAdd + + + extraProductComparison + displayProductComparison + + + categoryAddition + actionCategoryAdd + + + categoryUpdate + actionCategoryUpdate + + + categoryDeletion + actionCategoryDelete + + + beforeAuthentication + actionBeforeAuthentication + + + paymentTop + displayPaymentTop + + + afterCreateHtaccess + actionHtaccessCreate + + + afterSaveAdminMeta + actionAdminMetaSave + + + attributeGroupForm + displayAttributeGroupForm + + + afterSaveAttributeGroup + actionAttributeGroupSave + + + afterDeleteAttributeGroup + actionAttributeGroupDelete + + + featureForm + displayFeatureForm + + + afterSaveFeature + actionFeatureSave + + + afterDeleteFeature + actionFeatureDelete + + + afterSaveProduct + actionProductSave + + + productListAssign + actionProductListOverride + + + postProcessAttributeGroup + displayAttributeGroupPostProcess + + + postProcessFeature + displayFeaturePostProcess + + + featureValueForm + displayFeatureValueForm + + + postProcessFeatureValue + displayFeatureValuePostProcess + + + afterDeleteFeatureValue + actionFeatureValueDelete + + + afterSaveFeatureValue + actionFeatureValueSave + + + attributeForm + displayAttributeForm + + + postProcessAttribute + actionAttributePostProcess + + + afterDeleteAttribute + actionAttributeDelete + + + afterSaveAttribute + actionAttributeSave + + + taxManager + actionTaxManager + + + myAccountBlock + displayMyAccountBlock + + + diff --git a/_install/data/xml/image_type.xml b/_install/data/xml/image_type.xml new file mode 100644 index 00000000..8698aef8 --- /dev/null +++ b/_install/data/xml/image_type.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/index.php b/_install/data/xml/index.php new file mode 100644 index 00000000..8dd03b06 --- /dev/null +++ b/_install/data/xml/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../'); +exit; \ No newline at end of file diff --git a/_install/data/xml/meta.xml b/_install/data/xml/meta.xml new file mode 100644 index 00000000..21ea7b2b --- /dev/null +++ b/_install/data/xml/meta.xml @@ -0,0 +1,148 @@ + + + + + + + + pagenotfound + 1 + + + best-sales + 1 + + + contact + 1 + + + index + 1 + + + manufacturer + 1 + + + new-products + 1 + + + password + 1 + + + prices-drop + 1 + + + sitemap + 1 + + + supplier + 1 + + + address + 1 + + + addresses + 1 + + + authentication + 1 + + + cart + 1 + + + discount + 1 + + + history + 1 + + + identity + 1 + + + my-account + 1 + + + order-follow + 1 + + + order-slip + 1 + + + order + 1 + + + search + 1 + + + stores + 1 + + + order-opc + 1 + + + guest-tracking + 1 + + + order-confirmation + 1 + + + product + 0 + + + category + 0 + + + cms + 0 + + + module-cheque-payment + 0 + + + module-cheque-validation + 0 + + + module-bankwire-validation + 0 + + + module-bankwire-payment + 0 + + + module-cashondelivery-validation + 0 + + + products-comparison + 1 + + + diff --git a/_install/data/xml/operating_system.xml b/_install/data/xml/operating_system.xml new file mode 100644 index 00000000..0844133f --- /dev/null +++ b/_install/data/xml/operating_system.xml @@ -0,0 +1,29 @@ + + + + + + + + Windows XP + + + Windows Vista + + + Windows 7 + + + Windows 8 + + + MacOsX + + + Linux + + + Android + + + diff --git a/_install/data/xml/order_return_state.xml b/_install/data/xml/order_return_state.xml new file mode 100644 index 00000000..3fc46191 --- /dev/null +++ b/_install/data/xml/order_return_state.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/_install/data/xml/order_state.xml b/_install/data/xml/order_state.xml new file mode 100644 index 00000000..0e2449a8 --- /dev/null +++ b/_install/data/xml/order_state.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/profile.xml b/_install/data/xml/profile.xml new file mode 100644 index 00000000..557a09f5 --- /dev/null +++ b/_install/data/xml/profile.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/data/xml/quick_access.xml b/_install/data/xml/quick_access.xml new file mode 100644 index 00000000..0543a29e --- /dev/null +++ b/_install/data/xml/quick_access.xml @@ -0,0 +1,18 @@ + + + + + + + + + index.php?controller=AdminCategories&addcategory + + + index.php?controller=AdminProducts&addproduct + + + index.php?controller=AdminCartRules&addcart_rule + + + diff --git a/_install/data/xml/risk.xml b/_install/data/xml/risk.xml new file mode 100644 index 00000000..f89e33e0 --- /dev/null +++ b/_install/data/xml/risk.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/_install/data/xml/search_engine.xml b/_install/data/xml/search_engine.xml new file mode 100644 index 00000000..411a27ff --- /dev/null +++ b/_install/data/xml/search_engine.xml @@ -0,0 +1,123 @@ + + + + + + + + + google + + + aol + + + yandex + + + ask.com + + + nhl.com + + + yahoo + + + baidu + + + lycos + + + exalead + + + search.live + + + voila + + + altavista + + + bing + + + daum + + + eniro + + + naver + + + msn + + + netscape + + + cnn + + + about + + + mamma + + + alltheweb + + + virgilio + + + alice + + + najdi + + + mama + + + seznam + + + onet + + + szukacz + + + yam + + + pchome + + + kvasir + + + sesam + + + ozu + + + terra + + + mynet + + + ekolay + + + rambler + + + diff --git a/_install/data/xml/state.xml b/_install/data/xml/state.xml new file mode 100644 index 00000000..c0b15a93 --- /dev/null +++ b/_install/data/xml/state.xml @@ -0,0 +1,949 @@ + + + + + + + + + + + + + Alabama + + + Alaska + + + Arizona + + + Arkansas + + + California + + + Colorado + + + Connecticut + + + Delaware + + + Florida + + + Georgia + + + Hawaii + + + Idaho + + + Illinois + + + Indiana + + + Iowa + + + Kansas + + + Kentucky + + + Louisiana + + + Maine + + + Maryland + + + Massachusetts + + + Michigan + + + Minnesota + + + Mississippi + + + Missouri + + + Montana + + + Nebraska + + + Nevada + + + New Hampshire + + + New Jersey + + + New Mexico + + + New York + + + North Carolina + + + North Dakota + + + Ohio + + + Oklahoma + + + Oregon + + + Pennsylvania + + + Rhode Island + + + South Carolina + + + South Dakota + + + Tennessee + + + Texas + + + Utah + + + Vermont + + + Virginia + + + Washington + + + West Virginia + + + Wisconsin + + + Wyoming + + + Puerto Rico + + + US Virgin Islands + + + District of Columbia + + + Aguascalientes + + + Baja California + + + Baja California Sur + + + Campeche + + + Chiapas + + + Chihuahua + + + Coahuila + + + Colima + + + Distrito Federal + + + Durango + + + Guanajuato + + + Guerrero + + + Hidalgo + + + Jalisco + + + Estado de MĂ©xico + + + MichoacĂĄn + + + Morelos + + + Nayarit + + + Nuevo LeĂłn + + + Oaxaca + + + Puebla + + + QuerĂ©taro + + + Quintana Roo + + + San Luis PotosĂ­ + + + Sinaloa + + + Sonora + + + Tabasco + + + Tamaulipas + + + Tlaxcala + + + Veracruz + + + YucatĂĄn + + + Zacatecas + + + Ontario + + + Quebec + + + British Columbia + + + Alberta + + + Manitoba + + + Saskatchewan + + + Nova Scotia + + + New Brunswick + + + Newfoundland and Labrador + + + Prince Edward Island + + + Northwest Territories + + + Yukon + + + Nunavut + + + Buenos Aires + + + Catamarca + + + Chaco + + + Chubut + + + Ciudad de Buenos Aires + + + CĂłrdoba + + + Corrientes + + + Entre RĂ­os + + + Formosa + + + Jujuy + + + La Pampa + + + La Rioja + + + Mendoza + + + Misiones + + + NeuquĂ©n + + + RĂ­o Negro + + + Salta + + + San Juan + + + San Luis + + + Santa Cruz + + + Santa Fe + + + Santiago del Estero + + + Tierra del Fuego + + + TucumĂĄn + + + Agrigento + + + Alessandria + + + Ancona + + + Aosta + + + Arezzo + + + Ascoli Piceno + + + Asti + + + Avellino + + + Bari + + + Barletta-Andria-Trani + + + Belluno + + + Benevento + + + Bergamo + + + Biella + + + Bologna + + + Bolzano + + + Brescia + + + Brindisi + + + Cagliari + + + Caltanissetta + + + Campobasso + + + Carbonia-Iglesias + + + Caserta + + + Catania + + + Catanzaro + + + Chieti + + + Como + + + Cosenza + + + Cremona + + + Crotone + + + Cuneo + + + Enna + + + Fermo + + + Ferrara + + + Firenze + + + Foggia + + + ForlĂŹ-Cesena + + + Frosinone + + + Genova + + + Gorizia + + + Grosseto + + + Imperia + + + Isernia + + + L'Aquila + + + La Spezia + + + Latina + + + Lecce + + + Lecco + + + Livorno + + + Lodi + + + Lucca + + + Macerata + + + Mantova + + + Massa + + + Matera + + + Medio Campidano + + + Messina + + + Milano + + + Modena + + + Monza e della Brianza + + + Napoli + + + Novara + + + Nuoro + + + Ogliastra + + + Olbia-Tempio + + + Oristano + + + Padova + + + Palermo + + + Parma + + + Pavia + + + Perugia + + + Pesaro-Urbino + + + Pescara + + + Piacenza + + + Pisa + + + Pistoia + + + Pordenone + + + Potenza + + + Prato + + + Ragusa + + + Ravenna + + + Reggio Calabria + + + Reggio Emilia + + + Rieti + + + Rimini + + + Roma + + + Rovigo + + + Salerno + + + Sassari + + + Savona + + + Siena + + + Siracusa + + + Sondrio + + + Taranto + + + Teramo + + + Terni + + + Torino + + + Trapani + + + Trento + + + Treviso + + + Trieste + + + Udine + + + Varese + + + Venezia + + + Verbano-Cusio-Ossola + + + Vercelli + + + Verona + + + Vibo Valentia + + + Vicenza + + + Viterbo + + + Aceh + + + Bali + + + Bangka + + + Banten + + + Bengkulu + + + Central Java + + + Central Kalimantan + + + Central Sulawesi + + + Coat of arms of East Java + + + East kalimantan + + + East Nusa Tenggara + + + Lambang propinsi + + + Jakarta + + + Jambi + + + Lampung + + + Maluku + + + North Maluku + + + North Sulawesi + + + North Sumatra + + + Papua + + + Riau + + + Lambang Riau + + + Southeast Sulawesi + + + South Kalimantan + + + South Sulawesi + + + South Sumatra + + + West Java + + + West Kalimantan + + + West Nusa Tenggara + + + Lambang Provinsi Papua Barat + + + West Sulawesi + + + West Sumatra + + + Yogyakarta + + + Aichi + + + Akita + + + Aomori + + + Chiba + + + Ehime + + + Fukui + + + Fukuoka + + + Fukushima + + + Gifu + + + Gunma + + + Hiroshima + + + Hokkaido + + + Hyogo + + + Ibaraki + + + Ishikawa + + + Iwate + + + Kagawa + + + Kagoshima + + + Kanagawa + + + Kochi + + + Kumamoto + + + Kyoto + + + Mie + + + Miyagi + + + Miyazaki + + + Nagano + + + Nagasaki + + + Nara + + + Niigata + + + Oita + + + Okayama + + + Okinawa + + + Osaka + + + Saga + + + Saitama + + + Shiga + + + Shimane + + + Shizuoka + + + Tochigi + + + Tokushima + + + Tokyo + + + Tottori + + + Toyama + + + Wakayama + + + Yamagata + + + Yamaguchi + + + Yamanashi + + + diff --git a/_install/data/xml/stock_mvt_reason.xml b/_install/data/xml/stock_mvt_reason.xml new file mode 100644 index 00000000..93ce8d91 --- /dev/null +++ b/_install/data/xml/stock_mvt_reason.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/supply_order_state.xml b/_install/data/xml/supply_order_state.xml new file mode 100644 index 00000000..f7a0299d --- /dev/null +++ b/_install/data/xml/supply_order_state.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/tab.xml b/_install/data/xml/tab.xml new file mode 100644 index 00000000..48162a84 --- /dev/null +++ b/_install/data/xml/tab.xml @@ -0,0 +1,310 @@ + + + + + + + + + + AdminDashboard + + + AdminCms + + + AdminCmsCategories + + + AdminAttributeGenerator + + + AdminSearch + + + AdminLogin + + + AdminShop + + + AdminShopUrl + + + AdminCatalog + + + AdminParentOrders + + + AdminParentCustomer + + + AdminPriceRule + + + AdminParentModules + + + AdminParentShipping + + + AdminParentLocalization + + + AdminParentPreferences + + + AdminTools + + + AdminAdmin + + + AdminParentStats + + + AdminStock + + + AdminProducts + + + AdminCategories + + + AdminTracking + + + AdminAttributesGroups + + + AdminFeatures + + + AdminManufacturers + + + AdminSuppliers + + + AdminTags + + + AdminAttachments + + + AdminOrders + + + AdminInvoices + + + AdminReturn + + + AdminDeliverySlip + + + AdminSlip + + + AdminStatuses + + + AdminOrderMessage + + + AdminCustomers + + + AdminAddresses + + + AdminGroups + + + AdminCarts + + + AdminCustomerThreads + + + AdminContacts + + + AdminGenders + + + AdminOutstanding + + + AdminCartRules + + + AdminSpecificPriceRule + + + AdminMarketing + + + AdminCarriers + + + AdminShipping + + + AdminCarrierWizard + + + AdminLocalization + + + AdminLanguages + + + AdminZones + + + AdminCountries + + + AdminStates + + + AdminCurrencies + + + AdminTaxes + + + AdminTaxRulesGroup + + + AdminTranslations + + + AdminModules + + + AdminAddonsCatalog + + + AdminModulesPositions + + + AdminPayment + + + AdminPreferences + + + AdminOrderPreferences + + + AdminPPreferences + + + AdminCustomerPreferences + + + AdminThemes + + + AdminMeta + + + AdminCmsContent + + + AdminImages + + + AdminStores + + + AdminSearchConf + + + AdminMaintenance + + + AdminGeolocation + + + AdminInformation + + + AdminPerformance + + + AdminEmails + + + AdminShopGroup + + + AdminImport + + + AdminBackup + + + AdminRequestSql + + + AdminLogs + + + AdminWebservice + + + AdminAdminPreferences + + + AdminQuickAccesses + + + AdminEmployees + + + AdminProfiles + + + AdminAccess + + + AdminTabs + + + AdminStats + + + AdminSearchEngines + + + AdminReferrers + + + AdminWarehouses + + + AdminStockManagement + + + AdminStockMvt + + + AdminStockInstantState + + + AdminStockCover + + + AdminSupplyOrders + + + AdminStockConfiguration + + + diff --git a/_install/data/xml/theme.xml b/_install/data/xml/theme.xml new file mode 100644 index 00000000..e643e34c --- /dev/null +++ b/_install/data/xml/theme.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + default-bootstrap + default-bootstrap + 1 + 1 + 0 + 12 + + + + + diff --git a/_install/data/xml/theme_meta.xml b/_install/data/xml/theme_meta.xml new file mode 100644 index 00000000..c3574ec9 --- /dev/null +++ b/_install/data/xml/theme_meta.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/timezone.xml b/_install/data/xml/timezone.xml new file mode 100644 index 00000000..ca6ac413 --- /dev/null +++ b/_install/data/xml/timezone.xml @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/data/xml/warehouse.xml b/_install/data/xml/warehouse.xml new file mode 100644 index 00000000..f9b16567 --- /dev/null +++ b/_install/data/xml/warehouse.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_install/data/xml/web_browser.xml b/_install/data/xml/web_browser.xml new file mode 100644 index 00000000..db227faf --- /dev/null +++ b/_install/data/xml/web_browser.xml @@ -0,0 +1,41 @@ + + + + + + + + Safari + + + Safari iPad + + + Firefox + + + Opera + + + IE 6 + + + IE 7 + + + IE 8 + + + IE 9 + + + IE 10 + + + IE 11 + + + Chrome + + + diff --git a/_install/data/xml/zone.xml b/_install/data/xml/zone.xml new file mode 100644 index 00000000..af9ad1b2 --- /dev/null +++ b/_install/data/xml/zone.xml @@ -0,0 +1,33 @@ + + + + + + + + + Europe + + + North America + + + Asia + + + Africa + + + Oceania + + + South America + + + Europe (non-EU) + + + Central America/Antilla + + + diff --git a/_install/dev/index.php b/_install/dev/index.php new file mode 100644 index 00000000..7901f7a0 --- /dev/null +++ b/_install/dev/index.php @@ -0,0 +1,152 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +include_once('../init.php'); +include_once(_PS_ROOT_DIR_.'/config/settings.inc.php'); +include_once(_PS_INSTALL_PATH_.'classes/controllerHttp.php'); + +class SynchronizeController extends InstallControllerHttp +{ + public function validate(){} + public function display(){} + public function processNextStep(){} + + /** + * @var InstallXmlLoader + */ + protected $loader; + + public function displayTemplate($template, $get_output = false, $path = null) + { + parent::displayTemplate($template, false, _PS_INSTALL_PATH_.'dev/'); + } + + public function init() + { + $this->type = Tools::getValue('type'); + $this->loader = new InstallXmlLoader(); + $languages = array(); + foreach (Language::getLanguages(false) as $language) + $languages[$language['id_lang']] = $language['iso_code']; + $this->loader->setLanguages($languages); + + if (Tools::getValue('submit')) + $this->generateSchemas(); + else if (Tools::getValue('synchronize')) + $this->synchronizeEntities(); + + if ($this->type == 'demo') + $this->loader->setFixturesPath(); + else + $this->loader->setDefaultPath(); + $this->displayTemplate('index'); + } + + public function generateSchemas() + { + if ($this->type == 'demo') + $this->loader->setFixturesPath(); + + $tables = isset($_POST['tables']) ? (array)$_POST['tables'] : array(); + $columns = isset($_POST['columns']) ? (array)$_POST['columns'] : array(); + $relations = isset($_POST['relations']) ? (array)$_POST['relations'] : array(); + $ids = isset($_POST['id']) ? (array)$_POST['id'] : array(); + $primaries = isset($_POST['primary']) ? (array)$_POST['primary'] : array(); + $classes = isset($_POST['class']) ? (array)$_POST['class'] : array(); + $sqls = isset($_POST['sql']) ? (array)$_POST['sql'] : array(); + $orders = isset($_POST['order']) ? (array)$_POST['order'] : array(); + $images = isset($_POST['image']) ? (array)$_POST['image'] : array(); + $nulls = isset($_POST['null']) ? (array)$_POST['null'] : array(); + + $entities = array(); + foreach ($tables as $table) + { + $config = array(); + if (isset($ids[$table]) && $ids[$table]) + $config['id'] = $ids[$table]; + + if (isset($primaries[$table]) && $primaries[$table]) + $config['primary'] = $primaries[$table]; + + if (isset($classes[$table]) && $classes[$table]) + $config['class'] = $classes[$table]; + + if (isset($sqls[$table]) && $sqls[$table]) + $config['sql'] = $sqls[$table]; + + if (isset($orders[$table]) && $orders[$table]) + $config['ordersql'] = $orders[$table]; + + if (isset($images[$table]) && $images[$table]) + $config['image'] = $images[$table]; + + if (isset($nulls[$table]) && $nulls[$table]) + $config['null'] = $nulls[$table]; + + $fields = array(); + if (isset($columns[$table])) + { + foreach ($columns[$table] as $column) + { + $fields[$column] = array(); + if (isset($relations[$table][$column]['check'])) + $fields[$column]['relation'] = $relations[$table][$column]; + } + } + + $entities[$table] = array( + 'config' => $config, + 'fields' => $fields, + ); + } + + foreach ($entities as $entity => $info) + $this->loader->generateEntitySchema($entity, $info['fields'], $info['config']); + + $this->errors = $this->loader->getErrors(); + } + + public function synchronizeEntities() + { + $entities = Tools::getValue('entities'); + if (isset($entities['common'])) + { + $this->loader->setDefaultPath(); + $this->loader->generateEntityFiles($entities['common']); + } + + if (isset($entities['fixture'])) + { + $this->loader->setFixturesPath(); + $this->loader->generateEntityFiles($entities['fixture']); + } + + $this->errors = $this->loader->getErrors(); + $this->loader->setDefaultPath(); + } +} + +new SynchronizeController('synchronize'); \ No newline at end of file diff --git a/_install/dev/index.phtml b/_install/dev/index.phtml new file mode 100644 index 00000000..76984a2b --- /dev/null +++ b/_install/dev/index.phtml @@ -0,0 +1,241 @@ + + + Outil de synchronisation de l'installeur + + + + + + + + errors): ?> +
    + errors as $error): ?> +
  • + +
+ + + + +
+

Aide pour la synchronisation de l'installeur

+

Cet outil est destiné à synchroniser le contenu de la base de donnée courante avec l'installeur. Par exemple en synchronisant l'entité "country", toutes les données de la table seront prises et sauvées dans un fichier country.xml, qui sera utilisé lors des installations.

+

Veuillez vous assurer de n'exporter que les informations qui concernent les modifications que vous avez effectué, pour cela il suffit de cocher les informations vous concernant sur l'écran de synchronisation.

+

+

+ En cochant une entité (sur l'écran de génération des schémas), celle ci sera ajoutée dans les données exportables. Cependant seules les entités que vous validerez dans l'écran de synchronisation seront réellement exportées, afin d'éviter tout problÚme. Voici une description des différentes informations disponibles par entité : +

    +
  • Identifiant : servira Ă  gĂ©nĂ©rer les noms des ID uniques. Par dĂ©faut les ID sont du type entity_42.
  • +
  • Clef primaire : laissez ce champ vide si l'entitĂ© possĂšde un nom de clef primaire standard, c'est Ă  dire id_entity. Entrez le nom de la clef primaire si elle est diffĂ©rente, entrez les diffĂ©rentes clef primaires sĂ©parĂ©es par une virgule s'il s'agit d'une table d'association.
  • +
  • Classe : nom de classe qui servira Ă  insĂ©rer les informations lors de l'installation. Attention il doit s'agir d'une classe ObjectModel. N'utilisez pas de classe s'il n'est pas nĂ©cessaire d'instancier l'objet pour crĂ©er l'entitĂ©.
  • +
  • Images : nom du dossier d'images pour exporter / importer les images automatiquement. Pour les cas particuliers, il est possible de crĂ©er des mĂ©thodes dans InstallXmlLoader backupImageEntity() pour l'export des images depuis la synchronisation et copyImagesEntity() pour l'import des images durant l'installation.
  • +
  • Restriction SQL : clauses WHERE Ă  ajouter Ă  la requĂȘte qui synchronise les donnĂ©es. Par exemple on ne souhaite exporter que la catĂ©gorie avec l'ID 1 pour les donnĂ©es communes, et les autres catĂ©gories pour les produits de dĂ©mo.
  • +
  • Ordre SQL : clause ORDER BY de la requĂȘte qui synchronise les donnĂ©es
  • +
+ SĂ©lectionnez ensuite la liste des champs Ă  utiliser, et pour les champs reliĂ©s Ă  une autre entitĂ© prĂ©cisez cette derniĂšre en choisissant une relation (par exemple les champs id_country doivent ĂȘtre reliĂ© Ă  l'entitĂ© country). +

+
+ + type == 'synchro'): ?> + loader->getEntitiesList(); + $dependencies['common'] = $this->loader->getDependencies(); + $this->loader->setFixturesPath(); + $entities['fixture'] = $this->loader->getEntitiesList(); + $dependencies['fixture'] = $this->loader->getDependencies(); + $this->loader->setDefaultPath(); + ?> + +
+ Selectionnez la liste des entités à resynchroniser. Afin d'éviter au maximum les erreurs, sélectionnez uniquement les entitiés que vous avez modifier. +
+ (Tout cocher + - Tout décocher) +
    + $list): ?> +
  • + + Produits de dĂ©moDonnĂ©es communes + +
      + +
    • + +
    • + +
    +

    +
  • + +
+ +
+ +
+
+ +
    + loader->getTables() as $entity => $is_multilang): ?> + loader->entityExists($entity); + $entity_info = $this->loader->getEntityInfo($entity); + ?> +
  • + + +
      style="display: none"> +
    • +
      + + + + +
      +
      + + + +
      +
    • + loader->getColumns($entity) as $column => $is_text): ?> +
    • + +
      + +
      +
    • + +
    +
  • + +
+ +
+
+ + + + diff --git a/_install/dev/style.css b/_install/dev/style.css new file mode 100644 index 00000000..2198ac84 --- /dev/null +++ b/_install/dev/style.css @@ -0,0 +1,105 @@ +body{ + font-family: Arial; + font-size: 12px; +} + +.clear{ + clear: both; +} + +ul.menu{ + margin-top: 15px; + margin-bottom: 25px; +} + +ul.menu li{ + background-color: #DDDDDD; + border: 1px solid #999999; + display: inline; + padding: 10px; + font-weight: bold; +} + +ul.menu li a{ + text-decoration: none; + color: #000000; +} + +ul.menu li.selected a{ + text-decoration: underline; + color: #F31A28; +} + +.column_left{ + float: left; + width: 250px; +} + +ul.table_list{ + list-style-type: none; +} + +li.table_item{ + background-color: #F0F0F0; + border: 1px dashed #666666; + margin: 6px; +} + +li.table_item_selected{ + background-color: #F0F0F0; + border: 1px solid #666666; + margin: 6px; +} + +.table_name{ + color: #999999; + font-size: 20px; + text-decoration: none; + font-weight: bold; +} + +li.table_item_selected .table_name{ + color: #F31A28; +} + +ul.column_list{ + list-style-type: none; +} + +ul.column_list li{ + margin-bottom: 2px; +} + +.options{ + margin-bottom: 5px; +} + +.options label{ + margin-right: 20px; + font-weight: bold; +} + +#display_help{ + background-color: #FAFAFA; + border: 1px solid #999999; + display: none; + margin-left: 40px; + padding: 5px; +} + +input[type="submit"]{ + font-weight: bold; + padding: 5px; +} + +ul.type_list{ + list-style-type: none; +} + +ul.type_list span{ + font-weight: bold; +} + +ul.entity_list{ + list-style-type: none; +} \ No newline at end of file diff --git a/_install/dev/translate.php b/_install/dev/translate.php new file mode 100644 index 00000000..fd2b261d --- /dev/null +++ b/_install/dev/translate.php @@ -0,0 +1,102 @@ +'; +// print_r($_POST); +// die; +include_once('../init.php'); +$iso = Tools::getValue('iso'); + +if (Tools::isSubmit('submitTranslations')) +{ + if (!file_exists('../langs/'.$iso.'/install.php')) + die('translation file does not exists'); + $translated_content = include('../langs/'.$iso.'/install.php'); + unset($_POST['iso']); + unset($_POST['submitTranslations']); + foreach ($_POST as $post_key => $post_value) + if (!empty($post_value)) + $translated_content['translations'][my_urldecode($post_key)] = $post_value; + $new_content = " $value1) + { + $new_content .= "\t'".just_quotes($key1)."' => array(\n"; + foreach ($value1 as $key2 => $value2) + $new_content .= "\t\t'".just_quotes($key2)."' => '".just_quotes($value2)."',\n"; + $new_content .= "\t),\n"; + } + $new_content .= ");"; + file_put_contents('../langs/'.$iso.'/install.php', $new_content); + echo 'Translations Updated

'; +} + +$regex = '/->l\(\'(.*[^\\\\])\'(, ?\'(.+)\')?(, ?(.+))?\)/U'; +$dirs = array('classes', 'controllers', 'models', 'theme'); +$languages = scandir('../langs'); +$files = $translations = $translations_source = array(); +foreach ($dirs as $dir) +{ + $files = array_merge($files, Tools::scandir('..', 'php', $dir, true)); + $files = array_merge($files, Tools::scandir('..', 'phtml', $dir, true)); +} + +foreach ($files as $file) +{ + $content = file_get_contents('../'.$file); + preg_match_all($regex, $content, $matches); + $translations_source = array_merge($translations_source, $matches[1]); +} +$translations_source = array_map('stripslashes', $translations_source); + +if ($iso && (file_exists('../langs/'.$iso.'/install.php'))) +{ + $translated_content = include('../langs/'.$iso.'/install.php'); + $translations = $translated_content['translations']; +} + +echo ' + + + + + + + +
+ + + + + + + + + '; +foreach ($translations_source as $translation_source) + echo ' + + + '; +echo ' +
SourceYour translation
+ '.htmlspecialchars($translation_source, ENT_NOQUOTES, 'utf-8').' + + +
+ +
+ +'; + +function just_quotes($s) {return addcslashes($s, '\\\'');} +function my_urlencode($s) {return str_replace('.', '_dot_', urlencode($s));} +function my_urldecode($s) {return str_replace('_dot_', '.', urldecode($s));} \ No newline at end of file diff --git a/_install/dev/update_eu_taxrulegroups.php b/_install/dev/update_eu_taxrulegroups.php new file mode 100644 index 00000000..4abe0bd0 --- /dev/null +++ b/_install/dev/update_eu_taxrulegroups.php @@ -0,0 +1,217 @@ + elements that have the attribute eu-tax-group="virtual". + * + * Store the list of files (`$euLocalizationFiles`) where such taxes have been found, + * in a next step we'll store the new tax group in each of them. + * + * 2) + * Remove all taxRulesGroup's that have the attribute eu-tax-group="virtual". + * + * 3) + * Build a new taxRulesGroup containing all the taxes found in the first step. + * + * 4) + * Inject the new taxRulesGroup into all packs of `$euLocalizationFiles`, not forgetting + * to also inject the required taxes. + * + * Warning: do not duplicate the tax with attribute eu-tax-group="virtual" of the pack being updated. + * + * Mark the injected group with the attributes eu-tax-group="virtual" and auto-generated="1" + * Mark the injected taxes witth the attributes from-eu-tax-group="virtual" and auto-generated="1" + * + * Clean things up by removing all the previous taxes that had the attributes eu-tax-group="virtual" and auto-generated="1" + */ + +@ini_set('display_errors', 'on'); + +$localizationPacksRoot = realpath(dirname(__FILE__) . '/../../localization'); + +if (!$localizationPacksRoot) +{ + die("Could not find the folder containing the localization files (should be 'localization' at the root of the PrestaShop folder).\n"); +} + +$euLocalizationFiles = array(); + +foreach (scandir($localizationPacksRoot) as $entry) +{ + if (!preg_match('/\.xml$/', $entry)) + { + continue; + } + + + $localizationPackFile = $localizationPacksRoot . DIRECTORY_SEPARATOR . $entry; + + $localizationPack = simplexml_load_file($localizationPackFile); + + // Some packs do not have taxes + if (!$localizationPack->taxes->tax) + { + continue; + } + + foreach ($localizationPack->taxes->tax as $tax) + { + if ((string)$tax['eu-tax-group'] === 'virtual') + { + if (!isset($euLocalizationFiles[$localizationPackFile])) + { + $euLocalizationFiles[$localizationPackFile] = array( + 'virtualTax' => $tax, + 'pack' => $localizationPack, + 'iso_code_country' => basename($entry, '.xml') + ); + } + else + { + die("Too many taxes with eu-tax-group=\"virtual\" found in `$localizationPackFile`.\n"); + } + } + } +} + +function addTax(SimpleXMLElement $taxes, SimpleXMLElement $tax, array $attributesToUpdate = array(), array $attributesToRemove = array()) +{ + $newTax = new SimpleXMLElement(''); + + $insertBefore = $taxes->xpath('//taxRulesGroup[1]')[0]; + + if (!$insertBefore) + { + die("Could not find any `taxRulesGroup`, don't know where to append the tax.\n"); + } + + /** + * Add the `tax` node before the first `taxRulesGroup`. + * Yes, the dom API is beautiful. + */ + $dom = dom_import_simplexml($taxes); + + $new = $dom->insertBefore( + $dom->ownerDocument->importNode(dom_import_simplexml($newTax)), + dom_import_simplexml($insertBefore) + ); + + $newTax = simplexml_import_dom($new); + + $newAttributes = array(); + + foreach ($tax->attributes() as $attribute) + { + $name = $attribute->getName(); + + // This attribute seems to cause trouble, skip it. + if ($name === 'account_number' || in_array($name, $attributesToRemove)) + { + continue; + } + + $value = (string)$attribute; + + $newAttributes[$name] = $value; + } + + $newAttributes = array_merge($newAttributes, $attributesToUpdate); + + foreach ($newAttributes as $name => $value) + { + $newTax->addAttribute($name, $value); + } + + return $newTax; +} + +function addTaxRule(SimpleXMLElement $taxRulesGroup, SimpleXMLElement $tax, $iso_code_country) +{ + $taxRule = $taxRulesGroup->addChild('taxRule'); + + $taxRule->addAttribute('iso_code_country', $iso_code_country); + $taxRule->addAttribute('id_tax', (string)$tax['id']); + + return $taxRule; +} + +foreach ($euLocalizationFiles as $path => $file) +{ + $nodesToKill = array(); + + // Get max tax id, and list of nodes to kill + $taxId = 0; + foreach ($file['pack']->taxes->tax as $tax) + { + if ((string)$tax['auto-generated'] === "1" && (string)$tax['from-eu-tax-group'] === 'virtual') + { + $nodesToKill[] = $tax; + } + else + { + // We only count the ids of the taxes we're not going to remove! + $taxId = max($taxId, (int)$tax['id']); + } + } + + foreach ($file['pack']->taxes->taxRulesGroup as $trg) + { + if ((string)$trg['auto-generated'] === "1" && (string)$trg['eu-tax-group'] === 'virtual') + { + $nodesToKill[] = $trg; + } + } + + // This is the first tax id we're allowed to use. + $taxId++; + + // Prepare new taxRulesGroup + + $taxRulesGroup = $file['pack']->taxes->addChild('taxRulesGroup'); + $taxRulesGroup->addAttribute('name', 'EU VAT For Virtual Products'); + $taxRulesGroup->addAttribute('auto-generated', '1'); + $taxRulesGroup->addAttribute('eu-tax-group', 'virtual'); + + addTaxRule($taxRulesGroup, $file['virtualTax'], $file['iso_code_country']); + + foreach ($euLocalizationFiles as $foreignPath => $foreignFile) + { + if ($foreignPath === $path) + { + // We already added the tax that belongs to this pack + continue; + } + + $tax = addTax($file['pack']->taxes, $foreignFile['virtualTax'], array( + 'id' => (string)$taxId, + 'auto-generated' => '1', + 'from-eu-tax-group' => 'virtual' + ), array('eu-tax-group')); + + addTaxRule($taxRulesGroup, $tax, $foreignFile['iso_code_country']); + + $taxId++; + } + + foreach ($nodesToKill as $node) + { + unset($node[0]); + } + + $dom = new DOMDocument("1.0"); + $dom->preserveWhiteSpace = false; + $dom->formatOutput = true; + $dom->loadXML($file['pack']->asXML()); + file_put_contents($path, $dom->saveXML()); +} + +$nUpdated = count($euLocalizationFiles); + +echo "Updated the virtual tax groups for $nUpdated localization files.\n"; \ No newline at end of file diff --git a/_install/fixtures/fashion/data/access.xml b/_install/fixtures/fashion/data/access.xml new file mode 100644 index 00000000..c943c2b0 --- /dev/null +++ b/_install/fixtures/fashion/data/access.xml @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/address.xml b/_install/fixtures/fashion/data/address.xml new file mode 100644 index 00000000..d4ceaef5 --- /dev/null +++ b/_install/fixtures/fashion/data/address.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ My Company + 16, Main street + 2nd floor + Paris + +
+
+ Fashion + 767 Fifth Ave. + + New York + +
+
+ Fashion + 767 Fifth Ave. + + New York + +
+
+ My Company + 16, Main street + 2nd floor + Miami + +
+
+
diff --git a/_install/fixtures/fashion/data/alias.xml b/_install/fixtures/fashion/data/alias.xml new file mode 100644 index 00000000..e18e9e1f --- /dev/null +++ b/_install/fixtures/fashion/data/alias.xml @@ -0,0 +1,18 @@ + + + + + + + + + + bloose + blouse + + + blues + blouse + + + diff --git a/_install/fixtures/fashion/data/attribute.xml b/_install/fixtures/fashion/data/attribute.xml new file mode 100644 index 00000000..27b39739 --- /dev/null +++ b/_install/fixtures/fashion/data/attribute.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/attribute_group.xml b/_install/fixtures/fashion/data/attribute_group.xml new file mode 100644 index 00000000..4d095e80 --- /dev/null +++ b/_install/fixtures/fashion/data/attribute_group.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/carrier.xml b/_install/fixtures/fashion/data/carrier.xml new file mode 100644 index 00000000..755bf15a --- /dev/null +++ b/_install/fixtures/fashion/data/carrier.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + My carrier + + + + diff --git a/_install/fixtures/fashion/data/carrier_group.xml b/_install/fixtures/fashion/data/carrier_group.xml new file mode 100644 index 00000000..764d5727 --- /dev/null +++ b/_install/fixtures/fashion/data/carrier_group.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/carrier_tax_rules_group_shop.xml b/_install/fixtures/fashion/data/carrier_tax_rules_group_shop.xml new file mode 100644 index 00000000..71c21383 --- /dev/null +++ b/_install/fixtures/fashion/data/carrier_tax_rules_group_shop.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/carrier_zone.xml b/_install/fixtures/fashion/data/carrier_zone.xml new file mode 100644 index 00000000..59390cfd --- /dev/null +++ b/_install/fixtures/fashion/data/carrier_zone.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/cart.xml b/_install/fixtures/fashion/data/cart.xml new file mode 100644 index 00000000..601fe7d1 --- /dev/null +++ b/_install/fixtures/fashion/data/cart.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + a:1:{i:3;s:2:"2,";} + + + + a:1:{i:3;s:2:"2,";} + + + + a:1:{i:3;s:2:"2,";} + + + + a:1:{i:3;s:2:"2,";} + + + + a:1:{i:3;s:2:"2,";} + + + + diff --git a/_install/fixtures/fashion/data/cart_product.xml b/_install/fixtures/fashion/data/cart_product.xml new file mode 100644 index 00000000..7200959c --- /dev/null +++ b/_install/fixtures/fashion/data/cart_product.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/category.xml b/_install/fixtures/fashion/data/category.xml new file mode 100644 index 00000000..0f02cf50 --- /dev/null +++ b/_install/fixtures/fashion/data/category.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/category_group.xml b/_install/fixtures/fashion/data/category_group.xml new file mode 100644 index 00000000..9b19bcaf --- /dev/null +++ b/_install/fixtures/fashion/data/category_group.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/category_product.xml b/_install/fixtures/fashion/data/category_product.xml new file mode 100644 index 00000000..e39dd7e4 --- /dev/null +++ b/_install/fixtures/fashion/data/category_product.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/connections.xml b/_install/fixtures/fashion/data/connections.xml new file mode 100644 index 00000000..83c2654f --- /dev/null +++ b/_install/fixtures/fashion/data/connections.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + http://www.prestashop.com + + + diff --git a/_install/fixtures/fashion/data/customer.xml b/_install/fixtures/fashion/data/customer.xml new file mode 100644 index 00000000..6965b410 --- /dev/null +++ b/_install/fixtures/fashion/data/customer.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + pub@prestashop.com + + + + diff --git a/_install/fixtures/fashion/data/delivery.xml b/_install/fixtures/fashion/data/delivery.xml new file mode 100644 index 00000000..8bb1f10a --- /dev/null +++ b/_install/fixtures/fashion/data/delivery.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/feature.xml b/_install/fixtures/fashion/data/feature.xml new file mode 100644 index 00000000..d95cf0c0 --- /dev/null +++ b/_install/fixtures/fashion/data/feature.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/feature_product.xml b/_install/fixtures/fashion/data/feature_product.xml new file mode 100644 index 00000000..da9bbf98 --- /dev/null +++ b/_install/fixtures/fashion/data/feature_product.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/feature_value.xml b/_install/fixtures/fashion/data/feature_value.xml new file mode 100644 index 00000000..fa90d883 --- /dev/null +++ b/_install/fixtures/fashion/data/feature_value.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/generate_attribute.php b/_install/fixtures/fashion/data/generate_attribute.php new file mode 100644 index 00000000..2439ad7f --- /dev/null +++ b/_install/fixtures/fashion/data/generate_attribute.php @@ -0,0 +1,216 @@ + array( + 'Color' => array('Grey'), + 'Size' => array('S','M','L') + ), + 'Textured_Trench_Coat' => array( + 'Color' => array('Taupe'), + 'Size' => array('S','M','L') + ), + 'Slim_Cut_Coat' => array( + 'Color' => array('Grey'), + 'Size' => array('S','M','L') + ), + 'Quilted_Jacket' => array( + 'Color' => array('Beige'), + 'Size' => array('S','M','L') + ), + 'Suit_Blazer' => array( + 'Color' => array('Blue'), + 'Size' => array('S','M','L') + ), + 'Short_Blazer' => array( + 'Color' => array('White'), + 'Size' => array('S','M','L') + ), + 'Puffer_Jacket' => array( + 'Color' => array('Red'), + 'Size' => array('S','M','L') + ), + 'Leather_Jacket_1' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Leather_Jacket_2' => array( + 'Color' => array('Camel'), + 'Size' => array('S','M','L') + ), + 'Leather_Jacket_3' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Short_Sleeve_T-shirts' => array( + 'Color' => array('Green'), + 'Size' => array('S','M','L') + ), + 'Faded_Short_Sleeve_T-shirts' => array( + 'Color' => array('Orange','Blue'), + 'Size' => array('S','M','L') + ), + 'Cami_Tank_Top' => array( + 'Color' => array('Green'), + 'Size' => array('S','M','L') + ), + 'Blouse' => array( + 'Color' => array('Black','White'), + 'Size' => array('S','M','L') + ), + 'Leapoard_Printed_Blouse' => array( + 'Color' => array('White'), + 'Size' => array('S','M','L') + ), + 'Faded_Jeans' => array( + 'Color' => array('Blue'), + 'Size' => array('S','M','L') + ), + '5_Pocket_Jean_1' => array( + 'Color' => array('Blue'), + 'Size' => array('S','M','L') + ), + '5_Pocket_Jean_2' => array( + 'Color' => array('Blue'), + 'Size' => array('S','M','L') + ), + 'Dress_Gathered_At_The_Waist' => array( + 'Color' => array('Brown'), + 'Size' => array('S','M','L') + ), + 'Printed_Dress' => array( + 'Color' => array('Orange'), + 'Size' => array('S','M','L') + ), + 'Floral_Dress' => array( + 'Color' => array('White'), + 'Size' => array('S','M','L') + ), + 'Strapless_Dress_1' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Long_Evening_Dress' => array( + 'Color' => array('Red'), + 'Size' => array('S','M','L') + ), + 'Short_Evening_Dress' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Strapless_Dress_2' => array( + 'Size' => array('S','M','L') + ), + 'Dress_with_Sleeves' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Printed_Dress_2' => array( + 'Color' => array('Beige'), + 'Size' => array('S','M','L') + ), + 'Printed_Summer_Dress_1' => array( + 'Color' => array('Yellow','Blue','Orange','Black'), + 'Size' => array('S','M','L') + ), + 'Long_Printed_Dress' => array( + 'Color' => array('Grey'), + 'Size' => array('S','M','L') + ), + 'Printed_Summer_Dress_2' => array( + 'Color' => array('Yellow'), + 'Size' => array('S','M','L') + ), + 'Printed_Chiffon_Dress' => array( + 'Color' => array('Yellow'), + 'Size' => array('S','M','L') + ), + 'Studded_Leather_Belt' => array( + 'Color' => array('Brown'), + 'Size' => array('S','M','L') + ), + 'Braided_Belt' => array( + 'Color' => array('Black'), + 'Size' => array('S','M','L') + ), + 'Bucket_Hat' => array( + 'Color' => array('Grey'), + 'Size' => array('One_size') + ), + 'Floppy_Hat' => array( + 'Color' => array('Black'), + 'Size' => array('One_size') + ), + 'Men_Straw_Hat' => array( + 'Color' => array('Beige'), + 'Size' => array('One_size') + ), + 'Bowling_Bag' => array( + 'Color' => array('Red'), + 'Size' => array('One_size') + ), + 'Leather_Bag' => array( + 'Color' => array('Beige'), + 'Size' => array('One_size') + ), + 'Snake_Skin_Bag' => array( + 'Color' => array('Black'), + 'Size' => array('One_size') + ), + 'Quilted_Bag' => array( + 'Color' => array('Black'), + 'Size' => array('One_size') + ), + 'Suede_Bag' => array( + 'Color' => array('Camel'), + 'Size' => array('One_size') + ), + 'Wedge_Shoe' => array( + 'Color' => array('Taupe'), + 'Shoes_Size' => array('35','36','37','38','39','40') + ) +); + +$content_product_attribute = ''; +$content_product_attribute_combination = ''; + +foreach ($products as $product => $attribute_groups) +{ + $default_on = 1; + $pa_id = 1; + $combinations = createCombinations($attribute_groups); + + $pa_id = 1; + $pac_id = 1; + foreach ($combinations as $attributes) + { + foreach ($attributes as $attribute_value) + { + $content_product_attribute_combination .= ''."\n"; + ++$pac_id; + } + $content_product_attribute .= ''."\n"; + $default_on = 0; + + ++$pa_id; + } +} + +echo "This is an XML file, look at the source!\n\n"; +echo $content_product_attribute; +echo "\n\n"; +echo $content_product_attribute_combination; + +function createCombinations($list) +{ + if (count($list) <= 1) + return count($list) ? array_map(create_function('$v', 'return (array($v));'), array_shift($list)) : $list; + $res = array(); + $first = array_pop($list); + foreach ($first as $attribute) + { + $tab = createCombinations($list); + foreach ($tab as $to_add) + $res[] = is_array($to_add) ? array_merge($to_add, array($attribute)) : array($to_add, $attribute); + } + return $res; +} \ No newline at end of file diff --git a/_install/fixtures/fashion/data/guest.xml b/_install/fixtures/fashion/data/guest.xml new file mode 100644 index 00000000..52f25682 --- /dev/null +++ b/_install/fixtures/fashion/data/guest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/image.xml b/_install/fixtures/fashion/data/image.xml new file mode 100644 index 00000000..69a1c82b --- /dev/null +++ b/_install/fixtures/fashion/data/image.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/index.php b/_install/fixtures/fashion/data/index.php new file mode 100644 index 00000000..22383709 --- /dev/null +++ b/_install/fixtures/fashion/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/data/manufacturer.xml b/_install/fixtures/fashion/data/manufacturer.xml new file mode 100644 index 00000000..45c53f98 --- /dev/null +++ b/_install/fixtures/fashion/data/manufacturer.xml @@ -0,0 +1,12 @@ + + + + + + + + + Fashion Manufacturer + + + diff --git a/_install/fixtures/fashion/data/order_carrier.xml b/_install/fixtures/fashion/data/order_carrier.xml new file mode 100644 index 00000000..a3a63462 --- /dev/null +++ b/_install/fixtures/fashion/data/order_carrier.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/order_detail.xml b/_install/fixtures/fashion/data/order_detail.xml new file mode 100644 index 00000000..28783f5b --- /dev/null +++ b/_install/fixtures/fashion/data/order_detail.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blouse - Color : White, Size : M + + + + Printed Dress - Color : Orange, Size : S + + + + Blouse - Color : White, Size : M + + + + Printed Summer Dress - Color : Yellow, Size : M + + + + Printed Chiffon Dress - Color : Yellow, Size : S + + + + Faded Short Sleeve T-shirts - Color : Orange, Size : S + + + + Blouse - Color : White, Size : M + + + + Printed Summer Dress - Color : Yellow, Size : M + + + + Faded Short Sleeve T-shirts - Color : Orange, Size : S + + + + Printed Dress - Color : Orange, Size : S + + + + Printed Summer Dress - Color : Yellow, Size : S + + + + Printed Chiffon Dress - Color : Yellow, Size : S + + + + Faded Short Sleeve T-shirts - Color : Orange, Size : S + + + + Blouse - Color : Black, Size : S + + + + Printed Dress - Color : Orange, Size : S + + + + diff --git a/_install/fixtures/fashion/data/order_history.xml b/_install/fixtures/fashion/data/order_history.xml new file mode 100644 index 00000000..581552fd --- /dev/null +++ b/_install/fixtures/fashion/data/order_history.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/order_message.xml b/_install/fixtures/fashion/data/order_message.xml new file mode 100644 index 00000000..1c9a0e3e --- /dev/null +++ b/_install/fixtures/fashion/data/order_message.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/data/orders.xml b/_install/fixtures/fashion/data/orders.xml new file mode 100644 index 00000000..30b1a6a9 --- /dev/null +++ b/_install/fixtures/fashion/data/orders.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Payment by check + cheque + + + + Payment by check + cheque + + + + Payment by check + cheque + + + + Payment by check + cheque + + + + Bank wire + bankwire + + + + diff --git a/_install/fixtures/fashion/data/product.xml b/_install/fixtures/fashion/data/product.xml new file mode 100644 index 00000000..27807365 --- /dev/null +++ b/_install/fixtures/fashion/data/product.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/product_attribute.xml b/_install/fixtures/fashion/data/product_attribute.xml new file mode 100644 index 00000000..a53f7eca --- /dev/null +++ b/_install/fixtures/fashion/data/product_attribute.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/product_attribute_combination.xml b/_install/fixtures/fashion/data/product_attribute_combination.xml new file mode 100644 index 00000000..0c9dffa7 --- /dev/null +++ b/_install/fixtures/fashion/data/product_attribute_combination.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/product_attribute_image.xml b/_install/fixtures/fashion/data/product_attribute_image.xml new file mode 100644 index 00000000..2c5af44f --- /dev/null +++ b/_install/fixtures/fashion/data/product_attribute_image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/product_supplier.xml b/_install/fixtures/fashion/data/product_supplier.xml new file mode 100644 index 00000000..55e1b141 --- /dev/null +++ b/_install/fixtures/fashion/data/product_supplier.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/profile.xml b/_install/fixtures/fashion/data/profile.xml new file mode 100644 index 00000000..abdc5807 --- /dev/null +++ b/_install/fixtures/fashion/data/profile.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/data/range_price.xml b/_install/fixtures/fashion/data/range_price.xml new file mode 100644 index 00000000..ce420575 --- /dev/null +++ b/_install/fixtures/fashion/data/range_price.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/range_weight.xml b/_install/fixtures/fashion/data/range_weight.xml new file mode 100644 index 00000000..ce95fa9f --- /dev/null +++ b/_install/fixtures/fashion/data/range_weight.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/scene.xml b/_install/fixtures/fashion/data/scene.xml new file mode 100644 index 00000000..faadc842 --- /dev/null +++ b/_install/fixtures/fashion/data/scene.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/_install/fixtures/fashion/data/specific_price.xml b/_install/fixtures/fashion/data/specific_price.xml new file mode 100644 index 00000000..45a1aea0 --- /dev/null +++ b/_install/fixtures/fashion/data/specific_price.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/stock_available.xml b/_install/fixtures/fashion/data/stock_available.xml new file mode 100644 index 00000000..70034dcf --- /dev/null +++ b/_install/fixtures/fashion/data/stock_available.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/data/store.xml b/_install/fixtures/fashion/data/store.xml new file mode 100644 index 00000000..e59814ab --- /dev/null +++ b/_install/fixtures/fashion/data/store.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + Dade County + 3030 SW 8th St Miami + + Miami + a:7:{i:0;s:13:"09:00 - 19:00";i:1;s:13:"09:00 - 19:00";i:2;s:13:"09:00 - 19:00";i:3;s:13:"09:00 - 19:00";i:4;s:13:"09:00 - 19:00";i:5;s:13:"10:00 - 16:00";i:6;s:13:"10:00 - 16:00";} + + + + + E Fort Lauderdale + 1000 Northeast 4th Ave Fort Lauderdale + + Miami + a:7:{i:0;s:13:"09:00 - 19:00";i:1;s:13:"09:00 - 19:00";i:2;s:13:"09:00 - 19:00";i:3;s:13:"09:00 - 19:00";i:4;s:13:"09:00 - 19:00";i:5;s:13:"10:00 - 16:00";i:6;s:13:"10:00 - 16:00";} + + + + + Pembroke Pines + 11001 Pines Blvd Pembroke Pines + + Miami + a:7:{i:0;s:13:"09:00 - 19:00";i:1;s:13:"09:00 - 19:00";i:2;s:13:"09:00 - 19:00";i:3;s:13:"09:00 - 19:00";i:4;s:13:"09:00 - 19:00";i:5;s:13:"10:00 - 16:00";i:6;s:13:"10:00 - 16:00";} + + + + + Coconut Grove + 2999 SW 32nd Avenue + + Miami + a:7:{i:0;s:13:"09:00 - 19:00";i:1;s:13:"09:00 - 19:00";i:2;s:13:"09:00 - 19:00";i:3;s:13:"09:00 - 19:00";i:4;s:13:"09:00 - 19:00";i:5;s:13:"10:00 - 16:00";i:6;s:13:"10:00 - 16:00";} + + + + + N Miami/Biscayne + 12055 Biscayne Blvd + + Miami + a:7:{i:0;s:13:"09:00 - 19:00";i:1;s:13:"09:00 - 19:00";i:2;s:13:"09:00 - 19:00";i:3;s:13:"09:00 - 19:00";i:4;s:13:"09:00 - 19:00";i:5;s:13:"10:00 - 16:00";i:6;s:13:"10:00 - 16:00";} + + + + + diff --git a/_install/fixtures/fashion/data/supplier.xml b/_install/fixtures/fashion/data/supplier.xml new file mode 100644 index 00000000..ebbef7ca --- /dev/null +++ b/_install/fixtures/fashion/data/supplier.xml @@ -0,0 +1,12 @@ + + + + + + + + + Fashion Supplier + + + diff --git a/_install/fixtures/fashion/data/tag.xml b/_install/fixtures/fashion/data/tag.xml new file mode 100644 index 00000000..2c4d15d5 --- /dev/null +++ b/_install/fixtures/fashion/data/tag.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/img/c/Blouses-category_default.jpg b/_install/fixtures/fashion/img/c/Blouses-category_default.jpg new file mode 100644 index 00000000..47a64f27 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Blouses-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Blouses-medium_default.jpg b/_install/fixtures/fashion/img/c/Blouses-medium_default.jpg new file mode 100644 index 00000000..c617d6c7 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Blouses-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Blouses.jpg b/_install/fixtures/fashion/img/c/Blouses.jpg new file mode 100644 index 00000000..8354a23a Binary files /dev/null and b/_install/fixtures/fashion/img/c/Blouses.jpg differ diff --git a/_install/fixtures/fashion/img/c/Casual_Dresses-category_default.jpg b/_install/fixtures/fashion/img/c/Casual_Dresses-category_default.jpg new file mode 100644 index 00000000..bb3cbb7f Binary files /dev/null and b/_install/fixtures/fashion/img/c/Casual_Dresses-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Casual_Dresses-medium_default.jpg b/_install/fixtures/fashion/img/c/Casual_Dresses-medium_default.jpg new file mode 100644 index 00000000..1b3e16cc Binary files /dev/null and b/_install/fixtures/fashion/img/c/Casual_Dresses-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Casual_Dresses.jpg b/_install/fixtures/fashion/img/c/Casual_Dresses.jpg new file mode 100644 index 00000000..ad7716f8 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Casual_Dresses.jpg differ diff --git a/_install/fixtures/fashion/img/c/Dresses-category_default.jpg b/_install/fixtures/fashion/img/c/Dresses-category_default.jpg new file mode 100644 index 00000000..6175e88f Binary files /dev/null and b/_install/fixtures/fashion/img/c/Dresses-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Dresses-medium_default.jpg b/_install/fixtures/fashion/img/c/Dresses-medium_default.jpg new file mode 100644 index 00000000..c4d46f4c Binary files /dev/null and b/_install/fixtures/fashion/img/c/Dresses-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Dresses.jpg b/_install/fixtures/fashion/img/c/Dresses.jpg new file mode 100644 index 00000000..5bccd992 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Dresses.jpg differ diff --git a/_install/fixtures/fashion/img/c/Evening_Dresses-category_default.jpg b/_install/fixtures/fashion/img/c/Evening_Dresses-category_default.jpg new file mode 100644 index 00000000..8a8b2591 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Evening_Dresses-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Evening_Dresses-medium_default.jpg b/_install/fixtures/fashion/img/c/Evening_Dresses-medium_default.jpg new file mode 100644 index 00000000..ade21421 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Evening_Dresses-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Evening_Dresses.jpg b/_install/fixtures/fashion/img/c/Evening_Dresses.jpg new file mode 100644 index 00000000..66928620 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Evening_Dresses.jpg differ diff --git a/_install/fixtures/fashion/img/c/Summer_Dresses-category_default.jpg b/_install/fixtures/fashion/img/c/Summer_Dresses-category_default.jpg new file mode 100644 index 00000000..8f982cc2 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Summer_Dresses-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Summer_Dresses-medium_default.jpg b/_install/fixtures/fashion/img/c/Summer_Dresses-medium_default.jpg new file mode 100644 index 00000000..58efe2d9 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Summer_Dresses-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Summer_Dresses.jpg b/_install/fixtures/fashion/img/c/Summer_Dresses.jpg new file mode 100644 index 00000000..0c48d755 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Summer_Dresses.jpg differ diff --git a/_install/fixtures/fashion/img/c/T-shirts-category_default.jpg b/_install/fixtures/fashion/img/c/T-shirts-category_default.jpg new file mode 100644 index 00000000..52a05529 Binary files /dev/null and b/_install/fixtures/fashion/img/c/T-shirts-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/T-shirts-medium_default.jpg b/_install/fixtures/fashion/img/c/T-shirts-medium_default.jpg new file mode 100644 index 00000000..4cf53374 Binary files /dev/null and b/_install/fixtures/fashion/img/c/T-shirts-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/T-shirts.jpg b/_install/fixtures/fashion/img/c/T-shirts.jpg new file mode 100644 index 00000000..b6fc7a08 Binary files /dev/null and b/_install/fixtures/fashion/img/c/T-shirts.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops-category_default.jpg b/_install/fixtures/fashion/img/c/Tops-category_default.jpg new file mode 100644 index 00000000..9b34eb8b Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops-medium_default.jpg b/_install/fixtures/fashion/img/c/Tops-medium_default.jpg new file mode 100644 index 00000000..29bb4306 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops.jpg b/_install/fixtures/fashion/img/c/Tops.jpg new file mode 100644 index 00000000..844a299f Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops_1-category_default.jpg b/_install/fixtures/fashion/img/c/Tops_1-category_default.jpg new file mode 100644 index 00000000..c9aafa50 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops_1-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops_1-medium_default.jpg b/_install/fixtures/fashion/img/c/Tops_1-medium_default.jpg new file mode 100644 index 00000000..75b0830c Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops_1-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Tops_1.jpg b/_install/fixtures/fashion/img/c/Tops_1.jpg new file mode 100644 index 00000000..f1667f44 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Tops_1.jpg differ diff --git a/_install/fixtures/fashion/img/c/Women-category_default.jpg b/_install/fixtures/fashion/img/c/Women-category_default.jpg new file mode 100644 index 00000000..f167b9a2 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Women-category_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Women-medium_default.jpg b/_install/fixtures/fashion/img/c/Women-medium_default.jpg new file mode 100644 index 00000000..a83e81d8 Binary files /dev/null and b/_install/fixtures/fashion/img/c/Women-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/c/Women.jpg b/_install/fixtures/fashion/img/c/Women.jpg new file mode 100644 index 00000000..5428750e Binary files /dev/null and b/_install/fixtures/fashion/img/c/Women.jpg differ diff --git a/_install/fixtures/fashion/img/c/index.php b/_install/fixtures/fashion/img/c/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/img/c/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/c/resize.php b/_install/fixtures/fashion/img/c/resize.php new file mode 100644 index 00000000..3c57e199 --- /dev/null +++ b/_install/fixtures/fashion/img/c/resize.php @@ -0,0 +1,13 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/m/Fashion_Manufacturer-large_default.jpg b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-large_default.jpg new file mode 100644 index 00000000..96c19ca0 Binary files /dev/null and b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/m/Fashion_Manufacturer-medium_default.jpg b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-medium_default.jpg new file mode 100644 index 00000000..755ebb9a Binary files /dev/null and b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/m/Fashion_Manufacturer-small_default.jpg b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-small_default.jpg new file mode 100644 index 00000000..43833d14 Binary files /dev/null and b/_install/fixtures/fashion/img/m/Fashion_Manufacturer-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/m/Fashion_Manufacturer.jpg b/_install/fixtures/fashion/img/m/Fashion_Manufacturer.jpg new file mode 100644 index 00000000..dd456686 Binary files /dev/null and b/_install/fixtures/fashion/img/m/Fashion_Manufacturer.jpg differ diff --git a/_install/fixtures/fashion/img/m/index.php b/_install/fixtures/fashion/img/m/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/img/m/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/p/image_1-cart_default.jpg b/_install/fixtures/fashion/img/p/image_1-cart_default.jpg new file mode 100644 index 00000000..b3669af0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1-home_default.jpg b/_install/fixtures/fashion/img/p/image_1-home_default.jpg new file mode 100644 index 00000000..a0e34193 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1-large_default.jpg b/_install/fixtures/fashion/img/p/image_1-large_default.jpg new file mode 100644 index 00000000..f786373b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1-medium_default.jpg b/_install/fixtures/fashion/img/p/image_1-medium_default.jpg new file mode 100644 index 00000000..7bc8aabf Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1-small_default.jpg b/_install/fixtures/fashion/img/p/image_1-small_default.jpg new file mode 100644 index 00000000..eb4068cf Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_1-thickbox_default.jpg new file mode 100644 index 00000000..1a622e4a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_1.jpg b/_install/fixtures/fashion/img/p/image_1.jpg new file mode 100644 index 00000000..1a622e4a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_1.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-cart_default.jpg b/_install/fixtures/fashion/img/p/image_10-cart_default.jpg new file mode 100644 index 00000000..e1128ec9 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-home_default.jpg b/_install/fixtures/fashion/img/p/image_10-home_default.jpg new file mode 100644 index 00000000..3938ea1d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-large_default.jpg b/_install/fixtures/fashion/img/p/image_10-large_default.jpg new file mode 100644 index 00000000..f68d8a8c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-medium_default.jpg b/_install/fixtures/fashion/img/p/image_10-medium_default.jpg new file mode 100644 index 00000000..d84dbce6 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-small_default.jpg b/_install/fixtures/fashion/img/p/image_10-small_default.jpg new file mode 100644 index 00000000..16819a2b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_10-thickbox_default.jpg new file mode 100644 index 00000000..302cee4c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_10.jpg b/_install/fixtures/fashion/img/p/image_10.jpg new file mode 100644 index 00000000..302cee4c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_10.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-cart_default.jpg b/_install/fixtures/fashion/img/p/image_11-cart_default.jpg new file mode 100644 index 00000000..180deb1e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-home_default.jpg b/_install/fixtures/fashion/img/p/image_11-home_default.jpg new file mode 100644 index 00000000..b3eefc06 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-large_default.jpg b/_install/fixtures/fashion/img/p/image_11-large_default.jpg new file mode 100644 index 00000000..f321ca27 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-medium_default.jpg b/_install/fixtures/fashion/img/p/image_11-medium_default.jpg new file mode 100644 index 00000000..14b8b288 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-small_default.jpg b/_install/fixtures/fashion/img/p/image_11-small_default.jpg new file mode 100644 index 00000000..4ccc859f Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_11-thickbox_default.jpg new file mode 100644 index 00000000..2c9997b2 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_11.jpg b/_install/fixtures/fashion/img/p/image_11.jpg new file mode 100644 index 00000000..2c9997b2 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_11.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-cart_default.jpg b/_install/fixtures/fashion/img/p/image_12-cart_default.jpg new file mode 100644 index 00000000..b3c43e14 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-home_default.jpg b/_install/fixtures/fashion/img/p/image_12-home_default.jpg new file mode 100644 index 00000000..777ec4be Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-large_default.jpg b/_install/fixtures/fashion/img/p/image_12-large_default.jpg new file mode 100644 index 00000000..c2b1389f Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-medium_default.jpg b/_install/fixtures/fashion/img/p/image_12-medium_default.jpg new file mode 100644 index 00000000..a2aa666b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-small_default.jpg b/_install/fixtures/fashion/img/p/image_12-small_default.jpg new file mode 100644 index 00000000..f6c0b2a2 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_12-thickbox_default.jpg new file mode 100644 index 00000000..1428f956 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_12.jpg b/_install/fixtures/fashion/img/p/image_12.jpg new file mode 100644 index 00000000..1428f956 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_12.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-cart_default.jpg b/_install/fixtures/fashion/img/p/image_13-cart_default.jpg new file mode 100644 index 00000000..d08a5078 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-home_default.jpg b/_install/fixtures/fashion/img/p/image_13-home_default.jpg new file mode 100644 index 00000000..ea29e863 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-large_default.jpg b/_install/fixtures/fashion/img/p/image_13-large_default.jpg new file mode 100644 index 00000000..5d8e3108 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-medium_default.jpg b/_install/fixtures/fashion/img/p/image_13-medium_default.jpg new file mode 100644 index 00000000..903f9bcb Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-small_default.jpg b/_install/fixtures/fashion/img/p/image_13-small_default.jpg new file mode 100644 index 00000000..6a115fa6 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_13-thickbox_default.jpg new file mode 100644 index 00000000..84c66874 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_13.jpg b/_install/fixtures/fashion/img/p/image_13.jpg new file mode 100644 index 00000000..84c66874 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_13.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-cart_default.jpg b/_install/fixtures/fashion/img/p/image_14-cart_default.jpg new file mode 100644 index 00000000..df8262fb Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-home_default.jpg b/_install/fixtures/fashion/img/p/image_14-home_default.jpg new file mode 100644 index 00000000..7124fcc2 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-large_default.jpg b/_install/fixtures/fashion/img/p/image_14-large_default.jpg new file mode 100644 index 00000000..e16712ec Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-medium_default.jpg b/_install/fixtures/fashion/img/p/image_14-medium_default.jpg new file mode 100644 index 00000000..f58d0ced Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-small_default.jpg b/_install/fixtures/fashion/img/p/image_14-small_default.jpg new file mode 100644 index 00000000..fbaf2ee0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_14-thickbox_default.jpg new file mode 100644 index 00000000..80d3a741 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_14.jpg b/_install/fixtures/fashion/img/p/image_14.jpg new file mode 100644 index 00000000..80d3a741 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_14.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-cart_default.jpg b/_install/fixtures/fashion/img/p/image_15-cart_default.jpg new file mode 100644 index 00000000..cc5f29b0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-home_default.jpg b/_install/fixtures/fashion/img/p/image_15-home_default.jpg new file mode 100644 index 00000000..0d40ce73 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-large_default.jpg b/_install/fixtures/fashion/img/p/image_15-large_default.jpg new file mode 100644 index 00000000..3f8aedc3 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-medium_default.jpg b/_install/fixtures/fashion/img/p/image_15-medium_default.jpg new file mode 100644 index 00000000..cc8457d3 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-small_default.jpg b/_install/fixtures/fashion/img/p/image_15-small_default.jpg new file mode 100644 index 00000000..791a4ce7 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_15-thickbox_default.jpg new file mode 100644 index 00000000..8ca18a66 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_15.jpg b/_install/fixtures/fashion/img/p/image_15.jpg new file mode 100644 index 00000000..8ca18a66 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_15.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-cart_default.jpg b/_install/fixtures/fashion/img/p/image_16-cart_default.jpg new file mode 100644 index 00000000..83bb72c9 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-home_default.jpg b/_install/fixtures/fashion/img/p/image_16-home_default.jpg new file mode 100644 index 00000000..c84a6e9b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-large_default.jpg b/_install/fixtures/fashion/img/p/image_16-large_default.jpg new file mode 100644 index 00000000..573ff7d1 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-medium_default.jpg b/_install/fixtures/fashion/img/p/image_16-medium_default.jpg new file mode 100644 index 00000000..b9b62c8d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-small_default.jpg b/_install/fixtures/fashion/img/p/image_16-small_default.jpg new file mode 100644 index 00000000..aa91b84d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_16-thickbox_default.jpg new file mode 100644 index 00000000..2f17d846 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_16.jpg b/_install/fixtures/fashion/img/p/image_16.jpg new file mode 100644 index 00000000..2f17d846 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_16.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-cart_default.jpg b/_install/fixtures/fashion/img/p/image_17-cart_default.jpg new file mode 100644 index 00000000..b43d0854 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-home_default.jpg b/_install/fixtures/fashion/img/p/image_17-home_default.jpg new file mode 100644 index 00000000..826efea3 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-large_default.jpg b/_install/fixtures/fashion/img/p/image_17-large_default.jpg new file mode 100644 index 00000000..0a48ac24 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-medium_default.jpg b/_install/fixtures/fashion/img/p/image_17-medium_default.jpg new file mode 100644 index 00000000..1647513b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-small_default.jpg b/_install/fixtures/fashion/img/p/image_17-small_default.jpg new file mode 100644 index 00000000..0f1583fa Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_17-thickbox_default.jpg new file mode 100644 index 00000000..9b703e3e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_17.jpg b/_install/fixtures/fashion/img/p/image_17.jpg new file mode 100644 index 00000000..9b703e3e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_17.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-cart_default.jpg b/_install/fixtures/fashion/img/p/image_18-cart_default.jpg new file mode 100644 index 00000000..4e9f003a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-home_default.jpg b/_install/fixtures/fashion/img/p/image_18-home_default.jpg new file mode 100644 index 00000000..432fcbad Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-large_default.jpg b/_install/fixtures/fashion/img/p/image_18-large_default.jpg new file mode 100644 index 00000000..e35ee80f Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-medium_default.jpg b/_install/fixtures/fashion/img/p/image_18-medium_default.jpg new file mode 100644 index 00000000..c90caa4a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-small_default.jpg b/_install/fixtures/fashion/img/p/image_18-small_default.jpg new file mode 100644 index 00000000..1049e18e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_18-thickbox_default.jpg new file mode 100644 index 00000000..db013f53 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_18.jpg b/_install/fixtures/fashion/img/p/image_18.jpg new file mode 100644 index 00000000..db013f53 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_18.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-cart_default.jpg b/_install/fixtures/fashion/img/p/image_19-cart_default.jpg new file mode 100644 index 00000000..1d15219e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-home_default.jpg b/_install/fixtures/fashion/img/p/image_19-home_default.jpg new file mode 100644 index 00000000..2581642a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-large_default.jpg b/_install/fixtures/fashion/img/p/image_19-large_default.jpg new file mode 100644 index 00000000..3f734558 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-medium_default.jpg b/_install/fixtures/fashion/img/p/image_19-medium_default.jpg new file mode 100644 index 00000000..e105ee8e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-small_default.jpg b/_install/fixtures/fashion/img/p/image_19-small_default.jpg new file mode 100644 index 00000000..4f88eb22 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_19-thickbox_default.jpg new file mode 100644 index 00000000..bc9ea61c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_19.jpg b/_install/fixtures/fashion/img/p/image_19.jpg new file mode 100644 index 00000000..bc9ea61c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_19.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-cart_default.jpg b/_install/fixtures/fashion/img/p/image_2-cart_default.jpg new file mode 100644 index 00000000..9fe0de7d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-home_default.jpg b/_install/fixtures/fashion/img/p/image_2-home_default.jpg new file mode 100644 index 00000000..9a980828 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-large_default.jpg b/_install/fixtures/fashion/img/p/image_2-large_default.jpg new file mode 100644 index 00000000..9c458bda Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-medium_default.jpg b/_install/fixtures/fashion/img/p/image_2-medium_default.jpg new file mode 100644 index 00000000..20c378db Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-small_default.jpg b/_install/fixtures/fashion/img/p/image_2-small_default.jpg new file mode 100644 index 00000000..2a605eb0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_2-thickbox_default.jpg new file mode 100644 index 00000000..fe9b0873 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_2.jpg b/_install/fixtures/fashion/img/p/image_2.jpg new file mode 100644 index 00000000..fe9b0873 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_2.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-cart_default.jpg b/_install/fixtures/fashion/img/p/image_20-cart_default.jpg new file mode 100644 index 00000000..841404d7 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-home_default.jpg b/_install/fixtures/fashion/img/p/image_20-home_default.jpg new file mode 100644 index 00000000..fa82a915 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-large_default.jpg b/_install/fixtures/fashion/img/p/image_20-large_default.jpg new file mode 100644 index 00000000..452703c6 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-medium_default.jpg b/_install/fixtures/fashion/img/p/image_20-medium_default.jpg new file mode 100644 index 00000000..ee56c820 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-small_default.jpg b/_install/fixtures/fashion/img/p/image_20-small_default.jpg new file mode 100644 index 00000000..4fe90580 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_20-thickbox_default.jpg new file mode 100644 index 00000000..53f6e68a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_20.jpg b/_install/fixtures/fashion/img/p/image_20.jpg new file mode 100644 index 00000000..53f6e68a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_20.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-cart_default.jpg b/_install/fixtures/fashion/img/p/image_21-cart_default.jpg new file mode 100644 index 00000000..6de2cf78 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-home_default.jpg b/_install/fixtures/fashion/img/p/image_21-home_default.jpg new file mode 100644 index 00000000..93832ff6 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-large_default.jpg b/_install/fixtures/fashion/img/p/image_21-large_default.jpg new file mode 100644 index 00000000..167cf91d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-medium_default.jpg b/_install/fixtures/fashion/img/p/image_21-medium_default.jpg new file mode 100644 index 00000000..1f476668 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-small_default.jpg b/_install/fixtures/fashion/img/p/image_21-small_default.jpg new file mode 100644 index 00000000..e911da9b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_21-thickbox_default.jpg new file mode 100644 index 00000000..7144b7bc Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_21.jpg b/_install/fixtures/fashion/img/p/image_21.jpg new file mode 100644 index 00000000..7144b7bc Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_21.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-cart_default.jpg b/_install/fixtures/fashion/img/p/image_22-cart_default.jpg new file mode 100644 index 00000000..37b94fa3 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-home_default.jpg b/_install/fixtures/fashion/img/p/image_22-home_default.jpg new file mode 100644 index 00000000..53ed3c78 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-large_default.jpg b/_install/fixtures/fashion/img/p/image_22-large_default.jpg new file mode 100644 index 00000000..85e7e9c8 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-medium_default.jpg b/_install/fixtures/fashion/img/p/image_22-medium_default.jpg new file mode 100644 index 00000000..badebdf2 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-small_default.jpg b/_install/fixtures/fashion/img/p/image_22-small_default.jpg new file mode 100644 index 00000000..9c991647 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_22-thickbox_default.jpg new file mode 100644 index 00000000..04b45893 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_22.jpg b/_install/fixtures/fashion/img/p/image_22.jpg new file mode 100644 index 00000000..04b45893 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_22.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-cart_default.jpg b/_install/fixtures/fashion/img/p/image_23-cart_default.jpg new file mode 100644 index 00000000..9046c325 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-home_default.jpg b/_install/fixtures/fashion/img/p/image_23-home_default.jpg new file mode 100644 index 00000000..3fdb5c10 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-large_default.jpg b/_install/fixtures/fashion/img/p/image_23-large_default.jpg new file mode 100644 index 00000000..1ae46d1c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-medium_default.jpg b/_install/fixtures/fashion/img/p/image_23-medium_default.jpg new file mode 100644 index 00000000..1a0dc28b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-small_default.jpg b/_install/fixtures/fashion/img/p/image_23-small_default.jpg new file mode 100644 index 00000000..84577d13 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_23-thickbox_default.jpg new file mode 100644 index 00000000..eb6d3305 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_23.jpg b/_install/fixtures/fashion/img/p/image_23.jpg new file mode 100644 index 00000000..eb6d3305 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_23.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-cart_default.jpg b/_install/fixtures/fashion/img/p/image_3-cart_default.jpg new file mode 100644 index 00000000..b5dde626 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-home_default.jpg b/_install/fixtures/fashion/img/p/image_3-home_default.jpg new file mode 100644 index 00000000..47900830 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-large_default.jpg b/_install/fixtures/fashion/img/p/image_3-large_default.jpg new file mode 100644 index 00000000..74e3d1e6 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-medium_default.jpg b/_install/fixtures/fashion/img/p/image_3-medium_default.jpg new file mode 100644 index 00000000..4d83e99c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-small_default.jpg b/_install/fixtures/fashion/img/p/image_3-small_default.jpg new file mode 100644 index 00000000..530811cd Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_3-thickbox_default.jpg new file mode 100644 index 00000000..14739f2d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_3.jpg b/_install/fixtures/fashion/img/p/image_3.jpg new file mode 100644 index 00000000..14739f2d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_3.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-cart_default.jpg b/_install/fixtures/fashion/img/p/image_4-cart_default.jpg new file mode 100644 index 00000000..291bfdf3 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-home_default.jpg b/_install/fixtures/fashion/img/p/image_4-home_default.jpg new file mode 100644 index 00000000..fe795d66 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-large_default.jpg b/_install/fixtures/fashion/img/p/image_4-large_default.jpg new file mode 100644 index 00000000..9cf02043 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-medium_default.jpg b/_install/fixtures/fashion/img/p/image_4-medium_default.jpg new file mode 100644 index 00000000..2d1df00a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-small_default.jpg b/_install/fixtures/fashion/img/p/image_4-small_default.jpg new file mode 100644 index 00000000..a259575f Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_4-thickbox_default.jpg new file mode 100644 index 00000000..b2ead806 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_4.jpg b/_install/fixtures/fashion/img/p/image_4.jpg new file mode 100644 index 00000000..b2ead806 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_4.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-cart_default.jpg b/_install/fixtures/fashion/img/p/image_5-cart_default.jpg new file mode 100644 index 00000000..c9606196 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-home_default.jpg b/_install/fixtures/fashion/img/p/image_5-home_default.jpg new file mode 100644 index 00000000..02d57497 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-large_default.jpg b/_install/fixtures/fashion/img/p/image_5-large_default.jpg new file mode 100644 index 00000000..c6312660 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-medium_default.jpg b/_install/fixtures/fashion/img/p/image_5-medium_default.jpg new file mode 100644 index 00000000..6a77d4f1 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-small_default.jpg b/_install/fixtures/fashion/img/p/image_5-small_default.jpg new file mode 100644 index 00000000..fbd8e146 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_5-thickbox_default.jpg new file mode 100644 index 00000000..e8266263 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_5.jpg b/_install/fixtures/fashion/img/p/image_5.jpg new file mode 100644 index 00000000..e8266263 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_5.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-cart_default.jpg b/_install/fixtures/fashion/img/p/image_6-cart_default.jpg new file mode 100644 index 00000000..e9fbc4e0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-home_default.jpg b/_install/fixtures/fashion/img/p/image_6-home_default.jpg new file mode 100644 index 00000000..0bf471fa Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-large_default.jpg b/_install/fixtures/fashion/img/p/image_6-large_default.jpg new file mode 100644 index 00000000..0f492d5f Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-medium_default.jpg b/_install/fixtures/fashion/img/p/image_6-medium_default.jpg new file mode 100644 index 00000000..48f7def0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-small_default.jpg b/_install/fixtures/fashion/img/p/image_6-small_default.jpg new file mode 100644 index 00000000..4245f1ea Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_6-thickbox_default.jpg new file mode 100644 index 00000000..e1266e4d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_6.jpg b/_install/fixtures/fashion/img/p/image_6.jpg new file mode 100644 index 00000000..e1266e4d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_6.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-cart_default.jpg b/_install/fixtures/fashion/img/p/image_7-cart_default.jpg new file mode 100644 index 00000000..7bc49e16 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-home_default.jpg b/_install/fixtures/fashion/img/p/image_7-home_default.jpg new file mode 100644 index 00000000..09641f4c Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-large_default.jpg b/_install/fixtures/fashion/img/p/image_7-large_default.jpg new file mode 100644 index 00000000..436615ae Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-medium_default.jpg b/_install/fixtures/fashion/img/p/image_7-medium_default.jpg new file mode 100644 index 00000000..6e817ae0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-small_default.jpg b/_install/fixtures/fashion/img/p/image_7-small_default.jpg new file mode 100644 index 00000000..27c96438 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_7-thickbox_default.jpg new file mode 100644 index 00000000..b89f49d8 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_7.jpg b/_install/fixtures/fashion/img/p/image_7.jpg new file mode 100644 index 00000000..b89f49d8 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_7.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-cart_default.jpg b/_install/fixtures/fashion/img/p/image_8-cart_default.jpg new file mode 100644 index 00000000..0c877c4b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-home_default.jpg b/_install/fixtures/fashion/img/p/image_8-home_default.jpg new file mode 100644 index 00000000..633ea465 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-large_default.jpg b/_install/fixtures/fashion/img/p/image_8-large_default.jpg new file mode 100644 index 00000000..b84ee48e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-medium_default.jpg b/_install/fixtures/fashion/img/p/image_8-medium_default.jpg new file mode 100644 index 00000000..bb60064b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-small_default.jpg b/_install/fixtures/fashion/img/p/image_8-small_default.jpg new file mode 100644 index 00000000..18f50099 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_8-thickbox_default.jpg new file mode 100644 index 00000000..81124c2e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_8.jpg b/_install/fixtures/fashion/img/p/image_8.jpg new file mode 100644 index 00000000..81124c2e Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_8.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-cart_default.jpg b/_install/fixtures/fashion/img/p/image_9-cart_default.jpg new file mode 100644 index 00000000..01ba223b Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-cart_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-home_default.jpg b/_install/fixtures/fashion/img/p/image_9-home_default.jpg new file mode 100644 index 00000000..c1c5f15d Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-home_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-large_default.jpg b/_install/fixtures/fashion/img/p/image_9-large_default.jpg new file mode 100644 index 00000000..1b57dc3a Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-medium_default.jpg b/_install/fixtures/fashion/img/p/image_9-medium_default.jpg new file mode 100644 index 00000000..86f601d1 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-small_default.jpg b/_install/fixtures/fashion/img/p/image_9-small_default.jpg new file mode 100644 index 00000000..77c90713 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9-thickbox_default.jpg b/_install/fixtures/fashion/img/p/image_9-thickbox_default.jpg new file mode 100644 index 00000000..aeeee4a0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9-thickbox_default.jpg differ diff --git a/_install/fixtures/fashion/img/p/image_9.jpg b/_install/fixtures/fashion/img/p/image_9.jpg new file mode 100644 index 00000000..aeeee4a0 Binary files /dev/null and b/_install/fixtures/fashion/img/p/image_9.jpg differ diff --git a/_install/fixtures/fashion/img/p/index.php b/_install/fixtures/fashion/img/p/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/img/p/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/p/resize.php b/_install/fixtures/fashion/img/p/resize.php new file mode 100644 index 00000000..32a4e6e1 --- /dev/null +++ b/_install/fixtures/fashion/img/p/resize.php @@ -0,0 +1,20 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/scenes/thumbs/index.php b/_install/fixtures/fashion/img/scenes/thumbs/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/img/scenes/thumbs/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg b/_install/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg new file mode 100644 index 00000000..be35958b Binary files /dev/null and b/_install/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/st/Coconut_Grove.jpg b/_install/fixtures/fashion/img/st/Coconut_Grove.jpg new file mode 100644 index 00000000..89dadb99 Binary files /dev/null and b/_install/fixtures/fashion/img/st/Coconut_Grove.jpg differ diff --git a/_install/fixtures/fashion/img/st/Dade_County-medium_default.jpg b/_install/fixtures/fashion/img/st/Dade_County-medium_default.jpg new file mode 100644 index 00000000..be35958b Binary files /dev/null and b/_install/fixtures/fashion/img/st/Dade_County-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/st/Dade_County.jpg b/_install/fixtures/fashion/img/st/Dade_County.jpg new file mode 100644 index 00000000..89dadb99 Binary files /dev/null and b/_install/fixtures/fashion/img/st/Dade_County.jpg differ diff --git a/_install/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg b/_install/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg new file mode 100644 index 00000000..be35958b Binary files /dev/null and b/_install/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg b/_install/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg new file mode 100644 index 00000000..89dadb99 Binary files /dev/null and b/_install/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg differ diff --git a/_install/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg b/_install/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg new file mode 100644 index 00000000..be35958b Binary files /dev/null and b/_install/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/st/N_Miami_Biscayne.jpg b/_install/fixtures/fashion/img/st/N_Miami_Biscayne.jpg new file mode 100644 index 00000000..89dadb99 Binary files /dev/null and b/_install/fixtures/fashion/img/st/N_Miami_Biscayne.jpg differ diff --git a/_install/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg b/_install/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg new file mode 100644 index 00000000..be35958b Binary files /dev/null and b/_install/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/st/Pembroke_Pines.jpg b/_install/fixtures/fashion/img/st/Pembroke_Pines.jpg new file mode 100644 index 00000000..89dadb99 Binary files /dev/null and b/_install/fixtures/fashion/img/st/Pembroke_Pines.jpg differ diff --git a/_install/fixtures/fashion/img/st/index.php b/_install/fixtures/fashion/img/st/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/img/st/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/img/su/Fashion_Supplier-large_default.jpg b/_install/fixtures/fashion/img/su/Fashion_Supplier-large_default.jpg new file mode 100644 index 00000000..96c19ca0 Binary files /dev/null and b/_install/fixtures/fashion/img/su/Fashion_Supplier-large_default.jpg differ diff --git a/_install/fixtures/fashion/img/su/Fashion_Supplier-medium_default.jpg b/_install/fixtures/fashion/img/su/Fashion_Supplier-medium_default.jpg new file mode 100644 index 00000000..755ebb9a Binary files /dev/null and b/_install/fixtures/fashion/img/su/Fashion_Supplier-medium_default.jpg differ diff --git a/_install/fixtures/fashion/img/su/Fashion_Supplier-small_default.jpg b/_install/fixtures/fashion/img/su/Fashion_Supplier-small_default.jpg new file mode 100644 index 00000000..43833d14 Binary files /dev/null and b/_install/fixtures/fashion/img/su/Fashion_Supplier-small_default.jpg differ diff --git a/_install/fixtures/fashion/img/su/Fashion_Supplier.jpg b/_install/fixtures/fashion/img/su/Fashion_Supplier.jpg new file mode 100644 index 00000000..dd456686 Binary files /dev/null and b/_install/fixtures/fashion/img/su/Fashion_Supplier.jpg differ diff --git a/_install/fixtures/fashion/img/su/index.php b/_install/fixtures/fashion/img/su/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/img/su/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/index.php b/_install/fixtures/fashion/index.php new file mode 100644 index 00000000..8dd03b06 --- /dev/null +++ b/_install/fixtures/fashion/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/install.php b/_install/fixtures/fashion/install.php new file mode 100644 index 00000000..a43ab6cc --- /dev/null +++ b/_install/fixtures/fashion/install.php @@ -0,0 +1,42 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * This class is only here to show the possibility of extending InstallXmlLoader, which is the + * class parsing all XML files, copying all images, etc. + * + * Please read documentation in ~/install/dev/ folder if you want to customize PrestaShop install / fixtures. + */ +class InstallFixturesFashion extends InstallXmlLoader +{ + public function createEntityCustomer($identifier, array $data, array $data_lang) + { + if ($identifier == 'John') + $data['passwd'] = Tools::encrypt('123456789'); + + return $this->createEntity('customer', $identifier, 'Customer', $data, $data_lang); + } +} diff --git a/_install/fixtures/fashion/langs/bn/data/attribute.xml b/_install/fixtures/fashion/langs/bn/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/bn/data/attribute_group.xml b/_install/fixtures/fashion/langs/bn/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/bn/data/attributegroup.xml b/_install/fixtures/fashion/langs/bn/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/carrier.xml b/_install/fixtures/fashion/langs/bn/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/bn/data/category.xml b/_install/fixtures/fashion/langs/bn/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/feature.xml b/_install/fixtures/fashion/langs/bn/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/bn/data/feature_value.xml b/_install/fixtures/fashion/langs/bn/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/bn/data/featurevalue.xml b/_install/fixtures/fashion/langs/bn/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/image.xml b/_install/fixtures/fashion/langs/bn/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/index.php b/_install/fixtures/fashion/langs/bn/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/bn/data/manufacturer.xml b/_install/fixtures/fashion/langs/bn/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/order_message.xml b/_install/fixtures/fashion/langs/bn/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/bn/data/ordermessage.xml b/_install/fixtures/fashion/langs/bn/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/product.xml b/_install/fixtures/fashion/langs/bn/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/bn/data/profile.xml b/_install/fixtures/fashion/langs/bn/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/bn/data/scene.xml b/_install/fixtures/fashion/langs/bn/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/supplier.xml b/_install/fixtures/fashion/langs/bn/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/bn/data/tag.xml b/_install/fixtures/fashion/langs/bn/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/bn/index.php b/_install/fixtures/fashion/langs/bn/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/bn/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/br/data/attribute.xml b/_install/fixtures/fashion/langs/br/data/attribute.xml new file mode 100644 index 00000000..5aa982d0 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/attribute.xml @@ -0,0 +1,75 @@ + + + + P + + + M + + + G + + + Tamanho Ășnico + + + Cinza + + + Marrom acinzentado + + + Bege + + + Branco + + + Branco amarelado + + + Vermelho + + + Preto + + + Marrom claro + + + Laranja + + + Azul + + + Verde + + + Amarelo + + + Marrom escuro + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Rosa + + diff --git a/_install/fixtures/fashion/langs/br/data/attribute_group.xml b/_install/fixtures/fashion/langs/br/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/br/data/attributegroup.xml b/_install/fixtures/fashion/langs/br/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/carrier.xml b/_install/fixtures/fashion/langs/br/data/carrier.xml new file mode 100644 index 00000000..d497ed10 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Entrega no dia seguinte! + + diff --git a/_install/fixtures/fashion/langs/br/data/category.xml b/_install/fixtures/fashion/langs/br/data/category.xml new file mode 100644 index 00000000..3d87fbd1 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/category.xml @@ -0,0 +1,81 @@ + + + + Mulheres + <p><strong>Aqui vocĂȘ encontrarĂĄ todas as coleçÔes de moda feminina.</strong></p> +<p>Esta categoria reĂșne todas as peças bĂĄsicas do seu guarda-roupa e muito mais:</p> +<p>sapatos, acessĂłrios, camisetas estampadas, vestidos, jeans femininos!</p> + mulheres + + + + + + Blusas/camisetas + <p>Faça sua escolha entre camisetas, blusas, mangas curtas, mangas longas, mangas 3/4, regatas, etc.</p> +<p>Encontre o corte que mais combina com vocĂȘ!</p> + blusas-camisetas + + + + + + Camisetas + <p>Os indispensĂĄveis do seu guarda-roupa. Confira as cores,</p> +<p>formas e estilos variados da nossa coleção!</p> + camisetas + + + + + + Blusas/camisetas + Escolha a que mais combina com vocĂȘ entre a grande variedade de camisetas que temos. + blusas-camisetas + + + + + + Blusas + Associe suas blusas preferidas com os acessĂłrios certos para o look perfeito. + blusas + + + + + + Vestidos + <p>Encontre seus vestidos preferidos da nossa ampla gama de vestidos de noite, de verĂŁo ou casuais!</p> +<p>Oferecemos vestidos para todos os dias, todos os estilos e todas as ocasiĂ”es.</p> + vestidos + + + + + + Vestidos casuais + <p>VocĂȘ estĂĄ procurando um vestido para o dia a dia? Confira</p> +<p>nossa seleção de vestidos e encontre o que mais combina com vocĂȘ.</p> + vestidos-casuais + + + + + + Vestidos de noite + Navegue pelos nossos diversos vestidos e escolha o que for perfeito para uma noite inesquecĂ­vel! + vestidos-de-noite + + + + + + Vestidos de verĂŁo + Vestido curto, vestido longo, vestido de seda, vestido estampado, vocĂȘ encontrarĂĄ o vestido perfeito de verĂŁo. + vestidos-de-verao + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/feature.xml b/_install/fixtures/fashion/langs/br/data/feature.xml new file mode 100644 index 00000000..c96b071e --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/feature.xml @@ -0,0 +1,24 @@ + + + + Altura + + + Largura + + + Profundidade + + + Peso + + + Tecido + + + Estilos + + + Descrição + + diff --git a/_install/fixtures/fashion/langs/br/data/feature_value.xml b/_install/fixtures/fashion/langs/br/data/feature_value.xml new file mode 100644 index 00000000..2d7bbb79 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + PoliĂ©ster + + + LĂŁ + + + Viscose + + + Elastano + + + AlgodĂŁo + + + Seda + + + Camurça + + + Palha + + + Couro + + + ClĂĄssico + + + Casual + + + Militar + + + Girlie + + + Rock + + + BĂĄsico + + + Elegante + + + Manga curta + + + Vestido colorido + + + Vestido curto + + + Vestido mĂ©dio + + + Vestido longo + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/br/data/featurevalue.xml b/_install/fixtures/fashion/langs/br/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/image.xml b/_install/fixtures/fashion/langs/br/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/index.php b/_install/fixtures/fashion/langs/br/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/br/data/manufacturer.xml b/_install/fixtures/fashion/langs/br/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/order_message.xml b/_install/fixtures/fashion/langs/br/data/order_message.xml new file mode 100644 index 00000000..76b70bdc --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Atraso + OlĂĄ, + +Infelizmente uma peça do seu pedido estĂĄ indisponĂ­vel no momento. Isso pode ocasionar um leve atraso na entrega. +Queira aceitar nossas desculpas e tenha a certeza de que estamos fazendo o possĂ­vel para remediar esta situação. + +Atenciosamente, + + diff --git a/_install/fixtures/fashion/langs/br/data/ordermessage.xml b/_install/fixtures/fashion/langs/br/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/product.xml b/_install/fixtures/fashion/langs/br/data/product.xml new file mode 100644 index 00000000..8fe47864 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Camiseta de manga curta desbotada com decote alto. Material macio e elĂĄstico para um ajuste confortĂĄvel. Adicione um chapĂ©u de palha e estarĂĄ pronta para o verĂŁo!</p> + camisetas-de-manga-curta-desbotadas + + + + Camisetas de manga curta desbotadas + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Blusa de manga curta com detalhe drapeado e feminino na manga.</p> + blusa + + + + Blusa + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Vestido estampado 100% algodĂŁo duplo. Parte de cima listrada em preto e branco e saia de patinadora cintura alta laranja.</p> + vestido-estampado + + + + Vestido estampado + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Vestido de noite estampado com mangas retas, cinto fino preto e babados forrados.</p> + vestido-estampado + + + + Vestido estampado + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Vestido longo estampado com alças finas regulĂĄveis. Decote em V e filamentos sob o busto com babados na parte de baixo.</p> + vestido-estampado-de-verao + + + + Vestido estampado de verĂŁo + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Vestido chiffon sem mangas na altura do joelho. Decote em V com elĂĄstico sob o forro do peito.</p> + vestido-estampado-de-verao + + + + Vestido estampado de verĂŁo + Em estoque + + + + <p>Desde 2010, a Fashion cria coleçÔes de belas peças. No inĂ­cio, a marca propunha vestidos com design feminino elegantes e formais. Depois, eles transformaram-se em uma coleção completa de ready-to-wear, cada item sendo uma parte vital no guarda-roupa de uma mulher. O resultado? Looks "cool", fĂĄceis, chiques, com elegĂąncia jovem e um estilo inconfundĂ­vel. Todas as peças sĂŁo confeccionadas na ItĂĄlia e fabricadas com a maior atenção. Agora, a Fashion foi ampliada e tambĂ©m oferece uma gama de acessĂłrios que incluem calçados, chapĂ©us, cintos e muito mais!</p> + <p>Vestido chiffon de alça estampado na altura do joelho. Decote em V.</p> + vestido-de-chiffon-estampado + + + + Vestido de chiffon estampado + Em estoque + + + diff --git a/_install/fixtures/fashion/langs/br/data/profile.xml b/_install/fixtures/fashion/langs/br/data/profile.xml new file mode 100644 index 00000000..879171f3 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/profile.xml @@ -0,0 +1,12 @@ + + + + Especialista em logĂ­stica + + + Tradutor + + + Vendedor + + diff --git a/_install/fixtures/fashion/langs/br/data/scene.xml b/_install/fixtures/fashion/langs/br/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/br/data/supplier.xml b/_install/fixtures/fashion/langs/br/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/br/data/tag.xml b/_install/fixtures/fashion/langs/br/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/br/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/br/index.php b/_install/fixtures/fashion/langs/br/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/br/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/de/data/attribute.xml b/_install/fixtures/fashion/langs/de/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/de/data/attribute_group.xml b/_install/fixtures/fashion/langs/de/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/de/data/attributegroup.xml b/_install/fixtures/fashion/langs/de/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/carrier.xml b/_install/fixtures/fashion/langs/de/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/de/data/category.xml b/_install/fixtures/fashion/langs/de/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/feature.xml b/_install/fixtures/fashion/langs/de/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/de/data/feature_value.xml b/_install/fixtures/fashion/langs/de/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/de/data/featurevalue.xml b/_install/fixtures/fashion/langs/de/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/image.xml b/_install/fixtures/fashion/langs/de/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/index.php b/_install/fixtures/fashion/langs/de/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/de/data/manufacturer.xml b/_install/fixtures/fashion/langs/de/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/order_message.xml b/_install/fixtures/fashion/langs/de/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/de/data/ordermessage.xml b/_install/fixtures/fashion/langs/de/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/product.xml b/_install/fixtures/fashion/langs/de/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/de/data/profile.xml b/_install/fixtures/fashion/langs/de/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/de/data/scene.xml b/_install/fixtures/fashion/langs/de/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/de/data/supplier.xml b/_install/fixtures/fashion/langs/de/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/de/data/tag.xml b/_install/fixtures/fashion/langs/de/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/de/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/de/index.php b/_install/fixtures/fashion/langs/de/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/de/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/en/data/attribute.xml b/_install/fixtures/fashion/langs/en/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/en/data/attribute_group.xml b/_install/fixtures/fashion/langs/en/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/en/data/attributegroup.xml b/_install/fixtures/fashion/langs/en/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/carrier.xml b/_install/fixtures/fashion/langs/en/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/en/data/category.xml b/_install/fixtures/fashion/langs/en/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/feature.xml b/_install/fixtures/fashion/langs/en/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/en/data/feature_value.xml b/_install/fixtures/fashion/langs/en/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/en/data/featurevalue.xml b/_install/fixtures/fashion/langs/en/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/image.xml b/_install/fixtures/fashion/langs/en/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/index.php b/_install/fixtures/fashion/langs/en/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/en/data/manufacturer.xml b/_install/fixtures/fashion/langs/en/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/order_message.xml b/_install/fixtures/fashion/langs/en/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/en/data/ordermessage.xml b/_install/fixtures/fashion/langs/en/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/product.xml b/_install/fixtures/fashion/langs/en/data/product.xml new file mode 100644 index 00000000..ba2927a4 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeves t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeves-tshirt + + + + Faded Short Sleeves T-shirt + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short-sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which have since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/en/data/profile.xml b/_install/fixtures/fashion/langs/en/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/en/data/scene.xml b/_install/fixtures/fashion/langs/en/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/en/data/supplier.xml b/_install/fixtures/fashion/langs/en/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/en/data/tag.xml b/_install/fixtures/fashion/langs/en/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/en/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/en/index.php b/_install/fixtures/fashion/langs/en/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/en/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/es/data/attribute.xml b/_install/fixtures/fashion/langs/es/data/attribute.xml new file mode 100644 index 00000000..b9cc5246 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + Talla Ășnica + + + Gris + + + Gris pardo + + + Beige + + + Blanco + + + Blanco roto + + + Rojo + + + Negro + + + Camel + + + Naranja + + + Azul + + + Verde + + + Amarillo + + + MarrĂłn + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Rosa + + diff --git a/_install/fixtures/fashion/langs/es/data/attribute_group.xml b/_install/fixtures/fashion/langs/es/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/es/data/attributegroup.xml b/_install/fixtures/fashion/langs/es/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/carrier.xml b/_install/fixtures/fashion/langs/es/data/carrier.xml new file mode 100644 index 00000000..376638aa --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/carrier.xml @@ -0,0 +1,6 @@ + + + + ÂĄEnvĂ­o en 24h! + + diff --git a/_install/fixtures/fashion/langs/es/data/category.xml b/_install/fixtures/fashion/langs/es/data/category.xml new file mode 100644 index 00000000..97dc1379 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/category.xml @@ -0,0 +1,81 @@ + + + + Mujer + <p><strong>AquĂ­ encontrarĂĄs todas las colecciones de moda de mujer.</strong></p> +<p>Esta categorĂ­a incluye todos los bĂĄsicos de tu armario y mucho mĂĄs:</p> +<p>ÂĄzapatos, complementos, camisetas estampadas, vestidos muy femeninos y vaqueros para mujer!</p> + mujer + + + + + + Tops + <p>AquĂ­ encontrarĂĄs camisetas, tops, blusas, camisetas de manga corta, de manga larga, sin mangas, de media manga y mucho mĂĄs.</p> +<p>ÂĄEncuentra el corte que mejor te quede!</p> + tops + + + + + + Camisetas + <p>Los must have de tu armario; ÂĄĂ©chale un vistazo a los diferentes colores,</p> +<p>formas y estilos de nuestra colecciĂłn!</p> + camisetas + + + + + + Tops + Te ofrecemos una amplia variedad de tops para que puedas escoger el que mejor te quede. + top + + + + + + Blusas + Combina tus blusas preferidas con los accesorios perfectos para un look deslumbrante. + blusas + + + + + + Vestidos + <p>ÂĄEncuentra tus vestidos favoritos entre nuestra amplia colecciĂłn de vestidos de noche, vestidos informales y vestidos veraniegos!</p> +<p>Te ofrecemos vestidos para todos los dĂ­as, para cualquier estilo y cualquier ocasiĂłn.</p> + vestidos + + + + + + Vestidos informales + <p>ÂżEstĂĄs buscando un vestido para todos los dĂ­as? Échale un vistazo a</p> +<p>nuestra selecciĂłn para encontrar el vestido perfecto.</p> + vestidos-informales + + + + + + Vestidos de noche + ÂĄDescubre nuestra colecciĂłn y encuentra el vestido perfecto para una velada inolvidable! + vestidos-noche + + + + + + Vestidos de verano + Cortos, largos, de seda, estampados... aquĂ­ encontrarĂĄs el vestido perfecto para el verano. + vestidos-verano + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/feature.xml b/_install/fixtures/fashion/langs/es/data/feature.xml new file mode 100644 index 00000000..b5d0ecf4 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/feature.xml @@ -0,0 +1,24 @@ + + + + Altura + + + Anchura + + + Profundidad + + + Peso + + + ComposiciĂłn + + + Estilos + + + Propiedades + + diff --git a/_install/fixtures/fashion/langs/es/data/feature_value.xml b/_install/fixtures/fashion/langs/es/data/feature_value.xml new file mode 100644 index 00000000..f963a624 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + PoliĂ©ster + + + Lana + + + Viscosa + + + Elastano + + + AlgodĂłn + + + Seda + + + Ante + + + Paja + + + Piel + + + ClĂĄsico + + + Informal + + + Militar + + + Femenino + + + Rockero + + + BĂĄsico + + + Elegante + + + Manga corta + + + Vestido colorido + + + Vestido corto + + + Vestido a media pierna + + + Vestido largo + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/es/data/featurevalue.xml b/_install/fixtures/fashion/langs/es/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/image.xml b/_install/fixtures/fashion/langs/es/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/index.php b/_install/fixtures/fashion/langs/es/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/es/data/manufacturer.xml b/_install/fixtures/fashion/langs/es/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/order_message.xml b/_install/fixtures/fashion/langs/es/data/order_message.xml new file mode 100644 index 00000000..908ab13b --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Retraso + Hola. + +Lamentablemente, uno de los artĂ­culos que has pedido estĂĄ agotado. Esto podrĂ­a causar un ligero retraso en el envĂ­o. +Por favor, disculpa las molestias ocasionadas. Estamos trabajando duro para solucionarlo, no te preocupes. + +Un saludo, + + diff --git a/_install/fixtures/fashion/langs/es/data/ordermessage.xml b/_install/fixtures/fashion/langs/es/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/product.xml b/_install/fixtures/fashion/langs/es/data/product.xml new file mode 100644 index 00000000..abeb55bd --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion lleva diseñando colecciones increĂ­bles desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Camiseta de manga corta con efecto desteñido y escote cerrado. Material suave y elĂĄstico para un ajuste cĂłmodo. ÂĄCombĂ­nala con un sombrero de paja y estarĂĄs lista para el verano!</p> + camiseta-destenida-manga-corta + + + + Camiseta efecto desteñido de manga corta + En stock + + + + <p>Fashion lleva diseñando colecciones increĂ­bles desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Blusa de manga corta con detalle drapeado muy femenino en la manga.</p> + blusa + + + + Blusa + En stock + + + + <p>Fashion lleva diseñando colecciones increĂ­bles desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia,prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Vestido doble estampado 100% algodĂłn. Top de rayas negras y blancas y falda skater naranja de cintura alta.</p> + vestido-estampado + + + + Vestido estampado + En stock + + + + <p>Fashion lleva diseñando increĂ­bles colecciones desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Vestido de noche estampado con mangas rectas, cinturĂłn negro y volantes.</p> + vestido-estampado + + + + Vestido estampado + En stock + + + + <p>Fashion lleva diseñando increĂ­bles colecciones desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Vestido largo estampado con tirantes finos ajustables. Escote en V, fruncido debajo del pecho y volantes en la parte inferior del vestido.</p> + vestido-verano-estampado + + + + Vestido de verano estampado + En stock + + + + <p>Fashion lleva diseñando increĂ­bles colecciones desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, prestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Vestido sin mangas de gasa hasta la rodilla. Escote en V con elĂĄstico debajo del pecho.</p> + vestido-verano-estampado + + + + Vestido de verano estampado + En stock + + + + <p>Fashion lleva diseñando increĂ­bles colecciones desde 2010. La marca ofrece diseños femeninos, con elegantes prendas para combinar y las Ășltimas tendencias en vestidos. Las colecciones han evolucionado hacia una lĂ­nea prĂȘt-Ă -porter en la que cada elemento resulta indispensable en el fondo de armario de una mujer. ÂżEl resultado? Looks frescos, sencillos y muy chic, con una elegancia juvenil y un estilo Ășnico e inconfundible. Todas las prendas se confeccionan en Italia, yprestando atenciĂłn hasta al mĂĄs mĂ­nimo detalle. Ahora Fashion ha ampliado su catĂĄlogo para incluir todo tipo de complementos: ÂĄzapatos, sombreros, cinturones y mucho mĂĄs! </ p> + <p>Vestido sin mangas hasta la rodilla, tejido de gasa estampado. Escote pronunciado.</p> + vestido-estampado-gasa + + + + Vestido de gasa estampado + En stock + + + diff --git a/_install/fixtures/fashion/langs/es/data/profile.xml b/_install/fixtures/fashion/langs/es/data/profile.xml new file mode 100644 index 00000000..6dd663bb --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/profile.xml @@ -0,0 +1,12 @@ + + + + Especialista en logĂ­stica + + + Traductor + + + Vendedor + + diff --git a/_install/fixtures/fashion/langs/es/data/scene.xml b/_install/fixtures/fashion/langs/es/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/es/data/supplier.xml b/_install/fixtures/fashion/langs/es/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/es/data/tag.xml b/_install/fixtures/fashion/langs/es/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/es/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/es/index.php b/_install/fixtures/fashion/langs/es/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/es/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/fa/data/attribute.xml b/_install/fixtures/fashion/langs/fa/data/attribute.xml new file mode 100644 index 00000000..57e072bd --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + ŰȘÚ© ŰłŰ§ÛŒŰČ + + + ۟ۧک۳ŰȘŰ±ÛŒ + + + Ù…Ű§ŰČویی + + + ۚژ + + + ŰłÙÛŒŰŻ + + + Ú©Ű±Ù… + + + Ù‚Ű±Ù…ŰČ + + + Ù…ŰŽÚ©ÛŒ + + + ŰŽŰȘŰ±ÛŒ + + + Ù†Ű§Ű±Ù†ŰŹÛŒ + + + ŰąŰšÛŒ + + + ۳ۚŰČ + + + ŰČ۱ۯ + + + قهوه Ű§ÛŒ + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Ű”ÙˆŰ±ŰȘی + + diff --git a/_install/fixtures/fashion/langs/fa/data/attribute_group.xml b/_install/fixtures/fashion/langs/fa/data/attribute_group.xml new file mode 100644 index 00000000..8739657d --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Ű§Ù†ŰŻŰ§ŰČه + Ű§Ù†ŰŻŰ§ŰČه + + + Ű§Ù†ŰŻŰ§ŰČه Ú©ÙŰŽ + Ű§Ù†ŰŻŰ§ŰČه + + + Ű±Ù†ÚŻ + Ű±Ù†ÚŻ + + diff --git a/_install/fixtures/fashion/langs/fa/data/attributegroup.xml b/_install/fixtures/fashion/langs/fa/data/attributegroup.xml new file mode 100644 index 00000000..6e45ef69 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/carrier.xml b/_install/fixtures/fashion/langs/fa/data/carrier.xml new file mode 100644 index 00000000..5289cf2e --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/carrier.xml @@ -0,0 +1,6 @@ + + + + ŰȘŰ­ÙˆÛŒÙ„ Ű±ÙˆŰČ ŰšŰčŰŻ! + + diff --git a/_install/fixtures/fashion/langs/fa/data/category.xml b/_install/fixtures/fashion/langs/fa/data/category.xml new file mode 100644 index 00000000..a82ed5a2 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/category.xml @@ -0,0 +1,81 @@ + + + + ŰČÙ†Ű§Ù†Ù‡ + <p><strong>ۯ۱ Ű§ÛŒÙ†ŰŹŰ§ ŰȘÙ…Ű§Ù… Ù…ŰŹÙ…ÙˆŰčه Ù…ŰŻÙ„ Ù‡Ű§ÛŒ ŰČÙ†Ű§Ù†Ù‡ ۱ۧ ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ.</strong></p> +<p>ŰŽŰ§Ù…Ù„ Ù„ŰšŰ§Űł Ù‡Ű§ÛŒÛŒ ŰšŰ±Ű§ÛŒ Ú©Ù…ŰŻ Ù„ŰšŰ§Űł ŰŽÙ…Ű§ و ŰźÛŒÙ„ÛŒ ŰšÛŒŰŽŰȘ۱:</p> +<p>Ú©ÙŰŽŰŒ ŰȘÛŒŰŽŰ±ŰȘ Ù‡Ű§ÛŒ Ù…Ű§Ű±Ú© ŰŻŰ§Ű±ŰŒ ÙŸÛŒŰ±Ű§Ù‡Ù† ŰČÙ†Ű§Ù†Ù‡ŰŒ ŰŹÛŒÙ† ŰČÙ†Ű§Ù†Ù‡!</p> + women + + + + + + ŰȘŰ§ÙŸ + <p>Ű§Ù†ŰȘ۟ۧۚ ۧŰČ ŰšÛŒÙ† ŰȘÛŒŰŽŰ±ŰȘی ŰȘŰ§ÙŸŰŒ ŰšÙ„ÙˆŰČی ۹۳ŰȘین کوŰȘŰ§Ù‡ŰŒ ۹۳ŰȘین ŰšÙ„Ù†ŰŻ و ŰšÛŒŰŽŰȘ۱.</p> +<p>ŰšŰźŰŽÛŒ که ŰŽÙ…Ű§ ۱ۧ ŰČÛŒŰšŰ§ می Ú©Ù†ŰŻ ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ!</p> + tops + + + + + + ŰȘÛŒŰŽŰ±ŰȘ + <p>Ú©Ù…ŰŻ Ù„ŰšŰ§Űł ŰźÙˆŰŻ ۱ۧ ÙŸŰ± Ú©Ù†ÛŒŰŻ Ű±Ù†ÚŻ Ù‡Ű§ÛŒ مŰȘÙŰ§ÙˆŰȘ Ù…Ű§ ۱ۧ ŰšŰšÛŒÙ†ÛŒŰŻŰŒ</p> +<p>ۧŰČ Ű·Ű±Ű­ Ù‡Ű§ و Ù…ŰŻÙ„ Ù‡Ű§ÛŒ Ù…ŰźŰȘلف ۚۧŰČŰŻÛŒŰŻ Ú©Ù†ÛŒŰŻ!</p> + tshirts + + + + + + ŰȘŰ§ÙŸ + ۧŰČ ŰšÛŒÙ† Ù…ŰŻÙ„ Ù‡Ű§ÛŒ ŰšŰłÛŒŰ§Ű± ŰČÛŒŰ§ŰŻ Ù…Ű§ ŰšÙ‡ŰȘŰ±ÛŒÙ† ŰȘŰ§ÙŸ ۱ۧ ŰšŰ±Ű§ÛŒ ŰźÙˆŰŻ ۚ۱گŰČÛŒÙ†ÛŒŰŻ. + top + + + + + + ŰšÙ„ÙˆŰČ + ŰšÙ„ÙˆŰČÙ‡Ű§ÛŒ Ù…ÙˆŰ±ŰŻ ŰčÙ„Ű§Ù‚Ù‡ ŰźÙˆŰŻ ۱ۧ ۚۧ ۷۱ۭ Ù‡Ű§ÛŒ ŰČÛŒŰšŰ§ ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ. + blouses + + + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† + <p>ÙŸÛŒŰ±Ű§Ù‡Ù† Ù…ÙˆŰ±ŰŻ ŰčÙ„Ű§Ù‚Ù‡ ŰźÙˆŰŻ ۱ۧ ۧŰČ ŰšÛŒÙ† Ű§Ù†ŰȘ۟ۧۚ Ù‡Ű§ÛŒ ÙŰ±Ű§ÙˆŰ§Ù† ÙŸÛŒŰ±Ű§Ù‡Ù† Ù…ŰŹÙ„ŰłÛŒŰŒ ÙŸÛŒŰ±Ű§Ù‡Ù† ۱ۭۧŰȘی و ÙŸÛŒŰ±Ű§Ù‡Ù† ŰȘۧۚ۳ŰȘŰ§Ù†Ù‡ ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ!</p> +<p>Ù„ŰšŰ§Űł Ù‡Ű§ÛŒÛŒ ŰšŰ±Ű§ÛŒ Ù‡Ű± Ű±ÙˆŰČی Ù‡Ű± ŰłÙ„ÛŒÙ‚Ù‡ و Ù‡Ű± موقŰčیŰȘ.</p> + dresses + + + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۱ۭۧŰȘ + <p>ŰŻÙ†ŰšŰ§Ù„ Ù„ŰšŰ§ŰłÛŒ ŰšŰ±Ű§ÛŒ Ű±ÙˆŰČ Ù‡ŰłŰȘÛŒŰŻŰŸÙ†ÚŻŰ§Ù‡ÛŒ ŰšÙ‡</p> +<p>Ù…ŰŹÙ…ÙˆŰčه Ù…Ű§ ŰšÛŒŰ§Ù†ŰŻŰ§ŰČÛŒŰŻ ŰȘۧ ŰšÙ‡ŰȘŰ±ÛŒÙ† ŰšŰ±Ű§ÛŒ ŰźÙˆŰŻŰȘŰ§Ù† Ű§Ù†ŰȘ۟ۧۚ Ú©Ù†ÛŒŰŻ.</p> + casual-dresses + + + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† Ù…ŰŹÙ„ŰłÛŒ + Ù„ŰšŰ§Űł Ù‡Ű§ÛŒ Ù…Ű§ ۱ۧ Ù…Ű±ÙˆŰ± Ú©Ù†ÛŒŰŻ ŰȘۧ ŰšŰ±Ű§ÛŒ یک ŰŽŰš ÙŰ±Ű§Ù…ÙˆŰŽ Ù†ŰŽŰŻÙ†ÛŒ یک Ù„ŰšŰ§Űł Ù…Ù†Ű§ŰłŰš ŰźÙˆŰŻ ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ! + evening-dresses + + + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ŰȘۧۚ۳ŰȘŰ§Ù†Ù‡ + ÙŸÛŒŰ±Ű§Ù‡Ù† کوŰȘŰ§Ù‡ŰŒ ÙŸÛŒŰ±Ű§Ù‡Ù† ŰšÙ„Ù†ŰŻŰŒ ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ŰŻŰ§Ű±ŰŒ ŰšÙ‡ŰȘŰ±ÛŒÙ† Ù„ŰšŰ§Űł ۱ۧ ŰšŰ±Ű§ÛŒ ŰȘۧۚ۳ŰȘŰ§Ù† ÙŸÛŒŰŻŰ§ Ú©Ù†ÛŒŰŻ. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/feature.xml b/_install/fixtures/fashion/langs/fa/data/feature.xml new file mode 100644 index 00000000..69eade8b --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/feature.xml @@ -0,0 +1,24 @@ + + + + ŰšÙ„Ù†ŰŻÛŒ + + + ÙŸÙ‡Ù†Ű§ + + + Űčمق + + + وŰČن + + + ŰȘŰ±Ú©ÛŒŰš + + + ۳ۚک + + + ŰźÙˆŰ§Ű” + + diff --git a/_install/fixtures/fashion/langs/fa/data/feature_value.xml b/_install/fixtures/fashion/langs/fa/data/feature_value.xml new file mode 100644 index 00000000..9e62b4b9 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + ٟلی ۧ۳ŰȘ۱ + + + ÙŸŰŽÙ… + + + ÙˆÛŒŰłÚ©ÙˆŰČ + + + Ű§Ù„Ű§ŰłŰȘین + + + Ù†Űź + + + Ű§ŰšŰ±ÛŒŰŽÙ… + + + ŰŹÛŒŰ± + + + Ű­Ű”ÛŒŰ± + + + Ú†Ű±Ù… + + + Ú©Ù„Ű§ŰłÛŒÚ© + + + ۱ۭۧŰȘی + + + Ù†ŰžŰ§Ù…ÛŒ + + + ŰŻŰźŰȘŰ±Ű§Ù†Ù‡ + + + ŰłÙ†ÚŻ + + + ŰłŰ§ŰŻÙ‡ + + + ÙŸÛŒŰ±Ű§Ù‡Ù†ÛŒ + + + ۹۳ŰȘین کوŰȘŰ§Ù‡ + + + ÙŸÛŒŰ±Ű§Ù‡Ù† Ű±Ù†ÚŻÛŒ + + + ÙŸÛŒŰ±Ű§Ù‡Ù† کوŰȘŰ§Ù‡ + + + ÙŸÛŒŰ±Ű§Ù‡Ù† Ù…ÛŒŰŻÛŒ + + + ÙŸÛŒŰ±Ű§Ù‡Ù† Ù…Ű§Ú©ŰłÛŒ + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (ŰŽŰ§Ù…Ù„ ŰŽŰ§Ù„) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/fa/data/featurevalue.xml b/_install/fixtures/fashion/langs/fa/data/featurevalue.xml new file mode 100644 index 00000000..11717e2c --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/image.xml b/_install/fixtures/fashion/langs/fa/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/index.php b/_install/fixtures/fashion/langs/fa/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/fa/data/manufacturer.xml b/_install/fixtures/fashion/langs/fa/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/order_message.xml b/_install/fixtures/fashion/langs/fa/data/order_message.xml new file mode 100644 index 00000000..7e659092 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/order_message.xml @@ -0,0 +1,12 @@ + + + + ŰȘŰ§ŰźÛŒŰ± + ŰŻŰ±ÙˆŰŻ, + + مŰȘŰŁŰłÙŰ§Ù†Ù‡ŰŒ یکی ۧŰČ Ù…ÙˆŰ§Ű±ŰŻ ŰłÙŰ§Ű±ŰŽ ŰŽÙ…Ű§ ۯ۱ Ű§Ù†ŰšŰ§Ű± Ù…ÙˆŰŹÙˆŰŻ Ù†ÛŒŰłŰȘ. Ű§ÛŒÙ† ممکن ۧ۳ŰȘ ۚۧŰčŰ« یک ŰȘŰŁŰźÛŒŰ± کوŰȘŰ§Ù‡ ۯ۱ ŰȘŰ­ÙˆÛŒÙ„ ŰŽÙˆŰŻ. + Ù„Ű·ÙŰ§Ù‹ ŰčŰ°Ű±ŰźÙˆŰ§Ù‡ÛŒ Ù…Ű§ ۱ۧ ÙŸŰ°ÛŒŰ±Ű§ ŰšŰ§ŰŽÛŒŰŻ و Ù…Ű·Ù…ŰŠÙ† ŰšŰ§ŰŽÛŒŰŻ ŰšŰ±Ű§ÛŒ Ű±ÙŰč ŰąÙ† ۳۟ŰȘ ŰȘÙ„Ű§ŰŽ ŰźÙˆŰ§Ù‡ÛŒÙ… ک۱ۯ. + +ÙŸÛŒŰ±ÙˆŰČ ŰšŰ§ŰŽÛŒŰŻ, + + diff --git a/_install/fixtures/fashion/langs/fa/data/ordermessage.xml b/_install/fixtures/fashion/langs/fa/data/ordermessage.xml new file mode 100644 index 00000000..d22a7106 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/ordermessage.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/product.xml b/_install/fixtures/fashion/langs/fa/data/product.xml new file mode 100644 index 00000000..d1696e3a --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ŰȘÛŒŰŽŰ±ŰȘ ۹۳ŰȘین کوŰȘŰ§Ù‡ Ú©Ù…Ű±Ù†ÚŻ یقه ۯۧ۱ ی Ù…ÙˆŰ§ŰŻ Ù†Ű±Ù… و Ú†ŰłŰšÙ†Ű§Ú©ŰŒ Ù…Ù†Ű§ŰłŰš ŰšŰ±Ű§ÛŒ ŰȘۧۚ۳ŰȘŰ§Ù†. ŰšÙ‡ Ù‡Ù…Ű±Ű§Ù‡ یک Ú©Ù„Ű§Ù‡ Ű­Ű”ÛŒŰ±ÛŒ ŰČÛŒŰšŰ§!</p> + faded-short-sleeve-tshirts + + + + ŰȘÛŒŰŽŰ±ŰȘ ۹۳ŰȘین کوŰȘŰ§Ù‡ Ú©Ù…Ű±Ù†ÚŻ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ŰšÙ„ÙˆŰČ ŰąŰłŰȘین کوŰȘŰ§Ù‡ ۚۧ ۹۳ŰȘین کۧ۱ ŰŽŰŻÙ‡.</p> + blouse + + + + ŰšÙ„ÙˆŰČ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>100% Ù†Űź و Ű·Ű±Ű§Ű­ÛŒ ŰšÛŒŰŽŰȘ۱ Ű±Ù†ÚŻ ŰłÛŒŰ§Ù‡ و ŰłÙÛŒŰŻ Ű±Ű§Ù‡ Ű±Ű§Ù‡ ۚۧ ŰŻŰ§Ù…Ù† Ù†Ű§Ű±Ù†ŰŹÛŒ.</p> + printed-dress + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ÙŸÛŒŰ±Ű§Ù‡Ù† Ù‡Ű§ÛŒ Ù…ŰŹÙ„ŰłÛŒ ۷۱ۭ ۯۧ۱ ۚۧ ۹۳ŰȘین ۱ۧ۳ŰȘه و ۚۧ Ú©Ù…Ű±ŰšÙ†ŰŻ ŰłÛŒŰ§Ù‡ و ŰłÙÛŒŰŻ Ù†Ű§ŰČÚ©.</p> + printed-dress + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ÙŸÛŒŰ±Ű§Ù‡Ù† ŰšÙ„Ù†ŰŻ ۷۱ۭ ۯۧ۱ ۚۧ ŰšÙ†ŰŻ Ù‚Ű§ŰšÙ„ ŰȘÙ†ŰžÛŒÙ…. ŰŻŰ§Ű±Ű§ÛŒ چین ۯ۱ ÙŸŰ§ÛŒÛŒÙ† ÙŸÛŒŰ±Ű§Ù‡Ù†.</p> + printed-summer-dress + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ ŰȘۧۚ۳ŰȘŰ§Ù†Ù‡ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ÙŸÛŒŰ±Ű§Ù‡Ù† Ű§ŰšŰ±ÛŒŰŽÙ…ÛŒ ŰšŰŻÙˆÙ† ۹۳ŰȘین و Ű±ÙˆÛŒ ŰČŰ§Ù†Ùˆ.</p> + printed-summer-dress + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ ŰȘۧۚ۳ŰȘŰ§Ù†Ù‡ + In stock + + + + <p>Ù…ÙŰŻ Ű§Ű”Ű·Ù„Ű§Ű­ کلی ۯ۱ Ű­ÛŒŰ·Ù‡ Ù‡Ù†Ű± Ű·Ű±Ű§Ű­ÛŒ ÙŸÙˆŰŽŰ§Ú© ۧ۳ŰȘ که ŰȘŰ­ŰȘ ŰȘŰ§Ű«ÛŒŰ± Ű§ÙˆŰ¶Ű§Űč ÙŰ±Ù‡Ù†ÚŻÛŒ و ۧۏŰȘÙ…Ű§Űčی ŰŹŰ§Ù…Űčه ۯ۱ یک ŰŻÙˆŰ±Ù‡ ŰČÙ…Ű§Ù†ÛŒ Ù…ŰŽŰźŰ” Ű§Ù†ŰŹŰ§Ù… Ù…ÛŒâ€ŒÙŸŰ°ÛŒŰ±ŰŻ. ŰšŰ±Ű§ÛŒ ŰȘŰčŰ±ÛŒÙ Ù…ŰŻ (Ű§Ù†ÚŻÙ„ÛŒŰłÛŒ: Fashion) ŰŻÙˆ ŰȘŰčŰ±ÛŒÙ ŰŻÛŒÚŻŰ± نیŰČ Ű§Ű±Ű§ŰŠÙ‡ ŰŽŰŻÙ‡ ۧ۳ŰȘ: "ŰŽÛŒÙˆÙ‡ Ű±ÙŰȘŰ§Ű±ÛŒ که ŰšÙ‡ Ű·ÙˆŰ± موقŰȘ ŰȘÙˆŰłŰ· ۚ۟ێ Ù…ŰŽŰźŰ”ÛŒ ۧŰČ Ű§Űč۶ۧۥ یک ÚŻŰ±ÙˆÙ‡ ۧۏŰȘÙ…Ű§Űčی ۧŰȘ۟ۧ۰ می ŰŽÙˆŰŻŰŒ ŰšÙ‡ Ű§ÛŒÙ† ŰŻÙ„ÛŒÙ„ که ŰąÙ† Ű±ÙŰȘۧ۱ Ű§Ù†ŰȘŰźŰ§ŰšÛŒ ۱ۧ ۧŰČ Ù†ŰžŰ± ۧۏŰȘÙ…Ű§Űčی ŰšŰ±Ű§ÛŒ ŰąÙ† ŰČÙ…Ű§Ù† و موقŰčیŰȘ Ù…Ù†Ű§ŰłŰš ŰȘŰŽŰźÛŒŰ” می ŰŻÙ‡Ù†ŰŻ. Ù…ŰŻ نوŰč Ù„ŰšŰ§ŰłÛŒ ۧ۳ŰȘ که Ű§ŰźÛŒŰ±Ű§Ù‹ ÙŸŰ°ÛŒŰ±ÙŰȘه ŰŽŰŻÙ‡ ۧ۳ŰȘ. Ù…ŰŻ ۯ۱ یک ŰČŰšŰ§Ù† و Ù‚Ű§ŰšÙ„ فهم ۯ۱ک ŰźÙˆŰ§Ű” ŰžŰ§Ù‡Ű±ÛŒ Ù„ŰšŰ§Űł و ŰŽÙ†Ű§ŰźŰȘ موقŰčیŰȘ ۧۏŰȘÙ…Ű§Űč Ù†ŰłŰšŰȘ ŰšÙ‡ ÙŸÙˆŰŽŰŽ Ű§ÙŰ±Ű§ŰŻ ۧ۳ŰȘ.</p> + <p>ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ Ű±ÙˆÛŒ ŰČŰ§Ù†Ùˆ.</p> + printed-chiffon-dress + + + + ÙŸÛŒŰ±Ű§Ù‡Ù† ۷۱ۭ ۯۧ۱ Ű§ŰšŰ±ÛŒŰŽÙ…ÛŒ + In stock + + + diff --git a/_install/fixtures/fashion/langs/fa/data/profile.xml b/_install/fixtures/fashion/langs/fa/data/profile.xml new file mode 100644 index 00000000..0ca3c4e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/profile.xml @@ -0,0 +1,12 @@ + + + + ÙŸŰŽŰȘÛŒŰšŰ§Ù† + + + مŰȘŰ±ŰŹÙ… + + + Ù…ŰłŰŠÙˆÙ„ ÙŰ±ÙˆŰŽ + + diff --git a/_install/fixtures/fashion/langs/fa/data/scene.xml b/_install/fixtures/fashion/langs/fa/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/supplier.xml b/_install/fixtures/fashion/langs/fa/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fa/data/tag.xml b/_install/fixtures/fashion/langs/fa/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/fa/index.php b/_install/fixtures/fashion/langs/fa/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/fa/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/fr/data/attribute.xml b/_install/fixtures/fashion/langs/fr/data/attribute.xml new file mode 100644 index 00000000..c30ff931 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + Taille unique + + + Gris + + + Taupe + + + Beige + + + Blanc + + + Blanc cassĂ© + + + Rouge + + + Noir + + + Camel + + + Orange + + + Bleu + + + Vert + + + Jaune + + + Marron + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Rose + + diff --git a/_install/fixtures/fashion/langs/fr/data/attribute_group.xml b/_install/fixtures/fashion/langs/fr/data/attribute_group.xml new file mode 100644 index 00000000..03aa3b8c --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Taille + Taille + + + Pointure + Pointure + + + Couleur + Couleur + + diff --git a/_install/fixtures/fashion/langs/fr/data/attributegroup.xml b/_install/fixtures/fashion/langs/fr/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/carrier.xml b/_install/fixtures/fashion/langs/fr/data/carrier.xml new file mode 100644 index 00000000..85501d51 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Livraison le lendemain ! + + diff --git a/_install/fixtures/fashion/langs/fr/data/category.xml b/_install/fixtures/fashion/langs/fr/data/category.xml new file mode 100644 index 00000000..988e6315 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/category.xml @@ -0,0 +1,81 @@ + + + + Femmes + <p><strong>Vous trouverez ici toutes les collections mode pour femmes.</strong></p> +<p>Cette catĂ©gorie regroupe tous les basiques de votre garde-robe et bien plus encore :</p> +<p>chaussures, accessoires, T-shirts imprimĂ©s, robes Ă©lĂ©gantes et jeans pour femmes !</p> + femmes + + + + + + Tops + <p>Choisissez parmi une large sĂ©lection de T-shirts Ă  manches courtes, longues ou 3/4, de tops, de dĂ©bardeurs, de chemisiers et bien plus encore.</p> +<p>Trouvez la coupe qui vous va le mieux !</p> + tops + + + + + + T-shirts + <p>Les must have de votre garde-robe : dĂ©couvrez les divers modĂšles ainsi que les diffĂ©rentes</p> +<p>coupes et couleurs de notre collection !</p> + t-shirts + + + + + + Tops + Choisissez le top qui vous va le mieux, parmi une large sĂ©lection. + top + + + + + + Chemisiers + Coordonnez vos accessoires Ă  vos chemisiers prĂ©fĂ©rĂ©s, pour un look parfait. + chemisiers + + + + + + Robes + <p>Trouvez votre nouvelle piĂšce prĂ©fĂ©rĂ©e parmi une large sĂ©lection de robes dĂ©contractĂ©es, d'Ă©tĂ© et de soirĂ©e !</p> +<p>Nous avons des robes pour tous les styles et toutes les occasions.</p> + robes + + + + + + Robes dĂ©contractĂ©es + <p>Vous cherchez une robe pour la vie de tous les jours ? DĂ©couvrez</p> +<p>notre sĂ©lection de robes et trouvez celle qui vous convient.</p> + robes-decontractees + + + + + + Robes de soirĂ©e + Trouvez la robe parfaite pour une soirĂ©e inoubliable ! + robes-soiree + + + + + + Robes d'Ă©tĂ© + Courte, longue, en soie ou imprimĂ©e, trouvez votre robe d'Ă©tĂ© idĂ©ale ! + robes-ete + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/feature.xml b/_install/fixtures/fashion/langs/fr/data/feature.xml new file mode 100644 index 00000000..98248bb8 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/feature.xml @@ -0,0 +1,24 @@ + + + + Hauteur + + + Largeur + + + Profondeur + + + Poids + + + Compositions + + + Styles + + + PropriĂ©tĂ©s + + diff --git a/_install/fixtures/fashion/langs/fr/data/feature_value.xml b/_install/fixtures/fashion/langs/fr/data/feature_value.xml new file mode 100644 index 00000000..9075c3b5 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Laine + + + Viscose + + + Elasthanne + + + Coton + + + Soie + + + Daim + + + Paille + + + Cuir + + + Classique + + + DĂ©contractĂ© + + + Militaire + + + FĂ©minin + + + Rock + + + Basique + + + HabillĂ© + + + Manches courtes + + + Robe colorĂ©e + + + Robe courte + + + Robe midi + + + Maxi-robe + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/fr/data/featurevalue.xml b/_install/fixtures/fashion/langs/fr/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/image.xml b/_install/fixtures/fashion/langs/fr/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/index.php b/_install/fixtures/fashion/langs/fr/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/fr/data/manufacturer.xml b/_install/fixtures/fashion/langs/fr/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/order_message.xml b/_install/fixtures/fashion/langs/fr/data/order_message.xml new file mode 100644 index 00000000..673acae3 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Retard + Bonjour, + +Malheureusement, un article que vous avez commandĂ© est actuellement en rupture de stock. Pour cette raison, il est possible que la livraison de votre commande soit lĂ©gĂšrement retardĂ©e. +Nous vous prions de bien vouloir accepter nos excuses. Nous faisons tout notre possible pour remĂ©dier Ă  cette situation. + +Cordialement, + + diff --git a/_install/fixtures/fashion/langs/fr/data/ordermessage.xml b/_install/fixtures/fashion/langs/fr/data/ordermessage.xml new file mode 100644 index 00000000..90386d0d --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/ordermessage.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/product.xml b/_install/fixtures/fashion/langs/fr/data/product.xml new file mode 100644 index 00000000..a80ad098 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>T-shirt dĂ©lavĂ© Ă  manches courtes et col rond. MatiĂšre douce et extensible pour un confort inĂ©galĂ©. Pour un look estival, portez-le avec un chapeau de paille !</p> + t-shirt-delave-manches-courtes + + + + T-shirt dĂ©lavĂ© Ă  manches courtes + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Chemisier Ă  manches courtes drapĂ©es, pour un style fĂ©minin et Ă©lĂ©gant.</p> + chemisier + + + + Chemisier + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe imprimĂ©e 100 % coton. Haut rayĂ© noir et blanc et bas composĂ© d'une jupe patineuse taille haute.</p> + robe-imprimee + + + + Robe imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe de soirĂ©e imprimĂ©e Ă  manches droites et volants, avec fine ceinture noire Ă  la taille.</p> + robe-imprimee + + + + Robe imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Longue robe imprimĂ©e Ă  fines bretelles rĂ©glables. DĂ©colletĂ© en V et armature sous la poitrine. Volants au bas de la robe.</p> + robe-ete-imprimee + + + + Robe d'Ă©tĂ© imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe en mousseline sans manches, longueur genoux. DĂ©colletĂ© en V avec Ă©lastique sous la poitrine.</p> + robe-ete-imprimee + + + + Robe d'Ă©tĂ© imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe en mousseline imprimĂ©e Ă  bretelles, longueur genoux. Profond dĂ©colletĂ© en V.</p> + robe-mousseline-imprimee + + + + Robe en mousseline imprimĂ©e + En stock + + + diff --git a/_install/fixtures/fashion/langs/fr/data/profile.xml b/_install/fixtures/fashion/langs/fr/data/profile.xml new file mode 100644 index 00000000..1f0f97ca --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logisticien + + + Traducteur + + + Commercial + + diff --git a/_install/fixtures/fashion/langs/fr/data/scene.xml b/_install/fixtures/fashion/langs/fr/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/supplier.xml b/_install/fixtures/fashion/langs/fr/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/fr/data/tag.xml b/_install/fixtures/fashion/langs/fr/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/fr/index.php b/_install/fixtures/fashion/langs/fr/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/fr/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/id/data/attribute.xml b/_install/fixtures/fashion/langs/id/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/id/data/attribute_group.xml b/_install/fixtures/fashion/langs/id/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/id/data/attributegroup.xml b/_install/fixtures/fashion/langs/id/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/carrier.xml b/_install/fixtures/fashion/langs/id/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/id/data/category.xml b/_install/fixtures/fashion/langs/id/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/feature.xml b/_install/fixtures/fashion/langs/id/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/id/data/feature_value.xml b/_install/fixtures/fashion/langs/id/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/id/data/featurevalue.xml b/_install/fixtures/fashion/langs/id/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/image.xml b/_install/fixtures/fashion/langs/id/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/index.php b/_install/fixtures/fashion/langs/id/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/id/data/manufacturer.xml b/_install/fixtures/fashion/langs/id/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/order_message.xml b/_install/fixtures/fashion/langs/id/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/id/data/ordermessage.xml b/_install/fixtures/fashion/langs/id/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/product.xml b/_install/fixtures/fashion/langs/id/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/id/data/profile.xml b/_install/fixtures/fashion/langs/id/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/id/data/scene.xml b/_install/fixtures/fashion/langs/id/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/id/data/supplier.xml b/_install/fixtures/fashion/langs/id/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/id/data/tag.xml b/_install/fixtures/fashion/langs/id/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/id/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/id/index.php b/_install/fixtures/fashion/langs/id/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/id/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/index.php b/_install/fixtures/fashion/langs/index.php new file mode 100644 index 00000000..22383709 --- /dev/null +++ b/_install/fixtures/fashion/langs/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/it/data/attribute.xml b/_install/fixtures/fashion/langs/it/data/attribute.xml new file mode 100644 index 00000000..222283a9 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + Taglia unica + + + Grigio + + + Talpa + + + Beige + + + Bianco + + + Avorio + + + Rosso + + + Nero + + + Cammello + + + Arancione + + + Blu + + + Verde + + + Giallo + + + Marrone + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Rosa + + diff --git a/_install/fixtures/fashion/langs/it/data/attribute_group.xml b/_install/fixtures/fashion/langs/it/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/it/data/attributegroup.xml b/_install/fixtures/fashion/langs/it/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/carrier.xml b/_install/fixtures/fashion/langs/it/data/carrier.xml new file mode 100644 index 00000000..0cef824a --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Consegna il giorno successivo! + + diff --git a/_install/fixtures/fashion/langs/it/data/category.xml b/_install/fixtures/fashion/langs/it/data/category.xml new file mode 100644 index 00000000..2f4cc0df --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/category.xml @@ -0,0 +1,81 @@ + + + + Donna + <p><strong>Qui troverete tutte le collezioni moda donna.</strong></p> +<p>Questa categoria comprende tutti i capi base del vostro guardaroba e molto altro:</p> +<p>scarpe, accessori, T-shirt stampate, abiti femminili, jeans da donna!</p> + donna + + + + + + Top + <p>Scegliete tra T-shirt, top, camicette, maniche corte, maniche lunghe, canottiere, maniche a 3/4 e altro.</p> +<p>Trovate il modello piĂč adatto a voi!</p> + top + + + + + + T-shirt + <p>Il must del vostro guardaroba, date un'occhiata ai vari colori,</p> +<p>forme e modelli della nostra collezione!</p> + tshirt + + + + + + Top + Scegliete il capo piĂč adatto a voi nell'ampia varietĂ  di top proposta. + top + + + + + + Camicette + Abbinate le vostre camicette preferite agli accessori giusti per un look perfetto. + camicette + + + + + + Abiti + <p>Trovate il vostro abbigliamento preferito nella nostra ampia scelta di abiti da sera, casual o estivi!</p> +<p>Proponiamo abiti per tutti i giorni, tutti gli stili e tutte le occasioni.</p> + abiti + + + + + + Abiti casual + <p>State cercando un abito per tutti i giorni? Date un'occhiata alla</p> +<p>nostra selezione di abiti per trovare quello adatto a voi.</p> + abiti-casual + + + + + + Abiti da sera + Curiosate tra i nostri abiti per scegliere il capo perfetto per una serata indimenticabile! + abiti-da-sera + + + + + + Abiti estivi + Abito corto, abito lungo, abito in seta, abito stampato... qui troverete l'abito perfetto per l'estate. + abiti-estivi + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/feature.xml b/_install/fixtures/fashion/langs/it/data/feature.xml new file mode 100644 index 00000000..20e43fb5 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/feature.xml @@ -0,0 +1,24 @@ + + + + Altezza + + + Larghezza + + + ProfonditĂ  + + + Peso + + + Composizioni + + + Modelli + + + ProprietĂ  + + diff --git a/_install/fixtures/fashion/langs/it/data/feature_value.xml b/_install/fixtures/fashion/langs/it/data/feature_value.xml new file mode 100644 index 00000000..ca6d38ad --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Poliestere + + + Lana + + + Viscosa + + + Elastan + + + Cotone + + + Seta + + + Pelle scamosciata + + + Paglia + + + Pelle + + + Classico + + + Casual + + + Militare + + + Femminile + + + Rock + + + Base + + + Elegante + + + Manica corta + + + Abito colorato + + + Abito corto + + + Abito midi + + + Abito maxi + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/it/data/featurevalue.xml b/_install/fixtures/fashion/langs/it/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/image.xml b/_install/fixtures/fashion/langs/it/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/index.php b/_install/fixtures/fashion/langs/it/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/it/data/manufacturer.xml b/_install/fixtures/fashion/langs/it/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/order_message.xml b/_install/fixtures/fashion/langs/it/data/order_message.xml new file mode 100644 index 00000000..59201aad --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Ritardo + Buongiorno, + +purtroppo un articolo che hai ordinato Ăš momentaneamente esaurito. Potrebbe pertanto verificarsi un leggero ritardo nella consegna. +Scusandoci per l'inconveniente, ti assicuriamo che stiamo facendo del nostro meglio per risolverlo. + +Cordiali saluti, + + diff --git a/_install/fixtures/fashion/langs/it/data/ordermessage.xml b/_install/fixtures/fashion/langs/it/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/product.xml b/_install/fixtures/fashion/langs/it/data/product.xml new file mode 100644 index 00000000..f9146a11 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>T-shirt scolorita a manica corta con scollatura alta. Materiale morbido ed elastico per una vestibilitĂ  comoda. Accessoriatela con un cappello in paglia e siete pronte per l'estate!</p> + tshirt-scolorite-manica-corta + + + + T-shirt scolorite a manica corta + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Camicetta a manica corta con dettaglio femminile di manica drappeggiata.</p> + camicetta + + + + Camicetta + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Abito stampato doppio in 100% cotone. Top a righe bianche e nere con gonna arancione da pattinatrice a vita alta.</p> + abito-stampato + + + + Abito stampato + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Abito da sera stampato con maniche dritte, sottile cintura nera in vita e gonna a balze.</p> + abito-stampato + + + + Abito stampato + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Abito stampato lungo con sottili spalline regolabili. Scollo a V e ferretto sotto il seno con balze sul fondo dell'abito.</p> + abito-estivo-stampato + + + + Abito estivo stampato + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Abito smanicato al ginocchio in chiffon. Scollo a V con elastico sotto il seno.</p> + abito-estivo-stampato + + + + Abito estivo stampato + In stock + + + + <p>Dal 2010 Fashion crea collezioni di moda particolarmente curate. Il brand propone modelli femminili costituiti da eleganti coordinati e abiti iconici, che da allora si sono evoluti in una collezione prĂȘt-Ă -porter completa in cui ogni articolo Ăš una parte essenziale del guardaroba di ogni donna. Il risultato? Look trendy, comodi e chic dall'eleganza giovanile e dal caratteristico stile inconfondibile. Tutti i meravigliosi capi sono realizzati in Italia e fabbricati con la massima attenzione. Ora Fashion si ingrandisce proponendo una gamma di accessori che comprendono scarpe, cappelli, cinture e molto altro!</p> + <p>Abito stampato al ginocchio in chiffon con spalline a canotta. Profonda scollatura a V.</p> + abito-stampato-chiffon + + + + Abito stampato in chiffon + In stock + + + diff --git a/_install/fixtures/fashion/langs/it/data/profile.xml b/_install/fixtures/fashion/langs/it/data/profile.xml new file mode 100644 index 00000000..abdf63ce --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/profile.xml @@ -0,0 +1,12 @@ + + + + Responsabile logistica + + + Traduttore + + + Commesso + + diff --git a/_install/fixtures/fashion/langs/it/data/scene.xml b/_install/fixtures/fashion/langs/it/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/it/data/supplier.xml b/_install/fixtures/fashion/langs/it/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/it/data/tag.xml b/_install/fixtures/fashion/langs/it/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/it/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/it/index.php b/_install/fixtures/fashion/langs/it/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/it/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/nl/data/attribute.xml b/_install/fixtures/fashion/langs/nl/data/attribute.xml new file mode 100644 index 00000000..1af3d612 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grijs + + + Taupe + + + Beige + + + Wit + + + Gebroken wit + + + Rood + + + Zwart + + + Camel + + + Oranje + + + Blauw + + + Groen + + + Geel + + + Bruin + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Roze + + diff --git a/_install/fixtures/fashion/langs/nl/data/attribute_group.xml b/_install/fixtures/fashion/langs/nl/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/nl/data/attributegroup.xml b/_install/fixtures/fashion/langs/nl/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/carrier.xml b/_install/fixtures/fashion/langs/nl/data/carrier.xml new file mode 100644 index 00000000..072f76c7 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/carrier.xml @@ -0,0 +1,6 @@ + + + + De volgende dag in huis! + + diff --git a/_install/fixtures/fashion/langs/nl/data/category.xml b/_install/fixtures/fashion/langs/nl/data/category.xml new file mode 100644 index 00000000..a31bc5f9 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/category.xml @@ -0,0 +1,75 @@ + + + + Dames + <p><strong>Hier vindt u alle modecollecties voor dames.</strong></p><p>In deze categorie vindt u alle basics voor in uw garderobe en nog veel meer:</p><p>schoenen, accessoires, bedrukte T-shirts, vrouwelijke jurken, jeans voor dames!</p> + dames + + + + + + Tops + <p>Keuze uit T-shirts, tops, blouses, korte mouwen, lange mouwen, tank tops, 3/4 mouwen en nog veel meer.</p><p>Vind de beste snit!</p> + tops + + + + + + T-shirts + <p>De 'must have' van uw garderobe, ontdek alle kleuren,</p><p>vormen en stijlen van onze collectie!</p> + t-shirts + + + + + + Tops + Kies uw top uit ons ruime aanbod. + top + + + + + + Blouses + Combineer uw favoriete blouses met de juiste accessoires voor de perfecte look. + blouse + + + + + + Jurken + <p>Ontdek uw favoriete jurk in ons ruim aanbod avond-, zomer- en casual jurken!</p><p>We hebben jurken voor elke dag, elke stijl en elke gelegenheid.</p> + jurken + + + + + + Casual Jurken + <p>U bent op zoek naar een casual jurk? Bekijk</p><p>onze jurkenselectie, er zit vast iets voor u tussen.</p> + casual-jurken + + + + + + Avondjurken + Blader door onze verschillende jurken en kies de perfecte jurk voor een onvergetelijke avond! + avondjurken + + + + + + Zomerjurken + Korte jurk, lange jurk, zijde jurk, bedrukte jurk, u vindt vast en zeker de perfecte zomerjurk. + zomerjurken + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/feature.xml b/_install/fixtures/fashion/langs/nl/data/feature.xml new file mode 100644 index 00000000..23ba29ea --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/feature.xml @@ -0,0 +1,24 @@ + + + + Hoogte + + + Breedte + + + Diepte + + + Gewicht + + + Samenstellingen + + + Stijlen + + + Eigenschappen + + diff --git a/_install/fixtures/fashion/langs/nl/data/feature_value.xml b/_install/fixtures/fashion/langs/nl/data/feature_value.xml new file mode 100644 index 00000000..89d6f127 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wol + + + Viscose + + + Elastaan + + + Katoen + + + Zijde + + + SuĂšde + + + Stro + + + Leer + + + Klassiek + + + Casual + + + Militair + + + Meisjesachtig + + + Rock + + + Basic + + + Dressy + + + Korte mouwen + + + Kleurige jurk + + + Korte jurk + + + Midi jurk + + + Maxi jurk + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/nl/data/featurevalue.xml b/_install/fixtures/fashion/langs/nl/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/image.xml b/_install/fixtures/fashion/langs/nl/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/index.php b/_install/fixtures/fashion/langs/nl/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/nl/data/manufacturer.xml b/_install/fixtures/fashion/langs/nl/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/order_message.xml b/_install/fixtures/fashion/langs/nl/data/order_message.xml new file mode 100644 index 00000000..02b0ed7e --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/order_message.xml @@ -0,0 +1,7 @@ + + + + Vertraging + Hallo, Een van de door u bestelde artikelen is momenteel niet op voorraad. Hierdoor kan de levertijd iets uitlopen. Wij bieden u onze excuses aan en doen er alles aan om u zo snel mogelijk te leveren. Met vriendelijke groet, + + diff --git a/_install/fixtures/fashion/langs/nl/data/ordermessage.xml b/_install/fixtures/fashion/langs/nl/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/product.xml b/_install/fixtures/fashion/langs/nl/data/product.xml new file mode 100644 index 00000000..e7c2d46d --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Gebleekt T-shirt met korte mouwen en hoge halslijn. Zacht en elastisch materiaal zorgt voor een comfortabele pasvorm. Maak het af met een strooien hoed en u bent klaar voor de zomer!</p> + gebleekte-T-shirts-met-korte-mouwen + + + + Gebleekte T-shirts met Korte Mouwen + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Blouse met korte mouwen en gedrapeerd detail.</p> + blouse + + + + Blouse + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>100% katoen dubbel bedrukte jurk. Zwart-wit gestreepte top en oranje rok met hoge taille.</p> + bedrukte-jurk + + + + Bedrukte Jurk + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Bedrukte avondjurk met rechte mouwen, dunne zwarte riem en gelaagde rok.</p> + bedrukte-jurk + + + + Bedrukte Jurk + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Lange bedrukte jurk met smalle verstelbare bandjes. V-hals en gesmokte bies onder de buste. Ruches aan de onderkant.</p> + bedrukte-zomer-jurk + + + + Bedrukte Zomerjurk + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Mouwloos jurkje van chiffon tot op de knie. V-hals en elastische inzet onder de buste.</p> + bedrukte-zomer-jurk + + + + Bedrukte Zomerjurk + Op voorraad + + + + <p>Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een prĂȘt-Ă -porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in ItaliĂ«. Fashion breidt zijn aanbod uit met accessoires zoals schoenen, hoeden, riemen!</p> + <p>Jurkje van chiffon tot op de knie met smalle schouderbandjes. Diepe V-hals.</p> + bedrukt-jurkje-chiffon + + + + Bedrukt jurkje van chiffon + Op voorraad + + + diff --git a/_install/fixtures/fashion/langs/nl/data/profile.xml b/_install/fixtures/fashion/langs/nl/data/profile.xml new file mode 100644 index 00000000..92fa0ecb --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistiek medewerker + + + Vertaler + + + Verkoper + + diff --git a/_install/fixtures/fashion/langs/nl/data/scene.xml b/_install/fixtures/fashion/langs/nl/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/supplier.xml b/_install/fixtures/fashion/langs/nl/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/nl/data/tag.xml b/_install/fixtures/fashion/langs/nl/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/nl/index.php b/_install/fixtures/fashion/langs/nl/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/nl/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/pl/data/attribute.xml b/_install/fixtures/fashion/langs/pl/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/pl/data/attribute_group.xml b/_install/fixtures/fashion/langs/pl/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/pl/data/attributegroup.xml b/_install/fixtures/fashion/langs/pl/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/carrier.xml b/_install/fixtures/fashion/langs/pl/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/pl/data/category.xml b/_install/fixtures/fashion/langs/pl/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/feature.xml b/_install/fixtures/fashion/langs/pl/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/pl/data/feature_value.xml b/_install/fixtures/fashion/langs/pl/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/pl/data/featurevalue.xml b/_install/fixtures/fashion/langs/pl/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/image.xml b/_install/fixtures/fashion/langs/pl/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/index.php b/_install/fixtures/fashion/langs/pl/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/pl/data/manufacturer.xml b/_install/fixtures/fashion/langs/pl/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/order_message.xml b/_install/fixtures/fashion/langs/pl/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/pl/data/ordermessage.xml b/_install/fixtures/fashion/langs/pl/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/product.xml b/_install/fixtures/fashion/langs/pl/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/pl/data/profile.xml b/_install/fixtures/fashion/langs/pl/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/pl/data/scene.xml b/_install/fixtures/fashion/langs/pl/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/supplier.xml b/_install/fixtures/fashion/langs/pl/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/pl/data/tag.xml b/_install/fixtures/fashion/langs/pl/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/pl/index.php b/_install/fixtures/fashion/langs/pl/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/pl/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/qc/data/attribute.xml b/_install/fixtures/fashion/langs/qc/data/attribute.xml new file mode 100644 index 00000000..c30ff931 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + Taille unique + + + Gris + + + Taupe + + + Beige + + + Blanc + + + Blanc cassĂ© + + + Rouge + + + Noir + + + Camel + + + Orange + + + Bleu + + + Vert + + + Jaune + + + Marron + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Rose + + diff --git a/_install/fixtures/fashion/langs/qc/data/attribute_group.xml b/_install/fixtures/fashion/langs/qc/data/attribute_group.xml new file mode 100644 index 00000000..03aa3b8c --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Taille + Taille + + + Pointure + Pointure + + + Couleur + Couleur + + diff --git a/_install/fixtures/fashion/langs/qc/data/attributegroup.xml b/_install/fixtures/fashion/langs/qc/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/carrier.xml b/_install/fixtures/fashion/langs/qc/data/carrier.xml new file mode 100644 index 00000000..85501d51 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Livraison le lendemain ! + + diff --git a/_install/fixtures/fashion/langs/qc/data/category.xml b/_install/fixtures/fashion/langs/qc/data/category.xml new file mode 100644 index 00000000..988e6315 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/category.xml @@ -0,0 +1,81 @@ + + + + Femmes + <p><strong>Vous trouverez ici toutes les collections mode pour femmes.</strong></p> +<p>Cette catĂ©gorie regroupe tous les basiques de votre garde-robe et bien plus encore :</p> +<p>chaussures, accessoires, T-shirts imprimĂ©s, robes Ă©lĂ©gantes et jeans pour femmes !</p> + femmes + + + + + + Tops + <p>Choisissez parmi une large sĂ©lection de T-shirts Ă  manches courtes, longues ou 3/4, de tops, de dĂ©bardeurs, de chemisiers et bien plus encore.</p> +<p>Trouvez la coupe qui vous va le mieux !</p> + tops + + + + + + T-shirts + <p>Les must have de votre garde-robe : dĂ©couvrez les divers modĂšles ainsi que les diffĂ©rentes</p> +<p>coupes et couleurs de notre collection !</p> + t-shirts + + + + + + Tops + Choisissez le top qui vous va le mieux, parmi une large sĂ©lection. + top + + + + + + Chemisiers + Coordonnez vos accessoires Ă  vos chemisiers prĂ©fĂ©rĂ©s, pour un look parfait. + chemisiers + + + + + + Robes + <p>Trouvez votre nouvelle piĂšce prĂ©fĂ©rĂ©e parmi une large sĂ©lection de robes dĂ©contractĂ©es, d'Ă©tĂ© et de soirĂ©e !</p> +<p>Nous avons des robes pour tous les styles et toutes les occasions.</p> + robes + + + + + + Robes dĂ©contractĂ©es + <p>Vous cherchez une robe pour la vie de tous les jours ? DĂ©couvrez</p> +<p>notre sĂ©lection de robes et trouvez celle qui vous convient.</p> + robes-decontractees + + + + + + Robes de soirĂ©e + Trouvez la robe parfaite pour une soirĂ©e inoubliable ! + robes-soiree + + + + + + Robes d'Ă©tĂ© + Courte, longue, en soie ou imprimĂ©e, trouvez votre robe d'Ă©tĂ© idĂ©ale ! + robes-ete + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/feature.xml b/_install/fixtures/fashion/langs/qc/data/feature.xml new file mode 100644 index 00000000..98248bb8 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/feature.xml @@ -0,0 +1,24 @@ + + + + Hauteur + + + Largeur + + + Profondeur + + + Poids + + + Compositions + + + Styles + + + PropriĂ©tĂ©s + + diff --git a/_install/fixtures/fashion/langs/qc/data/feature_value.xml b/_install/fixtures/fashion/langs/qc/data/feature_value.xml new file mode 100644 index 00000000..9075c3b5 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Laine + + + Viscose + + + Elasthanne + + + Coton + + + Soie + + + Daim + + + Paille + + + Cuir + + + Classique + + + DĂ©contractĂ© + + + Militaire + + + FĂ©minin + + + Rock + + + Basique + + + HabillĂ© + + + Manches courtes + + + Robe colorĂ©e + + + Robe courte + + + Robe midi + + + Maxi-robe + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/qc/data/featurevalue.xml b/_install/fixtures/fashion/langs/qc/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/image.xml b/_install/fixtures/fashion/langs/qc/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/index.php b/_install/fixtures/fashion/langs/qc/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/qc/data/manufacturer.xml b/_install/fixtures/fashion/langs/qc/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/order_message.xml b/_install/fixtures/fashion/langs/qc/data/order_message.xml new file mode 100644 index 00000000..673acae3 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Retard + Bonjour, + +Malheureusement, un article que vous avez commandĂ© est actuellement en rupture de stock. Pour cette raison, il est possible que la livraison de votre commande soit lĂ©gĂšrement retardĂ©e. +Nous vous prions de bien vouloir accepter nos excuses. Nous faisons tout notre possible pour remĂ©dier Ă  cette situation. + +Cordialement, + + diff --git a/_install/fixtures/fashion/langs/qc/data/ordermessage.xml b/_install/fixtures/fashion/langs/qc/data/ordermessage.xml new file mode 100644 index 00000000..90386d0d --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/ordermessage.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/product.xml b/_install/fixtures/fashion/langs/qc/data/product.xml new file mode 100644 index 00000000..a80ad098 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>T-shirt dĂ©lavĂ© Ă  manches courtes et col rond. MatiĂšre douce et extensible pour un confort inĂ©galĂ©. Pour un look estival, portez-le avec un chapeau de paille !</p> + t-shirt-delave-manches-courtes + + + + T-shirt dĂ©lavĂ© Ă  manches courtes + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Chemisier Ă  manches courtes drapĂ©es, pour un style fĂ©minin et Ă©lĂ©gant.</p> + chemisier + + + + Chemisier + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe imprimĂ©e 100 % coton. Haut rayĂ© noir et blanc et bas composĂ© d'une jupe patineuse taille haute.</p> + robe-imprimee + + + + Robe imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe de soirĂ©e imprimĂ©e Ă  manches droites et volants, avec fine ceinture noire Ă  la taille.</p> + robe-imprimee + + + + Robe imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Longue robe imprimĂ©e Ă  fines bretelles rĂ©glables. DĂ©colletĂ© en V et armature sous la poitrine. Volants au bas de la robe.</p> + robe-ete-imprimee + + + + Robe d'Ă©tĂ© imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe en mousseline sans manches, longueur genoux. DĂ©colletĂ© en V avec Ă©lastique sous la poitrine.</p> + robe-ete-imprimee + + + + Robe d'Ă©tĂ© imprimĂ©e + En stock + + + + <p>Fashion propose des vĂȘtements de qualitĂ© depuis 2010. La marque propose une gamme fĂ©minine composĂ©e d'Ă©lĂ©gants vĂȘtements Ă  coordonner et de robes originales et offre dĂ©sormais une collection complĂšte de prĂȘt-Ă -porter, regroupant toutes les piĂšces qu'une femme doit avoir dans sa garde-robe. Fashion se distingue avec des looks Ă  la fois cool, simples et rafraĂźchissants, alliant Ă©lĂ©gance et chic, pour un style reconnaissable entre mille. Chacune des magnifiques piĂšces de la collection est fabriquĂ©e avec le plus grand soin en Italie. Fashion enrichit son offre avec une gamme d'accessoires incluant chaussures, chapeaux, ceintures et bien plus encore !</p> + <p>Robe en mousseline imprimĂ©e Ă  bretelles, longueur genoux. Profond dĂ©colletĂ© en V.</p> + robe-mousseline-imprimee + + + + Robe en mousseline imprimĂ©e + En stock + + + diff --git a/_install/fixtures/fashion/langs/qc/data/profile.xml b/_install/fixtures/fashion/langs/qc/data/profile.xml new file mode 100644 index 00000000..1f0f97ca --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logisticien + + + Traducteur + + + Commercial + + diff --git a/_install/fixtures/fashion/langs/qc/data/scene.xml b/_install/fixtures/fashion/langs/qc/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/supplier.xml b/_install/fixtures/fashion/langs/qc/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/qc/data/tag.xml b/_install/fixtures/fashion/langs/qc/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/qc/index.php b/_install/fixtures/fashion/langs/qc/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/qc/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/ro/data/attribute.xml b/_install/fixtures/fashion/langs/ro/data/attribute.xml new file mode 100644 index 00000000..8bf3eec1 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + Universală + + + Gri + + + Taupe + + + Bej + + + Alb + + + Alb murdar + + + Roșu + + + Negru + + + Camel + + + Portocaliu + + + Albastru + + + Verde + + + Galben + + + Maro + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Roz + + diff --git a/_install/fixtures/fashion/langs/ro/data/attribute_group.xml b/_install/fixtures/fashion/langs/ro/data/attribute_group.xml new file mode 100644 index 00000000..b8382805 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Mărime + Mărime + + + Mărime de Ăźncălțăminte + Mărime + + + Culoare + Culoare + + diff --git a/_install/fixtures/fashion/langs/ro/data/attributegroup.xml b/_install/fixtures/fashion/langs/ro/data/attributegroup.xml new file mode 100644 index 00000000..ec3a514a --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/carrier.xml b/_install/fixtures/fashion/langs/ro/data/carrier.xml new file mode 100644 index 00000000..965015f2 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Livrare Ăźn 24 de ore! + + diff --git a/_install/fixtures/fashion/langs/ro/data/category.xml b/_install/fixtures/fashion/langs/ro/data/category.xml new file mode 100644 index 00000000..a6a51586 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/category.xml @@ -0,0 +1,81 @@ + + + + Femei + <p><strong>Veți găsi aici toate colecțiile de modă pentru femei.</strong></p> +<p>Această categorie include bazele garderobei dumneavoastră și mult mai mult de atĂąt:</p> +<p>Ăźncălțăminte, accesorii, tricouri imprimate, rochii, blugi pentru femei!</p> + femei + + + + + + Topuri + <p>Alegeți dintre tricouri, topuri, bluze, mĂąneci scurte, mĂąneci lungi, maiouri, mĂąneci 3/4 și altele.</p> +<p>Găsiți modelul care vi se potrivește cel mai bine!</p> + topuri + + + + + + Tricouri + <p>Baza garderobei dumneavoastră, examinați culorile, formele și stilurile</p> +<p>diverse ale colecției noastre!</p> + tricouri + + + + + + Topuri + Alegeți topul care vi se potrivește cel mai bine din larga gamă de topuri pe care o avem. + top + + + + + + Bluze + Puneți Ăźn valoare bluzele dumneavoastră cu accesoriile potrivite pentru un aspect perfect. + bluze + + + + + + Rochii + <p>Găsiți rochiile dumneavoastră favorite din larga noastră gamă de rochii de vară, casual sau de seară!</p> +<p>Vă oferim rochii pentru orice zi, orice stil și orice ocazie.</p> + rochii + + + + + + Rochii casual + <p>Căutați o rochie de purtat Ăźn fiecare zi? Aruncți o privire la</p> +<p>selecția noastră de rochii pentru a găsi una care vi se potrivește.</p> + rochii-casual + + + + + + Rochii de seară + Cercetați diversele noastre rochii și alegeți rochia perfectă pentru o seară de neuitat! + rochii-de-seara + + + + + + Rochii de vară + Rochii scurte, rochii lungi, rochii de mătase, rochii imprimate, veți găsi rochia de vară perfectă. + rochii-de-vara + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/feature.xml b/_install/fixtures/fashion/langs/ro/data/feature.xml new file mode 100644 index 00000000..ab248a92 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/feature.xml @@ -0,0 +1,24 @@ + + + + Înălțime + + + Lățime + + + AdĂąncime + + + Greutate + + + Material + + + Stil + + + Proprietăți + + diff --git a/_install/fixtures/fashion/langs/ro/data/feature_value.xml b/_install/fixtures/fashion/langs/ro/data/feature_value.xml new file mode 100644 index 00000000..dadd69c3 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Poliester + + + LĂąnă + + + Viscoză + + + Elastan + + + Bumbac + + + Mătase + + + Velur + + + Croșet + + + Piele + + + Clasic + + + Casual + + + Militar + + + Adolescentin + + + Rock + + + Simplu + + + Elegant + + + MĂąneci scurte + + + Culori vii + + + Rochie scurtă + + + Rochie midi + + + Rochie maxi + + + 6,98 cm + + + 5,2 cm + + + 49,2 g + + + 0,66 cm + + + 2,72 cm + + + 4,1 cm + + + 15,5 g + + + 1 cm (clip inclus) + + + 11 cm + + + 7 cm + + + 120g + + + 0.79 cm + + diff --git a/_install/fixtures/fashion/langs/ro/data/featurevalue.xml b/_install/fixtures/fashion/langs/ro/data/featurevalue.xml new file mode 100644 index 00000000..d74910ea --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/image.xml b/_install/fixtures/fashion/langs/ro/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/index.php b/_install/fixtures/fashion/langs/ro/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/ro/data/manufacturer.xml b/_install/fixtures/fashion/langs/ro/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/order_message.xml b/_install/fixtures/fashion/langs/ro/data/order_message.xml new file mode 100644 index 00000000..9ab1b011 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/order_message.xml @@ -0,0 +1,12 @@ + + + + ÎntĂąrziere + Bună, + +Din nefericire, un articol din comanda dumneavoastră are momentan stocul epuizat. Aceasta poate cauza o mică ĂźntĂąrziere a livrării. +Vă rugăm să acceptați scuzele noastre și vă asigurăm că muncim din răsputeri pentru a remedia acest inconvenient. + +Toate cele bune, + + diff --git a/_install/fixtures/fashion/langs/ro/data/ordermessage.xml b/_install/fixtures/fashion/langs/ro/data/ordermessage.xml new file mode 100644 index 00000000..fdb22ec2 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/product.xml b/_install/fixtures/fashion/langs/ro/data/product.xml new file mode 100644 index 00000000..ade812b5 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + tricou-pastel-cu-maneci-scurte + + + + Tricou pastel cu mĂąneci scurte + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Bluză cu mĂąneci scurte cu detalii feminine drapate la mĂąneci.</p> + bluza + + + + Bluză cu mĂąneci drapate + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Rochie imprimată 100% bumbac. Top cu dungi albe și negre, talie Ăźnaltă și partea de jos portocalie.</p> + rochie-imprimata + + + + Rochie imprimată + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Rochie imprimată de seară cu mĂąneci drepte, centură subțire neagră și volane Ăźncrețite.</p> + rochie-imprimata-de-seara + + + + Rochie imprimată de seară + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Rochie imprimată lungă cu bretele subțiri și ajustabile. Cu decolteu Ăźn V, evidențiere a bustului și volane la poalele rochiei.</p> + rochie-imprimata-de-vara + + + + Rochie imprimată de vară + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Rochie midi din șifon, fără mĂąneci. Decolteu Ăźn V cu elastic sub bust.</p> + rochie-midi-imprimata-de-vara + + + + Rochie midi imprimată de vară + În stoc + + + + <p>Moda SRL creează colecții pline de stil din 2010. Această marcă vă oferă linii feminine care livrează Ăźmbrăcaminte cu stil ce a evoluat de atunci Ăźntr-o Ăźntreagă colecție gata de purtat Ăźn care fiecare element este o parte vitală garderobei unei doamne. Rezultatul? O Ăźnfățișare cool, easy, chic, cu o eleganță tinerească și semnătura unui stil inconfundabil. Toate frumoasele piese sunt produse Ăźn Italia cu cea mai mare grijă la detalii. Acum Moda se extinde la o gamă de accesorii incluzĂąnd Ăźncălțăminte, pălării, centuri și multe altele!</p> + <p>Rochie imprimată pĂąnă la genunchi, din șifon, cu bretele. Decolteu adĂąnc Ăźn V.</p> + rochie-imprimata-din-sifon + + + + Rochie imprimată din șifon + În stoc + + + diff --git a/_install/fixtures/fashion/langs/ro/data/profile.xml b/_install/fixtures/fashion/langs/ro/data/profile.xml new file mode 100644 index 00000000..fd1a8a92 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/profile.xml @@ -0,0 +1,12 @@ + + + + Coordonator logistic + + + Translator + + + Agent comercial + + diff --git a/_install/fixtures/fashion/langs/ro/data/scene.xml b/_install/fixtures/fashion/langs/ro/data/scene.xml new file mode 100644 index 00000000..93096ef5 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/supplier.xml b/_install/fixtures/fashion/langs/ro/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ro/data/tag.xml b/_install/fixtures/fashion/langs/ro/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/ro/index.php b/_install/fixtures/fashion/langs/ro/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/ro/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/ru/data/attribute.xml b/_install/fixtures/fashion/langs/ru/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/ru/data/attribute_group.xml b/_install/fixtures/fashion/langs/ru/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/ru/data/attributegroup.xml b/_install/fixtures/fashion/langs/ru/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/carrier.xml b/_install/fixtures/fashion/langs/ru/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/ru/data/category.xml b/_install/fixtures/fashion/langs/ru/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/feature.xml b/_install/fixtures/fashion/langs/ru/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/ru/data/feature_value.xml b/_install/fixtures/fashion/langs/ru/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/ru/data/featurevalue.xml b/_install/fixtures/fashion/langs/ru/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/image.xml b/_install/fixtures/fashion/langs/ru/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/index.php b/_install/fixtures/fashion/langs/ru/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/ru/data/manufacturer.xml b/_install/fixtures/fashion/langs/ru/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/order_message.xml b/_install/fixtures/fashion/langs/ru/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/ru/data/ordermessage.xml b/_install/fixtures/fashion/langs/ru/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/product.xml b/_install/fixtures/fashion/langs/ru/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/ru/data/profile.xml b/_install/fixtures/fashion/langs/ru/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/ru/data/scene.xml b/_install/fixtures/fashion/langs/ru/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/supplier.xml b/_install/fixtures/fashion/langs/ru/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/ru/data/tag.xml b/_install/fixtures/fashion/langs/ru/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/ru/index.php b/_install/fixtures/fashion/langs/ru/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/ru/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/tw/data/attribute.xml b/_install/fixtures/fashion/langs/tw/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/tw/data/attribute_group.xml b/_install/fixtures/fashion/langs/tw/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/tw/data/attributegroup.xml b/_install/fixtures/fashion/langs/tw/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/carrier.xml b/_install/fixtures/fashion/langs/tw/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/tw/data/category.xml b/_install/fixtures/fashion/langs/tw/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/feature.xml b/_install/fixtures/fashion/langs/tw/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/tw/data/feature_value.xml b/_install/fixtures/fashion/langs/tw/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/tw/data/featurevalue.xml b/_install/fixtures/fashion/langs/tw/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/image.xml b/_install/fixtures/fashion/langs/tw/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/index.php b/_install/fixtures/fashion/langs/tw/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/tw/data/manufacturer.xml b/_install/fixtures/fashion/langs/tw/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/order_message.xml b/_install/fixtures/fashion/langs/tw/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/tw/data/ordermessage.xml b/_install/fixtures/fashion/langs/tw/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/product.xml b/_install/fixtures/fashion/langs/tw/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/tw/data/profile.xml b/_install/fixtures/fashion/langs/tw/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/tw/data/scene.xml b/_install/fixtures/fashion/langs/tw/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/supplier.xml b/_install/fixtures/fashion/langs/tw/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/tw/data/tag.xml b/_install/fixtures/fashion/langs/tw/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/tw/index.php b/_install/fixtures/fashion/langs/tw/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/tw/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/zh/data/attribute.xml b/_install/fixtures/fashion/langs/zh/data/attribute.xml new file mode 100644 index 00000000..94b65807 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/attribute.xml @@ -0,0 +1,75 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + + Pink + + diff --git a/_install/fixtures/fashion/langs/zh/data/attribute_group.xml b/_install/fixtures/fashion/langs/zh/data/attribute_group.xml new file mode 100644 index 00000000..17c82c65 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/_install/fixtures/fashion/langs/zh/data/attributegroup.xml b/_install/fixtures/fashion/langs/zh/data/attributegroup.xml new file mode 100644 index 00000000..09da13fd --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/carrier.xml b/_install/fixtures/fashion/langs/zh/data/carrier.xml new file mode 100644 index 00000000..c59766e7 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/_install/fixtures/fashion/langs/zh/data/category.xml b/_install/fixtures/fashion/langs/zh/data/category.xml new file mode 100644 index 00000000..19aee464 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/category.xml @@ -0,0 +1,81 @@ + + + + Women + <p><strong>You will find here all woman fashion collections.</strong></p> +<p>This category includes all the basics of your wardrobe and much more:</p> +<p>shoes, accessories, printed t-shirts, feminine dresses, women's jeans!</p> + women + + + + + + Tops + <p>Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more.</p> +<p>Find the cut that suits you the best!</p> + tops + + + + + + T-shirts + <p>The must have of your wardrobe, take a look at our different colors,</p> +<p>shapes and style of our collection!</p> + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Dresses + <p>Find your favorites dresses from our wide choice of evening, casual or summer dresses!</p> +<p>We offer dresses for every day, every style and every occasion.</p> + dresses + + + + + + Casual Dresses + <p>You are looking for a dress for every day? Take a look at</p> +<p>our selection of dresses to find one that suits you.</p> + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/feature.xml b/_install/fixtures/fashion/langs/zh/data/feature.xml new file mode 100644 index 00000000..e09b882c --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/feature.xml @@ -0,0 +1,24 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + + Styles + + + Properties + + diff --git a/_install/fixtures/fashion/langs/zh/data/feature_value.xml b/_install/fixtures/fashion/langs/zh/data/feature_value.xml new file mode 100644 index 00000000..b918f11b --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/feature_value.xml @@ -0,0 +1,102 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + Classic + + + Casual + + + Military + + + Girly + + + Rock + + + Basic + + + Dressy + + + Short Sleeve + + + Colorful Dress + + + Short Dress + + + Midi Dress + + + Maxi Dress + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/_install/fixtures/fashion/langs/zh/data/featurevalue.xml b/_install/fixtures/fashion/langs/zh/data/featurevalue.xml new file mode 100644 index 00000000..7f943c0a --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/image.xml b/_install/fixtures/fashion/langs/zh/data/image.xml new file mode 100644 index 00000000..0fc64cbc --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/image.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/index.php b/_install/fixtures/fashion/langs/zh/data/index.php new file mode 100644 index 00000000..8444e9b2 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/fashion/langs/zh/data/manufacturer.xml b/_install/fixtures/fashion/langs/zh/data/manufacturer.xml new file mode 100644 index 00000000..2f09cb62 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/order_message.xml b/_install/fixtures/fashion/langs/zh/data/order_message.xml new file mode 100644 index 00000000..93ad3b50 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/_install/fixtures/fashion/langs/zh/data/ordermessage.xml b/_install/fixtures/fashion/langs/zh/data/ordermessage.xml new file mode 100644 index 00000000..e743f5d9 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/product.xml b/_install/fixtures/fashion/langs/zh/data/product.xml new file mode 100644 index 00000000..f6b6a1c8 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/product.xml @@ -0,0 +1,80 @@ + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer!</p> + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Short sleeved blouse with feminine draped sleeve detail.</p> + blouse + + + + Blouse + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed evening dress with straight sleeves with black thin waist belt and ruffled linings.</p> + printed-dress + + + + Printed Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining.</p> + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + <p>Fashion has been creating well-designed collections since 2010. The brand offers feminine designs delivering stylish separates and statement dresses which has since evolved into a full ready-to-wear collection in which every item is a vital part of a woman's wardrobe. The result? Cool, easy, chic looks with youthful elegance and unmistakable signature style. All the beautiful pieces are made in Italy and manufactured with the greatest attention. Now Fashion extends to a range of accessories including shoes, hats, belts and more!</p> + <p>Printed chiffon knee length dress with tank straps. Deep v-neckline.</p> + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + diff --git a/_install/fixtures/fashion/langs/zh/data/profile.xml b/_install/fixtures/fashion/langs/zh/data/profile.xml new file mode 100644 index 00000000..04e65582 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/_install/fixtures/fashion/langs/zh/data/scene.xml b/_install/fixtures/fashion/langs/zh/data/scene.xml new file mode 100644 index 00000000..708079e5 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/supplier.xml b/_install/fixtures/fashion/langs/zh/data/supplier.xml new file mode 100644 index 00000000..0c375e8d --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/_install/fixtures/fashion/langs/zh/data/tag.xml b/_install/fixtures/fashion/langs/zh/data/tag.xml new file mode 100644 index 00000000..d413861a --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/_install/fixtures/fashion/langs/zh/index.php b/_install/fixtures/fashion/langs/zh/index.php new file mode 100644 index 00000000..a8a2c784 --- /dev/null +++ b/_install/fixtures/fashion/langs/zh/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../'); +exit; \ No newline at end of file diff --git a/_install/fixtures/index.php b/_install/fixtures/index.php new file mode 100644 index 00000000..c642967a --- /dev/null +++ b/_install/fixtures/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; \ No newline at end of file diff --git a/_install/index.php b/_install/index.php new file mode 100644 index 00000000..c3e6bb7a --- /dev/null +++ b/_install/index.php @@ -0,0 +1,34 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'init.php'); + +try { + require_once(_PS_INSTALL_PATH_.'classes'.DIRECTORY_SEPARATOR.'controllerHttp.php'); + InstallControllerHttp::execute(); +} catch (PrestashopInstallerException $e) { + $e->displayMessage(); +} diff --git a/_install/index_cli.php b/_install/index_cli.php new file mode 100644 index 00000000..1aa542e2 --- /dev/null +++ b/_install/index_cli.php @@ -0,0 +1,41 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/* Redefine REQUEST_URI */ +$_SERVER['REQUEST_URI'] = '/install/index_cli.php'; +require_once dirname(__FILE__).'/init.php'; +require_once _PS_INSTALL_PATH_.'classes/datas.php'; +ini_set('memory_limit', '128M'); +try +{ + require_once _PS_INSTALL_PATH_.'classes/controllerConsole.php'; + InstallControllerConsole::execute($argc, $argv); + echo '-- Installation successfull! --'."\n"; +} +catch (PrestashopInstallerException $e) +{ + $e->displayMessage(); +} diff --git a/_install/init.php b/_install/init.php new file mode 100644 index 00000000..8275ce2a --- /dev/null +++ b/_install/init.php @@ -0,0 +1,114 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +ob_start(); + +// Check PHP version +if (version_compare(preg_replace('/[^0-9.]/', '', PHP_VERSION), '5.2', '<')) + die('You need at least PHP 5.2 to run PrestaShop. Your current PHP version is '.PHP_VERSION); + +// we check if theses constants are defined +// in order to use init.php in upgrade.php script +if (!defined('__PS_BASE_URI__')) + define('__PS_BASE_URI__', substr($_SERVER['REQUEST_URI'], 0, -1 * (strlen($_SERVER['REQUEST_URI']) - strrpos($_SERVER['REQUEST_URI'], '/')) - strlen(substr(dirname($_SERVER['REQUEST_URI']), strrpos(dirname($_SERVER['REQUEST_URI']), '/') + 1)))); + +if (!defined('_PS_CORE_DIR_')) + define('_PS_CORE_DIR_', realpath(dirname(__FILE__).'/..')); + +if (!defined('_THEME_NAME_')) + define('_THEME_NAME_', 'default-bootstrap'); + + +require_once(_PS_CORE_DIR_.'/config/defines.inc.php'); +require_once(_PS_CORE_DIR_.'/config/autoload.php'); +require_once(_PS_CORE_DIR_.'/config/bootstrap.php'); +require_once(_PS_CORE_DIR_.'/config/defines_uri.inc.php'); + +// Generate common constants +define('PS_INSTALLATION_IN_PROGRESS', true); +define('_PS_INSTALL_PATH_', dirname(__FILE__).'/'); +define('_PS_INSTALL_DATA_PATH_', _PS_INSTALL_PATH_.'data/'); +define('_PS_INSTALL_CONTROLLERS_PATH_', _PS_INSTALL_PATH_.'controllers/'); +define('_PS_INSTALL_MODELS_PATH_', _PS_INSTALL_PATH_.'models/'); +define('_PS_INSTALL_LANGS_PATH_', _PS_INSTALL_PATH_.'langs/'); +define('_PS_INSTALL_FIXTURES_PATH_', _PS_INSTALL_PATH_.'fixtures/'); + +require_once(_PS_INSTALL_PATH_.'install_version.php'); + +// PrestaShop autoload is used to load some helpfull classes like Tools. +// Add classes used by installer bellow. + +require_once(_PS_CORE_DIR_.'/config/alias.php'); +require_once(_PS_INSTALL_PATH_.'classes/exception.php'); +require_once(_PS_INSTALL_PATH_.'classes/languages.php'); +require_once(_PS_INSTALL_PATH_.'classes/language.php'); +require_once(_PS_INSTALL_PATH_.'classes/model.php'); +require_once(_PS_INSTALL_PATH_.'classes/session.php'); +require_once(_PS_INSTALL_PATH_.'classes/sqlLoader.php'); +require_once(_PS_INSTALL_PATH_.'classes/xmlLoader.php'); +require_once(_PS_INSTALL_PATH_.'classes/simplexml.php'); + +@set_time_limit(0); +if (!@ini_get('date.timezone')) + @date_default_timezone_set('UTC'); + +// Some hosting still have magic_quotes_runtime configured +ini_set('magic_quotes_runtime', 0); + +// Try to improve memory limit if it's under 64M +$current_memory_limit = psinstall_get_memory_limit(); +if ($current_memory_limit > 0 && $current_memory_limit < psinstall_get_octets('64M')) + ini_set('memory_limit', '64M'); + +function psinstall_get_octets($option) +{ + if (preg_match('/[0-9]+k/i', $option)) + return 1024 * (int)$option; + + if (preg_match('/[0-9]+m/i', $option)) + return 1024 * 1024 * (int)$option; + + if (preg_match('/[0-9]+g/i', $option)) + return 1024 * 1024 * 1024 * (int)$option; + + return $option; +} + +function psinstall_get_memory_limit() +{ + $memory_limit = @ini_get('memory_limit'); + + if (preg_match('/[0-9]+k/i', $memory_limit)) + return 1024 * (int)$memory_limit; + + if (preg_match('/[0-9]+m/i', $memory_limit)) + return 1024 * 1024 * (int)$memory_limit; + + if (preg_match('/[0-9]+g/i', $memory_limit)) + return 1024 * 1024 * 1024 * (int)$memory_limit; + + return $memory_limit; +} diff --git a/_install/install_version.php b/_install/install_version.php new file mode 100644 index 00000000..b93981f9 --- /dev/null +++ b/_install/install_version.php @@ -0,0 +1,27 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +define('_PS_INSTALL_VERSION_', '1.6.1.0'); diff --git a/_install/langs/bg/data/carrier.xml b/_install/langs/bg/data/carrier.xml new file mode 100644 index 00000000..343fa6f5 --- /dev/null +++ b/_install/langs/bg/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Pick up in-store + + diff --git a/_install/langs/bg/data/category.xml b/_install/langs/bg/data/category.xml new file mode 100644 index 00000000..87b90b95 --- /dev/null +++ b/_install/langs/bg/data/category.xml @@ -0,0 +1,19 @@ + + + + Root + + root + + + + + + Home + + home + + + + + diff --git a/_install/langs/bg/data/cms.xml b/_install/langs/bg/data/cms.xml new file mode 100644 index 00000000..862d84ff --- /dev/null +++ b/_install/langs/bg/data/cms.xml @@ -0,0 +1,81 @@ + + + + Delivery + Our terms and conditions of delivery + conditions, delivery, delay, shipment, pack + <h2>Shipments and returns</h2><h3>Your pack shipment</h3><p>Packages are generally dispatched within 2 days after receipt of payment and are shipped via UPS with tracking and drop-off without signature. If you prefer delivery by UPS Extra with required signature, an additional cost will be applied, so please contact us before choosing this method. Whichever shipment choice you make, we will provide you with a link to track your package online.</p><p>Shipping fees include handling and packing fees as well as postage costs. Handling fees are fixed, whereas transport fees vary according to total weight of the shipment. We advise you to group your items in one order. We cannot group two distinct orders placed separately, and shipping fees will apply to each of them. Your package will be dispatched at your own risk, but special care is taken to protect fragile objects.<br /><br />Boxes are amply sized and your items are well-protected.</p> + delivery + + + Legal Notice + Legal notice + notice, legal, credits + <h2>Legal</h2><h3>Credits</h3><p>Concept and production:</p><p>This Online store was created using <a href="http://www.prestashop.com">Prestashop Shopping Cart Software</a>,check out PrestaShop's <a href="http://www.prestashop.com/blog/en/">ecommerce blog</a> for news and advices about selling online and running your ecommerce website.</p> + legal-notice + + + Terms and conditions of use + Our terms and conditions of use + conditions, terms, use, sell + <h1 class="page-heading">Terms and conditions of use</h1> +<h3 class="page-subheading">Rule 1</h3> +<p class="bottom-indent">Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> +<h3 class="page-subheading">Rule 2</h3> +<p class="bottom-indent">Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam&#1102;</p> +<h3 class="page-subheading">Rule 3</h3> +<p class="bottom-indent">Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam&#1102;</p> + terms-and-conditions-of-use + + + About us + Learn more about us + about us, informations + <h1 class="page-heading bottom-indent">About us</h1> +<div class="row"> +<div class="col-xs-12 col-sm-4"> +<div class="cms-block"> +<h3 class="page-subheading">Our company</h3> +<p><strong class="dark">Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididun.</strong></p> +<p>Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. Lorem ipsum dolor sit amet conse ctetur adipisicing elit.</p> +<ul class="list-1"> +<li><em class="icon-ok"></em>Top quality products</li> +<li><em class="icon-ok"></em>Best customer service</li> +<li><em class="icon-ok"></em>30-days money back guarantee</li> +</ul> +</div> +</div> +<div class="col-xs-12 col-sm-4"> +<div class="cms-box"> +<h3 class="page-subheading">Our team</h3> +<img title="cms-img" src="../img/cms/cms-img.jpg" alt="cms-img" width="370" height="192" /> +<p><strong class="dark">Lorem set sint occaecat cupidatat non </strong></p> +<p>Eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.</p> +</div> +</div> +<div class="col-xs-12 col-sm-4"> +<div class="cms-box"> +<h3 class="page-subheading">Testimonials</h3> +<div class="testimonials"> +<div class="inner"><span class="before">“</span>Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim.<span class="after">”</span></div> +</div> +<p><strong class="dark">Lorem ipsum dolor sit</strong></p> +<div class="testimonials"> +<div class="inner"><span class="before">“</span>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod.<span class="after">”</span></div> +</div> +<p><strong class="dark">Ipsum dolor sit</strong></p> +</div> +</div> +</div> + about-us + + + Secure payment + Our secure payment method + secure payment, ssl, visa, mastercard, paypal + <h2>Secure payment</h2> +<h3>Our secure payment</h3><p>With SSL</p> +<h3>Using Visa/Mastercard/Paypal</h3><p>About this service</p> + secure-payment + + diff --git a/_install/langs/bg/data/cms_category.xml b/_install/langs/bg/data/cms_category.xml new file mode 100644 index 00000000..ceb8cf49 --- /dev/null +++ b/_install/langs/bg/data/cms_category.xml @@ -0,0 +1,11 @@ + + + + Home + + home + + + + + diff --git a/_install/langs/bg/data/configuration.xml b/_install/langs/bg/data/configuration.xml new file mode 100644 index 00000000..b4bf4ef6 --- /dev/null +++ b/_install/langs/bg/data/configuration.xml @@ -0,0 +1,24 @@ + + + + #IN + + + #DE + + + #RE + + + a|about|above|after|again|against|all|am|an|and|any|are|aren|as|at|be|because|been|before|being|below|between|both|but|by|can|cannot|could|couldn|did|didn|do|does|doesn|doing|don|down|during|each|few|for|from|further|had|hadn|has|hasn|have|haven|having|he|ll|her|here|hers|herself|him|himself|his|how|ve|if|in|into|is|isn|it|its|itself|let|me|more|most|mustn|my|myself|no|nor|not|of|off|on|once|only|or|other|ought|our|ours|ourselves|out|over|own|same|shan|she|should|shouldn|so|some|such|than|that|the|their|theirs|them|themselves|then|there|these|they|re|this|those|through|to|too|under|until|up|very|was|wasn|we|were|weren|what|when|where|which|while|who|whom|why|with|won|would|wouldn|you|your|yours|yourself|yourselves + + + 0 + + + Dear Customer, + +Regards, +Customer service + + diff --git a/_install/langs/bg/data/contact.xml b/_install/langs/bg/data/contact.xml new file mode 100644 index 00000000..bdc0b24d --- /dev/null +++ b/_install/langs/bg/data/contact.xml @@ -0,0 +1,9 @@ + + + + If a technical problem occurs on this website + + + For any question about a product, an order + + diff --git a/_install/langs/bg/data/country.xml b/_install/langs/bg/data/country.xml new file mode 100644 index 00000000..d57ea1e3 --- /dev/null +++ b/_install/langs/bg/data/country.xml @@ -0,0 +1,735 @@ + + + + Germany + + + Austria + + + Belgium + + + Canada + + + China + + + Spain + + + Finland + + + France + + + Greece + + + Italy + + + Japan + + + Luxemburg + + + Netherlands + + + Poland + + + Portugal + + + Czech Republic + + + United Kingdom + + + Sweden + + + Switzerland + + + Denmark + + + United States + + + HongKong + + + Norway + + + Australia + + + Singapore + + + Ireland + + + New Zealand + + + South Korea + + + Israel + + + South Africa + + + Nigeria + + + Ivory Coast + + + Togo + + + Bolivia + + + Mauritius + + + Romania + + + Slovakia + + + Algeria + + + American Samoa + + + + Angola + + + Anguilla + + + Antigua and Barbuda + + + Argentina + + + Armenia + + + Aruba + + + Azerbaijan + + + Bahamas + + + Bahrain + + + Bangladesh + + + Barbados + + + Belarus + + + Belize + + + Benin + + + Bermuda + + + Bhutan + + + Botswana + + + Brazil + + + Brunei + + + Burkina Faso + + + Burma (Myanmar) + + + Burundi + + + Cambodia + + + Cameroon + + + Cape Verde + + + Central African Republic + + + Chad + + + Chile + + + Colombia + + + Comoros + + + Congo, Dem. Republic + + + Congo, Republic + + + Costa Rica + + + Croatia + + + Cuba + + + Cyprus + + + Djibouti + + + Dominica + + + Dominican Republic + + + East Timor + + + Ecuador + + + Egypt + + + El Salvador + + + Equatorial Guinea + + + Eritrea + + + Estonia + + + Ethiopia + + + Falkland Islands + + + Faroe Islands + + + Fiji + + + Gabon + + + Gambia + + + Georgia + + + Ghana + + + Grenada + + + Greenland + + + Gibraltar + + + Guadeloupe + + + Guam + + + Guatemala + + + Guernsey + + + Guinea + + + Guinea-Bissau + + + Guyana + + + Haiti + + + Heard Island and McDonald Islands + + + Vatican City State + + + Honduras + + + Iceland + + + India + + + Indonesia + + + Iran + + + Iraq + + + Man Island + + + Jamaica + + + Jersey + + + Jordan + + + Kazakhstan + + + Kenya + + + Kiribati + + + Korea, Dem. Republic of + + + Kuwait + + + Kyrgyzstan + + + Laos + + + Latvia + + + Lebanon + + + Lesotho + + + Liberia + + + Libya + + + Liechtenstein + + + Lithuania + + + Macau + + + Macedonia + + + Madagascar + + + Malawi + + + Malaysia + + + Maldives + + + Mali + + + Malta + + + Marshall Islands + + + Martinique + + + Mauritania + + + Hungary + + + Mayotte + + + Mexico + + + Micronesia + + + Moldova + + + Monaco + + + Mongolia + + + Montenegro + + + Montserrat + + + Morocco + + + Mozambique + + + Namibia + + + Nauru + + + Nepal + + + Netherlands Antilles + + + New Caledonia + + + Nicaragua + + + Niger + + + Niue + + + Norfolk Island + + + Northern Mariana Islands + + + Oman + + + Pakistan + + + Palau + + + Palestinian Territories + + + Panama + + + Papua New Guinea + + + Paraguay + + + Peru + + + Philippines + + + Pitcairn + + + Puerto Rico + + + Qatar + + + Reunion Island + + + Russian Federation + + + Rwanda + + + Saint Barthelemy + + + Saint Kitts and Nevis + + + Saint Lucia + + + Saint Martin + + + Saint Pierre and Miquelon + + + Saint Vincent and the Grenadines + + + Samoa + + + San Marino + + + São Tomé and Príncipe + + + Saudi Arabia + + + Senegal + + + Serbia + + + Seychelles + + + Sierra Leone + + + Slovenia + + + Solomon Islands + + + Somalia + + + South Georgia and the South Sandwich Islands + + + Sri Lanka + + + Sudan + + + Suriname + + + Svalbard and Jan Mayen + + + Swaziland + + + Syria + + + Taiwan + + + Tajikistan + + + Tanzania + + + Thailand + + + Tokelau + + + Tonga + + + Trinidad and Tobago + + + Tunisia + + + Turkey + + + Turkmenistan + + + Turks and Caicos Islands + + + Tuvalu + + + Uganda + + + Ukraine + + + United Arab Emirates + + + Uruguay + + + Uzbekistan + + + Vanuatu + + + Venezuela + + + Vietnam + + + Virgin Islands (British) + + + Virgin Islands (U.S.) + + + Wallis and Futuna + + + Western Sahara + + + Yemen + + + Zambia + + + Zimbabwe + + + Albania + + + Afghanistan + + + Antarctica + + + Bosnia and Herzegovina + + + Bouvet Island + + + British Indian Ocean Territory + + + Bulgaria + + + Cayman Islands + + + Christmas Island + + + Cocos (Keeling) Islands + + + Cook Islands + + + French Guiana + + + French Polynesia + + + French Southern Territories + + + Åland Islands + + diff --git a/_install/langs/bg/data/gender.xml b/_install/langs/bg/data/gender.xml new file mode 100644 index 00000000..2b2a4aa5 --- /dev/null +++ b/_install/langs/bg/data/gender.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/_install/langs/bg/data/group.xml b/_install/langs/bg/data/group.xml new file mode 100644 index 00000000..2d1b7093 --- /dev/null +++ b/_install/langs/bg/data/group.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/_install/langs/bg/data/index.php b/_install/langs/bg/data/index.php new file mode 100644 index 00000000..22383709 --- /dev/null +++ b/_install/langs/bg/data/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../'); +exit; \ No newline at end of file diff --git a/_install/langs/bg/data/meta.xml b/_install/langs/bg/data/meta.xml new file mode 100644 index 00000000..f5e49496 --- /dev/null +++ b/_install/langs/bg/data/meta.xml @@ -0,0 +1,165 @@ + + + + 404 error + This page cannot be found + + page-not-found + + + Best sales + Our best sales + + best-sales + + + Contact us + Use our form to contact us + + contact-us + + + + <description>Shop powered by PrestaShop</description> + <keywords/> + <url_rewrite/> + </meta> + <meta id="manufacturer" id_shop="1"> + <title>Manufacturers + Manufacturers list + + manufacturers + + + New products + Our new products + + new-products + + + Forgot your password + Enter the e-mail address you use to sign in to receive an e-mail with a new password + + password-recovery + + + Prices drop + Our special products + + prices-drop + + + Sitemap + Lost ? Find what your are looking for + + sitemap + + + Suppliers + Suppliers list + + supplier + + + Address + + + address + + + Addresses + + + addresses + + + Login + + + login + + + Cart + + + cart + + + Discount + + + discount + + + Order history + + + order-history + + + Identity + + + identity + + + My account + + + my-account + + + Order follow + + + order-follow + + + Credit slip + + + credit-slip + + + Order + + + order + + + Search + + + search + + + Stores + + + stores + + + Order + + + quick-order + + + Guest tracking + + + guest-tracking + + + Order confirmation + + + order-confirmation + + + Products Comparison + + + products-comparison + + diff --git a/_install/langs/bg/data/order_return_state.xml b/_install/langs/bg/data/order_return_state.xml new file mode 100644 index 00000000..37ad31de --- /dev/null +++ b/_install/langs/bg/data/order_return_state.xml @@ -0,0 +1,18 @@ + + + + Waiting for confirmation + + + Waiting for package + + + Package received + + + Return denied + + + Return completed + + diff --git a/_install/langs/bg/data/order_state.xml b/_install/langs/bg/data/order_state.xml new file mode 100644 index 00000000..df07fb2e --- /dev/null +++ b/_install/langs/bg/data/order_state.xml @@ -0,0 +1,59 @@ + + + + Awaiting check payment + + + + Payment accepted + + + + Processing in progress + + + + Shipped + + + + Delivered +