diff --git a/CHANGELOG.md b/CHANGELOG.md index 285e104d..2998d1e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,154 @@ +# 2.3.4 + +**WARNING** : Minimum PHP version for Thelia 2.3.4 is now **PHP 5.5**. +Do not upgrade if you're server is currently using a lower PHP version + +- (related to #2422) Installation with PHP 7.1 is now working properly. The mcrypt dependency is now replaced by openssl +- (related to #2413) Requesting the view of a not visible product, category, contents, folder or brand now causes an HTTP 404 error instead of displaying the view +- (related to #2416) Favicon, store logo and e-mail banner are now managed from the back-office -> Configuration -> Store +- (related to #2420) The cheque instructions defined in the back-office were displayed only for en_US locales. This PR fixes this problem, the instructions are now displayed for every locale. +- (related to #2391) When creating a customer from the back offcie, the state field is now present. +- (related to #2384) Fix tinymce_lang guess helper +- (related to #2377) Added missing translation in OrderPayment.php +- (related to #2351) Changed ModelCriteriaTools to be less restrictive in checking column. The old code only checked if there was a translation available (a row present) and not the content of a column that could be NULL. +- (related to #2335) Fix behavior of translate page in back office : "custom_fallback" and "global_fallback" were ignored when "view_missing_traductions_only" was on +- (related to #2301) "view" authorization is now checked for Thelia feed list and last version number on the back-offcie home page +- (related to #2286) Fix AbstractExport array rewind bug +- (related to #2278) Fix i18n typo : Amñinistración => Administración +- (related to #2275) Fixed select option rendereing in render_form_field.html +- (related to #2273) Fixed number input in coupon percentage html5 fragment +- (related to #2262) success_url is now cosidered when deleting a cart_item +- (related to #2026) regexp significant characters are now escaped whe n processing URL parameters +- (related to #1949) $CONTENT_COUNT in folder loop now returns the number of visible contents, and not the number of all (including not visible) contents. +- (related to #1877) Update shipping-configuration-edit.html to escape markup in shipping zone name +- (related to #1876) Update form.html to escape coupon code HtML +- (related to #1875) Update coupon-update.html to escape coupon code HtML +- (related to #1822) To prevent token errors when maniplating cart items, the cart token is no longer refreshed in the delete token code +- (related to #1743) Back-Office template sale edit +- (related to #1717) The stock of a virtual product is now checked +- (related to #2414) In the cart, the first PSE image if nos displayed, if there is one. The product image is displayed otherwise. +- (related to #2408) Code style fixes and translations improvements +- (related to #2408)
cound now be used in text email templates to force a line break +- (related to #2272) Form fields error information are now saved in the global form error context, and remain available after a redirection. +- (related to #2276) Product loop fix: addOutputFields() method may now to manipulate fields that were set in associateValues() +- (related to #2293) performance improvement for calculating order total. This calculation uses now only one request instead of (1 + number of products). +- (related to #2345) fix and improvement of counting sub categories and sub folders. The number of request is reduced, and the visibility status of products or contents is now considered. Category and subcategory products are now deleted by dispatching a TheliaEvents::PRODUCT_DELETE instead of calling Product::delete() +- (related to #2349) New feature: It is now possible to send a test email message from the Preview tab of mailing template modification page +- (related to #2380) Fix for wrong product reference on cart and order-invoice pages +- (related to #2402) "Coupon" substitutions are now available in the templates +- (related to #2400) Back-office HTML typo +- (related to #2394) The customer state is now used to calculate cart taxes +- (related to #2357) When the resize mode is "none", and required image is bigger than original image in both dimensions, the image is now zoomed if allow_zoom is true. +- (related to #2403) Fix for wrong or missing types in ProductCloneEvent +- (related to #2363) Improved products templates features. 1) When a product's template is modified, only the obsolete attribute combinations are deleted, this is much better than deleting all attribute combinations. 2) When an attribute is removed from a template, all related products are also updated, and obsolete attribute combinations are removed. 3) When a feature is removed from a template, the related products are updated, and the feature is removed from the product. 4) The template management page now displays the related products and categories, making finding which products or categories uses the template easier. 5) It is now possible to duplicate a product template. 6) Product and Category loops have now a template_id parameter, to filter results on one ore more template IDs. +- (related to #2369) PHP7 related fix: $return was declared as string, and used as array +- (related to #2372) When an URL for a disabled language is invoked, the page in the disabled locale was displayed. The user is now redirected to the default language URL. +- (related to #2396) Fix for domain-based language selection +- (related to #2395) In RemoveXPercent coupon type, the discount is no longer rounded to 2 decimals. +- (related to #2389) `Thelia export --list-archiver` will not return an error if one of the supported archiver extensions is not installed +- (related to #2379) When creating a product, the default tax rule is used if none is defined in the ProductCreateEvent event. +- (related to #2378) When used in the back-office context (backend_context=1), the feature loop will return all features +- (related to #2296) <option> label margin using CSS is not working in IE and Safari, making category tree selection hard to use. &nbsp; is now used, via the `{option_offset l=n label='some label'}` Smarty custon function +- (related to #2375) Force an update of Cart model after deleting an item, so that the listeners will not notice the change +- (related to #2374) Image position field is now available in Carousel module configuration +- (related to #2365) en_US translation improvements +- (related to #2364) On the contact page, the map is now fetched using https +- (related to #2356) Parameter `product_count_visible_only` added to `category` loop +- (related to #2283) Typo which prevents to save the custom-css.less file in TinyMCE module +- (related to #2338) All exceptions are now logged in the Thelia log file +- (related to #2348) fix customer delete in back-offcie search view +- (related to #2339) Fix for #2337 to always get a correct LOOP_TOTAL +- (related to #2334) Fix "Class not found" in AbstractArchiver +- (related to #2327) Add cart success_url, which is missing for mobile +- (no related PR) Thelia version is now fetched using https insteade of http +- (related to #2326) Fix the "visible" argument of folder-path and category-path loops, which was not working after the first iteration. The code for the "depth" element was missing in these loops, and is now written. +- (related to #2325) Cart discount is now updated after login +- (related to #2323) Fix possible html break if the database contains a product that has multiple product sale element by default. +- (related to #2277) Module information is now displaying properly module information of 2.2 module.xml files, and specially authors. +- (related to #2309) Added missing hooks in back-office search results tables head and body +- (related to #2320) Fix the sorting feature in categories and folders back-office views: some sorting criteria, such as visible or ID where not implemented in the loops. +- (related to #2310) Fix for of array based loops extensions, to allow listeners to change array content. +- (related to #2312) Added order ID to 'customer.orders-table-row' hook parameters +- (related to #2313) The manual order is now working properly in the content loop. +- (related to #2308) Use service in ContainerAwareCommand to get URL instance. It will prevent further calls to this service to override request context. +- (related to #2291) Fix currency change to default where no currency in request. Change to default only if requested currency not exists. +- (related to #2287) Fix for not working decimals=0 in {format_number} or {format_money} +- (related to #2306) fr_FR translation imrpovement +- (related to #2303) en_US translation imrpovement +- (related to #2300) Back-office HTML typo +- (related to #2299) Back-office HTML tag typo for displaying current lang flag +- (related to #2295) Fix method initRequest on the ContainerAwareCommand +- (related to #2281) Fixed PECL extentions install script in docker setup +- (related to #2271) Invisible (off-line) categories are now available in coupon conditions and types +- (related to #2264) Check if php extension "dom" is installed (issue #2263) +- (related to #2265) Fix #2225 wrong version displayed in db update script (issue #2225) +- (related to #2266) Bad parsing of web version in DB update script (issue #2226) +- (related to #2259) Fixed "cart contains products" & "cart contains categories" coupon conditions +- (related to #2261) The manual order is now working properly in the product loop. +- (related to #2257) Fix for wrong order coupon amount +- (related to #2256) Check if a RemoveXAmount type coupon is valid for special offers +- (related to #2255) Moved php shebang in the right file +- (related to #2254) add parameter "module_code" to "modules.table-row" hook +- (related to #2238) New method BasePaymentModuleController::saveTransactionRef() to save order transaction reference +- (related to #2232) Moved to container-based infrastructure for Travis CI +- (related to #2235) Add `DISCOUNT_AMOUNT` variable to `order_coupon` loop +- (related to #2227) Fix for two problems with CART_FINDITEM event processing: 1) The CartEvent dispatched with CART_FINDITEM was the one received by Thelia\Action\Cart::addItem(), thus stopping event propagation will stop the whole cart add process. 2) Thelia\Action\Cart::findCartItem() was not aware of a cart item set in the event by event listeners with a higher priority, thus this cart item is always overwritten. +- (related to #2221) Completed default email template FR and EN translations +- (related to #2224) Added simple messages (no Message object required) processing to the MailerFactory, throug the sendSimpleEmailMessage() and createSimpleEmailMessage() methods. A new getMessageInstance() method has been added, to prevent direct usage of \Swift_Message::newInstance() +- (related to #2217) New feature: Protected and hidden modules +- (related to #2197) Pagination of coupon list +- (related to #2198) Cancel coupon usage on order cancel +- (related to #2190) Admin Home page statistics improvements +- (related to #2189) Performance improvement in feature-availability loop +- (related to #2188) A more effective way to solve issue free text feature problem (see #2061) +- (related to #2174) New PSR-6 implementation + thelia.cache service and smarty cache block +- (related to #2167) Add global variable `app` to Smarty to be consistent with Twig +- (related to #2165) Add replyTo parameter in mailer factory +- (related to #2081) Order Status improvements +- (related to #2164) New confirmation email option after customer creation +- (related to #2153) Lighten placeholders color to be more different than filled inputs +- (related to #2149) Fixed status_id parameter access +- (related to #2148) Added search by EAN code to product sale elements loop +- (related to #2146) Fix search in i18n fields when backend_context=1, and search improvements. The loop search system is imporved, by providing the StandardI18nFieldsSearchTrait, which manages searches in the standard internationalized fields (title, chapo, description and postscriptum). In the back-office, customer search is now in sentence (%term%) mode, to allow incomplete word matches, such as part of an email address. +- (related to #2140) Added missing "calendar" PHP extension to docker config +- (related to #2107) Add create function for AlphaNumStringType argument +- (related to #2082) Product and PSE references added to invoice template +- (related to #2093) Fix #1662 add of hooks in pdf email and account-order +- (related to #2106) Added order-invoice form hooks +- (related to #2109) Module routers priority improvement +- (related to #1912) Fix for feature loop with product filter + +# 2.3.3 + +- (related to #2249) Fix identical queries in the productSaleElement loop and the Product loop +- (related to #2243) Fixed and optimized content and product loops +- (related to #2240) Fix #2229 : bad resource code in MailingSystemController class +- (related to #2239) Fix #2233 : customer profile update +- (related to #2237) Fixed cancelPayment method in BasePaymentModuleController class +- (related to #2231) Fix #2215 : loop pagination cache +- (related to #2230) Hook fixes +- (related to #2222) Fix duplicates in country loop when used with "with_area" argument +- (related to #2219) Fix coupons issues +- (related to #2214) Fix for #2213 : Nesting loops with the same argument set is now working +- (related to #2207) Add delimiter and enclosure for header insertion +- (related to #2206) Add reset array pointer if $data is an array. +- (related to #2205) Fixed sale edit form +- (related to #2204) Add isEmpty(), to check if $data is empty. +- (related to #2203) Check if $error exist, specific for submit type +- (related to #2202) Fix currency creation modal (The currency field is missing in the html template) +- (related to #2191) Update BO typo + +# 2.3.2 + +- (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES +- (related to #2181) Fix CSV export cached file size +- (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office +- (related to #2168) Fix router redirect to last rewriting_url +- (related to #2166) Fixed the update process when thelia.net is out of order +- (related to #2160) Added missing home.block 'class' parameter +- (related to #2157) Prevent an infinite loop in new product dialog +- (related to #2154) Add Test range dates exists before testing type + # 2.3.1 - (related to #2150) Fix form and validator translations @@ -216,6 +367,29 @@ - #1674 Add options ```free_text, exclude_free_text``` in FeatureValue loop - #1725 Add `weight` and `total_price_without_discount` attributes to the `{cart}` substitution, and some aliases to provide a better english syntax, or a more accurate name to existing attributes : `product_count`, alias of `count_product`, `item_count`, alias of `count_item`, `total_price_with_discount` alias of `total_price`, `total_taxed_price_with_discount` alias of `total_taxed_price`, `contains_virtual_product` alias of `is_virtual`, `total_tax_amount` alias of `total_vat` + +# 2.2.6 + +- (related to #2240) Fix #2229 : bad resource code in MailingSystemController class +- (related to #2237) Fix cancelPayment method in BasePaymentModuleController class +- (related to #2231) Fix #2215 : loop pagination cache +- (related to #2219) Fix coupons issues +- (related to #2214) Fix for #2213 : Nesting loops with the same argument set is now working +- (related to #2208) Fix missing model on LoopResultRow +- (related to #2205) Fixed sale edit form + +# 2.2.5 + +- (related to #2188) A more effective way to solve issue #2061 +- #2194 Fix change currency on 2.2.x + +# 2.2.4 + +- (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES +- (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office +- (related to #2168) Router redirect to last rewriting_url +- (related to #2160) Added missing home.block 'class' parameter + # 2.2.3 - (related to #2147) Fixed help text display if show_label is false @@ -461,6 +635,20 @@ - Default border color of images resized with resize_mode="border" is now transparent instead of opaque white. - The TemplateHelper class is deprecated. You should now use the thelia.template_helper service. TemplateHelperInterface has been introduced, so that modules may implement alternate versions + +# 2.1.11 + +- (related to #2240) Fix #2229 : bad resource code in MailingSystemController class +- (related to #2237) Fixed cancelPayment method in BasePaymentModuleController class +- (related to #2231) Fix #2215 : loop pagination cache +- (related to #2214) Fix for #2213 : Nesting loops with the same argument set is now working +- (related to #2205) Fixed sale edit form + +# 2.1.10 + +- (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES +- (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office + # 2.1.9 - (related to #2144) Fix automatic configuration for the sql_mode @@ -523,7 +711,7 @@ - Klik&Pay is no more a submodule - default category's parent is now 0 - check specific role in security module instead of checking if a user is logged in -- add a customer page parameter for the order loop on the customer page +- add a customer page parameter for the order loop on the customer page - keep break line in ACE editor # 2.1.4 diff --git a/Readme.md b/Readme.md index f7c0efd7..5e0a8242 100644 --- a/Readme.md +++ b/Readme.md @@ -6,9 +6,11 @@ Readme Thelia ------ -[![Build Status](https://travis-ci.org/thelia/thelia.png?branch=2.3)](https://travis-ci.org/thelia/thelia) [![License](https://poser.pugx.org/thelia/thelia/license.png)](https://packagist.org/packages/thelia/thelia) [![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/thelia/thelia/badges/quality-score.png?s=61e3e04a69bffd71c29b08e5392080317a546716)](https://scrutinizer-ci.com/g/thelia/thelia/) +[![Build Status](https://travis-ci.org/thelia/thelia.png?branch=master)](https://travis-ci.org/thelia/thelia) +[![License](https://poser.pugx.org/thelia/thelia/license.png)](https://packagist.org/packages/thelia/thelia) +[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/thelia/thelia/badges/quality-score.png?s=61e3e04a69bffd71c29b08e5392080317a546716)](https://scrutinizer-ci.com/g/thelia/thelia/) -[Thelia](http://thelia.net/) is an open source tool for creating e-business websites and managing online content. This software is published under LGPL. +[Thelia](https://thelia.net/) is an open source tool for creating e-business websites and managing online content. This software is published under LGPL. This is the new major version of Thelia. @@ -17,13 +19,16 @@ A repository containing all thelia modules is available at this address : https: Requirements ------------ -* PHP 5.4 +* PHP 5.5 * Required extensions : * PDO_Mysql - * mcrypt + * openssl * intl * gd * curl + * calendar + * dom + * fileinfo * safe_mode off * memory_limit at least 128M, preferably 256. * post\_max\_size 20M @@ -63,6 +68,7 @@ Thelia's archive builder's needs external libraries. For zip archives, you need PECL zip. See [PHP Doc](http://php.net/manual/en/zip.installation.php) For tar archives, you need PECL phar. Moreover, you need to deactivate php.ini option "phar.readonly": + ```ini phar.readonly = Off ``` @@ -76,20 +82,25 @@ For tar.gz archives, you need tar's dependencies and the extension "zlib". See [ You can get the sources from git and then let composer install dependencies, or use composer to install the whole thelia project into a specific directory ### Using git for download and composer for dependencies + ``` bash $ git clone --recursive https://github.com/thelia/thelia path $ cd path -$ git checkout 2.3.1 (2.2.3 or 2.1.9) +$ git checkout 2.3.4 (2.2.6 or 2.1.11) $ curl -sS https://getcomposer.org/installer | php $ php composer.phar install ``` ### Using composer for both download and dependencies + ``` bash $ curl -sS https://getcomposer.org/installer | php -$ php composer.phar create-project thelia/thelia path/ 2.3.1 (2.2.3 or 2.1.9) +$ php composer.phar create-project thelia/thelia path/ 2.3.4 (2.2.6 or 2.1.11) ``` +If something goes wrong during the install process, you can restart Thelia install wizard with +the following command : `php composer.phar run-script post-create-project-cmd` + ## Install it You can install Thelia by two different way @@ -106,10 +117,10 @@ The install wizard in accessible with your favorite browser : http://yourdomain.tld/[/subdomain_if_needed]/install ``` -For example, I have thelia downloaded at http://thelia.net and my vhost is correctly configured, I have to reach this address : +For example, I have thelia downloaded at https://thelia.net and my vhost is correctly configured, I have to reach this address : ``` bash -http://thelia.net/install +https://thelia.net/install ``` ### Using cli tools @@ -118,6 +129,12 @@ http://thelia.net/install $ php Thelia thelia:install ``` +or if you use a Thelia project : + +``` bash +$ php composer.phar run-script post-create-project-cmd +``` + You just have to follow all instructions. ### Docker and docker compose @@ -126,36 +143,40 @@ This repo contains all the configuration needed to run Thelia with docker and do It requires obviously [docker](https://docker.com/) and [docker-compose](http://docs.docker.com/compose/) -How to start the configuration : +To install Thelia within Docker, run : ``` docker-compose up -d +docker-compose exec web composer install +docker-compose exec web php Thelia thelia:install ``` -tip : create an alias for docker-compose, it's boring to write it all the time - -All the script are launched through docker. For examples : - -``` -docker exec -it thelia_web_1 php Thelia cache:clear -docker exec -it thelia_web_1 php setup/faker.php -docker exec -it thelia_web_1 unit-tests.sh -docker exec -it thelia_web_1 php composer.phar install -``` - -Database information : +This will prompt you for database information. Enter the following : * host : mariaDB +* port : 3306 (default) +* name : thelia * login : root * password : toor -Once started, you can access it with your browser at this url : http://127.0.0.1:8080 and phpmyadmin : http://127.0.0.1:8081 +tip : create an alias for docker-compose, it's boring to write it all the time -What is missing : +All the scripts can be launched through docker (or the corresponding `docker-compose exec web ...` command. For example : + +``` +docker exec -it thelia_web_1 composer install +docker exec -it thelia_web_1 php Thelia cache:clear +docker exec -it thelia_web_1 php setup/faker.php +docker exec -it thelia_web_1 unit-tests.sh +``` + +Once started, you can open your local Thelia website at [127.0.0.1:8080](http://127.0.0.1:8080) and your phpMyAdmin installation at [127.0.0.1:8081](http://127.0.0.1:8081). + +What is missing : * confguration for export compression (zip, gzip, etc) -Obviously you can modify all the configuration for your own case, for example the php version or add environment variable for the database configuration. Each time you modify the configuration, you have to rebuild it : +Obviously you can modify all the configuration for your own case, for example the php version or add environment variable for the database configuration. Each time you modify the configuration, you have to rebuild it : ``` docker-compose build --no-cache @@ -170,7 +191,7 @@ Thelia documentation is available at http://doc.thelia.net Roadmap ------- -The Roadmap is available at http://thelia.net/community/roadmap +The Roadmap is available at https://thelia.net/community/roadmap Contribute @@ -193,4 +214,4 @@ To run tests (phpunit required) : $ phpunit ``` -We still have lot of work to achieve but enjoy this part. \ No newline at end of file +We still have lot of work to achieve but enjoy this part. diff --git a/Thelia b/Thelia old mode 100644 new mode 100755 diff --git a/bin/lessc b/bin/lessc deleted file mode 100644 index fa1fb958..00000000 --- a/bin/lessc +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env php - false, 'relativeUrls' => false); -$silent = false; -$watch = false; -$rootpath = ''; - -// Check for arguments -array_shift($argv); -if (!count($argv)) { - $argv[] = '-h'; -} - -// parse arguments -foreach ($argv as $key => $arg) { - if (preg_match('/^--?([a-z][0-9a-z-]*)(?:=([^\s]+))?$/i', $arg, $matches)) { - $option = $matches[1]; - $value = isset($matches[2]) ? $matches[2] : false; - unset($argv[$key]); - - switch ($option) { - case 'h': - case 'help': - echo << 1) { - $output = array_pop($argv); - $inputs = $argv; -} -else { - $inputs = $argv; - $output = false; -} - -if (!count($inputs)) { - echo("lessc: no input files\n"); - exit; -} - -if ($watch) { - if (!$output) { - echo("lessc: you must specify the output file if --watch is given\n"); - exit; - } - - $lastAction = 0; - - echo("lessc: watching input files\n"); - - while (1) { - clearstatcache(); - - $updated = false; - foreach ($inputs as $input) { - if ($input == '-') { - if (count($inputs) == 1) { - echo("lessc: during watching files is not possible to watch stdin\n"); - exit; - } - else { - continue; - } - } - - if (filemtime($input) > $lastAction) { - $updated = true; - break; - } - } - - if ($updated) { - $lastAction = time(); - $parser = new Less_Parser($env); - foreach ($inputs as $input) { - try { - $parser->parseFile($input, $rootpath); - } - catch (Exception $e) { - echo("lessc: " . $e->getMessage() . " \n"); - continue; // Invalid processing - } - } - - file_put_contents($output, $parser->getCss()); - echo("lessc: output file recompiled\n"); - } - - sleep(1); - } -} -else { - $parser = new Less_Parser($env); - foreach ($inputs as $input) { - if ($input == '-') { - $content = file_get_contents('php://stdin'); - $parser->parse($content); - } - else { - try { - $parser->parseFile($input); - } - catch (Exception $e) { - if (!$silent) { - echo("lessc: " . ((string)$e) . " \n"); - } - } - } - } - - if ($output) { - file_put_contents($output, $parser->getCss()); - } - else { - echo $parser->getCss(); - } -} diff --git a/bin/lessc b/bin/lessc new file mode 120000 index 00000000..e210fe4d --- /dev/null +++ b/bin/lessc @@ -0,0 +1 @@ +../core/vendor/oyejorge/less.php/bin/lessc \ No newline at end of file diff --git a/bin/phpunit b/bin/phpunit deleted file mode 100644 index 8948f6e6..00000000 --- a/bin/phpunit +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -if (version_compare('5.3.3', PHP_VERSION, '>')) { - fwrite( - STDERR, - 'This version of PHPUnit requires PHP 5.3.3; using the latest version of PHP is highly recommended.' . PHP_EOL - ); - - die(1); -} - -if (!ini_get('date.timezone')) { - ini_set('date.timezone', 'UTC'); -} - -foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) { - if (file_exists($file)) { - define('PHPUNIT_COMPOSER_INSTALL', $file); - - break; - } -} - -unset($file); - -if (!defined('PHPUNIT_COMPOSER_INSTALL')) { - fwrite(STDERR, - 'You need to set up the project dependencies using the following commands:' . PHP_EOL . - 'wget http://getcomposer.org/composer.phar' . PHP_EOL . - 'php composer.phar install' . PHP_EOL - ); - - die(1); -} - -require PHPUNIT_COMPOSER_INSTALL; - -PHPUnit_TextUI_Command::main(); diff --git a/bin/phpunit b/bin/phpunit new file mode 120000 index 00000000..fab51f06 --- /dev/null +++ b/bin/phpunit @@ -0,0 +1 @@ +../core/vendor/phpunit/phpunit/phpunit \ No newline at end of file diff --git a/bin/propel b/bin/propel deleted file mode 100644 index 9301b057..00000000 --- a/bin/propel +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env php -=5.4", + "php": ">=5.5", "ircmaxell/password-compat": "1.0.*", "psr/log": "1.0", "symfony/config": "2.8.*", @@ -62,9 +62,7 @@ "ramsey/array_column": "~1.1", "propel/propel": "dev-thelia-2.3", "commerceguys/addressing": "0.8.*", - "thelia/paypal-module": "~2.0.0", - "thelia/take-customer-account-module": "~1.0", - "thelia/order-creation-module": "~1.0" + "symfony/cache": "~3.1.0" }, "require-dev": { "fzaninotto/faker": "1.5.*", diff --git a/composer.lock b/composer.lock index 763ad764..37326c6c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "3ce4f9f2d0b61f10ae68436b457457c1", - "content-hash": "c9d254f8817a0e7a6db9cdacb6be6bba", + "hash": "c7aa4c8921650410fee007feabe9f28e", + "content-hash": "b11e72673bc4c91ff8dae278a174c7d1", "packages": [ { "name": "commerceguys/addressing", @@ -291,7 +291,6 @@ "html2pdf", "pdf" ], - "abandoned": "spipu/html2pdf", "time": "2013-09-13 12:23:43" }, { @@ -347,7 +346,6 @@ "TCPDF", "pdf" ], - "abandoned": "tecnickcom/tcpdf", "time": "2013-09-12 17:00:40" }, { @@ -753,6 +751,52 @@ }, "time": "2016-01-26 14:41:16" }, + { + "name": "psr/cache", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/9e66031f41fbbdda45ee11e93c45d480ccba3eb3", + "reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2015-12-11 02:52:07" + }, { "name": "psr/log", "version": "1.0.0", @@ -1202,6 +1246,72 @@ "homepage": "https://symfony.com", "time": "2016-01-12 17:46:01" }, + { + "name": "symfony/cache", + "version": "v3.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "5656882318413f029fcce69ccc865daa16f8d35a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/5656882318413f029fcce69ccc865daa16f8d35a", + "reference": "5656882318413f029fcce69ccc865daa16f8d35a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/cache": "~1.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "predis/predis": "~1.0" + }, + "suggest": { + "symfony/polyfill-apcu": "For using ApcuAdapter on HHVM" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony implementation of PSR-6", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "time": "2016-05-25 07:47:04" + }, { "name": "symfony/class-loader", "version": "v2.8.2", @@ -2001,7 +2111,6 @@ "icu", "intl" ], - "abandoned": "symfony/intl", "time": "2013-06-03 18:32:07" }, { @@ -3147,54 +3256,6 @@ "description": "php 5.4 currency tools", "time": "2015-11-05 16:15:32" }, - { - "name": "thelia/installer", - "version": "1.2", - "source": { - "type": "git", - "url": "https://github.com/thelia/installer.git", - "reference": "da27ff8bc633452913590ee5bc26ee4c79ff61ee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia/installer/zipball/da27ff8bc633452913590ee5bc26ee4c79ff61ee", - "reference": "da27ff8bc633452913590ee5bc26ee4c79ff61ee", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0" - }, - "require-dev": { - "composer/composer": "1.0.*@dev" - }, - "type": "composer-plugin", - "extra": { - "class": "Thelia\\Composer\\TheliaInstallerPlugin" - }, - "autoload": { - "psr-0": { - "Thelia\\Composer": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL V3" - ], - "authors": [ - { - "name": "Manuel Raynaud", - "email": "raynaud.manu@gmail.com", - "homepage": "https://github.com/lunika" - } - ], - "description": "custom installer for Thelia.", - "keywords": [ - "Thelia", - "Thelia-module", - "Thelia-template" - ], - "time": "2015-06-11 14:04:43" - }, { "name": "thelia/math-tools", "version": "1.0.2", @@ -3235,95 +3296,6 @@ ], "description": "Number management library", "time": "2015-11-05 15:52:55" - }, - { - "name": "thelia/order-creation-module", - "version": "1.4", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/OrderCreation.git", - "reference": "27904242efb0a1fbec92f977949f766176f2d083" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/OrderCreation/zipball/27904242efb0a1fbec92f977949f766176f2d083", - "reference": "27904242efb0a1fbec92f977949f766176f2d083", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.1" - }, - "type": "thelia-module", - "extra": { - "installer-name": "OrderCreation" - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ], - "time": "2015-09-29 15:23:31" - }, - { - "name": "thelia/paypal-module", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/Paypal.git", - "reference": "113b1314c11e7e4a41d540698ea39766ec622340" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/Paypal/zipball/113b1314c11e7e4a41d540698ea39766ec622340", - "reference": "113b1314c11e7e4a41d540698ea39766ec622340", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.0" - }, - "type": "thelia-module", - "extra": { - "installer-name": "Paypal" - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL V3" - ], - "authors": [ - { - "name": "Thelia", - "email": "info@thelia.net", - "homepage": "https://github.com/thelia-modules" - } - ], - "description": "Paypal module for Thelia ecommerce solution", - "time": "2016-01-14 15:33:37" - }, - { - "name": "thelia/take-customer-account-module", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/TakeCustomerAccount.git", - "reference": "68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/TakeCustomerAccount/zipball/68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8", - "reference": "68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.1" - }, - "type": "thelia-module", - "extra": { - "installer-name": "TakeCustomerAccount" - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ], - "time": "2016-02-22 21:26:29" } ], "packages-dev": [ @@ -4328,6 +4300,54 @@ }, "notification-url": "https://packagist.org/downloads/", "time": "2014-12-24 09:51:48" + }, + { + "name": "thelia/installer", + "version": "1.2", + "source": { + "type": "git", + "url": "https://github.com/thelia/installer.git", + "reference": "da27ff8bc633452913590ee5bc26ee4c79ff61ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thelia/installer/zipball/da27ff8bc633452913590ee5bc26ee4c79ff61ee", + "reference": "da27ff8bc633452913590ee5bc26ee4c79ff61ee", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "require-dev": { + "composer/composer": "1.0.*@dev" + }, + "type": "composer-plugin", + "extra": { + "class": "Thelia\\Composer\\TheliaInstallerPlugin" + }, + "autoload": { + "psr-0": { + "Thelia\\Composer": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL V3" + ], + "authors": [ + { + "name": "Manuel Raynaud", + "email": "raynaud.manu@gmail.com", + "homepage": "https://github.com/lunika" + } + ], + "description": "custom installer for Thelia.", + "keywords": [ + "Thelia", + "Thelia-module", + "Thelia-template" + ], + "time": "2015-06-11 14:04:43" } ], "aliases": [], @@ -4338,7 +4358,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.4" + "php": ">=5.5" }, "platform-dev": [] } diff --git a/core/Readme.md b/core/Readme.md index 2d7c0e74..45d5fc90 100644 --- a/core/Readme.md +++ b/core/Readme.md @@ -20,13 +20,16 @@ A repository containing all thelia modules is available at this address : https: Requirements ------------ -* php 5.4 +* php 5.5 * Required extensions : * PDO_Mysql - * mcrypt + * openssl * intl * gd * curl + * calendar + * dom + * fileinfo * safe_mode off * memory_limit at least 128M, preferably 256. * post_max_size 20M diff --git a/core/Thelia b/core/Thelia old mode 100644 new mode 100755 index a2cf3249..fd703ce0 --- a/core/Thelia +++ b/core/Thelia @@ -1,4 +1,3 @@ -#!/usr/bin/env php genericUpdatePosition(BrandQuery::create(), $event, $dispatcher); } + /** + * Check if is a brand view and if brand_id is visible + * + * @param ViewCheckEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function viewCheck(ViewCheckEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if ($event->getView() == 'brand') { + $brand = BrandQuery::create() + ->filterById($event->getViewId()) + ->filterByVisible(1) + ->count(); + + if ($brand == 0) { + $dispatcher->dispatch(TheliaEvents::VIEW_BRAND_ID_NOT_VISIBLE, $event); + } + } + } + + /** + * @param ViewCheckEvent $event + * @throws NotFoundHttpException + */ + public function viewBrandIdNotVisible(ViewCheckEvent $event) + { + throw new NotFoundHttpException(); + } + /** * {@inheritdoc} */ @@ -135,6 +167,9 @@ class Brand extends BaseAction implements EventSubscriberInterface TheliaEvents::BRAND_UPDATE_POSITION => array('updatePosition', 128), TheliaEvents::BRAND_TOGGLE_VISIBILITY => array('toggleVisibility', 128), + + TheliaEvents::VIEW_CHECK => array('viewCheck', 128), + TheliaEvents::VIEW_BRAND_ID_NOT_VISIBLE => array('viewBrandIdNotVisible', 128), ); } } diff --git a/core/lib/Thelia/Action/Cache.php b/core/lib/Thelia/Action/Cache.php index 693844a8..ca5eac73 100644 --- a/core/lib/Thelia/Action/Cache.php +++ b/core/lib/Thelia/Action/Cache.php @@ -12,6 +12,7 @@ namespace Thelia\Action; +use Symfony\Component\Cache\Adapter\AdapterInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Filesystem\Filesystem; use Thelia\Core\Event\Cache\CacheEvent; @@ -24,8 +25,23 @@ use Thelia\Core\Event\TheliaEvents; */ class Cache extends BaseAction implements EventSubscriberInterface { + /** @var AdapterInterface */ + protected $adapter; + + /** + * CacheListener constructor. + * @param AdapterInterface $adapter + */ + public function __construct(AdapterInterface $adapter) + { + $this->adapter = $adapter; + } + public function cacheClear(CacheEvent $event) { + // clear cache on thelia.cache service + $this->adapter->clear(); + $dir = $event->getDir(); $fs = new Filesystem(); diff --git a/core/lib/Thelia/Action/Cart.php b/core/lib/Thelia/Action/Cart.php index 124e7b21..b4df862d 100644 --- a/core/lib/Thelia/Action/Cart.php +++ b/core/lib/Thelia/Action/Cart.php @@ -22,6 +22,7 @@ use Thelia\Core\Event\Cart\CartRestoreEvent; use Thelia\Core\Event\Cart\CartEvent; use Thelia\Core\Event\Currency\CurrencyChangeEvent; use Thelia\Core\Event\TheliaEvents; +use Thelia\Exception\TheliaProcessException; use Thelia\Model\Base\CustomerQuery; use Thelia\Model\Base\ProductSaleElementsQuery; use Thelia\Model\Currency as CurrencyModel; @@ -100,9 +101,11 @@ class Cart extends BaseAction implements EventSubscriberInterface $productId = $event->getProduct(); // Search for an identical item in the cart - $dispatcher->dispatch(TheliaEvents::CART_FINDITEM, $event); + $findItemEvent = clone $event; - $cartItem = $event->getCartItem(); + $dispatcher->dispatch(TheliaEvents::CART_FINDITEM, $findItemEvent); + + $cartItem = $findItemEvent->getCartItem(); if ($cartItem === null || $newness) { $productSaleElements = ProductSaleElementsQuery::create()->findPk($productSaleElementsId); @@ -111,6 +114,9 @@ class Cart extends BaseAction implements EventSubscriberInterface $productPrices = $productSaleElements->getPricesByCurrency($currency, $discount); $cartItem = $this->doAddItem($dispatcher, $cart, $productId, $productSaleElements, $quantity, $productPrices); + } else { + // We did no find any PSE... Something is wrong with the DB, just throw an exception. + throw new TheliaProcessException("This item cannot be added to the cart: no matching product sale element was found."); } } elseif ($append && $cartItem !== null) { $cartItem->addQuantity($quantity)->save(); @@ -133,6 +139,10 @@ class Cart extends BaseAction implements EventSubscriberInterface ->filterByCartId($cart->getId()) ->filterById($cartItemId) ->delete(); + + // Force an update of the Cart object to provide + // to other listeners an updated CartItem collection. + $cart->clearCartItems(); } } @@ -301,7 +311,9 @@ class Cart extends BaseAction implements EventSubscriberInterface */ public function findCartItem(CartEvent $event) { - if (null !== $foundItem = CartItemQuery::create() + // Do not try to find a cartItem if one exists in the event, as previous event handlers + // mays have put it in th event. + if (null === $event->getCartItem() && null !== $foundItem = CartItemQuery::create() ->filterByCartId($event->getCart()->getId()) ->filterByProductId($event->getProduct()) ->filterByProductSaleElementsId($event->getProductSaleElementsId()) diff --git a/core/lib/Thelia/Action/Category.php b/core/lib/Thelia/Action/Category.php index ebfb92ea..382847f0 100644 --- a/core/lib/Thelia/Action/Category.php +++ b/core/lib/Thelia/Action/Category.php @@ -15,6 +15,7 @@ namespace Thelia\Action; use Propel\Runtime\Propel; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Thelia\Core\Event\File\FileDeleteEvent; use Thelia\Core\Event\UpdateSeoEvent; use Thelia\Model\CategoryDocumentQuery; @@ -29,6 +30,7 @@ use Thelia\Core\Event\UpdatePositionEvent; use Thelia\Core\Event\Category\CategoryToggleVisibilityEvent; use Thelia\Core\Event\Category\CategoryAddContentEvent; use Thelia\Core\Event\Category\CategoryDeleteContentEvent; +use Thelia\Core\Event\ViewCheckEvent; use Thelia\Model\CategoryAssociatedContent; use Thelia\Model\CategoryAssociatedContentQuery; use Thelia\Model\Map\CategoryTableMap; @@ -212,6 +214,36 @@ class Category extends BaseAction implements EventSubscriberInterface } } + /** + * Check if is a category view and if category_id is visible + * + * @param ViewCheckEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function viewCheck(ViewCheckEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if ($event->getView() == 'category') { + $category = CategoryQuery::create() + ->filterById($event->getViewId()) + ->filterByVisible(1) + ->count(); + + if ($category == 0) { + $dispatcher->dispatch(TheliaEvents::VIEW_CATEGORY_ID_NOT_VISIBLE, $event); + } + } + } + + /** + * @param ViewCheckEvent $event + * @throws NotFoundHttpException + */ + public function viewcategoryIdNotVisible(ViewCheckEvent $event) + { + throw new NotFoundHttpException(); + } + /** * {@inheritDoc} */ @@ -229,6 +261,8 @@ class Category extends BaseAction implements EventSubscriberInterface TheliaEvents::CATEGORY_ADD_CONTENT => array("addContent", 128), TheliaEvents::CATEGORY_REMOVE_CONTENT => array("removeContent", 128), + TheliaEvents::VIEW_CHECK => array('viewCheck', 128), + TheliaEvents::VIEW_CATEGORY_ID_NOT_VISIBLE => array('viewcategoryIdNotVisible', 128), ); } } diff --git a/core/lib/Thelia/Action/Content.php b/core/lib/Thelia/Action/Content.php index f2ef9f4c..96e3c6ab 100644 --- a/core/lib/Thelia/Action/Content.php +++ b/core/lib/Thelia/Action/Content.php @@ -16,6 +16,7 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Propel; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Thelia\Core\Event\Content\ContentAddFolderEvent; use Thelia\Core\Event\Content\ContentCreateEvent; use Thelia\Core\Event\Content\ContentDeleteEvent; @@ -26,6 +27,7 @@ use Thelia\Core\Event\File\FileDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\UpdatePositionEvent; use Thelia\Core\Event\UpdateSeoEvent; +use Thelia\Core\Event\ViewCheckEvent; use Thelia\Model\ContentDocumentQuery; use Thelia\Model\ContentFolder; use Thelia\Model\ContentFolderQuery; @@ -207,13 +209,43 @@ class Content extends BaseAction implements EventSubscriberInterface } } + /** + * Check if is a content view and if content_id is visible + * + * @param ViewCheckEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function viewCheck(ViewCheckEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if ($event->getView() == 'content') { + $content = ContentQuery::create() + ->filterById($event->getViewId()) + ->filterByVisible(1) + ->count(); + + if ($content == 0) { + $dispatcher->dispatch(TheliaEvents::VIEW_CONTENT_ID_NOT_VISIBLE, $event); + } + } + } + + /** + * @param ViewCheckEvent $event + * @throws NotFoundHttpException + */ + public function viewContentIdNotVisible(ViewCheckEvent $event) + { + throw new NotFoundHttpException(); + } + /** * {@inheritdoc} */ public static function getSubscribedEvents() { return array( - TheliaEvents::CONTENT_CREATE => array('create', 128), + TheliaEvents::CONTENT_CREATE => array('create', 128), TheliaEvents::CONTENT_UPDATE => array('update', 128), TheliaEvents::CONTENT_DELETE => array('delete', 128), TheliaEvents::CONTENT_TOGGLE_VISIBILITY => array('toggleVisibility', 128), @@ -223,6 +255,9 @@ class Content extends BaseAction implements EventSubscriberInterface TheliaEvents::CONTENT_ADD_FOLDER => array('addFolder', 128), TheliaEvents::CONTENT_REMOVE_FOLDER => array('removeFolder', 128), + + TheliaEvents::VIEW_CHECK => array('viewCheck', 128), + TheliaEvents::VIEW_CONTENT_ID_NOT_VISIBLE => array('viewContentIdNotVisible', 128), ); } } diff --git a/core/lib/Thelia/Action/Coupon.php b/core/lib/Thelia/Action/Coupon.php index 83717a22..87cc5b3d 100644 --- a/core/lib/Thelia/Action/Coupon.php +++ b/core/lib/Thelia/Action/Coupon.php @@ -38,6 +38,8 @@ use Thelia\Model\Map\OrderCouponTableMap; use Thelia\Model\OrderCoupon; use Thelia\Model\OrderCouponCountry; use Thelia\Model\OrderCouponModule; +use Thelia\Model\OrderCouponQuery; +use Thelia\Model\OrderStatusQuery; /** * Process Coupon Events @@ -322,7 +324,7 @@ class Coupon extends BaseAction implements EventSubscriberInterface $orderCoupon->setOrder($event->getOrder()) ->setCode($couponModel->getCode()) ->setType($couponModel->getType()) - ->setAmount($couponModel->getAmount()) + ->setAmount($couponCode->exec()) ->setTitle($couponModel->getTitle()) ->setShortDescription($couponModel->getShortDescription()) @@ -378,6 +380,58 @@ class Coupon extends BaseAction implements EventSubscriberInterface $dispatcher->dispatch(TheliaEvents::COUPON_CLEAR_ALL); } + /** + * Cancels order coupons usage when order is canceled or refunded, + * or use canceled coupons again if the order is no longer canceled or refunded + * + * @param OrderEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + * @throws \Exception + * @throws \Propel\Runtime\Exception\PropelException + */ + public function orderStatusChange(OrderEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + // The order has been canceled or refunded ? + if ($event->getOrder()->isCancelled() || $event->getOrder()->isRefunded()) { + // Cancel usage of all coupons for this order + $usedCoupons = OrderCouponQuery::create() + ->filterByUsageCanceled(false) + ->findByOrderId($event->getOrder()->getId()); + + $customerId = $event->getOrder()->getCustomerId(); + + /** @var OrderCoupon $usedCoupon */ + foreach ($usedCoupons as $usedCoupon) { + if (null !== $couponModel = CouponQuery::create()->findOneByCode($usedCoupon->getCode())) { + // If the coupon still exists, restore one usage to the usage count. + $this->couponManager->incrementQuantity($couponModel, $customerId); + } + + // Mark coupon usage as canceled in the OrderCoupon table + $usedCoupon->setUsageCanceled(true)->save(); + } + } else { + // Mark canceled coupons for this order as used again + $usedCoupons = OrderCouponQuery::create() + ->filterByUsageCanceled(true) + ->findByOrderId($event->getOrder()->getId()); + + $customerId = $event->getOrder()->getCustomerId(); + + /** @var OrderCoupon $usedCoupon */ + foreach ($usedCoupons as $usedCoupon) { + if (null !== $couponModel = CouponQuery::create()->findOneByCode($usedCoupon->getCode())) { + // If the coupon still exists, mark the coupon as used + $this->couponManager->decrementQuantity($couponModel, $customerId); + } + + // The coupon is no longer canceled + $usedCoupon->setUsageCanceled(false)->save(); + } + } + } + /** * {@inheritdoc} */ @@ -392,9 +446,11 @@ class Coupon extends BaseAction implements EventSubscriberInterface TheliaEvents::COUPON_CONDITION_UPDATE => array("updateCondition", 128), TheliaEvents::ORDER_SET_POSTAGE => array("testFreePostage", 132), TheliaEvents::ORDER_BEFORE_PAYMENT => array("afterOrder", 128), + TheliaEvents::ORDER_UPDATE_STATUS => array("orderStatusChange", 10), TheliaEvents::CART_ADDITEM => array("updateOrderDiscount", 10), TheliaEvents::CART_UPDATEITEM => array("updateOrderDiscount", 10), TheliaEvents::CART_DELETEITEM => array("updateOrderDiscount", 10), + TheliaEvents::CUSTOMER_LOGIN => array("updateOrderDiscount", 10) ); } diff --git a/core/lib/Thelia/Action/Customer.php b/core/lib/Thelia/Action/Customer.php index 569149b7..614ff6e5 100644 --- a/core/lib/Thelia/Action/Customer.php +++ b/core/lib/Thelia/Action/Customer.php @@ -24,6 +24,7 @@ use Thelia\Core\Security\SecurityContext; use Thelia\Core\Translation\Translator; use Thelia\Exception\CustomerException; use Thelia\Mailer\MailerFactory; +use Thelia\Model\ConfigQuery; use Thelia\Model\Customer as CustomerModel; use Thelia\Model\CustomerQuery; use Thelia\Tools\Password; @@ -59,7 +60,29 @@ class Customer extends BaseAction implements EventSubscriberInterface $this->createOrUpdateCustomer($customer, $event, $dispatcher); if ($event->getNotifyCustomerOfAccountCreation()) { - $this->mailer->sendEmailToCustomer('customer_account_created', $customer, [ 'password' => $plainPassword ]); + $this->mailer->sendEmailToCustomer( + 'customer_account_created', + $customer, + [ 'password' => $plainPassword ] + ); + } + + $dispatcher->dispatch( + TheliaEvents::SEND_ACCOUNT_CONFIRMATION_EMAIL, + new CustomerEvent($customer) + ); + } + + public function customerConfirmationEmail(CustomerEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + $customer = $event->getCustomer(); + + if (ConfigQuery::isCustomerEmailConfirmationEnable() && $customer->getConfirmationToken() !== null && $customer !== null) { + $this->mailer->sendEmailToCustomer( + 'customer_confirmation', + $customer, + ['customer_id' => $customer->getId()] + ); } } @@ -209,7 +232,8 @@ class Customer extends BaseAction implements EventSubscriberInterface TheliaEvents::CUSTOMER_LOGOUT => array('logout', 128), TheliaEvents::CUSTOMER_LOGIN => array('login', 128), TheliaEvents::CUSTOMER_DELETEACCOUNT => array('delete', 128), - TheliaEvents::LOST_PASSWORD => array('lostPassword', 128) + TheliaEvents::LOST_PASSWORD => array('lostPassword', 128), + TheliaEvents::SEND_ACCOUNT_CONFIRMATION_EMAIL => array('customerConfirmationEmail', 128) ); } } diff --git a/core/lib/Thelia/Action/Folder.php b/core/lib/Thelia/Action/Folder.php index 12550f7e..747e02ed 100644 --- a/core/lib/Thelia/Action/Folder.php +++ b/core/lib/Thelia/Action/Folder.php @@ -15,6 +15,7 @@ namespace Thelia\Action; use Propel\Runtime\Propel; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Thelia\Core\Event\File\FileDeleteEvent; use Thelia\Core\Event\Folder\FolderCreateEvent; use Thelia\Core\Event\Folder\FolderDeleteEvent; @@ -23,6 +24,7 @@ use Thelia\Core\Event\Folder\FolderUpdateEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\UpdatePositionEvent; use Thelia\Core\Event\UpdateSeoEvent; +use Thelia\Core\Event\ViewCheckEvent; use Thelia\Model\FolderDocumentQuery; use Thelia\Model\FolderImageQuery; use Thelia\Model\FolderQuery; @@ -155,6 +157,36 @@ class Folder extends BaseAction implements EventSubscriberInterface } } + /** + * Check if is a folder view and if folder_id is visible + * + * @param ViewCheckEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function viewCheck(ViewCheckEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if ($event->getView() == 'folder') { + $folder = FolderQuery::create() + ->filterById($event->getViewId()) + ->filterByVisible(1) + ->count(); + + if ($folder == 0) { + $dispatcher->dispatch(TheliaEvents::VIEW_FOLDER_ID_NOT_VISIBLE, $event); + } + } + } + + /** + * @param ViewCheckEvent $event + * @throws NotFoundHttpException + */ + public function viewFolderIdNotVisible(ViewCheckEvent $event) + { + throw new NotFoundHttpException(); + } + /** * {@inheritdoc} */ @@ -167,7 +199,10 @@ class Folder extends BaseAction implements EventSubscriberInterface TheliaEvents::FOLDER_TOGGLE_VISIBILITY => array("toggleVisibility", 128), TheliaEvents::FOLDER_UPDATE_POSITION => array("updatePosition", 128), - TheliaEvents::FOLDER_UPDATE_SEO => array('updateSeo', 128) + TheliaEvents::FOLDER_UPDATE_SEO => array('updateSeo', 128), + + TheliaEvents::VIEW_CHECK => array('viewCheck', 128), + TheliaEvents::VIEW_FOLDER_ID_NOT_VISIBLE => array('viewFolderIdNotVisible', 128), ); } } diff --git a/core/lib/Thelia/Action/Image.php b/core/lib/Thelia/Action/Image.php index eb6c99da..29c9a188 100644 --- a/core/lib/Thelia/Action/Image.php +++ b/core/lib/Thelia/Action/Image.php @@ -301,11 +301,18 @@ class Image extends BaseCachedFile implements EventSubscriberInterface $delta_x = $delta_y = $border_width = $border_height = 0; if ($width_diff > 1 && $height_diff > 1) { - $resize_width = $width_orig; - $resize_height = $height_orig; + // Set the default final size. If zoom is allowed, we will get the required + // image dimension. Otherwise, the final image may be smaller than required. + if ($allow_zoom) { + $resize_width = $dest_width; + $resize_height = $dest_height; + } else { + $resize_width = $width_orig; + $resize_height = $height_orig; + } // When cropping, be sure to always generate an image which is - // no smaller than the required size, zooming it if required. + // not smaller than the required size, zooming it if required. if ($resize_mode == self::EXACT_RATIO_WITH_CROP) { if ($allow_zoom) { if ($width_diff > $height_diff) { diff --git a/core/lib/Thelia/Action/Module.php b/core/lib/Thelia/Action/Module.php index b3061752..8f2511b2 100644 --- a/core/lib/Thelia/Action/Module.php +++ b/core/lib/Thelia/Action/Module.php @@ -84,6 +84,12 @@ class Module extends BaseAction implements EventSubscriberInterface if (null !== $module = ModuleQuery::create()->findPk($event->getModuleId())) { try { if ($module->getActivate() == BaseModule::IS_ACTIVATED) { + if ($module->getMandatory() == BaseModule::IS_MANDATORY && $event->getAssumeDeactivate() === false) { + throw new \Exception( + Translator::getInstance()->trans('Can\'t deactivate a secure module') + ); + } + if ($event->isRecursive()) { $this->recursiveDeactivation($event, $eventName, $dispatcher); } @@ -233,6 +239,11 @@ class Module extends BaseAction implements EventSubscriberInterface } try { + if ($module->getMandatory() == BaseModule::IS_MANDATORY && $event->getAssumeDelete() === false) { + throw new \Exception( + Translator::getInstance()->trans('Can\'t remove a core module') + ); + } // First, try to create an instance $instance = $module->createInstance(); diff --git a/core/lib/Thelia/Action/Order.php b/core/lib/Thelia/Action/Order.php index 5951d619..4b0ff489 100644 --- a/core/lib/Thelia/Action/Order.php +++ b/core/lib/Thelia/Action/Order.php @@ -642,6 +642,19 @@ class Order extends BaseAction implements EventSubscriberInterface $event->setOrder($order); } + /** + * @param OrderEvent $event + */ + public function updateTransactionRef(OrderEvent $event) + { + $order = $event->getOrder(); + + $order->setTransactionRef($event->getTransactionRef()); + $order->save(); + + $event->setOrder($order); + } + /** * @param OrderAddressEvent $event */ @@ -710,6 +723,7 @@ class Order extends BaseAction implements EventSubscriberInterface TheliaEvents::ORDER_SEND_NOTIFICATION_EMAIL => array("sendNotificationEmail", 128), TheliaEvents::ORDER_UPDATE_STATUS => array("updateStatus", 128), TheliaEvents::ORDER_UPDATE_DELIVERY_REF => array("updateDeliveryRef", 128), + TheliaEvents::ORDER_UPDATE_TRANSACTION_REF => array("updateTransactionRef", 128), TheliaEvents::ORDER_UPDATE_ADDRESS => array("updateAddress", 128), TheliaEvents::ORDER_CREATE_MANUAL => array("createManual", 128), ); diff --git a/core/lib/Thelia/Action/Product.php b/core/lib/Thelia/Action/Product.php index 949c1bad..af64f282 100644 --- a/core/lib/Thelia/Action/Product.php +++ b/core/lib/Thelia/Action/Product.php @@ -14,17 +14,53 @@ namespace Thelia\Action; use Propel\Runtime\ActiveQuery\Criteria; use Propel\Runtime\Exception\PropelException; +use Propel\Runtime\Propel; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Thelia\Core\Event\Feature\FeatureAvCreateEvent; use Thelia\Core\Event\Feature\FeatureAvDeleteEvent; +use Thelia\Core\Event\FeatureProduct\FeatureProductDeleteEvent; +use Thelia\Core\Event\FeatureProduct\FeatureProductUpdateEvent; use Thelia\Core\Event\File\FileDeleteEvent; +use Thelia\Core\Event\Product\ProductAddAccessoryEvent; +use Thelia\Core\Event\Product\ProductAddCategoryEvent; +use Thelia\Core\Event\Product\ProductAddContentEvent; use Thelia\Core\Event\Product\ProductCloneEvent; -use Thelia\Model\AttributeCombinationQuery; +use Thelia\Core\Event\Product\ProductCreateEvent; +use Thelia\Core\Event\Product\ProductDeleteAccessoryEvent; +use Thelia\Core\Event\Product\ProductDeleteCategoryEvent; +use Thelia\Core\Event\Product\ProductDeleteContentEvent; +use Thelia\Core\Event\Product\ProductDeleteEvent; +use Thelia\Core\Event\Product\ProductSetTemplateEvent; +use Thelia\Core\Event\Product\ProductToggleVisibilityEvent; +use Thelia\Core\Event\Product\ProductUpdateEvent; +use Thelia\Core\Event\ProductSaleElement\ProductSaleElementDeleteEvent; +use Thelia\Core\Event\Template\TemplateDeleteAttributeEvent; +use Thelia\Core\Event\Template\TemplateDeleteFeatureEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Core\Event\UpdatePositionEvent; +use Thelia\Core\Event\UpdateSeoEvent; +use Thelia\Core\Event\ViewCheckEvent; +use Thelia\Model\Accessory; +use Thelia\Model\AccessoryQuery; +use Thelia\Model\AttributeTemplateQuery; +use Thelia\Model\Currency as CurrencyModel; use Thelia\Model\FeatureAvI18n; use Thelia\Model\FeatureAvI18nQuery; use Thelia\Model\FeatureAvQuery; +use Thelia\Model\FeatureProduct; +use Thelia\Model\FeatureProductQuery; +use Thelia\Model\FeatureTemplateQuery; +use Thelia\Model\Map\AttributeTemplateTableMap; +use Thelia\Model\Map\FeatureTemplateTableMap; +use Thelia\Model\Map\ProductSaleElementsTableMap; use Thelia\Model\Map\ProductTableMap; +use Thelia\Model\Product as ProductModel; +use Thelia\Model\ProductAssociatedContent; +use Thelia\Model\ProductAssociatedContentQuery; +use Thelia\Model\ProductCategory; +use Thelia\Model\ProductCategoryQuery; use Thelia\Model\ProductDocument; use Thelia\Model\ProductDocumentQuery; use Thelia\Model\ProductI18n; @@ -34,34 +70,8 @@ use Thelia\Model\ProductImageQuery; use Thelia\Model\ProductPrice; use Thelia\Model\ProductPriceQuery; use Thelia\Model\ProductQuery; -use Thelia\Model\Product as ProductModel; -use Thelia\Model\ProductAssociatedContent; -use Thelia\Model\ProductAssociatedContentQuery; -use Thelia\Model\ProductCategory; -use Thelia\Model\TaxRuleQuery; -use Thelia\Model\AccessoryQuery; -use Thelia\Model\Accessory; -use Thelia\Model\FeatureProduct; -use Thelia\Model\FeatureProductQuery; -use Thelia\Model\ProductCategoryQuery; use Thelia\Model\ProductSaleElementsQuery; -use Thelia\Core\Event\TheliaEvents; -use Thelia\Core\Event\Product\ProductUpdateEvent; -use Thelia\Core\Event\Product\ProductCreateEvent; -use Thelia\Core\Event\Product\ProductDeleteEvent; -use Thelia\Core\Event\Product\ProductToggleVisibilityEvent; -use Thelia\Core\Event\Product\ProductAddContentEvent; -use Thelia\Core\Event\Product\ProductDeleteContentEvent; -use Thelia\Core\Event\UpdatePositionEvent; -use Thelia\Core\Event\UpdateSeoEvent; -use Thelia\Core\Event\FeatureProduct\FeatureProductUpdateEvent; -use Thelia\Core\Event\FeatureProduct\FeatureProductDeleteEvent; -use Thelia\Core\Event\Product\ProductSetTemplateEvent; -use Thelia\Core\Event\Product\ProductDeleteCategoryEvent; -use Thelia\Core\Event\Product\ProductAddCategoryEvent; -use Thelia\Core\Event\Product\ProductAddAccessoryEvent; -use Thelia\Core\Event\Product\ProductDeleteAccessoryEvent; -use Propel\Runtime\Propel; +use Thelia\Model\TaxRuleQuery; class Product extends BaseAction implements EventSubscriberInterface { @@ -80,6 +90,11 @@ class Product extends BaseAction implements EventSubscriberInterface */ public function create(ProductCreateEvent $event) { + $defaultTaxRuleId = null; + if (null !== $defaultTaxRule = TaxRuleQuery::create()->findOneByIsDefault(true)) { + $defaultTaxRuleId = $defaultTaxRule->getId(); + } + $product = new ProductModel(); $product @@ -90,17 +105,14 @@ class Product extends BaseAction implements EventSubscriberInterface ->setTitle($event->getTitle()) ->setVisible($event->getVisible() ? 1 : 0) ->setVirtual($event->getVirtual() ? 1 : 0) - - // Set the default tax rule to this product - ->setTaxRule(TaxRuleQuery::create()->findOneByIsDefault(true)) - ->setTemplateId($event->getTemplateId()) ->create( $event->getDefaultCategory(), $event->getBasePrice(), $event->getCurrencyId(), - $event->getTaxRuleId(), + // Set the default tax rule if not defined + $event->getTaxRuleId() ?: $defaultTaxRuleId, $event->getBaseWeight(), $event->getBaseQuantity() ) @@ -278,6 +290,7 @@ class Product extends BaseAction implements EventSubscriberInterface ->findByProductId($event->getOriginalProduct()->getId()); // Set clone product associated contents + /** @var ProductAssociatedContent $originalProductAssocCont */ foreach ($originalProductAssocConts as $originalProductAssocCont) { $clonedProductCreatePAC = new ProductAddContentEvent($event->getClonedProduct(), $originalProductAssocCont->getContentId()); $this->eventDispatcher->dispatch(TheliaEvents::PRODUCT_ADD_CONTENT, $clonedProductCreatePAC); @@ -291,6 +304,7 @@ class Product extends BaseAction implements EventSubscriberInterface ->findByProductId($event->getOriginalProduct()->getId()); // Set clone product accessories + /** @var Accessory $originalProductAccessory */ foreach ($originalProductAccessoryList as $originalProductAccessory) { $clonedProductAddAccessoryEvent = new ProductAddAccessoryEvent($event->getClonedProduct(), $originalProductAccessory->getAccessory()); $this->eventDispatcher->dispatch(TheliaEvents::PRODUCT_ADD_ACCESSORY, $clonedProductAddAccessoryEvent); @@ -387,22 +401,6 @@ class Product extends BaseAction implements EventSubscriberInterface ->findByProductId($event->getProductId()); $fileList['documentList']['type'] = TheliaEvents::DOCUMENT_DELETE; - // Delete free_text_feature AV (see issue #2061) - $featureAvs = FeatureAvQuery::create() - ->useFeatureProductQuery() - ->filterByFreeTextValue(true) - ->filterByProductId($event->getProductId()) - ->endUse() - ->find($con) - ; - - foreach ($featureAvs as $featureAv) { - $featureAv - ->setDispatcher($this->eventDispatcher) - ->delete($con) - ; - } - // Delete product $product ->setDispatcher($this->eventDispatcher) @@ -563,28 +561,69 @@ class Product extends BaseAction implements EventSubscriberInterface try { $product = $event->getProduct(); - // Delete all product feature relations - if (null !== $featureProducts = FeatureProductQuery::create()->findByProductId($product->getId())) { - /** @var \Thelia\Model\FeatureProduct $featureProduct */ - foreach ($featureProducts as $featureProduct) { - $eventDelete = new FeatureProductDeleteEvent($product->getId(), $featureProduct->getFeatureId()); - - $this->eventDispatcher->dispatch(TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE, $eventDelete); - } + // Check differences between current coobination and the next one, and clear obsoletes values. + $nextTemplateId = $event->getTemplateId(); + $currentTemplateId = $product->getTemplateId(); + + // 1. Process product features. + + $currentFeatures = FeatureTemplateQuery::create() + ->filterByTemplateId($currentTemplateId) + ->select([ FeatureTemplateTableMap::FEATURE_ID ]) + ->find($con); + + $nextFeatures = FeatureTemplateQuery::create() + ->filterByTemplateId($nextTemplateId) + ->select([ FeatureTemplateTableMap::FEATURE_ID ]) + ->find($con); + + // Find features values we shoud delete. To do this, we have to + // find all features in $currentFeatures that are not present in $nextFeatures + $featuresToDelete = array_diff($currentFeatures->getData(), $nextFeatures->getData()); + + // Delete obsolete features values + foreach ($featuresToDelete as $featureId) { + $this->eventDispatcher->dispatch( + TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE, + new FeatureProductDeleteEvent($product->getId(), $featureId) + ); } + + // 2. Process product Attributes + + $currentAttributes = AttributeTemplateQuery::create() + ->filterByTemplateId($currentTemplateId) + ->select([ AttributeTemplateTableMap::ATTRIBUTE_ID ]) + ->find($con); + + $nextAttributes = AttributeTemplateQuery::create() + ->filterByTemplateId($nextTemplateId) + ->select([ AttributeTemplateTableMap::ATTRIBUTE_ID ]) + ->find($con); + + // Find attributes values we shoud delete. To do this, we have to + // find all attributes in $currentAttributes that are not present in $nextAttributes + $attributesToDelete = array_diff($currentAttributes->getData(), $nextAttributes->getData()); - // Delete all product attributes sale elements - AttributeCombinationQuery::create() - ->filterByProductSaleElements($product->getProductSaleElementss()) - ->delete($con) - ; - - //Delete all productSaleElements except the default one (to keep price, weight, ean, etc...) - ProductSaleElementsQuery::create() - ->filterByProduct($product) - ->filterByIsDefault(1, Criteria::NOT_EQUAL) - ->delete($con) - ; + // Find PSE which includes $attributesToDelete for the current product/ + $pseToDelete = ProductSaleElementsQuery::create() + ->filterByProductId($product->getId()) + ->useAttributeCombinationQuery() + ->filterByAttributeId($attributesToDelete, Criteria::IN) + ->endUse() + ->select([ ProductSaleElementsTableMap::ID ]) + ->find(); + + // Delete obsolete PSEs + foreach ($pseToDelete->getData() as $pseId) { + $this->eventDispatcher->dispatch( + TheliaEvents::PRODUCT_DELETE_PRODUCT_SALE_ELEMENT, + new ProductSaleElementDeleteEvent( + $pseId, + CurrencyModel::getDefaultCurrency()->getId() + ) + ); + } // Update the product template $template_id = $event->getTemplateId(); @@ -596,16 +635,6 @@ class Product extends BaseAction implements EventSubscriberInterface $product->setTemplateId($template_id)->save($con); - //Be sure that the product has a default productSaleElements - /** @var \Thelia\Model\ProductSaleElements $defaultPse */ - if (null == $defaultPse = ProductSaleElementsQuery::create() - ->filterByProduct($product) - ->filterByIsDefault(1) - ->findOne()) { - // Create a new default product sale element - $product->createProductSaleElement($con, 0, 0, 0, $event->getCurrencyId(), true); - } - $product->clearProductSaleElementss(); $event->setProduct($product); @@ -618,7 +647,7 @@ class Product extends BaseAction implements EventSubscriberInterface throw $ex; } } - + /** * Changes accessry position, selecting absolute ou relative change. * @@ -781,6 +810,93 @@ class Product extends BaseAction implements EventSubscriberInterface $model->getProductSaleElementsProductDocuments()->delete(); } } + + /** + * When a feature is removed from a template, the products which are using this feature should be updated. + * + * @param TemplateDeleteFeatureEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function deleteTemplateFeature(TemplateDeleteFeatureEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + // Detete the removed feature in all products which are using this template + $products = ProductQuery::create() + ->filterByTemplateId($event->getTemplate()->getId()) + ->find() + ; + + foreach ($products as $product) { + $dispatcher->dispatch( + TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE, + new FeatureProductDeleteEvent($product->getId(), $event->getFeatureId()) + ); + } + } + + /** + * When an attribute is removed from a template, the conbinations and PSE of products which are using this template + * should be updated. + * + * @param TemplateDeleteAttributeEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function deleteTemplateAttribute(TemplateDeleteAttributeEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + // Detete the removed attribute in all products which are using this template + $pseToDelete = ProductSaleElementsQuery::create() + ->useProductQuery() + ->filterByTemplateId($event->getTemplate()->getId()) + ->endUse() + ->useAttributeCombinationQuery() + ->filterByAttributeId($event->getAttributeId()) + ->endUse() + ->select([ ProductSaleElementsTableMap::ID ]) + ->find(); + + $currencyId = CurrencyModel::getDefaultCurrency()->getId(); + + foreach ($pseToDelete->getData() as $pseId) { + $dispatcher->dispatch( + TheliaEvents::PRODUCT_DELETE_PRODUCT_SALE_ELEMENT, + new ProductSaleElementDeleteEvent( + $pseId, + $currencyId + ) + ); + } + } + + /** + * Check if is a product view and if product_id is visible + * + * @param ViewCheckEvent $event + * @param string $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function viewCheck(ViewCheckEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if ($event->getView() == 'product') { + $product = ProductQuery::create() + ->filterById($event->getViewId()) + ->filterByVisible(1) + ->count(); + + if ($product == 0) { + $dispatcher->dispatch(TheliaEvents::VIEW_PRODUCT_ID_NOT_VISIBLE, $event); + } + } + } + + /** + * @param ViewCheckEvent $event + * @throws NotFoundHttpException + */ + public function viewProductIdNotVisible(ViewCheckEvent $event) + { + throw new NotFoundHttpException(); + } /** * {@inheritDoc} @@ -812,10 +928,16 @@ class Product extends BaseAction implements EventSubscriberInterface TheliaEvents::PRODUCT_FEATURE_UPDATE_VALUE => array("updateFeatureProductValue", 128), TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE => array("deleteFeatureProductValue", 128), - + + TheliaEvents::TEMPLATE_DELETE_ATTRIBUTE => array("deleteTemplateAttribute", 128), + TheliaEvents::TEMPLATE_DELETE_FEATURE => array("deleteTemplateFeature", 128), + // Those two have to be executed before TheliaEvents::IMAGE_DELETE => array("deleteImagePSEAssociations", 192), TheliaEvents::DOCUMENT_DELETE => array("deleteDocumentPSEAssociations", 192), + + TheliaEvents::VIEW_CHECK => array('viewCheck', 128), + TheliaEvents::VIEW_PRODUCT_ID_NOT_VISIBLE => array('viewProductIdNotVisible', 128), ); } } diff --git a/core/lib/Thelia/Action/Template.php b/core/lib/Thelia/Action/Template.php index 2c7e7d38..1defb028 100644 --- a/core/lib/Thelia/Action/Template.php +++ b/core/lib/Thelia/Action/Template.php @@ -15,24 +15,26 @@ namespace Thelia\Action; use Propel\Runtime\Propel; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Thelia\Model\CategoryQuery; -use Thelia\Model\Map\TemplateTableMap; -use Thelia\Model\TemplateQuery; -use Thelia\Model\Template as TemplateModel; -use Thelia\Core\Event\TheliaEvents; -use Thelia\Core\Event\Template\TemplateUpdateEvent; -use Thelia\Core\Event\Template\TemplateCreateEvent; -use Thelia\Core\Event\Template\TemplateDeleteEvent; -use Thelia\Core\Event\UpdatePositionEvent; -use Thelia\Model\ProductQuery; use Thelia\Core\Event\Template\TemplateAddAttributeEvent; -use Thelia\Core\Event\Template\TemplateDeleteAttributeEvent; -use Thelia\Model\AttributeTemplateQuery; -use Thelia\Model\AttributeTemplate; -use Thelia\Core\Event\Template\TemplateDeleteFeatureEvent; use Thelia\Core\Event\Template\TemplateAddFeatureEvent; -use Thelia\Model\FeatureTemplateQuery; +use Thelia\Core\Event\Template\TemplateCreateEvent; +use Thelia\Core\Event\Template\TemplateDeleteAttributeEvent; +use Thelia\Core\Event\Template\TemplateDeleteEvent; +use Thelia\Core\Event\Template\TemplateDeleteFeatureEvent; +use Thelia\Core\Event\Template\TemplateDuplicateEvent; +use Thelia\Core\Event\Template\TemplateUpdateEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Core\Event\UpdatePositionEvent; +use Thelia\Core\Translation\Translator; +use Thelia\Model\AttributeTemplate; +use Thelia\Model\AttributeTemplateQuery; +use Thelia\Model\CategoryQuery; use Thelia\Model\FeatureTemplate; +use Thelia\Model\FeatureTemplateQuery; +use Thelia\Model\Map\TemplateTableMap; +use Thelia\Model\ProductQuery; +use Thelia\Model\Template as TemplateModel; +use Thelia\Model\TemplateQuery; class Template extends BaseAction implements EventSubscriberInterface { @@ -46,19 +48,66 @@ class Template extends BaseAction implements EventSubscriberInterface public function create(TemplateCreateEvent $event, $eventName, EventDispatcherInterface $dispatcher) { $template = new TemplateModel(); - + $template ->setDispatcher($dispatcher) - + ->setLocale($event->getLocale()) ->setName($event->getTemplateName()) - + ->save() ; - + $event->setTemplate($template); } - + + /** + * Dupliucate an existing template entry + * + * @param \Thelia\Core\Event\Template\TemplateCreateEvent $event + * @param $eventName + * @param EventDispatcherInterface $dispatcher + */ + public function duplicate(TemplateDuplicateEvent $event, $eventName, EventDispatcherInterface $dispatcher) + { + if (null !== $source = TemplateQuery::create()->findPk($event->getSourceTemplateId())) { + $source->setLocale($event->getLocale()); + + $createEvent = new TemplateCreateEvent(); + $createEvent + ->setLocale($event->getLocale()) + ->setTemplateName( + Translator::getInstance()->trans("Copy of %tpl", ["%tpl" => $source->getName() ]) + ); + + $dispatcher->dispatch(TheliaEvents::TEMPLATE_CREATE, $createEvent); + + $clone = $createEvent->getTemplate(); + + $attrList = AttributeTemplateQuery::create()->findByTemplateId($source->getId()); + + /** @var $feat AttributeTemplate */ + foreach ($attrList as $feat) { + $dispatcher->dispatch( + TheliaEvents::TEMPLATE_ADD_ATTRIBUTE, + new TemplateAddAttributeEvent($clone, $feat->getAttributeId()) + ); + } + + $featList = FeatureTemplateQuery::create()->findByTemplateId($source->getId()); + + /** @var $feat FeatureTemplate */ + foreach ($featList as $feat) { + $dispatcher->dispatch( + TheliaEvents::TEMPLATE_ADD_FEATURE, + new TemplateAddFeatureEvent($clone, $feat->getFeatureId()) + ); + } + + $event->setTemplate($clone); + } + } + /** * Change a product template * @@ -71,15 +120,15 @@ class Template extends BaseAction implements EventSubscriberInterface if (null !== $template = TemplateQuery::create()->findPk($event->getTemplateId())) { $template ->setDispatcher($dispatcher) - - ->setLocale($event->getLocale()) - ->setName($event->getTemplateName()) - ->save(); - + + ->setLocale($event->getLocale()) + ->setName($event->getTemplateName()) + ->save(); + $event->setTemplate($template); } } - + /** * Delete a product template entry * @@ -92,54 +141,54 @@ class Template extends BaseAction implements EventSubscriberInterface { if (null !== ($template = TemplateQuery::create()->findPk($event->getTemplateId()))) { // Check if template is used by a product - $product_count = ProductQuery::create()->findByTemplateId($template->getId())->count(); - - if ($product_count <= 0) { + $productCount = ProductQuery::create()->findByTemplateId($template->getId())->count(); + + if ($productCount <= 0) { $con = Propel::getWriteConnection(TemplateTableMap::DATABASE_NAME); $con->beginTransaction(); - + try { $template ->setDispatcher($dispatcher) ->delete($con); - + // We have to also delete any reference of this template in category tables // We can't use a FK here, as the DefaultTemplateId column may be NULL // so let's take care of this. CategoryQuery::create() ->filterByDefaultTemplateId($event->getTemplateId()) ->update([ 'DefaultTemplateId' => null], $con); - + $con->commit(); } catch (\Exception $ex) { $con->rollback(); - + throw $ex; } } - + $event->setTemplate($template); - - $event->setProductCount($product_count); + + $event->setProductCount($productCount); } } - + public function addAttribute(TemplateAddAttributeEvent $event) { if (null === AttributeTemplateQuery::create() ->filterByAttributeId($event->getAttributeId()) ->filterByTemplate($event->getTemplate()) ->findOne()) { - $attribute_template = new AttributeTemplate(); - - $attribute_template + $attributeTemplate = new AttributeTemplate(); + + $attributeTemplate ->setAttributeId($event->getAttributeId()) ->setTemplate($event->getTemplate()) - ->save() + ->save() ; } } - + /** * Changes position, selecting absolute ou relative change. * @@ -151,7 +200,7 @@ class Template extends BaseAction implements EventSubscriberInterface { $this->genericUpdatePosition(AttributeTemplateQuery::create(), $event, $dispatcher); } - + /** * Changes position, selecting absolute ou relative change. * @@ -163,19 +212,24 @@ class Template extends BaseAction implements EventSubscriberInterface { $this->genericUpdatePosition(FeatureTemplateQuery::create(), $event, $dispatcher); } - - public function deleteAttribute(TemplateDeleteAttributeEvent $event) + + public function deleteAttribute(TemplateDeleteAttributeEvent $event, $eventName, EventDispatcherInterface $dispatcher) { - $attribute_template = AttributeTemplateQuery::create() + $attributeTemplate = AttributeTemplateQuery::create() ->filterByAttributeId($event->getAttributeId()) ->filterByTemplate($event->getTemplate())->findOne() ; - - if ($attribute_template !== null) { - $attribute_template->delete(); + + if ($attributeTemplate !== null) { + $attributeTemplate + ->setDispatcher($dispatcher) + ->delete(); + } else { + // Prevent event propagation + $event->stopPropagation(); } } - + public function addFeature(TemplateAddFeatureEvent $event) { if (null === FeatureTemplateQuery::create() @@ -183,28 +237,33 @@ class Template extends BaseAction implements EventSubscriberInterface ->filterByTemplate($event->getTemplate()) ->findOne() ) { - $feature_template = new FeatureTemplate(); - - $feature_template - ->setFeatureId($event->getFeatureId()) - ->setTemplate($event->getTemplate()) - ->save() + $featureTemplate = new FeatureTemplate(); + + $featureTemplate + ->setFeatureId($event->getFeatureId()) + ->setTemplate($event->getTemplate()) + ->save() ; } } - - public function deleteFeature(TemplateDeleteFeatureEvent $event) + + public function deleteFeature(TemplateDeleteFeatureEvent $event, $eventName, EventDispatcherInterface $dispatcher) { - $feature_template = FeatureTemplateQuery::create() + $featureTemplate = FeatureTemplateQuery::create() ->filterByFeatureId($event->getFeatureId()) ->filterByTemplate($event->getTemplate())->findOne() ; - - if ($feature_template !== null) { - $feature_template->delete(); + + if ($featureTemplate !== null) { + $featureTemplate + ->setDispatcher($dispatcher) + ->delete(); + } else { + // Prevent event propagation + $event->stopPropagation(); } } - + /** * {@inheritDoc} */ @@ -214,16 +273,16 @@ class Template extends BaseAction implements EventSubscriberInterface TheliaEvents::TEMPLATE_CREATE => array("create", 128), TheliaEvents::TEMPLATE_UPDATE => array("update", 128), TheliaEvents::TEMPLATE_DELETE => array("delete", 128), - + TheliaEvents::TEMPLATE_DUPLICATE => array("duplicate", 128), + TheliaEvents::TEMPLATE_ADD_ATTRIBUTE => array("addAttribute", 128), TheliaEvents::TEMPLATE_DELETE_ATTRIBUTE => array("deleteAttribute", 128), - + TheliaEvents::TEMPLATE_ADD_FEATURE => array("addFeature", 128), TheliaEvents::TEMPLATE_DELETE_FEATURE => array("deleteFeature", 128), - + TheliaEvents::TEMPLATE_CHANGE_ATTRIBUTE_POSITION => array('updateAttributePosition', 128), TheliaEvents::TEMPLATE_CHANGE_FEATURE_POSITION => array('updateFeaturePosition', 128), - ); } } diff --git a/core/lib/Thelia/Command/ContainerAwareCommand.php b/core/lib/Thelia/Command/ContainerAwareCommand.php index 8df83233..d861a8ae 100644 --- a/core/lib/Thelia/Command/ContainerAwareCommand.php +++ b/core/lib/Thelia/Command/ContainerAwareCommand.php @@ -96,8 +96,9 @@ class ContainerAwareCommand extends Command implements ContainerAwareInterface $requestContext = new RequestContext(); $requestContext->fromRequest($request); - $url = new URL($container); + $url = $container->get('thelia.url.manager'); $url->setRequestContext($requestContext); + $this->getContainer()->get('router.admin')->setContext($requestContext); } /** diff --git a/core/lib/Thelia/Command/HookCleanCommand.php b/core/lib/Thelia/Command/HookCleanCommand.php index e1860859..85fc52d7 100644 --- a/core/lib/Thelia/Command/HookCleanCommand.php +++ b/core/lib/Thelia/Command/HookCleanCommand.php @@ -71,7 +71,6 @@ class HookCleanCommand extends ContainerAwareCommand } catch (\Exception $ex) { $output->writeln(sprintf("%s", $ex->getMessage())); } - } private function getModule(InputInterface $input) diff --git a/core/lib/Thelia/Command/ModuleDeactivateCommand.php b/core/lib/Thelia/Command/ModuleDeactivateCommand.php index 488e58b7..a79d4580 100644 --- a/core/lib/Thelia/Command/ModuleDeactivateCommand.php +++ b/core/lib/Thelia/Command/ModuleDeactivateCommand.php @@ -12,10 +12,13 @@ namespace Thelia\Command; +use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Question\ConfirmationQuestion; +use Thelia\Action\Module; use Thelia\Core\Event\Module\ModuleToggleActivationEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Model\ModuleQuery; @@ -47,6 +50,12 @@ class ModuleDeactivateCommand extends BaseModuleGenerate InputArgument::REQUIRED, "module to deactivate" ) + ->addOption( + "assume-yes", + 'y', + InputOption::VALUE_NONE, + 'Assume to deactivate a mandatory module' + ) ; } @@ -67,6 +76,15 @@ class ModuleDeactivateCommand extends BaseModuleGenerate try { $event = new ModuleToggleActivationEvent($module->getId()); + + $module = ModuleQuery::create()->findPk($module->getId()); + if ($module->getMandatory() == BaseModule::IS_MANDATORY) { + if (!$this->askConfirmation($input, $output)) { + return; + } + $event->setAssumeDeactivate(true); + } + if ($input->getOption("with-dependencies")) { $event->setRecursive(true); } @@ -84,4 +102,33 @@ class ModuleDeactivateCommand extends BaseModuleGenerate ), "bg=green;fg=black"); } } + + private function askConfirmation(InputInterface $input, OutputInterface $output) + { + $assumeYes = $input->getOption("assume-yes"); + $moduleCode = $input->getArgument("module"); + + if (!$assumeYes) { + /** @var QuestionHelper $helper */ + $helper = $this->getHelper('question'); + $questionText = "Module "; + $questionText .= (empty($moduleCode)) + ? "" + : $moduleCode; + $questionText .= " is mandatory.\n"; + $questionText .= "Would you like to deactivate the module "; + $questionText .= (empty($moduleCode)) + ? "" + : $moduleCode; + $questionText .= " ? (yes, or no) "; + + $question = new ConfirmationQuestion($questionText, false); + + if (!$helper->ask($input, $output, $question)) { + return false; + } + } + + return true; + } } diff --git a/core/lib/Thelia/Command/Skeleton/Module/module.xml b/core/lib/Thelia/Command/Skeleton/Module/module.xml index b03a77cd..fb365bfc 100644 --- a/core/lib/Thelia/Command/Skeleton/Module/module.xml +++ b/core/lib/Thelia/Command/Skeleton/Module/module.xml @@ -38,4 +38,6 @@ --> 2.2.0 other + 0 + 0 diff --git a/core/lib/Thelia/Condition/Implementation/CartContainsCategories.php b/core/lib/Thelia/Condition/Implementation/CartContainsCategories.php index 6166a8a5..1eef42d3 100644 --- a/core/lib/Thelia/Condition/Implementation/CartContainsCategories.php +++ b/core/lib/Thelia/Condition/Implementation/CartContainsCategories.php @@ -99,18 +99,18 @@ class CartContainsCategories extends ConditionAbstract /** @var Category $category */ foreach ($categories as $category) { - $catecoryInCart = $this->conditionValidator->variableOpComparison( + if (! $this->conditionValidator->variableOpComparison( $category->getId(), $this->operators[self::CATEGORIES_LIST], $this->values[self::CATEGORIES_LIST] - ); - - if ($catecoryInCart) { - return true; + )) { + // cart item doesn't match go to next cart item + continue 2; } } + // cart item match + return true; } - return false; } diff --git a/core/lib/Thelia/Condition/Implementation/CartContainsProducts.php b/core/lib/Thelia/Condition/Implementation/CartContainsProducts.php index 3a740fe1..88d17210 100644 --- a/core/lib/Thelia/Condition/Implementation/CartContainsProducts.php +++ b/core/lib/Thelia/Condition/Implementation/CartContainsProducts.php @@ -103,7 +103,6 @@ class CartContainsProducts extends ConditionAbstract return true; } } - return false; } diff --git a/core/lib/Thelia/Condition/Implementation/MatchForXArticlesIncludeQuantity.php b/core/lib/Thelia/Condition/Implementation/MatchForXArticlesIncludeQuantity.php index 6f44acf7..8eaa2fef 100644 --- a/core/lib/Thelia/Condition/Implementation/MatchForXArticlesIncludeQuantity.php +++ b/core/lib/Thelia/Condition/Implementation/MatchForXArticlesIncludeQuantity.php @@ -79,5 +79,4 @@ class MatchForXArticlesIncludeQuantity extends MatchForXArticles return $toolTip; } - } diff --git a/core/lib/Thelia/Config/I18n/en_US.php b/core/lib/Thelia/Config/I18n/en_US.php index dddde518..49ac0994 100644 --- a/core/lib/Thelia/Config/I18n/en_US.php +++ b/core/lib/Thelia/Config/I18n/en_US.php @@ -5,6 +5,7 @@ return array( ' note: only non-visible documents can be associated.' => ' note: only non-visible documents can be associated.', '"%param" parameter cannot be empty in loop type: %type, name: %name' => '"%param" parameter cannot be empty in loop type: %type, name: %name', '"%param" parameter is missing in loop type: %type, name: %name' => '"%param" parameter is missing in loop type: %type, name: %name', + '#000000' => '#000000', '%module (version: %version)' => '%module (version: %version)', '%n for number, %c for the currency code, %s for the currency symbol' => '%n for number, %c for the currency code, %s for the currency symbol', '%obj SEO modification' => '%obj SEO modification', @@ -52,6 +53,7 @@ return array( 'All countries' => 'All countries', 'All shipping methods' => 'All shipping methods', 'Amount' => 'Amount', + 'An administrator with thie email address already exists' => 'An administrator with this email address already exists', 'An administrator with this email address already exists' => 'An administrator with this email address already exists', 'An invalid token was provided, your password cannot be changed' => 'An invalid token was provided, your password cannot be changed', 'Apply exchange rates on price in %sym' => 'Apply exchange rates on price in %sym', @@ -81,6 +83,8 @@ return array( 'By Module' => 'By Module', 'CSS' => 'CSS', 'CSS stylesheet' => 'CSS stylesheet', + 'Can\'t deactivate a secure module' => 'Can\'t deactivate a secure module', + 'Can\'t remove a core module' => 'Can\'t remove a core module', 'Cannot disable the default language' => 'Cannot disable the default language', 'Cannot find a default country. Please define one.' => 'Cannot find a default country. Please define one.', 'Cannot find the shop country. Please select a shop country.' => 'Cannot find the shop country. Please select a shop country.', @@ -106,6 +110,7 @@ return array( 'Change password' => 'Change password', 'Check country iso codes here.' => 'Check country iso codes in Wikipedia.', 'Check the total Cart amount in the given currency' => 'Check the total Cart amount in the given currency', + 'Choice a color for this order status code' => 'Choice a color for this order status code', 'City' => 'City', 'Code' => 'Code', 'Combination builder' => 'Combination builder', @@ -180,6 +185,8 @@ return array( 'Enter here the brand name in the default language (%title%)' => 'Enter here the brand name in the default language (%title%)', 'Enter here the category title in the default language (%title%)' => 'Enter here the category title in the default language (%title%)', 'Enter here the mail template purpose in the default language (%title%)' => 'Enter here the mail template purpose in the default language (%title%)', + 'Enter here the order status code' => 'Enter here the order status code', + 'Enter here the order status name in the default language (%title%)' => 'Enter here the order status name in the default language (%title%)', 'Enter here the sale name in the default language (%title%)' => 'Enter here the sale name in the default language (%title%)', 'Enter the new password' => 'Enter the new password', 'Enter the new password again' => 'Enter the new password again', @@ -187,6 +194,8 @@ return array( 'Error during %action process : %error. Exception was %exc' => 'Error during %action process : %error. Exception was %exc', 'Error occured while processing order ref. %ref, ID %id: %err' => 'Error occurred while processing order ref. %ref, ID %id: %err', 'Error occured.' => 'Error occurred.', + 'Error occurred while cancelling order ref. %ref, ID %id: %err' => 'Error occurred while cancelling order ref. %ref, ID %id: %err', + 'Error occurred while saving payment transaction %transaction_ref for order ID %id.' => 'Error occurred while saving payment transaction %transaction_ref for order ID %id.', 'Error(s) in import :
%errors' => 'Error(s) in import :
%errors', 'Errors' => 'Errors', 'Export' => 'Export', @@ -346,6 +355,9 @@ return array( 'Order failed' => 'Order failed', 'Order ref. %ref is now unpaid.' => 'Order ref. %ref is now unpaid.', 'Order ref. %ref, ID %id has been successfully paid.' => 'Order ref. %ref, ID %id has been successfully paid.', + 'Order status code' => 'Order status code', + 'Order status color' => 'Order status color', + 'Order status name' => 'Order status name', 'Orders' => 'Orders', 'Overall' => 'Overall', 'Page 404' => 'Page 404', @@ -357,6 +369,8 @@ return array( 'Password confirmation' => 'Password confirmation', 'Payment failed' => 'Payment failed', 'Payment gateway' => 'Payment gateway', + 'Payment module ID not found' => 'Payment module ID not found', + 'Payment transaction %transaction_ref for order ref. %ref, ID %id has been successfully saved.' => 'Payment transaction %transaction_ref for order ref. %ref, ID %id has been successfully saved.', 'Per customer' => 'Per customer', 'Percent' => 'Percent', 'Percentage' => 'Percentage', @@ -421,6 +435,7 @@ return array( 'Range date Start' => 'Range date Start', 'Rate' => 'Rate', 'Rate from %currencyCode' => 'Rate from %currencyCode', + 'Recipient e-mail address' => 'Recipient e-mail address', 'Redirecting ...' => 'Redirecting ...', 'Redirecting to %url' => 'Redirecting to %url', 'Reference' => 'Reference', @@ -453,6 +468,7 @@ return array( 'Select the product brand, or supplier.' => 'Select the product brand, or supplier.', 'Select the products covered by this operation' => 'Select the products covered by this operation', 'Select the virtual document' => 'Select the virtual document', + 'Send test e-mail to:' => 'Send test e-mail to:', 'Service ID' => 'Service ID', 'Shipping configuration' => 'Shipping configuration', 'Shipping zone name' => 'Shipping zone name', @@ -460,6 +476,8 @@ return array( 'Short description text' => 'Short description text', 'Show redirections *' => 'Show redirections *', 'Sitemap' => 'Sitemap', + 'Some commands use this status.' => 'Some commands use this status.', + 'Something goes wrong, the message was not sent to recipient. Error is : %err' => 'Something goes wrong, the message was not sent to recipient. Error is : %err', 'Sorry, an error occured.' => 'Sorry, an error occurred.', 'Sorry, an error occured: %msg' => 'Sorry, an error occurred: %msg', 'Sorry, an error occured: %s' => 'Sorry, an error occurred: %s', @@ -536,6 +554,7 @@ return array( 'The lost admin password recovery feature is disabled.' => 'The lost admin password recovery feature is disabled.', 'The mailing template in HTML format.' => 'The mailing template in HTML format.', 'The mailing template in text-only format.' => 'The mailing template in text-only format.', + 'The message has been successfully sent to %recipient.' => 'The message has been successfully sent to %recipient.', 'The method %method% doesn\'t exist in classname %classname%' => 'The method %method% doesn\'t exist in classname %classname%', 'The method name that will handle the hook event.' => 'The method name that will handle the hook event.', 'The module "%name%" is currently in use by at least one order, and can\'t be deleted.' => 'The module "%name%" is currently in use by at least one order, and can\'t be deleted.', @@ -545,6 +564,8 @@ return array( 'The module has to be activated.' => 'The module has to be activated.', 'The module is not valid : %message' => 'The module is not valid : %message', 'The module zip file' => 'The module zip file', + 'The order status code' => 'The order status code', + 'The order status name or title' => 'The order status name or title', 'The product document id %id doesn\'t exists' => 'The product document id %id doesn\'t exists', 'The product image id %id doesn\'t exists' => 'The product image id %id doesn\'t exists', 'The product sale element id %id doesn\'t exist' => 'The product sale element id %id doesn\'t exist', @@ -574,6 +595,7 @@ return array( 'This administrator login already exists' => 'This administrator login already exists', 'This brand is online' => 'This brand is online', 'This category is online' => 'This category is online', + 'This code is already used.' => 'This code is already used.', 'This condition is always true' => 'This condition is always true', 'This content is online.' => 'This content is online.', 'This country has states / provinces' => 'This country has states / provinces', @@ -596,6 +618,8 @@ return array( 'This image is online' => 'This image is online', 'This is a comma separated list of email addresses where store notifications (such as order placed) are sent.' => 'This is a comma separated list of email addresses where store notifications (such as order placed) are sent.', 'This is an identifier that will be used in the code to get this message' => 'This is an identifier that will be used in the code to get this message', + 'This is not a hexadecimal color.' => 'This is not a hexadecimal color.', + 'This is not a valid code.' => 'This is not a valid code.', 'This is the contact email address, and the sender email of all e-mails sent by your store.' => 'This is the contact email address, and the sender email of all e-mails sent by your store.', 'This is the message purpose, such as \'Order confirmation\'.' => 'This is the message purpose, such as \'Order confirmation\'.', 'This is the name used on the login screen' => 'This is the name used on the login screen', @@ -608,6 +632,7 @@ return array( 'This product_sale_elements_id does not exists for this product : %d' => 'This product_sale_elements_id does not exists for this product : %d', 'This state doesn\'t belong to this country.' => 'This state doesn\'t belong to this country.', 'This state is online' => 'This state is online', + 'This status is protected.' => 'This status is protected.', 'This template is in use in some of your products, and cannot be deleted. Delete it from all your products and try again.' => 'This template is in use in some of your products, and cannot be deleted. Delete it from all your products and try again.', 'This the unique name of this message. Do not change this value unless you understand what you do.' => 'This the unique name of this message. Do not change this value unless you understand what you do.', 'This value should not be blank.' => 'This value should not be blank.', @@ -654,6 +679,7 @@ return array( 'Wrong form method, %s expected.' => 'Wrong form method, %s expected.', 'Yes, I have a password :' => 'Yes, I have a password :', 'You are already registered!' => 'You are already registered!', + 'You can not delete it.' => 'You can not delete it.', 'You don\'t need to use commas or other punctuations.' => 'You don\'t need to use commas or other punctuations.', 'You have to configure your store email first !' => 'You have to configure your store email first !', 'You must select at least one attribute.' => 'You must select at least one attribute.', diff --git a/core/lib/Thelia/Config/I18n/fr_FR.php b/core/lib/Thelia/Config/I18n/fr_FR.php index 426851f0..a2605e6a 100644 --- a/core/lib/Thelia/Config/I18n/fr_FR.php +++ b/core/lib/Thelia/Config/I18n/fr_FR.php @@ -1,6 +1,6 @@ 'Formulaire de création de contenu', ' note: only non-visible documents can be associated.' => 'remarque : seuls ces modules. les documents non visibles peuvent être associés.', '"%param" parameter cannot be empty in loop type: %type, name: %name' => 'Le paramètre "%param" ne peut être vide dans la boucle type: %type, nom: %name ', @@ -70,6 +70,8 @@ return [ 'Available shipping zones' => 'Zones de livraison disponibles', 'Back Office' => 'Back Office', 'Bad tax list JSON' => 'Mauvais JSON de la liste des taxes', + 'Banner' => 'Bannière', + 'Banner of the website. Used in the e-mails send to the customers.' => 'Bannière du site utilisée dans le contenu des mails envoyés aux clients.', 'Billing country' => 'Pays de facturation', 'Billing country is' => 'Le pays de facturation est', 'Brand' => 'Marque', @@ -80,6 +82,8 @@ return [ 'By Module' => 'Par module', 'CSS' => 'CSS', 'CSS stylesheet' => 'Feuille de style CSS', + 'Can\'t deactivate a secure module' => 'Impossible de désactiver un module sécurisé', + 'Can\'t remove a core module' => 'Impossible de supprimer un module de base', 'Cannot disable the default language' => 'Impossible de désactiver la langue par défaut', 'Cannot find a default country. Please define one.' => 'Impossible de trouver un pays par défaut. Veuillez en définir un.', 'Cannot find the shop country. Please select a shop country.' => 'Impossible de trouver le pays du magasin. Veuillez en sélectionner un.', @@ -203,6 +207,7 @@ return [ 'Failed to open translation file %file. Please be sure that this file is writable by your Web server' => 'L\'ouverture du fichier %file a échoué. Merci de vérifier que ce fichier est accessible en écriture pour votre serveur Web.', 'Failed to send message %code. Failed recipients: %failed_addresses' => 'Erreur lors de l\'envoi du message %code. Echec pour les destinataires %failed_addresses', 'Failed to update language definition: %ex' => 'Erreur lors de la mise à jour de la définition de la langue : %ex', + 'Favicon image' => 'Icône du site', 'Fax' => 'Fax', 'Feature' => 'Caractéristique', 'Feature value does not match FLOAT format' => 'valeur de caractéristique n\'est pas un FLOAT', @@ -240,6 +245,7 @@ return [ 'Hooks' => 'Points d\'accroche', 'Host' => 'Nom de l\'hôte', 'I would like to receive the newsletter or the latest news.' => 'Je souhaite recevoir la lettre d\'information ou les dernières actualités.', + 'Icon of the website. Only PNG and ICO files are allowed.' => 'Icône du site. Seuls les fichiers au format PNG ou ICO sont autorisés.', 'ISO 4217 code' => 'Code ISO 4217', 'ISO 639-1 Code' => 'Code ISO 639-1', 'ISO Alpha-2 code' => 'Code ISO Alpha-2', @@ -355,6 +361,7 @@ return [ 'Password confirmation' => 'Confirmation du mot de passe.', 'Payment failed' => 'Echec du paiement', 'Payment gateway' => 'Passerelle de paiement', + 'Payment module ID not found' => 'ID du module de paiement non trouvé', 'Per customer' => 'Par client', 'Percent' => 'Pourcent', 'Percentage' => 'Pourcentage', @@ -419,6 +426,7 @@ return [ 'Range date Start' => 'Date de début', 'Rate' => 'Taux', 'Rate from %currencyCode' => 'Taux pour %currencyCode', + 'Recipient e-mail address' => 'Adresse e-mail du destinataire', 'Redirecting ...' => 'Redirection ...', 'Redirecting to %url' => 'Redirection vers %url', 'Reference' => 'Référence', @@ -451,6 +459,7 @@ return [ 'Select the product brand, or supplier.' => 'Choisissez la marque ou le fournisseur du produit.', 'Select the products covered by this operation' => 'Produits inclus dans cette promotion', 'Select the virtual document' => 'Sélectionnez le document virtuel', + 'Send test e-mail to:' => 'Envoyer un email de test à: ', 'Service ID' => 'ID du service', 'Shipping configuration' => 'Configuration du transport', 'Shipping zone name' => 'Nom de la zone de livraison', @@ -478,6 +487,7 @@ return [ 'Store configuration failed.' => 'Erreur de configuration du magasin.', 'Store description' => 'Description du magasin', 'Store email address' => 'Adresse mail du magasin', + 'Store logo' => 'Logo de la boutique', 'Store logs into text file' => 'Conserver les logs dans des fichiers texte', 'Store logs into text file, up to a certian size, then a new file is created' => 'Sauvegarder les logs dans un fichier texte. A partir d\'une certaine taille un nouveau fichier est créé', 'Store name' => 'Nom du magasin', @@ -535,7 +545,7 @@ return [ 'The method %method% doesn\'t exist in classname %classname%' => 'La méthode %method% n\'existe pas dans la classe %classname%', 'The method name that will handle the hook event.' => 'Le nom de la méthode qui va traiter l\'évènement du point d\'accroche.', 'The module "%name%" is currently in use by at least one order, and can\'t be deleted.' => 'Le module "%name%" est utilisé par au moins une commande, et ne peut être supprimé.', - 'The module %module has been installed successfully.' => 'Le module %module a été activé avec succès.', + 'The module %module has been installed successfully.' => 'Le module %module a été installé avec succès.', 'The module %name is already installed in the same or greater version.' => 'Le module %name est déja installé dans la même version, ou dans une version plus récente.', 'The module %name requires Thelia %version or newer' => 'Le module %name nécessite Thelia %version ou plus récent', 'The module has to be activated.' => 'Le module doit être activé.', @@ -820,4 +830,4 @@ return [ 'update form' => 'Formulaire de modification', 'value table header' => 'colonne tableau valeur', 'value table row' => 'ligne tableau valeurs', -]; +); diff --git a/core/lib/Thelia/Config/Resources/action.xml b/core/lib/Thelia/Config/Resources/action.xml index 92ea7319..5b275403 100644 --- a/core/lib/Thelia/Config/Resources/action.xml +++ b/core/lib/Thelia/Config/Resources/action.xml @@ -28,6 +28,10 @@ + + + + @@ -171,6 +175,7 @@ + diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index ea143416..31713aaf 100644 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -63,6 +63,7 @@ admin.hook admin.module-hook admin.order + admin.configuration.order-status admin.product admin.configuration.profile admin.configuration.shipping-zone @@ -90,6 +91,9 @@ Thelia\Log\Tlog + + + thelia_cache @@ -352,7 +356,6 @@ %admin.resources% - @@ -365,5 +368,12 @@ + + + + %thelia.cache.namespace% + 600 + %kernel.cache_dir% + diff --git a/core/lib/Thelia/Config/Resources/form.xml b/core/lib/Thelia/Config/Resources/form.xml index c39b508b..ac3e4abe 100644 --- a/core/lib/Thelia/Config/Resources/form.xml +++ b/core/lib/Thelia/Config/Resources/form.xml @@ -74,6 +74,7 @@
+ @@ -162,6 +163,9 @@ + + + diff --git a/core/lib/Thelia/Config/Resources/routing.xml b/core/lib/Thelia/Config/Resources/routing.xml index ffd277ac..235ae8d1 100644 --- a/core/lib/Thelia/Config/Resources/routing.xml +++ b/core/lib/Thelia/Config/Resources/routing.xml @@ -15,8 +15,9 @@ - + + diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 0772f891..4a3071d9 100644 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -173,7 +173,7 @@ Thelia\Controller\Admin\CustomerController::processUpdateAction - + Thelia\Controller\Admin\CustomerController::deleteAction @@ -252,6 +252,36 @@ + + + + Thelia\Controller\Admin\OrderStatusController::defaultAction + + + + Thelia\Controller\Admin\OrderStatusController::createAction + + + + Thelia\Controller\Admin\OrderStatusController::updateAction + \d+ + + + + Thelia\Controller\Admin\OrderStatusController::processUpdateAction + \d+ + + + + Thelia\Controller\Admin\OrderStatusController::deleteAction + + + + Thelia\Controller\Admin\OrderStatusController::updatePositionAction + + + + @@ -725,6 +755,10 @@ Thelia\Controller\Admin\TemplateController::deleteAction + + Thelia\Controller\Admin\TemplateController::duplicateAction + + Thelia\Controller\Admin\TemplateController::getAjaxFeaturesAction @@ -1544,6 +1578,11 @@ \d+ + + Thelia:Admin\Message:sendSampleByEmail + \d+ + + diff --git a/core/lib/Thelia/Controller/Admin/BaseAdminController.php b/core/lib/Thelia/Controller/Admin/BaseAdminController.php index 101ce3ee..ddd0f2a9 100644 --- a/core/lib/Thelia/Controller/Admin/BaseAdminController.php +++ b/core/lib/Thelia/Controller/Admin/BaseAdminController.php @@ -366,8 +366,6 @@ class BaseAdminController extends BaseController // Add the template standard extension $templateName .= '.html'; - $session = $this->getSession(); - // Find the current edit language ID $edition_language = $this->getCurrentEditionLang(); @@ -376,16 +374,9 @@ class BaseAdminController extends BaseController // Prepare common template variables $args = array_merge($args, array( - 'locale' => $session->getLang()->getLocale(), - 'lang_code' => $session->getLang()->getCode(), - 'lang_id' => $session->getLang()->getId(), - 'edit_language_id' => $edition_language->getId(), 'edit_language_locale' => $edition_language->getLocale(), - 'edit_currency_id' => $edition_currency->getId(), - - 'current_url' => $this->getRequest()->getUri() )); // Update the current edition language & currency in session diff --git a/core/lib/Thelia/Controller/Admin/ConfigStoreController.php b/core/lib/Thelia/Controller/Admin/ConfigStoreController.php index 8a40239c..58ebca75 100644 --- a/core/lib/Thelia/Controller/Admin/ConfigStoreController.php +++ b/core/lib/Thelia/Controller/Admin/ConfigStoreController.php @@ -43,6 +43,29 @@ class ConfigStoreController extends BaseAdminController return $this->renderTemplate(); } + protected function getAndWriteStoreMediaFileInConfig($form, $inputName, $configKey, $storeMediaUploadDir) + { + $file = $form->get($inputName)->getData(); + + if ($file != null) { + // Delete the old file + $fs = new \Symfony\Component\Filesystem\Filesystem(); + $oldFileName = ConfigQuery::read($configKey); + + if ($oldFileName !== null) { + $oldFilePath = $storeMediaUploadDir . DS . $oldFileName; + if ($fs->exists($oldFilePath)) { + $fs->remove($oldFilePath); + } + } + + // Write the new file + $newFileName = uniqid() . '-' . $file->getClientOriginalName(); + $file->move($storeMediaUploadDir, $newFileName); + ConfigQuery::write($configKey, $newFileName, false); + } + } + public function saveAction() { if (null !== $response = $this->checkAuth(AdminResources::STORE, array(), AccessManager::UPDATE)) { @@ -56,11 +79,33 @@ class ConfigStoreController extends BaseAdminController try { $form = $this->validateForm($configStoreForm); + $storeMediaUploadDir = ConfigQuery::read('images_library_path'); + + if ($storeMediaUploadDir === null) { + $storeMediaUploadDir = THELIA_LOCAL_DIR . 'media' . DS . 'images'; + } else { + $storeMediaUploadDir = THELIA_ROOT . $storeMediaUploadDir; + } + + $storeMediaUploadDir .= DS . 'store'; + + // List of medias that can be uploaded through this form. + // [Name of the form input] => [Key in the config table] + $storeMediaList = [ + 'favicon_file' => 'favicon_file', + 'logo_file' => 'logo_file', + 'banner_file' => 'banner_file' + ]; + + foreach ($storeMediaList as $input_name => $config_key) { + $this->getAndWriteStoreMediaFileInConfig($form, $input_name, $config_key, $storeMediaUploadDir); + } + $data = $form->getData(); // Update store foreach ($data as $name => $value) { - if (! $configStoreForm->isTemplateDefinedHiddenFieldName($name)) { + if (!array_key_exists($name, $storeMediaList) && !$configStoreForm->isTemplateDefinedHiddenFieldName($name)) { ConfigQuery::write($name, $value, false); } } diff --git a/core/lib/Thelia/Controller/Admin/CountryController.php b/core/lib/Thelia/Controller/Admin/CountryController.php index 5f901bab..8aa280e9 100644 --- a/core/lib/Thelia/Controller/Admin/CountryController.php +++ b/core/lib/Thelia/Controller/Admin/CountryController.php @@ -127,7 +127,6 @@ class CountryController extends AbstractCrudController ; return $event; - } protected function hydrateEvent($event, $formData) diff --git a/core/lib/Thelia/Controller/Admin/CouponController.php b/core/lib/Thelia/Controller/Admin/CouponController.php index c8b99f4d..d5459796 100644 --- a/core/lib/Thelia/Controller/Admin/CouponController.php +++ b/core/lib/Thelia/Controller/Admin/CouponController.php @@ -647,7 +647,7 @@ class CouponController extends BaseAdminController $this->pageNotFound(); } - $response = new ResponseRest($couponManager->drawBackOfficeInputs()); + $response = new ResponseRest($couponManager->drawBackOfficeInputs(), 'text'); } else { // Return an empty response if the service ID is not defined // Typically, when the user chooses "Please select a coupon type" @@ -815,7 +815,7 @@ class CouponController extends BaseAdminController protected function getDefaultDateFormat() { - return LangQuery::create()->findOneByByDefault(true)->getDateFormat(); + return LangQuery::create()->findOneByByDefault(true)->getDatetimeFormat(); } /** diff --git a/core/lib/Thelia/Controller/Admin/CurrencyController.php b/core/lib/Thelia/Controller/Admin/CurrencyController.php index 524e8d85..b830ff0b 100644 --- a/core/lib/Thelia/Controller/Admin/CurrencyController.php +++ b/core/lib/Thelia/Controller/Admin/CurrencyController.php @@ -205,7 +205,6 @@ class CurrencyController extends AbstractCrudController 'undefined_rates' => $event->getUndefinedRates() ]); } - } catch (\Exception $ex) { // Any error return $this->errorPage($ex); diff --git a/core/lib/Thelia/Controller/Admin/LangController.php b/core/lib/Thelia/Controller/Admin/LangController.php index 7f238099..f3950e01 100644 --- a/core/lib/Thelia/Controller/Admin/LangController.php +++ b/core/lib/Thelia/Controller/Admin/LangController.php @@ -435,7 +435,6 @@ class LangController extends BaseAdminController ), $changedObject->getId() ); - } catch (\Exception $e) { Tlog::getInstance()->error(sprintf("Error on changing languages with message : %s", $e->getMessage())); $errorMessage = $e->getMessage(); diff --git a/core/lib/Thelia/Controller/Admin/MailingSystemController.php b/core/lib/Thelia/Controller/Admin/MailingSystemController.php index 139f2405..195eb66b 100644 --- a/core/lib/Thelia/Controller/Admin/MailingSystemController.php +++ b/core/lib/Thelia/Controller/Admin/MailingSystemController.php @@ -22,7 +22,7 @@ use Thelia\Model\ConfigQuery; class MailingSystemController extends BaseAdminController { - const RESOURCE_CODE = "admin.mailing-system"; + const RESOURCE_CODE = "admin.configuration.mailing-system"; public function defaultAction() { @@ -130,7 +130,7 @@ class MailingSystemController extends BaseAdminController $htmlMessage = "

$message

"; - $instance = \Swift_Message::newInstance() + $instance = $this->getMailer()->getMessageInstance() ->addTo($emailTest, $storeName) ->addFrom($contactEmail, $storeName) ->setSubject($message) diff --git a/core/lib/Thelia/Controller/Admin/MessageController.php b/core/lib/Thelia/Controller/Admin/MessageController.php index d7f7ab15..bc432047 100644 --- a/core/lib/Thelia/Controller/Admin/MessageController.php +++ b/core/lib/Thelia/Controller/Admin/MessageController.php @@ -22,6 +22,7 @@ use Thelia\Core\Security\AccessManager; use Thelia\Core\Security\Resource\AdminResources; use Thelia\Core\Template\TemplateDefinition; use Thelia\Form\Definition\AdminForm; +use Thelia\Model\ConfigQuery; use Thelia\Model\Message; use Thelia\Model\MessageQuery; use Thelia\Model\Module; @@ -48,35 +49,35 @@ class MessageController extends AbstractCrudController null // No position update ); } - + protected function getCreationForm() { return $this->createForm(AdminForm::MESSAGE_CREATION); } - + protected function getUpdateForm() { return $this->createForm(AdminForm::MESSAGE_MODIFICATION); } - + protected function getCreationEvent($formData) { $createEvent = new MessageCreateEvent(); - + $createEvent ->setMessageName($formData['name']) ->setLocale($formData["locale"]) ->setTitle($formData['title']) ->setSecured($formData['secured'] ? true : false) - ; - + ; + return $createEvent; } - + protected function getUpdateEvent($formData) { $changeEvent = new MessageUpdateEvent($formData['id']); - + // Create and dispatch the change event $changeEvent ->setMessageName($formData['name']) @@ -91,20 +92,20 @@ class MessageController extends AbstractCrudController ->setHtmlMessage($formData['html_message']) ->setTextMessage($formData['text_message']) ; - + return $changeEvent; } - + protected function getDeleteEvent() { return new MessageDeleteEvent($this->getRequest()->get('message_id')); } - + protected function eventContainsObject($event) { return $event->hasMessage(); } - + protected function hydrateObjectForm($object) { // Prepare the data that will hydrate the form @@ -117,34 +118,34 @@ class MessageController extends AbstractCrudController 'subject' => $object->getSubject(), 'html_message' => $object->getHtmlMessage(), 'text_message' => $object->getTextMessage(), - + 'html_layout_file_name' => $object->getHtmlLayoutFileName(), 'html_template_file_name' => $object->getHtmlTemplateFileName(), 'text_layout_file_name' => $object->getTextLayoutFileName(), 'text_template_file_name' => $object->getTextTemplateFileName(), ); - + // Setup the object form return $this->createForm(AdminForm::MESSAGE_MODIFICATION, "form", $data); } - + protected function getObjectFromEvent($event) { return $event->hasMessage() ? $event->getMessage() : null; } - + protected function getExistingObject() { $message = MessageQuery::create() - ->findOneById($this->getRequest()->get('message_id', 0)); - + ->findOneById($this->getRequest()->get('message_id', 0)); + if (null !== $message) { $message->setLocale($this->getCurrentEditionLocale()); } - + return $message; } - + /** * @param Message $object * @return string @@ -153,7 +154,7 @@ class MessageController extends AbstractCrudController { return $object->getName(); } - + /** * @param Message $object * @return int @@ -162,30 +163,30 @@ class MessageController extends AbstractCrudController { return $object->getId(); } - + protected function renderListTemplate($currentOrder) { return $this->render('messages'); } - + protected function listDirectoryContent($requiredExtension) { $list = array(); - + $dir = $this->getTemplateHelper()->getActiveMailTemplate()->getAbsolutePath(); - + $finder = Finder::create()->files()->in($dir)->ignoreDotFiles(true)->sortByName()->name("*.$requiredExtension"); - + foreach ($finder as $file) { $list[] = $file->getBasename(); } - + // Add modules templates $modules = ModuleQuery::getActivated(); /** @var Module $module */ foreach ($modules as $module) { $dir = $module->getAbsoluteTemplateBasePath() . DS . TemplateDefinition::EMAIL_SUBDIR . DS . 'default'; - + if (file_exists($dir)) { $finder = Finder::create() ->files() @@ -193,7 +194,7 @@ class MessageController extends AbstractCrudController ->ignoreDotFiles(true) ->sortByName() ->name("*.$requiredExtension"); - + foreach ($finder as $file) { $fileName = $file->getBasename(); if (!in_array($fileName, $list)) { @@ -202,20 +203,20 @@ class MessageController extends AbstractCrudController } } } - + return $list; } - + protected function renderEditionTemplate() { return $this->render('message-edit', array( - 'message_id' => $this->getRequest()->get('message_id'), - 'layout_list' => $this->listDirectoryContent('tpl'), - 'html_template_list' => $this->listDirectoryContent('html'), - 'text_template_list' => $this->listDirectoryContent('txt'), + 'message_id' => $this->getRequest()->get('message_id'), + 'layout_list' => $this->listDirectoryContent('tpl'), + 'html_template_list' => $this->listDirectoryContent('html'), + 'text_template_list' => $this->listDirectoryContent('txt'), )); } - + protected function redirectToEditionTemplate() { return $this->generateRedirectFromRoute( @@ -225,47 +226,95 @@ class MessageController extends AbstractCrudController ] ); } - + protected function redirectToListTemplate() { return $this->generateRedirectFromRoute('admin.configuration.messages.default'); } - + public function previewAction($messageId, $html = true) { if (null !== $response = $this->checkAuth(AdminResources::MESSAGE, [], AccessManager::VIEW)) { return $response; } - + if (null === $message = MessageQuery::create()->findPk($messageId)) { $this->pageNotFound(); } - + $parser = $this->getParser($this->getTemplateHelper()->getActiveMailTemplate()); - + foreach ($this->getRequest()->query->all() as $key => $value) { $parser->assign($key, $value); } - + if ($html) { $content = $message->setLocale($this->getCurrentEditionLocale())->getHtmlMessageBody($parser); } else { $content = $message->setLocale($this->getCurrentEditionLocale())->getTextMessageBody($parser); } - + return new Response($content); } - + public function previewAsHtmlAction($messageId) { return $this->previewAction($messageId); } - + public function previewAsTextAction($messageId) { $response = $this->previewAction($messageId, false); $response->headers->add(["Content-Type" => "text/plain"]); - + return $response; } + + public function sendSampleByEmailAction($messageId) + { + if (null !== $response = $this->checkAuth(AdminResources::MESSAGE, [], AccessManager::VIEW)) { + return $response; + } + + if (null !== $message = MessageQuery::create()->findPk($messageId)) { + // Ajax submission: prevent CRSF control, as page is not refreshed + $baseForm = $this->createForm(AdminForm::MESSAGE_SEND_SAMPLE, 'form', [], ['csrf_protection' => false]); + + try { + $form = $this->validateForm($baseForm, "POST"); + + $data = $form->getData(); + + $messageParameters = []; + + foreach ($this->getRequest()->request->all() as $key => $value) { + $messageParameters[$key] = $value; + } + + $this->getMailer()->sendEmailMessage( + $message->getName(), + [ConfigQuery::getStoreEmail() => ConfigQuery::getStoreName()], + [ $data['recipient_email'] => $data['recipient_email'] ], + $messageParameters, + $this->getCurrentEditionLocale() + ); + + return new Response( + $this->getTranslator()->trans( + "The message has been successfully sent to %recipient.", + [ '%recipient' => $data['recipient_email'] ] + ) + ); + } catch (\Exception $ex) { + return new Response( + $this->getTranslator()->trans( + "Something goes wrong, the message was not sent to recipient. Error is : %err", + [ '%err' => $ex->getMessage() ] + ) + ); + } + } else { + return $this->pageNotFound(); + } + } } diff --git a/core/lib/Thelia/Controller/Admin/OrderController.php b/core/lib/Thelia/Controller/Admin/OrderController.php index f1e4fd08..7acb0643 100644 --- a/core/lib/Thelia/Controller/Admin/OrderController.php +++ b/core/lib/Thelia/Controller/Admin/OrderController.php @@ -63,7 +63,7 @@ class OrderController extends BaseAdminController $order = OrderQuery::create()->findPk($order_id); - $statusId = $this->getRequest()->request->get("status_id"); + $statusId = $this->getRequest()->get("status_id"); $status = OrderStatusQuery::create()->findPk($statusId); if (null === $order) { diff --git a/core/lib/Thelia/Controller/Admin/ProductController.php b/core/lib/Thelia/Controller/Admin/ProductController.php index db835974..7f494359 100644 --- a/core/lib/Thelia/Controller/Admin/ProductController.php +++ b/core/lib/Thelia/Controller/Admin/ProductController.php @@ -329,7 +329,6 @@ class ProductController extends AbstractSeoCrudController $this->appendValue($combinationPseData, "isdefault", $saleElement->getIsDefault() > 0 ? 1 : 0); $this->appendValue($combinationPseData, "ean_code", $saleElement->getEanCode()); } - } $defaultPseForm = $this->createForm(AdminForm::PRODUCT_DEFAULT_SALE_ELEMENT_UPDATE, "form", $defaultPseData); diff --git a/core/lib/Thelia/Controller/Admin/SaleController.php b/core/lib/Thelia/Controller/Admin/SaleController.php index a31584c9..cd2b8510 100644 --- a/core/lib/Thelia/Controller/Admin/SaleController.php +++ b/core/lib/Thelia/Controller/Admin/SaleController.php @@ -81,7 +81,7 @@ class SaleController extends AbstractCrudController /** @var SaleProduct $saleProduct */ foreach ($saleProducts as $saleProduct) { $categories[] = $saleProduct->getProduct()->getDefaultCategoryId(); - $products[] = $saleProduct->getProduct()->getId(); + $products[$saleProduct->getProduct()->getId()] = $saleProduct->getProduct()->getId(); } $dateFormat = SaleModificationForm::PHP_DATE_FORMAT; diff --git a/core/lib/Thelia/Controller/Admin/SessionController.php b/core/lib/Thelia/Controller/Admin/SessionController.php index 4e1d0d7a..8a660739 100644 --- a/core/lib/Thelia/Controller/Admin/SessionController.php +++ b/core/lib/Thelia/Controller/Admin/SessionController.php @@ -185,7 +185,6 @@ class SessionController extends BaseAdminController $this->getSession()->set(self::ADMIN_TOKEN_SESSION_VAR_NAME, null); return $this->generateSuccessRedirect($adminCreatePasswordForm); - } catch (FormValidationException $ex) { // Validation problem $message = $this->createStandardFormValidationErrorMessage($ex); diff --git a/core/lib/Thelia/Controller/Admin/StateController.php b/core/lib/Thelia/Controller/Admin/StateController.php index d6bb8be4..9d4c56de 100644 --- a/core/lib/Thelia/Controller/Admin/StateController.php +++ b/core/lib/Thelia/Controller/Admin/StateController.php @@ -241,5 +241,4 @@ class StateController extends AbstractCrudController { return new StateToggleVisibilityEvent($this->getExistingObject()); } - } diff --git a/core/lib/Thelia/Controller/Admin/TaxRuleController.php b/core/lib/Thelia/Controller/Admin/TaxRuleController.php index 83b0cf5f..496f5f70 100644 --- a/core/lib/Thelia/Controller/Admin/TaxRuleController.php +++ b/core/lib/Thelia/Controller/Admin/TaxRuleController.php @@ -332,7 +332,6 @@ class TaxRuleController extends AbstractCrudController ); return $this->jsonResponse(json_encode($responseData)); - } catch (FormValidationException $ex) { // Form cannot be validated $error_msg = $this->createStandardFormValidationErrorMessage($ex); @@ -411,7 +410,6 @@ class TaxRuleController extends AbstractCrudController $taxRuleCountry = $taxRuleCountries->getNext(); } - } $data = [ diff --git a/core/lib/Thelia/Controller/Admin/TemplateController.php b/core/lib/Thelia/Controller/Admin/TemplateController.php index 43c42853..0fcc5ed9 100644 --- a/core/lib/Thelia/Controller/Admin/TemplateController.php +++ b/core/lib/Thelia/Controller/Admin/TemplateController.php @@ -18,8 +18,10 @@ use Thelia\Core\Event\Template\TemplateCreateEvent; use Thelia\Core\Event\Template\TemplateDeleteAttributeEvent; use Thelia\Core\Event\Template\TemplateDeleteEvent; use Thelia\Core\Event\Template\TemplateDeleteFeatureEvent; +use Thelia\Core\Event\Template\TemplateDuplicateEvent; use Thelia\Core\Event\Template\TemplateUpdateEvent; use Thelia\Core\Event\TheliaEvents; +use Thelia\Core\HttpFoundation\Request; use Thelia\Core\Security\AccessManager; use Thelia\Core\Security\Resource\AdminResources; use Thelia\Form\Definition\AdminForm; @@ -157,13 +159,18 @@ class TemplateController extends AbstractCrudController ) ); } - - protected function redirectToEditionTemplate() + + /** + * @param Request $request + * @param int $id + * @return \Symfony\Component\HttpFoundation\Response + */ + protected function redirectToEditionTemplate($request = null, $id = null) { return $this->generateRedirectFromRoute( "admin.configuration.templates.update", [ - 'template_id' => $this->getRequest()->get('template_id'), + 'template_id' => $id ?: $this->getRequest()->get('template_id'), ] ); } @@ -195,6 +202,33 @@ class TemplateController extends AbstractCrudController return null; } + public function duplicateAction() + { + // Check current user authorization + if (null !== $response = $this->checkAuth(AdminResources::TEMPLATE, array(), AccessManager::CREATE)) { + return $response; + } + + $template_id = intval($this->getRequest()->get('template_id')); + + if ($template_id > 0) { + try { + $event = new TemplateDuplicateEvent($template_id, $this->getCurrentEditionLocale()); + + $this->dispatch(TheliaEvents::TEMPLATE_DUPLICATE, $event); + + if ($event->hasTemplate()) { + $template_id = $event->getTemplate()->getId(); + } + } catch (\Exception $ex) { + // Any error + return $this->errorPage($ex); + } + } + + return $this->redirectToEditionTemplate(null, $template_id); + } + public function getAjaxFeaturesAction() { return $this->render( diff --git a/core/lib/Thelia/Controller/Front/BaseFrontController.php b/core/lib/Thelia/Controller/Front/BaseFrontController.php index 4388ac6a..e5812ed2 100644 --- a/core/lib/Thelia/Controller/Front/BaseFrontController.php +++ b/core/lib/Thelia/Controller/Front/BaseFrontController.php @@ -126,18 +126,7 @@ class BaseFrontController extends BaseController // Add the template standard extension $templateName .= '.html'; - $session = $this->getSession(); - - // Prepare common template variables - $args = array_merge($args, array( - 'locale' => $session->getLang()->getLocale(), - 'lang_code' => $session->getLang()->getCode(), - 'lang_id' => $session->getLang()->getId(), - 'current_url' => $this->getRequest()->getUri() - )); - // Render the template. - $data = $this->getParser($templateDir)->render($templateName, $args); return $data; diff --git a/core/lib/Thelia/Core/Archiver/AbstractArchiver.php b/core/lib/Thelia/Core/Archiver/AbstractArchiver.php index 44075fb1..a3265514 100644 --- a/core/lib/Thelia/Core/Archiver/AbstractArchiver.php +++ b/core/lib/Thelia/Core/Archiver/AbstractArchiver.php @@ -12,6 +12,8 @@ namespace Thelia\Core\Archiver; +use Thelia\Core\Translation\Translator; + /** * Class AbstractArchiver * @author Jérôme Billiras @@ -28,10 +30,10 @@ abstract class AbstractArchiver implements ArchiverInterface */ protected $archivePath; - public function __construct() + public function __construct($checkIsAvailable = false) { - if (!$this->isAvailable()) { - throw new Exception( + if ($checkIsAvailable && !$this->isAvailable()) { + throw new \Exception( Translator::getInstance()->trans( "The archiver :name is not available. Please install the php extension :extension first.", [ @@ -40,7 +42,7 @@ abstract class AbstractArchiver implements ArchiverInterface ] ) ); - } + } } public function getArchivePath() diff --git a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterHookListenersPass.php b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterHookListenersPass.php index 399f289e..c4a2acdb 100644 --- a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterHookListenersPass.php +++ b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterHookListenersPass.php @@ -15,8 +15,8 @@ namespace Thelia\Core\DependencyInjection\Compiler; use Propel\Runtime\Propel; use ReflectionException; use ReflectionMethod; -use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; +use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Thelia\Core\Hook\BaseHook; use Thelia\Core\Hook\HookDefinition; @@ -26,8 +26,8 @@ use Thelia\Model\Base\IgnoredModuleHookQuery; use Thelia\Model\ConfigQuery; use Thelia\Model\Hook; use Thelia\Model\HookQuery; -use Thelia\Model\ModuleHookQuery; use Thelia\Model\ModuleHook; +use Thelia\Model\ModuleHookQuery; use Thelia\Model\ModuleQuery; /** @@ -61,11 +61,11 @@ class RegisterHookListenersPass implements CompilerPassInterface } } - protected function logAlertMessage($message) + protected function logAlertMessage($message, $failSafe = false) { Tlog::getInstance()->addAlert($message); - if ($this->debugEnabled) { + if (!$failSafe && $this->debugEnabled) { throw new \InvalidArgumentException($message); } } @@ -190,7 +190,6 @@ class RegisterHookListenersPass implements CompilerPassInterface $moduleHook ->setHookActive(false) ->save(); - } else { //$moduleHook->setTemplates($attributes['templates']); @@ -226,6 +225,7 @@ class RegisterHookListenersPass implements CompilerPassInterface $hookId = 0; /** @var ModuleHook $moduleHook */ foreach ($moduleHooks as $moduleHook) { + // check if class and method exists if (!$container->hasDefinition($moduleHook->getClassname())) { continue; @@ -236,7 +236,8 @@ class RegisterHookListenersPass implements CompilerPassInterface if (!$this->isValidHookMethod( $container->getDefinition($moduleHook->getClassname())->getClass(), $moduleHook->getMethod(), - $hook->getBlock() + $hook->getBlock(), + true ) ) { $moduleHook->delete(); @@ -346,9 +347,7 @@ class RegisterHookListenersPass implements CompilerPassInterface } if (! $hook->getActivate()) { - $this->logAlertMessage(sprintf("Hook %s is not activated.", $hookName)); - - return null; + $this->logAlertMessage(sprintf("Hook %s is not activated.", $hookName), true); } return $hook; @@ -360,10 +359,11 @@ class RegisterHookListenersPass implements CompilerPassInterface * @param string $className the namespace of the class * @param string $methodName the method name * @param bool $block tell if the hook is a block or a function + * @param bool $failSafe * * @return bool */ - protected function isValidHookMethod($className, $methodName, $block) + protected function isValidHookMethod($className, $methodName, $block, $failSafe = false) { try { $method = new ReflectionMethod($className, $methodName); @@ -380,7 +380,10 @@ class RegisterHookListenersPass implements CompilerPassInterface return false; } } catch (ReflectionException $ex) { - $this->logAlertMessage(sprintf("Method %s does not exist in %s : %s", $methodName, $className, $ex)); + $this->logAlertMessage( + sprintf("Method %s does not exist in %s : %s", $methodName, $className, $ex), + $failSafe + ); return false; } diff --git a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php index ec832a83..d3678b5e 100644 --- a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php +++ b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php @@ -17,6 +17,8 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Reference; +use Thelia\Model\Module; +use Thelia\Model\ModuleQuery; /** * @@ -52,8 +54,9 @@ class RegisterRouterPass implements CompilerPassInterface $chainRouter->addMethodCall("add", array(new Reference($id), $priority)); } if (defined("THELIA_INSTALL_MODE") === false) { - $modules = \Thelia\Model\ModuleQuery::getActivated(); + $modules = ModuleQuery::getActivated(); + /** @var Module $module */ foreach ($modules as $module) { $moduleBaseDir = $module->getBaseDir(); $routingConfigFilePath = $module->getAbsoluteBaseDir() . DS . "Config" . DS . "routing.xml"; @@ -76,7 +79,7 @@ class RegisterRouterPass implements CompilerPassInterface $container->setDefinition("router.".$moduleBaseDir, $definition); - $chainRouter->addMethodCall("add", array(new Reference("router.".$moduleBaseDir), 150)); + $chainRouter->addMethodCall("add", array(new Reference("router.".$moduleBaseDir), 150 + $module->getPosition())); } } } diff --git a/core/lib/Thelia/Core/Event/Cart/CartDuplicationEvent.php b/core/lib/Thelia/Core/Event/Cart/CartDuplicationEvent.php index 820abfa5..7d6d1cf9 100644 --- a/core/lib/Thelia/Core/Event/Cart/CartDuplicationEvent.php +++ b/core/lib/Thelia/Core/Event/Cart/CartDuplicationEvent.php @@ -30,7 +30,7 @@ class CartDuplicationEvent extends CartEvent */ public function getDuplicatedCart() { - return parent::getCart(); + return $this->getCart(); } /** diff --git a/core/lib/Thelia/Core/Event/Country/CountryToggleVisibilityEvent.php b/core/lib/Thelia/Core/Event/Country/CountryToggleVisibilityEvent.php index c1ce5001..ba1d57e2 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryToggleVisibilityEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryToggleVisibilityEvent.php @@ -20,5 +20,4 @@ namespace Thelia\Core\Event\Country; */ class CountryToggleVisibilityEvent extends CountryEvent { - } diff --git a/core/lib/Thelia/Core/Event/Hook/ModuleHookCreateEvent.php b/core/lib/Thelia/Core/Event/Hook/ModuleHookCreateEvent.php index fe175879..5b78f97b 100644 --- a/core/lib/Thelia/Core/Event/Hook/ModuleHookCreateEvent.php +++ b/core/lib/Thelia/Core/Event/Hook/ModuleHookCreateEvent.php @@ -128,6 +128,4 @@ class ModuleHookCreateEvent extends ModuleHookEvent return $this; } - - } diff --git a/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildArrayEvent.php b/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildArrayEvent.php index 4caf6214..b53dcee4 100644 --- a/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildArrayEvent.php +++ b/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildArrayEvent.php @@ -10,36 +10,57 @@ /* file that was distributed with this source code. */ /*************************************************************************************/ - namespace Thelia\Core\Event\Loop; use Thelia\Core\Template\Element\BaseLoop; /** * Class LoopExtendsBuildArrayEvent + * * @package Thelia\Core\Event\Loop * @author Julien Chanséaume */ class LoopExtendsBuildArrayEvent extends LoopExtendsEvent { - /** @var array $array */ + /** + * @var array Build array results + */ protected $array; /** - * LoopExtendsBuildArrayEvent constructor. - * @param array $array + * Class constructor + * + * @param \Thelia\Core\Template\Element\BaseLoop $loop Loop object + * @param array $array Build array base results */ public function __construct(BaseLoop $loop, array $array) { parent::__construct($loop); + $this->array = $array; } /** - * @return array + * Get build array results + * + * @return array Build array results */ public function getArray() { return $this->array; } + + /** + * Set build array results + * + * @param array $array + * + * @return $this Return $this, allow chaining + */ + public function setArray(array $array) + { + $this->array = $array; + + return $this; + } } diff --git a/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php b/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php index 1ab70023..831b813c 100644 --- a/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php +++ b/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php @@ -25,17 +25,28 @@ class ModuleDeleteEvent extends ModuleEvent protected $module_id; protected $delete_data; - public function __construct($module_id) + /** + * @var bool + */ + protected $assume_delete; + + public function __construct($module_id, $assume_delete = false) { + parent::__construct(); + $this->module_id = $module_id; + $this->assume_delete = $assume_delete; } /** * @param int $module_id + * @return $this */ public function setModuleId($module_id) { $this->module_id = $module_id; + + return $this; } /** @@ -51,10 +62,33 @@ class ModuleDeleteEvent extends ModuleEvent return $this->delete_data; } + + /** + * @param boolean $delete_data + * @return $this + */ public function setDeleteData($delete_data) { $this->delete_data = $delete_data; return $this; } + + /** + * @return boolean + */ + public function getAssumeDelete() + { + return $this->assume_delete; + } + + /** + * @param boolean $assume_delete + * @return $this + */ + public function setAssumeDelete($assume_delete) + { + $this->assume_delete = $assume_delete; + return $this; + } } diff --git a/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php b/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php index 9a7a4a4c..a0991bc9 100644 --- a/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php +++ b/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php @@ -34,13 +34,21 @@ class ModuleToggleActivationEvent extends ModuleEvent */ protected $recursive; + /** + * @var bool + */ + protected $assume_deactivate; + /** * @param int $module_id */ - public function __construct($module_id) + public function __construct($module_id, $assume_deactivate = false) { + parent::__construct(); + $this->module_id = $module_id; + $this->assume_deactivate = $assume_deactivate; } /** @@ -73,7 +81,7 @@ class ModuleToggleActivationEvent extends ModuleEvent /** * @param boolean $noCheck - * @return $this; + * @return $this */ public function setNoCheck($noCheck) { @@ -92,11 +100,29 @@ class ModuleToggleActivationEvent extends ModuleEvent /** * @param boolean $recursive - * @return $this; + * @return $this */ public function setRecursive($recursive) { $this->recursive = $recursive; return $this; } + + /** + * @return boolean + */ + public function getAssumeDeactivate() + { + return $this->assume_deactivate; + } + + /** + * @param boolean $assume_deactivate + * @return $this + */ + public function setAssumeDeactivate($assume_deactivate) + { + $this->assume_deactivate = $assume_deactivate; + return $this; + } } diff --git a/core/lib/Thelia/Core/Event/Order/OrderEvent.php b/core/lib/Thelia/Core/Event/Order/OrderEvent.php index f8b44321..49cf9201 100644 --- a/core/lib/Thelia/Core/Event/Order/OrderEvent.php +++ b/core/lib/Thelia/Core/Event/Order/OrderEvent.php @@ -61,6 +61,9 @@ class OrderEvent extends ActionEvent /** @var null|int */ protected $cartItemId = null; + /** @var null|string */ + protected $transactionRef = null; + /** * @var Response */ @@ -352,4 +355,24 @@ class OrderEvent extends ActionEvent return $this; } + + /** + * @since 2.4.0 + * @return null|string + */ + public function getTransactionRef() + { + return $this->transactionRef; + } + + /** + * @since 2.4.0 + * @param null|string $transactionRef + * @return $this + */ + public function setTransactionRef($transactionRef) + { + $this->transactionRef = $transactionRef; + return $this; + } } diff --git a/core/lib/Thelia/Core/Event/Product/ProductCloneEvent.php b/core/lib/Thelia/Core/Event/Product/ProductCloneEvent.php index c5d4e692..08df07a4 100644 --- a/core/lib/Thelia/Core/Event/Product/ProductCloneEvent.php +++ b/core/lib/Thelia/Core/Event/Product/ProductCloneEvent.php @@ -17,12 +17,23 @@ use Thelia\Model\Product; class ProductCloneEvent extends ActionEvent { + /** @var string */ protected $ref; + /** @var string */ protected $lang; - protected $originalProduct = array(); - protected $clonedProduct = array(); + /** @var Product */ + protected $originalProduct; + /** @var Product */ + protected $clonedProduct; + /** @var array */ protected $types = array('images', 'documents'); + /** + * ProductCloneEvent constructor. + * @param string $ref + * @param string $lang the locale (such as fr_FR) + * @param $originalProduct + */ public function __construct( $ref, $lang, @@ -34,7 +45,7 @@ class ProductCloneEvent extends ActionEvent } /** - * @return mixed + * @return string */ public function getRef() { @@ -42,7 +53,7 @@ class ProductCloneEvent extends ActionEvent } /** - * @param mixed $ref + * @param string $ref */ public function setRef($ref) { @@ -50,7 +61,7 @@ class ProductCloneEvent extends ActionEvent } /** - * @return mixed + * @return string the locale (such as fr_FR) */ public function getLang() { @@ -58,7 +69,7 @@ class ProductCloneEvent extends ActionEvent } /** - * @param mixed $lang + * @param string $lang the locale (such as fr_FR) */ public function setLang($lang) { diff --git a/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementDeleteEvent.php b/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementDeleteEvent.php index a02484c2..706b8ccc 100644 --- a/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementDeleteEvent.php +++ b/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementDeleteEvent.php @@ -14,34 +14,55 @@ namespace Thelia\Core\Event\ProductSaleElement; class ProductSaleElementDeleteEvent extends ProductSaleElementEvent { + /** @var int */ protected $product_sale_element_id; + /** @var int */ protected $currency_id; - + + /** + * ProductSaleElementDeleteEvent constructor. + * @param int $product_sale_element_id + * @param int $currency_id + */ public function __construct($product_sale_element_id, $currency_id) { parent::__construct(); $this->product_sale_element_id = $product_sale_element_id; - $this->setCurrencyId($currency_id); + $this->currency_id = $currency_id; } - + + /** + * @return int + */ public function getProductSaleElementId() { return $this->product_sale_element_id; } - + + /** + * @param int $product_sale_element_id + * @return $this + */ public function setProductSaleElementId($product_sale_element_id) { $this->product_sale_element_id = $product_sale_element_id; return $this; } - + + /** + * @return int + */ public function getCurrencyId() { return $this->currency_id; } - + + /** + * @param int $currency_id + * @return $this + */ public function setCurrencyId($currency_id) { $this->currency_id = $currency_id; diff --git a/core/lib/Thelia/Core/Event/State/StateToggleVisibilityEvent.php b/core/lib/Thelia/Core/Event/State/StateToggleVisibilityEvent.php index b224bed1..14547786 100644 --- a/core/lib/Thelia/Core/Event/State/StateToggleVisibilityEvent.php +++ b/core/lib/Thelia/Core/Event/State/StateToggleVisibilityEvent.php @@ -20,5 +20,4 @@ namespace Thelia\Core\Event\State; */ class StateToggleVisibilityEvent extends StateEvent { - } diff --git a/core/lib/Thelia/Core/Event/Template/TemplateEvent.php b/core/lib/Thelia/Core/Event/Template/TemplateEvent.php index 8c3be9c4..e5ec6b41 100644 --- a/core/lib/Thelia/Core/Event/Template/TemplateEvent.php +++ b/core/lib/Thelia/Core/Event/Template/TemplateEvent.php @@ -17,23 +17,36 @@ use Thelia\Model\Template; class TemplateEvent extends ActionEvent { + /** + * @var Template + */ protected $template = null; public function __construct(Template $template = null) { $this->template = $template; } - + + /** + * @return bool + */ public function hasTemplate() { return ! is_null($this->template); } - + + /** + * @return Template + */ public function getTemplate() { return $this->template; } - + + /** + * @param Template $template + * @return $this + */ public function setTemplate($template) { $this->template = $template; diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php index 28439ab1..36bde478 100644 --- a/core/lib/Thelia/Core/Event/TheliaEvents.php +++ b/core/lib/Thelia/Core/Event/TheliaEvents.php @@ -26,6 +26,10 @@ final class TheliaEvents * sent at the beginning */ const BOOT = "thelia.boot"; + /** + * Kernel View Check Handle + */ + const VIEW_CHECK = "thelia.view_check"; // -- END CORE EVENTS --------------------------------------------------------- // -- ADDRESS EVENTS --------------------------------------------------------- /** @@ -115,6 +119,8 @@ final class TheliaEvents const CATEGORY_REMOVE_CONTENT = "action.categoryRemoveContent"; const CATEGORY_UPDATE_SEO = "action.updateCategorySeo"; + + const VIEW_CATEGORY_ID_NOT_VISIBLE = "action.viewCategoryIdNotVisible"; // -- END CATEGORIES EVENTS ----------------------------------------------- @@ -137,6 +143,8 @@ final class TheliaEvents const CONTENT_ADD_FOLDER = "action.contentAddFolder"; const CONTENT_REMOVE_FOLDER = "action.contentRemoveFolder"; + + const VIEW_CONTENT_ID_NOT_VISIBLE = "action.viewContentIdNotVisible"; // -- END CONTENT EVENTS --------------------------------------------------------- @@ -234,6 +242,12 @@ final class TheliaEvents * sent when a customer need a new password */ const LOST_PASSWORD = "action.lostPassword"; + + /** + * Send the account ccreation confirmation email + */ + const SEND_ACCOUNT_CONFIRMATION_EMAIL = "action.customer.sendAccountConfirmationEmail"; + // -- END CUSTOMER EVENTS --------------------------------------------------------- @@ -253,6 +267,8 @@ final class TheliaEvents const FOLDER_TOGGLE_VISIBILITY = "action.toggleFolderVisibility"; const FOLDER_UPDATE_POSITION = "action.updateFolderPosition"; const FOLDER_UPDATE_SEO = "action.updateFolderSeo"; + + const VIEW_FOLDER_ID_NOT_VISIBLE = "action.viewFolderIdNotVisible"; // -- END FOLDER EVENTS --------------------------------------------------------- @@ -299,6 +315,7 @@ final class TheliaEvents const VIRTUAL_PRODUCT_ORDER_HANDLE = "action.virtualProduct.handleOrder"; const VIRTUAL_PRODUCT_ORDER_DOWNLOAD_RESPONSE = "action.virtualProduct.downloadResponse"; + const VIEW_PRODUCT_ID_NOT_VISIBLE = "action.viewProductIdNotVisible"; // -- END PRODUCT EVENTS --------------------------------------------------------- @@ -437,6 +454,7 @@ final class TheliaEvents const ORDER_SEND_NOTIFICATION_EMAIL = "action.order.sendOrderNotificationEmail"; const ORDER_UPDATE_DELIVERY_REF = "action.order.updateDeliveryRef"; + const ORDER_UPDATE_TRANSACTION_REF = "action.order.updateTransactionRef"; const ORDER_UPDATE_ADDRESS = "action.order.updateAddress"; const ORDER_PRODUCT_BEFORE_CREATE = "action.orderProduct.beforeCreate"; @@ -694,6 +712,7 @@ final class TheliaEvents const TEMPLATE_CREATE = "action.createTemplate"; const TEMPLATE_UPDATE = "action.updateTemplate"; const TEMPLATE_DELETE = "action.deleteTemplate"; + const TEMPLATE_DUPLICATE = "action.duplicateTemplate"; const TEMPLATE_ADD_ATTRIBUTE = "action.templateAddAttribute"; const TEMPLATE_DELETE_ATTRIBUTE = "action.templateDeleteAttribute"; @@ -912,6 +931,8 @@ final class TheliaEvents const BEFORE_UPDATEBRAND = "action.before_updateBrand"; const AFTER_UPDATEBRAND = "action.after_updateBrand"; + const VIEW_BRAND_ID_NOT_VISIBLE = "action.viewBrandIdNotVisible"; + // -- Import ---------------------------------------------- const IMPORT_CHANGE_POSITION = 'import.change.position'; @@ -980,4 +1001,20 @@ final class TheliaEvents const TRANSLATION_GET_STRINGS = 'action.translation.get_strings'; const TRANSLATION_WRITE_FILE = 'action.translation.write_file'; + + // -- ORDER STATUS EVENTS ----------------------------------------------- + const BEFORE_CREATE_ORDER_STATUS = "action.before_createOrderStatus"; + const ORDER_STATUS_CREATE = "action.createOrderStatus"; + const AFTER_CREATE_ORDER_STATUS = "action.after_createOrderStatus"; + + const BEFORE_UPDATE_ORDER_STATUS = "action.before_updateOrderStatus"; + const ORDER_STATUS_UPDATE = "action.updateOrderStatus"; + const AFTER_UPDATE_ORDER_STATUS = "action.after_updateOrderStatus"; + + const BEFORE_DELETE_ORDER_STATUS = "action.before_deleteOrderStatus"; + const ORDER_STATUS_DELETE = "action.deleteOrderStatus"; + const AFTER_DELETE_ORDER_STATUS = "action.after_deleteOrderStatus"; + + const ORDER_STATUS_UPDATE_POSITION = "action.updateOrderStatusPosition"; + // -- END ORDER STATUS EVENTS ----------------------------------------------- } diff --git a/core/lib/Thelia/Core/EventListener/ErrorListener.php b/core/lib/Thelia/Core/EventListener/ErrorListener.php index 9710be7f..a3f0b087 100644 --- a/core/lib/Thelia/Core/EventListener/ErrorListener.php +++ b/core/lib/Thelia/Core/EventListener/ErrorListener.php @@ -22,6 +22,7 @@ use Thelia\Core\Security\Exception\AuthenticationException; use Thelia\Core\Security\SecurityContext; use Thelia\Core\Template\ParserInterface; use Thelia\Core\TheliaKernelEvents; +use Thelia\Log\Tlog; use Thelia\Model\ConfigQuery; /** @@ -89,6 +90,25 @@ class ErrorListener implements EventSubscriberInterface } } + public function logException(GetResponseForExceptionEvent $event) + { + // Log exception in the Thelia log + $exception = $event->getException(); + + $logMessage = ''; + + do { + $logMessage .= + ($logMessage ? PHP_EOL . 'Caused by' : 'Uncaught exception') + . $event->getException()->getMessage() + . PHP_EOL + . "Stack Trace: " . $event->getException()->getTraceAsString() + ; + } while (null !== $exception = $exception->getPrevious()); + + Tlog::getInstance()->error($logMessage); + } + public function authenticationException(GetResponseForExceptionEvent $event) { $exception = $event->getException(); @@ -107,6 +127,7 @@ class ErrorListener implements EventSubscriberInterface { return array( KernelEvents::EXCEPTION => [ + ["logException", 0], ["handleException", 0], ['authenticationException', 100] ], diff --git a/core/lib/Thelia/Core/EventListener/RequestListener.php b/core/lib/Thelia/Core/EventListener/RequestListener.php index 5bb80de7..0817cb56 100644 --- a/core/lib/Thelia/Core/EventListener/RequestListener.php +++ b/core/lib/Thelia/Core/EventListener/RequestListener.php @@ -275,9 +275,11 @@ class RequestListener implements EventSubscriberInterface ) { $request->getSession()->setCurrency($find); $this->eventDispatcher->dispatch(TheliaEvents::CHANGE_DEFAULT_CURRENCY, new CurrencyChangeEvent($find, $request)); + } else { + $defaultCurrency = Currency::getDefaultCurrency(); + $request->getSession()->setCurrency($defaultCurrency); + $this->eventDispatcher->dispatch(TheliaEvents::CHANGE_DEFAULT_CURRENCY, new CurrencyChangeEvent($defaultCurrency, $request)); } - } else { - $request->getSession()->setCurrency(Currency::getDefaultCurrency()); } } diff --git a/core/lib/Thelia/Core/EventListener/ResponseListener.php b/core/lib/Thelia/Core/EventListener/ResponseListener.php index 181eec2c..69955364 100644 --- a/core/lib/Thelia/Core/EventListener/ResponseListener.php +++ b/core/lib/Thelia/Core/EventListener/ResponseListener.php @@ -30,7 +30,6 @@ class ResponseListener implements EventSubscriberInterface $session = $event->getRequest()->getSession(); if (null !== $id = $session->get("cart_use_cookie")) { - $response = $event->getResponse(); $cookieName = ConfigQuery::read("cart.cookie_name", 'thelia_cart'); diff --git a/core/lib/Thelia/Core/EventListener/ViewListener.php b/core/lib/Thelia/Core/EventListener/ViewListener.php index 4053d916..9237b2f6 100644 --- a/core/lib/Thelia/Core/EventListener/ViewListener.php +++ b/core/lib/Thelia/Core/EventListener/ViewListener.php @@ -13,6 +13,7 @@ namespace Thelia\Core\EventListener; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; @@ -20,6 +21,8 @@ use Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\Routing\Router; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Core\Event\ViewCheckEvent; use Thelia\Core\HttpFoundation\Response; use Thelia\Core\Template\Exception\ResourceNotFoundException; use Thelia\Exception\OrderException; @@ -35,23 +38,23 @@ use Thelia\Exception\OrderException; class ViewListener implements EventSubscriberInterface { - /** - * - * @var \Symfony\Component\DependencyInjection\ContainerInterface - */ + /** @var ContainerInterface */ private $container; + /** @var EventDispatcherInterface */ + protected $eventDispatcher; + /** - * * @param ContainerInterface $container + * @param EventDispatcherInterface $eventDispatcher */ - public function __construct(ContainerInterface $container) + public function __construct(ContainerInterface $container, EventDispatcherInterface $eventDispatcher) { $this->container = $container; + $this->eventDispatcher = $eventDispatcher; } /** - * * Launch the parser defined on the constructor and get the result. * * The result is transform id needed into a Response object @@ -66,7 +69,13 @@ class ViewListener implements EventSubscriberInterface $request = $this->container->get('request_stack')->getCurrentRequest(); $response = null; try { - $content = $parser->render($request->attributes->get('_view').".html"); + $view = $request->attributes->get('_view'); + + $viewId = $request->attributes->get($view . '_id'); + + $this->eventDispatcher->dispatch(TheliaEvents::VIEW_CHECK, new ViewCheckEvent($view, $viewId)); + + $content = $parser->render($view . '.html'); if ($content instanceof Response) { $response = $content; @@ -98,15 +107,19 @@ class ViewListener implements EventSubscriberInterface { $request = $this->container->get('request_stack')->getCurrentRequest(); - if (null === $request->attributes->get('_view')) { + if (null === $view = $request->attributes->get('_view')) { $request->attributes->set('_view', $this->findView($request)); } + + if (null === $request->attributes->get($view . '_id')) { + $request->attributes->set($view . '_id', $this->findViewId($request, $view)); + } } public function findView(Request $request) { if (! $view = $request->query->get('view')) { - $view = "index"; + $view = 'index'; if ($request->request->has('view')) { $view = $request->request->get('view'); } @@ -115,6 +128,17 @@ class ViewListener implements EventSubscriberInterface return $view; } + public function findViewId(Request $request, $view) + { + if (! $viewId = $request->query->get($view . '_id')) { + $viewId = 0; + if ($request->request->has($view . '_id')) { + $viewId = $request->request->get($view . '_id'); + } + } + + return $viewId; + } /** * {@inheritdoc} diff --git a/core/lib/Thelia/Core/Hook/DefaultHook.php b/core/lib/Thelia/Core/Hook/DefaultHook.php index 5d43d9de..c180a28b 100644 --- a/core/lib/Thelia/Core/Hook/DefaultHook.php +++ b/core/lib/Thelia/Core/Hook/DefaultHook.php @@ -20,5 +20,4 @@ namespace Thelia\Core\Hook; */ class DefaultHook extends BaseHook { - } diff --git a/core/lib/Thelia/Core/Routing/RewritingRouter.php b/core/lib/Thelia/Core/Routing/RewritingRouter.php index 44cfa54a..c8d725a3 100644 --- a/core/lib/Thelia/Core/Routing/RewritingRouter.php +++ b/core/lib/Thelia/Core/Routing/RewritingRouter.php @@ -12,6 +12,7 @@ namespace Thelia\Core\Routing; +use Propel\Runtime\ActiveQuery\Criteria; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Exception\InvalidParameterException; use Symfony\Component\Routing\Exception\MethodNotAllowedException; @@ -26,7 +27,10 @@ use Thelia\Core\HttpFoundation\Request as TheliaRequest; use Thelia\Core\HttpKernel\Exception\RedirectException; use Thelia\Exception\UrlRewritingException; use Thelia\Model\ConfigQuery; +use Thelia\Model\CustomerQuery; +use Thelia\Model\Lang; use Thelia\Model\LangQuery; +use Thelia\Model\RewritingUrlQuery; use Thelia\Rewriting\RewritingResolver; use Thelia\Tools\URL; @@ -177,6 +181,11 @@ class RewritingRouter implements RouterInterface, RequestMatcherInterface if (null ==! $requestedLocale = $request->get('lang')) { if (null !== $requestedLang = LangQuery::create()->findOneByLocale($requestedLocale)) { if ($requestedLang->getLocale() != $rewrittenUrlData->locale) { + // Save one redirection if requested locale is disabled. + if (! $requestedLang->getActive()) { + $requestedLang = Lang::getDefaultLanguage(); + } + $localizedUrl = $urlTool->retrieve( $rewrittenUrlData->view, $rewrittenUrlData->viewId, @@ -188,9 +197,33 @@ class RewritingRouter implements RouterInterface, RequestMatcherInterface } } + // If the rewritten URL locale is disabled, redirect to the URL in the default language + if (null === $lang = LangQuery::create() + ->filterByActive(true) + ->filterByLocale($rewrittenUrlData->locale) + ->findOne()) { + $lang = Lang::getDefaultLanguage(); + + $localizedUrl = $urlTool->retrieve( + $rewrittenUrlData->view, + $rewrittenUrlData->viewId, + $lang->getLocale() + )->toString(); + + $this->redirect($urlTool->absoluteUrl($localizedUrl), 301); + } + /* is the URL redirected ? */ if (null !== $rewrittenUrlData->redirectedToUrl) { - $this->redirect($urlTool->absoluteUrl($rewrittenUrlData->redirectedToUrl), 301); + $redirect = RewritingUrlQuery::create() + ->filterByView($rewrittenUrlData->view) + ->filterByViewId($rewrittenUrlData->viewId) + ->filterByViewLocale($rewrittenUrlData->locale) + ->filterByRedirected(null, Criteria::ISNULL) + ->findOne() + ; + + $this->redirect($urlTool->absoluteUrl($redirect->getUrl()), 301); } /* define GET arguments in request */ diff --git a/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php b/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php index 2317ea16..65f29eb6 100644 --- a/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php +++ b/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php @@ -13,11 +13,14 @@ namespace Thelia\Core\Security\Authentication; use Symfony\Component\HttpFoundation\Request; +use Thelia\Core\Security\Exception\CustomerNotConfirmedException; use Thelia\Core\Security\UserProvider\UserProviderInterface; use Thelia\Core\Security\Exception\WrongPasswordException; use Thelia\Core\Security\Exception\UsernameNotFoundException; use Symfony\Component\Validator\Exception\ValidatorException; use Thelia\Form\BaseForm; +use Thelia\Model\ConfigQuery; +use Thelia\Model\Customer; class UsernamePasswordFormAuthenticator implements AuthenticatorInterface { @@ -78,6 +81,14 @@ class UsernamePasswordFormAuthenticator implements AuthenticatorInterface if ($authOk !== true) { throw new WrongPasswordException(sprintf("Wrong password for user '%s'.", $username)); } + + if (ConfigQuery::isCustomerEmailConfirmationEnable() && $user instanceof Customer) { + // Customer email confirmation feature is available since Thelia 2.3.4 + if ($user->getConfirmationToken() !== null && ! $user->getEnable()) { + throw (new CustomerNotConfirmedException())->setUser($user); + } + } + return $user; } diff --git a/core/lib/Thelia/Core/Security/Resource/AdminResources.php b/core/lib/Thelia/Core/Security/Resource/AdminResources.php index 3515aeb7..e02a75fe 100644 --- a/core/lib/Thelia/Core/Security/Resource/AdminResources.php +++ b/core/lib/Thelia/Core/Security/Resource/AdminResources.php @@ -97,6 +97,8 @@ class AdminResources const ORDER = "admin.order"; + const ORDER_STATUS = "admin.configuration.order-status"; + const PRODUCT = "admin.product"; const PROFILE = "admin.configuration.profile"; diff --git a/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php b/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php index d45f87e6..5967c0e9 100644 --- a/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php +++ b/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php @@ -114,7 +114,7 @@ class CSVSerializer extends AbstractSerializer if ($this->headers !== null) { // Create tmp file with header $fd = fopen('php://temp', 'w+b'); - fputcsv($fd, $this->headers); + fputcsv($fd, $this->headers, $this->delimiter, $this->enclosure); // Copy file content into tmp file $fileObject->rewind(); @@ -131,6 +131,8 @@ class CSVSerializer extends AbstractSerializer // Remove last line feed $fileObject->ftruncate($fileObject->getSize() - 1); + + clearstatcache(true, $fileObject->getPathname()); } public function unserialize(\SplFileObject $fileObject) diff --git a/core/lib/Thelia/Core/Stack/ParamInitMiddleware.php b/core/lib/Thelia/Core/Stack/ParamInitMiddleware.php index d6e32ef9..c6c72fbb 100644 --- a/core/lib/Thelia/Core/Stack/ParamInitMiddleware.php +++ b/core/lib/Thelia/Core/Stack/ParamInitMiddleware.php @@ -147,7 +147,6 @@ class ParamInitMiddleware implements HttpKernelInterface Tlog::getInstance()->warning("The domain URL for language ".$lang->getTitle()." (id ".$lang->getId().") is not defined."); return Lang::getDefaultLanguage(); - } else { // one domain for all languages, the lang has to be set into session return $lang; diff --git a/core/lib/Thelia/Core/Template/Element/BaseI18nLoop.php b/core/lib/Thelia/Core/Template/Element/BaseI18nLoop.php index e040ad7b..db0969a2 100644 --- a/core/lib/Thelia/Core/Template/Element/BaseI18nLoop.php +++ b/core/lib/Thelia/Core/Template/Element/BaseI18nLoop.php @@ -12,6 +12,7 @@ namespace Thelia\Core\Template\Element; +use Propel\Runtime\ActiveQuery\Criteria; use Thelia\Core\Template\Loop\Argument\Argument; use Propel\Runtime\ActiveQuery\ModelCriteria; use Thelia\Model\Tools\ModelCriteriaTools; @@ -54,8 +55,13 @@ abstract class BaseI18nLoop extends BaseLoop * * @return mixed the locale */ - protected function configureI18nProcessing(ModelCriteria $search, $columns = array('TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM'), $foreignTable = null, $foreignKey = 'ID', $forceReturn = false) - { + protected function configureI18nProcessing( + ModelCriteria $search, + $columns = array('TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM'), + $foreignTable = null, + $foreignKey = 'ID', + $forceReturn = false + ) { /* manage translations */ $this->locale = ModelCriteriaTools::getI18n( @@ -69,4 +75,34 @@ abstract class BaseI18nLoop extends BaseLoop $this->getForceReturn() ); } + + + /** + * Add the search clause for an I18N column, taking care of the back/front context, as default_locale_i18n is + * not defined in the backEnd I18N context. + * + * @param ModelCriteria $search + * @param string $columnName the column to search into, such as TITLE + * @param string $searchCriteria the search criteria, such as Criterial::LIKE, Criteria::EQUAL, etc. + * @param string $searchTerm the searched term + */ + public function addSearchInI18nColumn($search, $columnName, $searchCriteria, $searchTerm) + { + if (! $this->getBackendContext()) { + $search->where( + "CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) + THEN `requested_locale_i18n`.`$columnName` + ELSE `default_locale_i18n`.`$columnName` + END " . $searchCriteria . " ?", + $searchTerm, + \PDO::PARAM_STR + ); + } else { + $search->where( + "`requested_locale_i18n`.`$columnName` $searchCriteria ?", + $searchTerm, + \PDO::PARAM_STR + ); + } + } } diff --git a/core/lib/Thelia/Core/Template/Element/BaseLoop.php b/core/lib/Thelia/Core/Template/Element/BaseLoop.php old mode 100644 new mode 100755 index c4183c20..7811bd7e --- a/core/lib/Thelia/Core/Template/Element/BaseLoop.php +++ b/core/lib/Thelia/Core/Template/Element/BaseLoop.php @@ -86,6 +86,7 @@ abstract class BaseLoop protected $translator = null; private static $cacheLoopResult = []; + private static $cacheLoopPagination = []; private static $cacheCount = []; /** @var array cache of event to dispatch */ @@ -498,6 +499,10 @@ abstract class BaseLoop $hash = $this->args->getHash(); if (($isCaching = $this->isCaching()) && isset(self::$cacheLoopResult[$hash])) { + if (isset(self::$cacheLoopPagination[$hash])) { + $pagination = self::$cacheLoopPagination[$hash]; + } + return self::$cacheLoopResult[$hash]; } @@ -533,9 +538,15 @@ abstract class BaseLoop } $parsedResults = $this->extendsParseResults($this->parseResults($loopResult)); - + + $loopResult->finalizeRows(); + if ($isCaching) { self::$cacheLoopResult[$hash] = $parsedResults; + + if ($pagination instanceof PropelModelPager) { + self::$cacheLoopPagination[$hash] = clone $pagination; + } } return $parsedResults; @@ -708,10 +719,11 @@ abstract class BaseLoop $eventName = $this->getDispatchEventName(TheliaEvents::LOOP_EXTENDS_BUILD_ARRAY); if (null !== $eventName) { - $this->dispatcher->dispatch( - $eventName, - new LoopExtendsBuildArrayEvent($this, $search) - ); + $event = new LoopExtendsBuildArrayEvent($this, $search); + + $this->dispatcher->dispatch($eventName, $event); + + $search = $event->getArray(); } return $search; diff --git a/core/lib/Thelia/Core/Template/Element/LoopResult.php b/core/lib/Thelia/Core/Template/Element/LoopResult.php index e547030f..c7e99093 100644 --- a/core/lib/Thelia/Core/Template/Element/LoopResult.php +++ b/core/lib/Thelia/Core/Template/Element/LoopResult.php @@ -80,6 +80,20 @@ class LoopResult implements \Iterator, \JsonSerializable $this->collection[] = $row; } + + /** + * Adjust the collection once all results have been added. + */ + public function finalizeRows() + { + // Fix rows LOOP_TOTAL if parseResults() did not added all resultsCollection items to the collection array + // see https://github.com/thelia/thelia/issues/2337 + if (true === $this->countable && $this->getResultDataCollectionCount() !== $realCount = $this->getCount()) { + foreach ($this->collection as &$item) { + $item->set('LOOP_TOTAL', $realCount); + } + } + } public function getCount() { diff --git a/core/lib/Thelia/Core/Template/Element/SearchLoopInterface.php b/core/lib/Thelia/Core/Template/Element/SearchLoopInterface.php index 290a5999..73c9f707 100644 --- a/core/lib/Thelia/Core/Template/Element/SearchLoopInterface.php +++ b/core/lib/Thelia/Core/Template/Element/SearchLoopInterface.php @@ -12,6 +12,8 @@ namespace Thelia\Core\Template\Element; +use Propel\Runtime\ActiveQuery\ModelCriteria; + /** * * @author Etienne Roudeix @@ -28,5 +30,11 @@ interface SearchLoopInterface */ public function getSearchIn(); + /** + * @param ModelCriteria $search a query + * @param string $searchTerm the searched term + * @param array $searchIn available field to search in + * @param string $searchCriteria the search criteria, such as Criterial::LIKE, Criteria::EQUAL, etc. + */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria); } diff --git a/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php b/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php index d2b53d03..1bf004e7 100644 --- a/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php +++ b/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php @@ -143,13 +143,12 @@ class Argument } /** - * This method is available from Thelia 2.2 version - * * @param $name * @param null $default * @param bool $mandatory * @param bool $empty * @return Argument + * @since 2.2 */ public static function createAnyListTypeArgument($name, $default = null, $mandatory = false, $empty = true) { @@ -176,4 +175,46 @@ class Argument $empty ); } + + /** + * @param $name + * @param null $default + * @param bool $mandatory + * @param bool $empty + * @return Argument + * @since 2.4.0 + */ + public static function createAlphaNumStringTypeArgument($name, $default = null, $mandatory = false, $empty = true) + { + return new Argument( + $name, + new TypeCollection( + new Type\AlphaNumStringType() + ), + $default, + $mandatory, + $empty + ); + } + + /** + * @param $name + * @param null $default + * @param bool $mandatory + * @param bool $empty + * @return Argument + * @since 2.4.0 + */ + public static function createAlphaNumStringListTypeArgument($name, $default = null, $mandatory = false, $empty = true) + { + return new Argument( + $name, + new TypeCollection( + new Type\AlphaNumStringListType() + ), + $default, + $mandatory, + $empty + ); + } } diff --git a/core/lib/Thelia/Core/Template/Loop/Brand.php b/core/lib/Thelia/Core/Template/Loop/Brand.php index 3f491945..2c81fe8d 100644 --- a/core/lib/Thelia/Core/Template/Loop/Brand.php +++ b/core/lib/Thelia/Core/Template/Loop/Brand.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\BrandQuery; @@ -46,6 +47,8 @@ use Thelia\Type\TypeCollection; */ class Brand extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { + use StandardI18nFieldsSearchTrait; + protected $timestampable = true; /** @@ -90,28 +93,20 @@ class Brand extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoo */ public function getSearchIn() { - return [ - "title" - ]; + return $this->getStandardI18nSearchFields(); } /** * @param BrandQuery $search * @param string $searchTerm - * @param string $searchIn + * @param array $searchIn * @param string $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); - $search->where( - "CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) - THEN `requested_locale_i18n`.`TITLE`ELSE `default_locale_i18n`.`TITLE` - END ".$searchCriteria." ?", - $searchTerm, - \PDO::PARAM_STR - ); + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function buildModelCriteria() @@ -153,14 +148,7 @@ class Brand extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoo $title = $this->getTitle(); if (!is_null($title)) { - $search->where( - "CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) - THEN `requested_locale_i18n`.`TITLE` - ELSE `default_locale_i18n`.`TITLE` - END ".Criteria::LIKE." ?", - "%".$title."%", - \PDO::PARAM_STR - ); + $this->addSearchInI18nColumn($search, 'TITLE', Criteria::LIKE, "%".$title."%"); } $current = $this->getCurrent(); diff --git a/core/lib/Thelia/Core/Template/Loop/Category.php b/core/lib/Thelia/Core/Template/Loop/Category.php index 8f76ca34..5a359a35 100644 --- a/core/lib/Thelia/Core/Template/Loop/Category.php +++ b/core/lib/Thelia/Core/Template/Loop/Category.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Model\CategoryQuery; @@ -59,9 +60,13 @@ use Thelia\Model\Category as CategoryModel; * @method bool|string getVisible() * @method int[] getExclude() * @method string[] getOrder() + * @method int[] getTemplateId() + * @method bool getProductCountVisibleOnly() */ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { + use StandardI18nFieldsSearchTrait; + protected $timestampable = true; protected $versionable = true; @@ -82,11 +87,21 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search Argument::createBooleanTypeArgument('with_prev_next_info', false), Argument::createBooleanTypeArgument('need_count_child', false), Argument::createBooleanTypeArgument('need_product_count', false), + Argument::createBooleanTypeArgument('product_count_visible_only', false), Argument::createBooleanOrBothTypeArgument('visible', 1), + Argument::createIntListTypeArgument('template_id'), new Argument( 'order', new TypeCollection( - new Type\EnumListType(array('id', 'id_reverse', 'alpha', 'alpha_reverse', 'manual', 'manual_reverse', 'visible', 'visible_reverse', 'random')) + new Type\EnumListType([ + 'id', 'id_reverse', + 'alpha', 'alpha_reverse', + 'manual', 'manual_reverse', + 'visible', 'visible_reverse', + 'created', 'created_reverse', + 'updated', 'updated_reverse', + 'random' + ]) ), 'manual' ), @@ -99,22 +114,20 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search */ public function getSearchIn() { - return [ - "title" - ]; + return $this->getStandardI18nSearchFields(); } /** * @param CategoryQuery $search * @param string $searchTerm - * @param string $searchIn + * @param array $searchIn * @param string $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); - $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".$searchCriteria." ?", $searchTerm, \PDO::PARAM_STR); + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function buildModelCriteria() @@ -132,8 +145,11 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search $parent = $this->getParent(); - if (!is_null($parent)) { + if (null !== $parent) { $search->filterByParent($parent, Criteria::IN); + $positionOrderAllowed = true; + } else { + $positionOrderAllowed = false; } $excludeParent = $this->getExcludeParent(); @@ -190,6 +206,11 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search ->endUse() ; } + $templateIdList = $this->getTemplateId(); + + if (!is_null($templateIdList)) { + $search->filterByDefaultTemplateId($templateIdList, Criteria::IN); + } $orders = $this->getOrder(); @@ -219,6 +240,18 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search case "visible_reverse": $search->orderByVisible(Criteria::DESC); break; + case "created": + $search->addAscendingOrderByColumn('created_at'); + break; + case "created_reverse": + $search->addDescendingOrderByColumn('created_at'); + break; + case "updated": + $search->addAscendingOrderByColumn('updated_at'); + break; + case "updated_reverse": + $search->addDescendingOrderByColumn('updated_at'); + break; case "random": $search->clearOrderByColumns(); $search->addAscendingOrderByColumn('RAND()'); @@ -264,7 +297,11 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface, Search } if ($this->getNeedProductCount()) { - $loopResultRow->set("PRODUCT_COUNT", $category->countAllProducts()); + if ($this->getProductCountVisibleOnly()) { + $loopResultRow->set("PRODUCT_COUNT", $category->countAllProductsVisibleOnly()); + } else { + $loopResultRow->set("PRODUCT_COUNT", $category->countAllProducts()); + } } $isBackendContext = $this->getBackendContext(); diff --git a/core/lib/Thelia/Core/Template/Loop/CategoryPath.php b/core/lib/Thelia/Core/Template/Loop/CategoryPath.php index 32dae5a7..1bdb42cb 100644 --- a/core/lib/Thelia/Core/Template/Loop/CategoryPath.php +++ b/core/lib/Thelia/Core/Template/Loop/CategoryPath.php @@ -49,32 +49,34 @@ class CategoryPath extends BaseI18nLoop implements ArraySearchLoopInterface { return new ArgumentCollection( Argument::createIntTypeArgument('category', null, true), - Argument::createIntTypeArgument('depth'), + Argument::createIntTypeArgument('depth', PHP_INT_MAX), Argument::createBooleanOrBothTypeArgument('visible', true, false) ); } public function buildArray() { - $id = $this->getCategory(); + $originalId = $currentId = $this->getCategory(); $visible = $this->getVisible(); - - $search = CategoryQuery::create(); - - $this->configureI18nProcessing($search, array('TITLE')); - - $search->filterById($id); - if ($visible !== BooleanOrBothType::ANY) { - $search->filterByVisible($visible); - } - + $depth = $this->getDepth(); + $results = array(); - + $ids = array(); - + do { + $search = CategoryQuery::create(); + + $this->configureI18nProcessing($search, array('TITLE')); + + $search->filterById($currentId); + + if ($visible !== BooleanOrBothType::ANY) { + $search->filterByVisible($visible); + } + $category = $search->findOne(); - + if ($category != null) { $results[] = array( "ID" => $category->getId(), @@ -82,29 +84,26 @@ class CategoryPath extends BaseI18nLoop implements ArraySearchLoopInterface "URL" => $category->getUrl($this->locale), "LOCALE" => $this->locale, ); - - $parent = $category->getParent(); - - if ($parent > 0) { + + $currentId = $category->getParent(); + + if ($currentId > 0) { // Prevent circular refererences - if (in_array($parent, $ids)) { - throw new \LogicException(sprintf("Circular reference detected in category ID=%d hierarchy (category ID=%d appears more than one times in path)", $id, $parent)); - } - - $ids[] = $parent; - - $search = CategoryQuery::create(); - - $this->configureI18nProcessing($search, array('TITLE')); - - $search->filterById($parent); - if ($visible != BooleanOrBothType::ANY) { - $search->filterByVisible($visible); + if (in_array($currentId, $ids)) { + throw new \LogicException( + sprintf( + "Circular reference detected in category ID=%d hierarchy (category ID=%d appears more than one times in path)", + $originalId, + $currentId + ) + ); } + + $ids[] = $currentId; } } - } while ($category != null && $parent > 0); - + } while ($category != null && $currentId > 0 && --$depth > 0); + // Reverse list and build the final result return array_reverse($results); } diff --git a/core/lib/Thelia/Core/Template/Loop/Content.php b/core/lib/Thelia/Core/Template/Loop/Content.php index 1a159c2a..528ccb0b 100644 --- a/core/lib/Thelia/Core/Template/Loop/Content.php +++ b/core/lib/Thelia/Core/Template/Loop/Content.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Model\ContentFolderQuery; @@ -54,6 +55,8 @@ use Thelia\Type\BooleanOrBothType; */ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { + use StandardI18nFieldsSearchTrait; + protected $timestampable = true; protected $versionable = true; @@ -77,18 +80,15 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL new TypeCollection( new Type\EnumListType( array( - 'alpha', - 'alpha-reverse', - 'manual', - 'manual_reverse', + 'id', 'id_reverse', + 'alpha', 'alpha-reverse', 'alpha_reverse', + 'manual', 'manual_reverse', + 'visible', 'visible_reverse', 'random', 'given_id', - 'created', - 'created_reverse', - 'updated', - 'updated_reverse', - 'position', - 'position_reverse' + 'created', 'created_reverse', + 'updated', 'updated_reverse', + 'position', 'position_reverse' ) ) ), @@ -104,22 +104,20 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL */ public function getSearchIn() { - return [ - "title" - ]; + return $this->getStandardI18nSearchFields(); } /** * @param ContentQuery $search * @param string $searchTerm - * @param string $searchIn + * @param array $searchIn * @param string $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); - $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".$searchCriteria." ?", $searchTerm, \PDO::PARAM_STR); + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function buildModelCriteria() @@ -140,8 +138,8 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL // Select the contents which have $folderDefault as the default folder. $search ->useContentFolderQuery('FolderSelect') - ->filterByDefaultFolder(true) - ->filterByFolderId($folderDefault, Criteria::IN) + ->filterByDefaultFolder(true) + ->filterByFolderId($folderDefault, Criteria::IN) ->endUse() ; @@ -155,7 +153,7 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $search ->useContentFolderQuery('FolderSelect') - ->filterByFolderId($allFolderIDs, Criteria::IN) + ->filterByFolderId($allFolderIDs, Criteria::IN) ->endUse() ; @@ -163,12 +161,18 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $manualOrderAllowed = (1 == $depth && 1 == count($folderIdList)); } else { $search - ->useContentFolderQuery('FolderSelect') - ->filterByDefaultFolder(true) - ->endUse() + ->leftJoinContentFolder('FolderSelect') + ->addJoinCondition('FolderSelect', '`FolderSelect`.DEFAULT_FOLDER = 1') ; } + $search->withColumn( + 'CAST(CASE WHEN ISNULL(`FolderSelect`.POSITION) THEN \'' . PHP_INT_MAX . '\' ELSE `FolderSelect`.POSITION END AS SIGNED)', + 'position_delegate' + ); + $search->withColumn('`FolderSelect`.FOLDER_ID', 'default_folder_id'); + $search->withColumn('`FolderSelect`.DEFAULT_FOLDER', 'is_default_folder'); + $current = $this->getCurrent(); if ($current === true) { @@ -198,19 +202,39 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $title = $this->getTitle(); if (!is_null($title)) { - $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".Criteria::LIKE." ?", "%".$title."%", \PDO::PARAM_STR); + $this->addSearchInI18nColumn($search, 'TITLE', Criteria::LIKE, "%".$title."%"); } - $search->withColumn('`FolderSelect`.POSITION', 'position_delegate'); + $exclude = $this->getExclude(); + + if (!is_null($exclude)) { + $search->filterById($exclude, Criteria::NOT_IN); + } + + $exclude_folder = $this->getExcludeFolder(); + + if (!is_null($exclude_folder)) { + $search->filterByFolder( + FolderQuery::create()->filterById($exclude_folder, Criteria::IN)->find(), + Criteria::NOT_IN + ); + } $orders = $this->getOrder(); foreach ($orders as $order) { switch ($order) { + case "id": + $search->orderById(Criteria::ASC); + break; + case "id_reverse": + $search->orderById(Criteria::DESC); + break; case "alpha": $search->addAscendingOrderByColumn('i18n_TITLE'); break; case "alpha-reverse": + case "alpha_reverse": $search->addDescendingOrderByColumn('i18n_TITLE'); break; case "manual": @@ -235,6 +259,12 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $search->orderBy($givenIdMatched, Criteria::DESC); } break; + case "visible": + $search->orderByVisible(Criteria::ASC); + break; + case "visible_reverse": + $search->orderByVisible(Criteria::DESC); + break; case "random": $search->clearOrderByColumns(); $search->addAscendingOrderByColumn('RAND()'); @@ -260,20 +290,7 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL } } - $exclude = $this->getExclude(); - - if (!is_null($exclude)) { - $search->filterById($exclude, Criteria::NOT_IN); - } - - $exclude_folder = $this->getExcludeFolder(); - - if (!is_null($exclude_folder)) { - $search->filterByFolder( - FolderQuery::create()->filterById($exclude_folder, Criteria::IN)->find(), - Criteria::NOT_IN - ); - } + $search->groupById(); return $search; } @@ -283,7 +300,13 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL /** @var ContentModel $content */ foreach ($loopResult->getResultDataCollection() as $content) { $loopResultRow = new LoopResultRow($content); - $defaultFolderId = $content->getDefaultFolderId(); + + if ((bool) $content->getVirtualColumn('is_default_folder')) { + $defaultFolderId = $content->getVirtualColumn('default_folder_id'); + } else { + $defaultFolderId = $content->getDefaultFolderId(); + } + $loopResultRow->set("ID", $content->getId()) ->set("IS_TRANSLATED", $content->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE", $this->locale) diff --git a/core/lib/Thelia/Core/Template/Loop/Country.php b/core/lib/Thelia/Core/Template/Loop/Country.php index 8258a7ab..8ea4669b 100644 --- a/core/lib/Thelia/Core/Template/Loop/Country.php +++ b/core/lib/Thelia/Core/Template/Loop/Country.php @@ -118,6 +118,7 @@ class Country extends BaseI18nLoop implements PropelSearchLoopInterface if (true === $withArea) { $search + ->distinct() ->joinCountryArea('with_area', Criteria::LEFT_JOIN) ->where('`with_area`.country_id ' . Criteria::ISNOTNULL); } elseif (false === $withArea) { diff --git a/core/lib/Thelia/Core/Template/Loop/Customer.php b/core/lib/Thelia/Core/Template/Loop/Customer.php index 638e7259..9fc3340d 100644 --- a/core/lib/Thelia/Core/Template/Loop/Customer.php +++ b/core/lib/Thelia/Core/Template/Loop/Customer.php @@ -252,7 +252,9 @@ class Customer extends BaseLoop implements SearchLoopInterface, PropelSearchLoop ->set("RESELLER", $customer->getReseller()) ->set("SPONSOR", $customer->getSponsor()) ->set("DISCOUNT", $customer->getDiscount()) - ->set("NEWSLETTER", $customer->getVirtualColumn("is_registered_to_newsletter")); + ->set("NEWSLETTER", $customer->getVirtualColumn("is_registered_to_newsletter")) + ->set("CONFIRMATION_TOKEN", $customer->getConfirmationToken()) + ; if ($this->getWithPrevNextInfo()) { // Find previous and next category diff --git a/core/lib/Thelia/Core/Template/Loop/Feature.php b/core/lib/Thelia/Core/Template/Loop/Feature.php index 02a87121..dec71daa 100644 --- a/core/lib/Thelia/Core/Template/Loop/Feature.php +++ b/core/lib/Thelia/Core/Template/Loop/Feature.php @@ -123,6 +123,13 @@ class Feature extends BaseI18nLoop implements PropelSearchLoopInterface /** @var ProductModel $product */ foreach ($products as $product) { + if (!$this->getBackendContext()) { + $search + ->useFeatureProductQuery() + ->filterByProduct($product) + ->endUse() + ; + } $tplId = $product->getTemplateId(); if (! is_null($tplId)) { diff --git a/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php b/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php index c9e3dece..d02651c2 100644 --- a/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php +++ b/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php @@ -22,6 +22,8 @@ use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Model\FeatureAv; use Thelia\Model\FeatureAvQuery; use Thelia\Model\FeatureProductQuery; +use Thelia\Model\Map\FeatureAvTableMap; +use Thelia\Model\Map\FeatureProductTableMap; use Thelia\Type\TypeCollection; use Thelia\Type; @@ -106,6 +108,24 @@ class FeatureAvailability extends BaseI18nLoop implements PropelSearchLoopInterf } } + // We do not consider here Free Text values, so be sure that the features values we will get + // are not free text ones, e.g. are not defined as free-text feature values in the + // feature_product table. + // We are doig here something like + // SELECT * FROM `feature_av` + // WHERE feature_av.FEATURE_ID IN ('7') + // AND feature_av.ID not in ( + // select feature_av_id from feature_product + // where feature_id = `feature_av`.feature_id + // and feature_av_id = `feature_av`.id + // and free_text_value = 1 + // ) + $search->where(FeatureAvTableMap::ID . ' NOT IN ( + SELECT '. FeatureProductTableMap::FEATURE_AV_ID . ' + FROM ' .FeatureProductTableMap::TABLE_NAME. ' + WHERE ' . FeatureProductTableMap::FREE_TEXT_VALUE . ' = 1 + )'); + return $search; } @@ -113,26 +133,19 @@ class FeatureAvailability extends BaseI18nLoop implements PropelSearchLoopInterf { /** @var FeatureAv $featureAv */ foreach ($loopResult->getResultDataCollection() as $featureAv) { - $isFreeText = FeatureProductQuery::create() - ->filterByFeatureId($featureAv->getFeatureId()) - ->filterByFeatureAvId($featureAv->getId()) - ->findOneByFreeTextValue(true); + $loopResultRow = new LoopResultRow($featureAv); + $loopResultRow->set("ID", $featureAv->getId()) + ->set("IS_TRANSLATED", $featureAv->getVirtualColumn('IS_TRANSLATED')) + ->set("LOCALE", $this->locale) + ->set("FEATURE_ID", $featureAv->getFeatureId()) + ->set("TITLE", $featureAv->getVirtualColumn('i18n_TITLE')) + ->set("CHAPO", $featureAv->getVirtualColumn('i18n_CHAPO')) + ->set("DESCRIPTION", $featureAv->getVirtualColumn('i18n_DESCRIPTION')) + ->set("POSTSCRIPTUM", $featureAv->getVirtualColumn('i18n_POSTSCRIPTUM')) + ->set("POSITION", $featureAv->getPosition()); + $this->addOutputFields($loopResultRow, $featureAv); - if ($isFreeText === null) { - $loopResultRow = new LoopResultRow($featureAv); - $loopResultRow->set("ID", $featureAv->getId()) - ->set("IS_TRANSLATED", $featureAv->getVirtualColumn('IS_TRANSLATED')) - ->set("LOCALE", $this->locale) - ->set("FEATURE_ID", $featureAv->getFeatureId()) - ->set("TITLE", $featureAv->getVirtualColumn('i18n_TITLE')) - ->set("CHAPO", $featureAv->getVirtualColumn('i18n_CHAPO')) - ->set("DESCRIPTION", $featureAv->getVirtualColumn('i18n_DESCRIPTION')) - ->set("POSTSCRIPTUM", $featureAv->getVirtualColumn('i18n_POSTSCRIPTUM')) - ->set("POSITION", $featureAv->getPosition()); - $this->addOutputFields($loopResultRow, $featureAv); - - $loopResult->addRow($loopResultRow); - } + $loopResult->addRow($loopResultRow); } return $loopResult; diff --git a/core/lib/Thelia/Core/Template/Loop/Feed.php b/core/lib/Thelia/Core/Template/Loop/Feed.php index b9b3a50a..a3c0f61d 100644 --- a/core/lib/Thelia/Core/Template/Loop/Feed.php +++ b/core/lib/Thelia/Core/Template/Loop/Feed.php @@ -12,6 +12,7 @@ namespace Thelia\Core\Template\Loop; +use Symfony\Component\Cache\Adapter\AdapterInterface; use Thelia\Core\Template\Element\ArraySearchLoopInterface; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; @@ -41,27 +42,25 @@ class Feed extends BaseLoop implements ArraySearchLoopInterface public function buildArray() { - $cachedir = THELIA_ROOT . 'cache/feeds'; + /** @var AdapterInterface $cacheAdapter */ + $cacheAdapter = $this->container->get('thelia.cache'); - if (! is_dir($cachedir)) { - if (! mkdir($cachedir)) { - throw new \Exception(sprintf("Failed to create cache directory '%s'", $cachedir)); - } + $cacheItem = $cacheAdapter->getItem('feed_' . md5($this->getUrl())); + + if (!$cacheItem->isHit()) { + $feed = new \SimplePie(); + $feed->set_feed_url($this->getUrl()); + + $feed->init(); + + $feed->handle_content_type(); + + $cacheItem->expiresAfter($this->getTimeout() * 60); + $cacheItem->set($feed->get_items()); + $cacheAdapter->save($cacheItem); } - $feed = new \SimplePie(); - $feed->set_feed_url($this->getUrl()); - $feed->set_cache_location(THELIA_ROOT . 'cache/feeds'); - - $feed->init(); - - $feed->handle_content_type(); - - $feed->set_timeout($this->getTimeout()); - - $items = $feed->get_items(); - - return $items; + return $cacheItem->get(); } public function parseResults(LoopResult $loopResult) diff --git a/core/lib/Thelia/Core/Template/Loop/Folder.php b/core/lib/Thelia/Core/Template/Loop/Folder.php index dc8da9ff..f2c9b4b2 100644 --- a/core/lib/Thelia/Core/Template/Loop/Folder.php +++ b/core/lib/Thelia/Core/Template/Loop/Folder.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Model\ContentQuery; @@ -42,9 +43,14 @@ use Thelia\Type\BooleanOrBothType; * @method string getTitle() * @method string[] getOrder() * @method bool getWithPrevNextInfo() + * @method bool getNeedCountChild() + * @method bool getNeedContentCount() + * @method bool getContentCountVisible() */ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { + use StandardI18nFieldsSearchTrait; + protected $timestampable = true; protected $versionable = true; @@ -61,27 +67,28 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo Argument::createBooleanTypeArgument('not_empty', 0), Argument::createBooleanOrBothTypeArgument('visible', 1), Argument::createAnyTypeArgument('title'), + Argument::createBooleanTypeArgument('need_count_child', true), + Argument::createBooleanTypeArgument('need_content_count', true), new Argument( 'order', new TypeCollection( new Type\EnumListType( [ - 'alpha', - 'alpha_reverse', - 'manual', - 'manual_reverse', + 'id', 'id_reverse', + 'alpha', 'alpha_reverse', + 'manual', 'manual_reverse', + 'visible', 'visible_reverse', 'random', - 'created', - 'created_reverse', - 'updated', - 'updated_reverse' + 'created', 'created_reverse', + 'updated', 'updated_reverse' ] ) ), 'manual' ), Argument::createIntListTypeArgument('exclude'), - Argument::createBooleanTypeArgument('with_prev_next_info', false) + Argument::createBooleanTypeArgument('with_prev_next_info', false), + Argument::createBooleanOrBothTypeArgument('content_count_visible', true) ); } @@ -90,36 +97,20 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo */ public function getSearchIn() { - return [ - "title" - ]; + return $this->getStandardI18nSearchFields(); } /** * @param FolderQuery $search * @param string $searchTerm - * @param string $searchIn + * @param array $searchIn * @param string $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); - $this->addTitleSearchWhereClause($search, $searchCriteria, $searchTerm); - } - - /** - * @param FolderQuery $search - * @param string $criteria - * @param string $value - */ - protected function addTitleSearchWhereClause($search, $criteria, $value) - { - $search->where( - "CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".$criteria." ?", - $value, - \PDO::PARAM_STR - ); + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function buildModelCriteria() @@ -140,7 +131,7 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo $parent = $this->getParent(); - if (!is_null($parent)) { + if (null !== $parent) { $search->filterByParent($parent); } @@ -171,7 +162,7 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo $title = $this->getTitle(); if (!is_null($title)) { - $this->addTitleSearchWhereClause($search, Criteria::LIKE, '%'.$title.'%'); + $this->addSearchInI18nColumn($search, 'TITLE', Criteria::LIKE, "%".$title."%"); } $visible = $this->getVisible(); @@ -184,6 +175,12 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo foreach ($orders as $order) { switch ($order) { + case "id": + $search->orderById(Criteria::ASC); + break; + case "id_reverse": + $search->orderById(Criteria::DESC); + break; case "alpha": $search->addAscendingOrderByColumn('i18n_TITLE'); break; @@ -196,6 +193,12 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo case "manual": $search->orderByPosition(Criteria::ASC); break; + case "visible": + $search->orderByVisible(Criteria::ASC); + break; + case "visible_reverse": + $search->orderByVisible(Criteria::DESC); + break; case "random": $search->clearOrderByColumns(); $search->addAscendingOrderByColumn('RAND()'); @@ -221,6 +224,15 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo public function parseResults(LoopResult $loopResult) { + $needCountChild = $this->getNeedCountChild(); + $needContentCount = $this->getNeedContentCount(); + + $contentCountVisiblility = $this->getContentCountVisible(); + + if ($contentCountVisiblility !== BooleanOrBothType::ANY) { + $contentCountVisiblility = $contentCountVisiblility ? 1 : 0; + } + /** @var \Thelia\Model\Folder $folder */ foreach ($loopResult->getResultDataCollection() as $folder) { $loopResultRow = new LoopResultRow($folder); @@ -239,11 +251,18 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo ->set("META_TITLE", $folder->getVirtualColumn('i18n_META_TITLE')) ->set("META_DESCRIPTION", $folder->getVirtualColumn('i18n_META_DESCRIPTION')) ->set("META_KEYWORDS", $folder->getVirtualColumn('i18n_META_KEYWORDS')) - ->set("CHILD_COUNT", $folder->countChild()) - ->set("CONTENT_COUNT", $folder->countAllContents()) ->set("VISIBLE", $folder->getVisible() ? "1" : "0") ->set("POSITION", $folder->getPosition()); + + if ($needCountChild) { + $loopResultRow->set("CHILD_COUNT", $folder->countChild()); + } + + if ($needContentCount) { + $loopResultRow->set("CONTENT_COUNT", $folder->countAllContents($contentCountVisiblility)); + } + $isBackendContext = $this->getBackendContext(); if ($this->getWithPrevNextInfo()) { @@ -286,4 +305,4 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLo return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/FolderPath.php b/core/lib/Thelia/Core/Template/Loop/FolderPath.php index d5485b18..c35d8b9c 100644 --- a/core/lib/Thelia/Core/Template/Loop/FolderPath.php +++ b/core/lib/Thelia/Core/Template/Loop/FolderPath.php @@ -29,6 +29,7 @@ use Thelia\Type\BooleanOrBothType; * {@inheritdoc} * @method int getFolder() * @method bool|string getVisible() + * @method int getDepth() * @method string[] getOrder() */ class FolderPath extends BaseI18nLoop implements ArraySearchLoopInterface @@ -40,30 +41,32 @@ class FolderPath extends BaseI18nLoop implements ArraySearchLoopInterface { return new ArgumentCollection( Argument::createIntTypeArgument('folder', null, true), - Argument::createIntTypeArgument('depth'), + Argument::createIntTypeArgument('depth', PHP_INT_MAX), Argument::createBooleanOrBothTypeArgument('visible', true, false) ); } public function buildArray() { - $id = $this->getFolder(); + $originalId = $currentId = $this->getFolder(); $visible = $this->getVisible(); - - $search = FolderQuery::create(); - - $this->configureI18nProcessing($search, array('TITLE')); - - $search->filterById($id); - if ($visible !== BooleanOrBothType::ANY) { - $search->filterByVisible($visible); - } - + $depth = $this->getDepth(); + $results = array(); $ids = array(); do { + $search = FolderQuery::create(); + + $this->configureI18nProcessing($search, array('TITLE')); + + $search->filterById($currentId); + + if ($visible !== BooleanOrBothType::ANY) { + $search->filterByVisible($visible); + } + $folder = $search->findOne(); if ($folder != null) { @@ -73,28 +76,25 @@ class FolderPath extends BaseI18nLoop implements ArraySearchLoopInterface "URL" => $folder->getUrl($this->locale), "LOCALE" => $this->locale, ); + + $currentId = $folder->getParent(); - $parent = $folder->getParent(); - - if ($parent > 0) { + if ($currentId > 0) { // Prevent circular refererences - if (in_array($parent, $ids)) { - throw new \LogicException(sprintf("Circular reference detected in folder ID=%d hierarchy (folder ID=%d appears more than one times in path)", $id, $parent)); + if (in_array($currentId, $ids)) { + throw new \LogicException( + sprintf( + "Circular reference detected in folder ID=%d hierarchy (folder ID=%d appears more than one times in path)", + $originalId, + $currentId + ) + ); } - $ids[] = $parent; - - $search = FolderQuery::create(); - - $this->configureI18nProcessing($search, array('TITLE')); - - $search->filterById($parent); - if ($visible != BooleanOrBothType::ANY) { - $search->filterByVisible($visible); - } + $ids[] = $currentId; } } - } while ($folder != null && $parent > 0); + } while ($folder != null && $currentId > 0 && --$depth > 0); // Reverse list and build the final result return array_reverse($results); diff --git a/core/lib/Thelia/Core/Template/Loop/Module.php b/core/lib/Thelia/Core/Template/Loop/Module.php index b94b27bf..87a8e8c4 100644 --- a/core/lib/Thelia/Core/Template/Loop/Module.php +++ b/core/lib/Thelia/Core/Template/Loop/Module.php @@ -47,6 +47,8 @@ use Thelia\Type\TypeCollection; * @method int[] getExclude() * @method bool|string getActive() * @method string[] getOrder() + * @method bool|string getMandatory() + * @method bool|string getHidden() */ class Module extends BaseI18nLoop implements PropelSearchLoopInterface { @@ -87,24 +89,26 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface 'order', new TypeCollection( new Type\EnumListType([ - 'id', - 'id_reverse', - 'code', - 'code_reverse', - 'title', - 'title_reverse', - 'type', - 'type_reverse', - 'manual', - 'manual_reverse', - 'enabled', - 'enabled_reverse' + 'id', + 'id_reverse', + 'code', + 'code_reverse', + 'title', + 'title_reverse', + 'type', + 'type_reverse', + 'manual', + 'manual_reverse', + 'enabled', + 'enabled_reverse' ]) ), 'manual' ), Argument::createIntListTypeArgument('exclude'), - Argument::createBooleanOrBothTypeArgument('active', Type\BooleanOrBothType::ANY) + Argument::createBooleanOrBothTypeArgument('active', Type\BooleanOrBothType::ANY), + Argument::createBooleanOrBothTypeArgument('hidden', Type\BooleanOrBothType::ANY), + Argument::createBooleanOrBothTypeArgument('mandatory', Type\BooleanOrBothType::ANY) ); } @@ -169,6 +173,18 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface $search->filterByActivate($active ? 1 : 0, Criteria::EQUAL); } + $hidden = $this->getHidden(); + + if ($hidden !== Type\BooleanOrBothType::ANY) { + $search->filterByHidden($hidden ? 1 : 0, Criteria::EQUAL); + } + + $mandatory = $this->getMandatory(); + + if ($mandatory !== Type\BooleanOrBothType::ANY) { + $search->filterByMandatory($mandatory ? 1 : 0, Criteria::EQUAL); + } + $orders = $this->getOrder(); foreach ($orders as $order) { @@ -245,6 +261,8 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface ->set("VERSION", $module->getVersion()) ->set("CLASS", $module->getFullNamespace()) ->set("POSITION", $module->getPosition()) + ->set("MANDATORY", $module->getMandatory()) + ->set("HIDDEN", $module->getHidden()) ->set("EXISTS", $exists); $hasConfigurationInterface = false; diff --git a/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php b/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php index c3557df2..51690ec4 100644 --- a/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php +++ b/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php @@ -93,6 +93,7 @@ class OrderCoupon extends BaseLoop implements PropelSearchLoopInterface $loopResultRow->set("ID", $orderCoupon->getId()) ->set("CODE", $orderCoupon->getCode()) + ->set("DISCOUNT_AMOUNT", $orderCoupon->getAmount()) ->set("TITLE", $orderCoupon->getTitle()) ->set("SHORT_DESCRIPTION", $orderCoupon->getShortDescription()) ->set("DESCRIPTION", $orderCoupon->getDescription()) @@ -104,6 +105,7 @@ class OrderCoupon extends BaseLoop implements PropelSearchLoopInterface ->set("FREE_SHIPPING_FOR_COUNTRIES_LIST", implode(',', $freeShippingForCountriesIds)) ->set("FREE_SHIPPING_FOR_MODULES_LIST", implode(',', $freeShippingForModulesIds)) ->set("PER_CUSTOMER_USAGE_COUNT", $orderCoupon->getPerCustomerUsageCount()) + ->set("IS_USAGE_CANCELED", $orderCoupon->getUsageCanceled()) ; $this->addOutputFields($loopResultRow, $orderCoupon); diff --git a/core/lib/Thelia/Core/Template/Loop/OrderStatus.php b/core/lib/Thelia/Core/Template/Loop/OrderStatus.php index 25c11efb..9b243b9f 100644 --- a/core/lib/Thelia/Core/Template/Loop/OrderStatus.php +++ b/core/lib/Thelia/Core/Template/Loop/OrderStatus.php @@ -30,9 +30,11 @@ use Thelia\Model\OrderStatus as OrderStatusModel; * Class OrderStatus * @package Thelia\Core\Template\Loop * @author Etienne Roudeix + * @author Gilles Bourgeat * * @method int[] getId() * @method string getCode() + * @method string[] getOrder() */ class OrderStatus extends BaseI18nLoop implements PropelSearchLoopInterface { @@ -45,7 +47,17 @@ class OrderStatus extends BaseI18nLoop implements PropelSearchLoopInterface { return new ArgumentCollection( Argument::createIntListTypeArgument('id'), - Argument::createAnyTypeArgument('code') + Argument::createAnyTypeArgument('code'), + Argument::createEnumListTypeArgument( + 'order', + [ + 'alpha', + 'alpha_reverse', + 'manual', + 'manual_reverse' + ], + 'manual' + ) ); } @@ -56,18 +68,33 @@ class OrderStatus extends BaseI18nLoop implements PropelSearchLoopInterface /* manage translations */ $this->configureI18nProcessing($search); - $id = $this->getId(); - - if (null !== $id) { + if (null !== $id = $this->getId()) { $search->filterById($id, Criteria::IN); } - $code = $this->getCode(); - - if (null !== $code) { + if (null !== $code = $this->getCode()) { $search->filterByCode($code, Criteria::EQUAL); } + $orders = $this->getOrder(); + + foreach ($orders as $order) { + switch ($order) { + case "alpha": + $search->addAscendingOrderByColumn('i18n_TITLE'); + break; + case "alpha_reverse": + $search->addDescendingOrderByColumn('i18n_TITLE'); + break; + case "manual": + $search->orderByPosition(Criteria::ASC); + break; + case "manual_reverse": + $search->orderByPosition(Criteria::DESC); + break; + } + } + return $search; } @@ -80,6 +107,9 @@ class OrderStatus extends BaseI18nLoop implements PropelSearchLoopInterface ->set("IS_TRANSLATED", $orderStatus->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE", $this->locale) ->set("CODE", $orderStatus->getCode()) + ->set("COLOR", $orderStatus->getColor()) + ->set("POSITION", $orderStatus->getPosition()) + ->set("PROTECTED_STATUS", $orderStatus->getProtectedStatus()) ->set("TITLE", $orderStatus->getVirtualColumn('i18n_TITLE')) ->set("CHAPO", $orderStatus->getVirtualColumn('i18n_CHAPO')) ->set("DESCRIPTION", $orderStatus->getVirtualColumn('i18n_DESCRIPTION')) diff --git a/core/lib/Thelia/Core/Template/Loop/Product.php b/core/lib/Thelia/Core/Template/Loop/Product.php index 5c09d153..f4b8e7c8 100644 --- a/core/lib/Thelia/Core/Template/Loop/Product.php +++ b/core/lib/Thelia/Core/Template/Loop/Product.php @@ -19,6 +19,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Exception\TaxEngineException; @@ -26,6 +27,7 @@ use Thelia\Log\Tlog; use Thelia\Model\CategoryQuery; use Thelia\Model\ConfigQuery; use Thelia\Model\CurrencyQuery; +use Thelia\Model\Currency as CurrencyModel; use Thelia\Model\Map\ProductPriceTableMap; use Thelia\Model\Map\ProductSaleElementsTableMap; use Thelia\Model\Map\ProductTableMap; @@ -75,12 +77,15 @@ use Thelia\Type\TypeCollection; * @method int[] getFeatureAvailability() * @method string[] getFeatureValues() * @method string[] getAttributeNonStrictMatch() + * @method int[] getTemplateId() */ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { protected $timestampable = true; protected $versionable = true; + use StandardI18nFieldsSearchTrait; + /** * @return ArgumentCollection */ @@ -111,6 +116,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL Argument::createBooleanOrBothTypeArgument('visible', 1), Argument::createIntTypeArgument('currency'), Argument::createAnyTypeArgument('title'), + Argument::createIntListTypeArgument('template_id'), new Argument( 'order', new TypeCollection( @@ -124,6 +130,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL 'updated', 'updated_reverse', 'ref', 'ref_reverse', 'visible', 'visible_reverse', + 'position', 'position_reverse', 'promo', 'new', 'random', @@ -172,10 +179,10 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL public function getSearchIn() { - return [ - "ref", - "title", - ]; + return array_merge( + [ 'ref' ], + $this->getStandardI18nSearchFields() + ); } /** @@ -187,6 +194,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); + foreach ($searchIn as $index => $searchInElement) { if ($index > 0) { $search->_or(); @@ -195,18 +203,10 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL case "ref": $search->filterByRef($searchTerm, $searchCriteria); break; - case "title": - $search->where( - "CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) - THEN `requested_locale_i18n`.`TITLE` - ELSE `default_locale_i18n`.`TITLE` - END ".$searchCriteria." ?", - $searchTerm, - \PDO::PARAM_STR - ); - break; } } + + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function parseResults(LoopResult $loopResult) @@ -232,7 +232,9 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $price = $product->getVirtualColumn('price'); - if ($securityContext->hasCustomerUser() && $securityContext->getCustomerUser()->getDiscount() > 0) { + if (!$this->getBackendContext() + && $securityContext->hasCustomerUser() + && $securityContext->getCustomerUser()->getDiscount() > 0) { $price = $price * (1-($securityContext->getCustomerUser()->getDiscount()/100)); } @@ -246,7 +248,9 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL } $promoPrice = $product->getVirtualColumn('promo_price'); - if ($securityContext->hasCustomerUser() && $securityContext->getCustomerUser()->getDiscount() > 0) { + if (!$this->getBackendContext() + && $securityContext->hasCustomerUser() + && $securityContext->getCustomerUser()->getDiscount() > 0) { $promoPrice = $promoPrice * (1-($securityContext->getCustomerUser()->getDiscount()/100)); } try { @@ -258,7 +262,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $taxedPromoPrice = null; } - $default_category_id = $product->getDefaultCategoryId(); + $defaultCategoryId = $this->getDefaultCategoryId($product); $loopResultRow ->set("WEIGHT", $product->getVirtualColumn('weight')) @@ -277,9 +281,12 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL ->set("IS_NEW", $product->getVirtualColumn('is_new')) ->set("PRODUCT_SALE_ELEMENT", $product->getVirtualColumn('pse_id')) ->set("PSE_COUNT", $product->getVirtualColumn('pse_count')); + + $this->associateValues($loopResultRow, $product, $defaultCategoryId); + $this->addOutputFields($loopResultRow, $product); - $loopResult->addRow($this->associateValues($loopResultRow, $product, $default_category_id)); + $loopResult->addRow($loopResultRow); } return $loopResult; @@ -311,8 +318,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $taxedPrice = null; } - // Find previous and next product, in the default category. - $default_category_id = $product->getDefaultCategoryId(); + $defaultCategoryId = $this->getDefaultCategoryId($product); $loopResultRow ->set("BEST_PRICE", $price) @@ -321,7 +327,11 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL ->set("IS_PROMO", $product->getVirtualColumn('main_product_is_promo')) ->set("IS_NEW", $product->getVirtualColumn('main_product_is_new')); - $loopResult->addRow($this->associateValues($loopResultRow, $product, $default_category_id)); + $this->associateValues($loopResultRow, $product, $defaultCategoryId); + + $this->addOutputFields($loopResultRow, $product); + + $loopResult->addRow($loopResultRow); } return $loopResult; @@ -330,10 +340,10 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL /** * @param LoopResultRow $loopResultRow the current result row * @param \Thelia\Model\Product $product - * @param $default_category_id + * @param $defaultCategoryId * @return mixed */ - private function associateValues($loopResultRow, $product, $default_category_id) + private function associateValues($loopResultRow, $product, $defaultCategoryId) { $display_initial_price = $product->getVirtualColumn('display_initial_price'); @@ -358,12 +368,12 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL ->set("VIRTUAL", $product->getVirtual() ? "1" : "0") ->set("VISIBLE", $product->getVisible() ? "1" : "0") ->set("TEMPLATE", $product->getTemplateId()) - ->set("DEFAULT_CATEGORY", $default_category_id) + ->set("DEFAULT_CATEGORY", $defaultCategoryId) ->set("TAX_RULE_ID", $product->getTaxRuleId()) ->set("BRAND_ID", $product->getBrandId() ?: 0) ->set("SHOW_ORIGINAL_PRICE", $display_initial_price); - $this->findNextPrev($loopResultRow, $product, $default_category_id); + $this->findNextPrev($loopResultRow, $product, $defaultCategoryId); return $loopResultRow; } @@ -371,23 +381,23 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL /** * @param LoopResultRow $loopResultRow * @param ProductModel $product - * @param int $defaultFolderId + * @param int $defaultCategoryId */ - private function findNextPrev(LoopResultRow $loopResultRow, ProductModel $product, $defaultFolderId) + private function findNextPrev(LoopResultRow $loopResultRow, ProductModel $product, $defaultCategoryId) { if ($this->getWithPrevNextInfo()) { $currentPosition = ProductCategoryQuery::create() - ->filterByCategoryId($defaultFolderId) + ->filterByCategoryId($defaultCategoryId) ->filterByProductId($product->getId()) ->findOne()->getPosition(); // Find previous and next product $previousQuery = ProductCategoryQuery::create() - ->filterByCategoryId($defaultFolderId) + ->filterByCategoryId($defaultCategoryId) ->filterByPosition($currentPosition, Criteria::LESS_THAN); $nextQuery = ProductCategoryQuery::create() - ->filterByCategoryId($defaultFolderId) + ->filterByCategoryId($defaultCategoryId) ->filterByPosition($currentPosition, Criteria::GREATER_THAN); if (!$this->getBackendContext()) { @@ -500,7 +510,7 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $currency = $this->getCurrentRequest()->getSession()->getCurrency(); } - $defaultCurrency = CurrencyQuery::create()->findOneByByDefault(1); + $defaultCurrency = CurrencyModel::getDefaultCurrency(); $defaultCurrencySuffix = '_default_currency'; $priceToCompareAsSQL = ''; @@ -571,7 +581,13 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $title = $this->getTitle(); if (!is_null($title)) { - $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".Criteria::LIKE." ?", "%".$title."%", \PDO::PARAM_STR); + $this->addSearchInI18nColumn($search, 'TITLE', Criteria::LIKE, "%".$title."%"); + } + + $templateIdList = $this->getTemplateId(); + + if (!is_null($templateIdList)) { + $search->filterByTemplateId($templateIdList, Criteria::IN); } $manualOrderAllowed = false; @@ -603,13 +619,17 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL $manualOrderAllowed = (1 == $depth && 1 == count($categoryIdList)); } else { $search - ->useProductCategoryQuery('CategorySelect') - ->filterByDefaultCategory(true) - ->endUse() + ->leftJoinProductCategory('CategorySelect') + ->addJoinCondition('CategorySelect', '`CategorySelect`.DEFAULT_CATEGORY = 1') ; } - $search->withColumn('`CategorySelect`.POSITION', 'position_delegate'); + $search->withColumn( + 'CASE WHEN ISNULL(`CategorySelect`.POSITION) THEN ' . PHP_INT_MAX . ' ELSE CAST(`CategorySelect`.POSITION as SIGNED) END', + 'position_delegate' + ); + $search->withColumn('`CategorySelect`.CATEGORY_ID', 'default_category_id'); + $search->withColumn('`CategorySelect`.DEFAULT_CATEGORY', 'is_default_category'); $current = $this->getCurrent(); @@ -1080,6 +1100,12 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL case "updated_reverse": $search->addDescendingOrderByColumn('updated_at'); break; + case "position": + $search->addAscendingOrderByColumn('position_delegate'); + break; + case "position_reverse": + $search->addDescendingOrderByColumn('position_delegate'); + break; case "given_id": if (null === $id) { throw new \InvalidArgumentException('Given_id order cannot be set without `id` argument'); @@ -1099,4 +1125,21 @@ class Product extends BaseI18nLoop implements PropelSearchLoopInterface, SearchL return $search; } + + /** + * Get the default category id for a product + * + * @param \Thelia\Model\Product $product + * @return null|int + */ + protected function getDefaultCategoryId($product) + { + $defaultCategoryId = null; + if ((bool) $product->getVirtualColumn('is_default_category')) { + $defaultCategoryId = $product->getVirtualColumn('default_category_id'); + } else { + $defaultCategoryId = $product->getDefaultCategoryId(); + } + return $defaultCategoryId; + } } diff --git a/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php b/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php index a1d3e052..715e569f 100644 --- a/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php +++ b/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php @@ -22,6 +22,7 @@ use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Exception\TaxEngineException; use Thelia\Model\CurrencyQuery; +use Thelia\Model\Currency as CurrencyModel; use Thelia\Model\Map\ProductSaleElementsTableMap; use Thelia\Model\ProductSaleElementsQuery; use Thelia\Type; @@ -150,7 +151,7 @@ class ProductSaleElements extends BaseLoop implements PropelSearchLoopInterface, $search->orderByQuantity(Criteria::DESC); break; case "min_price": - $search->addAscendingOrderByColumn('price_FINAL_PRICE', Criteria::ASC); + $search->addAscendingOrderByColumn('price_FINAL_PRICE'); break; case "max_price": $search->addDescendingOrderByColumn('price_FINAL_PRICE'); @@ -184,7 +185,7 @@ class ProductSaleElements extends BaseLoop implements PropelSearchLoopInterface, $currency = $this->getCurrentRequest()->getSession()->getCurrency(); } - $defaultCurrency = CurrencyQuery::create()->findOneByByDefault(1); + $defaultCurrency = CurrencyModel::getDefaultCurrency(); $defaultCurrencySuffix = '_default_currency'; $search->joinProductPrice('price', Criteria::LEFT_JOIN) @@ -275,11 +276,32 @@ class ProductSaleElements extends BaseLoop implements PropelSearchLoopInterface, { return [ "ref", + "ean_code" ]; } + /** + * @param ProductSaleElementsQuery $search + * @param $searchTerm + * @param $searchIn + * @param $searchCriteria + */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { - $search->filterByRef($searchTerm, $searchCriteria); + $search->_and(); + + foreach ($searchIn as $index => $searchInElement) { + if ($index > 0) { + $search->_or(); + } + switch ($searchInElement) { + case "ref": + $search->filterByRef($searchTerm, $searchCriteria); + break; + case "ean_code": + $search->filterByEanCode($searchTerm, $searchCriteria); + break; + } + } } } diff --git a/core/lib/Thelia/Core/Template/Loop/Sale.php b/core/lib/Thelia/Core/Template/Loop/Sale.php index cab4cb32..81e319f0 100644 --- a/core/lib/Thelia/Core/Template/Loop/Sale.php +++ b/core/lib/Thelia/Core/Template/Loop/Sale.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Core\Template\Element\SearchLoopInterface; +use Thelia\Core\Template\Element\StandardI18nFieldsSearchTrait; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\SaleQuery; @@ -42,6 +43,8 @@ use Thelia\Type\BooleanOrBothType; */ class Sale extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { + use StandardI18nFieldsSearchTrait; + protected $timestampable = true; /** @@ -89,17 +92,34 @@ class Sale extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoop */ public function getSearchIn() { - return [ - "title" - ]; + return array_merge( + [ "sale_label" ], + $this->getStandardI18nSearchFields() + ); } + /** + * @param SaleQuery $search + * @param string $searchTerm + * @param array $searchIn + * @param string $searchCriteria + */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { - /** @var SaleQuery $search */ $search->_and(); - - $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".$searchCriteria." ?", $searchTerm, \PDO::PARAM_STR); + + foreach ($searchIn as $index => $searchInElement) { + if ($index > 0) { + $search->_or(); + } + switch ($searchInElement) { + case "sale_label": + $this->addSearchInI18nColumn($search, 'SALE_LABEL', $searchCriteria, $searchTerm); + break; + } + } + + $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); } public function buildModelCriteria() diff --git a/core/lib/Thelia/Core/Template/ParserContext.php b/core/lib/Thelia/Core/Template/ParserContext.php index 7af9d3ae..d1a7e5ff 100644 --- a/core/lib/Thelia/Core/Template/ParserContext.php +++ b/core/lib/Thelia/Core/Template/ParserContext.php @@ -133,6 +133,28 @@ class ParserContext implements \IteratorAggregate { $formErrorInformation = $this->getSession()->getFormErrorInformation(); + // Get form field error details + $formFieldErrors = []; + + /** @var Form $field */ + foreach ($form->getForm()->getIterator() as $field) { + $errors = $field->getErrors(); + + if (count($errors) > 0) { + $formFieldErrors[$field->getName()] = []; + + /** @var FormError $error */ + foreach ($errors as $error) { + $formFieldErrors[$field->getName()][] = [ + 'message' => $error->getMessage(), + 'template' => $error->getMessageTemplate(), + 'parameters' => $error->getMessageParameters(), + 'pluralization' => $error->getMessagePluralization() + ]; + } + } + } + $this->set(get_class($form) . ":" . $form->getType(), $form); // Set form error information @@ -142,7 +164,8 @@ class ParserContext implements \IteratorAggregate 'errorMessage' => $form->getErrorMessage(), 'method' => $this->requestStack->getCurrentRequest()->getMethod(), 'timestamp' => time(), - 'validation_groups' => $form->getForm()->getConfig()->getOption('validation_groups') + 'validation_groups' => $form->getForm()->getConfig()->getOption('validation_groups'), + 'field_errors' => $formFieldErrors ]; $this->getSession()->setFormErrorInformation($formErrorInformation); @@ -189,6 +212,26 @@ class ParserContext implements \IteratorAggregate } catch (\Exception $ex) { // Ignore the exception. } + + // Manually set the form fields error information, if validateForm() did not the job, + // which is the case when the user has been redirected. + foreach ($formInfo['field_errors'] as $fieldName => $errors) { + /** @var Form $field */ + $field = $form->getForm()->get($fieldName); + + if (null !== $field && count($field->getErrors()) == 0) { + foreach ($errors as $errorData) { + $error = new FormError( + $errorData['message'], + $errorData['template'], + $errorData['parameters'], + $errorData['pluralization'] + ); + + $field->addError($error); + } + } + } } $form->setError($formInfo['hasError']); diff --git a/core/lib/Thelia/Core/Thelia.php b/core/lib/Thelia/Core/Thelia.php index 20c427a3..6dc07ec1 100644 --- a/core/lib/Thelia/Core/Thelia.php +++ b/core/lib/Thelia/Core/Thelia.php @@ -50,7 +50,7 @@ use Thelia\Model\ModuleQuery; class Thelia extends Kernel { - const THELIA_VERSION = '2.3.1'; + const THELIA_VERSION = '2.3.4'; public function __construct($environment, $debug) { @@ -136,6 +136,15 @@ class Thelia extends Kernel $canUpdate = true; Tlog::getInstance()->addWarning("Remove sql_mode ONLY_FULL_GROUP_BY. Please configure your MySQL server."); } + + // remove STRICT_ALL_TABLES, the scheme has been fixed in version 2.4 of Thelia + if (version_compare(Thelia::THELIA_VERSION, '2.4', '<')) { + if (($key = array_search('STRICT_ALL_TABLES', $sessionSqlMode)) !== false) { + unset($sessionSqlMode[$key]); + $canUpdate = true; + Tlog::getInstance()->addWarning("Remove sql_mode STRICT_ALL_TABLES. Please configure your MySQL server or update your Thelia on version 2.4 or higher."); + } + } } } diff --git a/core/lib/Thelia/Coupon/CouponFactory.php b/core/lib/Thelia/Coupon/CouponFactory.php index efd40434..5abc6ec4 100644 --- a/core/lib/Thelia/Coupon/CouponFactory.php +++ b/core/lib/Thelia/Coupon/CouponFactory.php @@ -85,7 +85,6 @@ class CouponFactory // Check coupon usage count if (! $couponModel->isUsageUnlimited()) { - if (null === $customer = $this->facade->getCustomer()) { throw new UnmatchableConditionException($couponCode); } diff --git a/core/lib/Thelia/Coupon/CouponManager.php b/core/lib/Thelia/Coupon/CouponManager.php index d2cdcf33..00d2a39d 100644 --- a/core/lib/Thelia/Coupon/CouponManager.php +++ b/core/lib/Thelia/Coupon/CouponManager.php @@ -219,13 +219,10 @@ class CouponManager /** @var CouponInterface $coupon */ foreach ($coupons as $coupon) { - try { - if ($coupon->isMatching()) { $couponsKept[] = $coupon; } - } catch (UnmatchableConditionException $e) { // ignore unmatchable coupon continue; @@ -319,10 +316,8 @@ class CouponManager public function decrementQuantity(Coupon $coupon, $customerId = null) { if ($coupon->isUsageUnlimited()) { - $ret = true; + return true; } else { - $ret = false; - try { $usageLeft = $coupon->getUsagesLeft($customerId); @@ -355,15 +350,13 @@ class CouponManager ->save() ; - $ret = $usageLeft - $newCount; + return $usageLeft - $newCount; } else { - $usageLeft--; - - $coupon->setMaxUsage($usageLeft); + $coupon->setMaxUsage(--$usageLeft); $coupon->save(); - $ret = $usageLeft; + return $usageLeft; } } } catch (\Exception $ex) { @@ -372,6 +365,58 @@ class CouponManager } } - return $ret; + return false; + } + + /** + * Add a coupon usage, for the case the related order is canceled. + * + * @param Coupon $coupon + * @param int $customerId + */ + public function incrementQuantity(Coupon $coupon, $customerId = null) + { + if ($coupon->isUsageUnlimited()) { + return true; + } else { + try { + $usageLeft = $coupon->getUsagesLeft($customerId); + + // If the coupon usage is per user, remove an entry from coupon customer usage count table + if ($coupon->getPerCustomerUsageCount()) { + if (null === $customerId) { + throw new \LogicException("Customer should not be null at this time."); + } + + $ccc = CouponCustomerCountQuery::create() + ->filterByCouponId($coupon->getId()) + ->filterByCustomerId($customerId) + ->findOne() + ; + + if ($ccc !== null && $ccc->getCount() > 0) { + $newCount = $ccc->getCount() - 1; + + $ccc + ->setCount($newCount) + ->save(); + + return $usageLeft - $newCount; + } + } else { + // Ad one usage to coupon + $coupon->setMaxUsage(++$usageLeft); + + $coupon->save(); + + return $usageLeft; + } + } catch (\Exception $ex) { + // Just log the problem. + Tlog::getInstance()->addError(sprintf("Failed to increment coupon %s: %s", $coupon->getCode(), $ex->getMessage())); + } + } + + return false; } } diff --git a/core/lib/Thelia/Coupon/Type/AbstractRemove.php b/core/lib/Thelia/Coupon/Type/AbstractRemove.php index fef2f98b..49f8d563 100644 --- a/core/lib/Thelia/Coupon/Type/AbstractRemove.php +++ b/core/lib/Thelia/Coupon/Type/AbstractRemove.php @@ -14,7 +14,6 @@ namespace Thelia\Coupon\Type; use Thelia\Coupon\FacadeInterface; use Thelia\Model\CartItem; -use Thelia\Model\Category; /** * Allow to remove an amount from the checkout total @@ -27,7 +26,7 @@ abstract class AbstractRemove extends CouponAbstract implements AmountAndPercent /** * Set the value of specific coupon fields. * - * @param Array $effects the Coupon effects params + * @param array $effects the Coupon effects params */ abstract public function setFieldsValue($effects); @@ -81,35 +80,6 @@ abstract class AbstractRemove extends CouponAbstract implements AmountAndPercent return $this; } - /** - * @inheritdoc - */ - public function exec() - { - // This coupon subtracts the specified amount from the order total - // for each product of the selected categories. - $discount = 0; - - $cartItems = $this->facade->getCart()->getCartItems(); - - /** @var CartItem $cartItem */ - foreach ($cartItems as $cartItem) { - if (! $cartItem->getPromo() || $this->isAvailableOnSpecialOffers()) { - $categories = $cartItem->getProduct()->getCategories(); - - /** @var Category $category */ - foreach ($categories as $category) { - if (in_array($category->getId(), $this->category_list)) { - $discount += $this->getCartItemDiscount($cartItem); - - break; - } - } - } - } - - return $discount; - } /** * @inheritdoc diff --git a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnAttributeValues.php b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnAttributeValues.php index f1719b11..359a092d 100644 --- a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnAttributeValues.php +++ b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnAttributeValues.php @@ -33,7 +33,7 @@ abstract class AbstractRemoveOnAttributeValues extends CouponAbstract implements /** * Set the value of specific coupon fields. - * @param Array $effects the Coupon effects params + * @param array $effects the Coupon effects params */ abstract public function setFieldsValue($effects); diff --git a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnCategories.php b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnCategories.php index c22d07bb..6e8b2856 100644 --- a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnCategories.php +++ b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnCategories.php @@ -15,6 +15,7 @@ namespace Thelia\Coupon\Type; use Thelia\Core\Translation\Translator; use Thelia\Coupon\FacadeInterface; use Thelia\Model\CartItem; +use Thelia\Model\Category; /** * Allow to remove an amount from the checkout total @@ -31,7 +32,7 @@ abstract class AbstractRemoveOnCategories extends CouponAbstract implements Amou /** * Set the value of specific coupon fields. * - * @param Array $effects the Coupon effects params + * @param array $effects the Coupon effects params */ abstract public function setFieldsValue($effects); diff --git a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnProducts.php b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnProducts.php index b4c795de..02827c3f 100644 --- a/core/lib/Thelia/Coupon/Type/AbstractRemoveOnProducts.php +++ b/core/lib/Thelia/Coupon/Type/AbstractRemoveOnProducts.php @@ -33,7 +33,7 @@ abstract class AbstractRemoveOnProducts extends CouponAbstract implements Amount /** * Set the value of specific coupon fields. * - * @param Array $effects the Coupon effects params + * @param array $effects the Coupon effects params */ abstract public function setFieldsValue($effects); diff --git a/core/lib/Thelia/Coupon/Type/AmountAndPercentageCouponInterface.php b/core/lib/Thelia/Coupon/Type/AmountAndPercentageCouponInterface.php index cffd9852..e23553bd 100644 --- a/core/lib/Thelia/Coupon/Type/AmountAndPercentageCouponInterface.php +++ b/core/lib/Thelia/Coupon/Type/AmountAndPercentageCouponInterface.php @@ -25,7 +25,7 @@ interface AmountAndPercentageCouponInterface { /** * Set the value of specific coupon fields. - * @param Array $effects the Coupon effects params + * @param array $effects the Coupon effects params */ public function setFieldsValue($effects); @@ -54,7 +54,13 @@ interface AmountAndPercentageCouponInterface public function getBaseFieldList($otherFields); /** + * Check the value of a coupon configuration field * + * @param string $fieldName + * @param string $fieldValue + * @return string the field value + * + * @throws \InvalidArgumentException is field value is not valid. */ public function checkBaseCouponFieldValue($fieldName, $fieldValue); } diff --git a/core/lib/Thelia/Coupon/Type/RemoveXAmount.php b/core/lib/Thelia/Coupon/Type/RemoveXAmount.php index 0c9287b2..eab6abb9 100644 --- a/core/lib/Thelia/Coupon/Type/RemoveXAmount.php +++ b/core/lib/Thelia/Coupon/Type/RemoveXAmount.php @@ -61,6 +61,12 @@ class RemoveXAmount extends AbstractRemove */ public function exec() { + $cartTotal = $this->facade->getCartTotalTaxPrice($this->isAvailableOnSpecialOffers()); + + if ($this->amount > $cartTotal) { + return $cartTotal; + } + return $this->amount; } diff --git a/core/lib/Thelia/Coupon/Type/RemoveXPercent.php b/core/lib/Thelia/Coupon/Type/RemoveXPercent.php index 4bbe668f..776e4b2c 100644 --- a/core/lib/Thelia/Coupon/Type/RemoveXPercent.php +++ b/core/lib/Thelia/Coupon/Type/RemoveXPercent.php @@ -64,7 +64,7 @@ class RemoveXPercent extends AbstractRemove */ public function exec() { - return round($this->facade->getCartTotalTaxPrice($this->isAvailableOnSpecialOffers()) * $this->percentage/100, 2); + return ($this->facade->getCartTotalTaxPrice($this->isAvailableOnSpecialOffers()) * $this->percentage/100); } /** diff --git a/core/lib/Thelia/Exception/CouponNotReleaseException.php b/core/lib/Thelia/Exception/CouponNotReleaseException.php index 4d9631ef..bc221255 100644 --- a/core/lib/Thelia/Exception/CouponNotReleaseException.php +++ b/core/lib/Thelia/Exception/CouponNotReleaseException.php @@ -35,4 +35,4 @@ class CouponNotReleaseException extends \Exception parent::__construct($message); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/AddressCountryValidationTrait.php b/core/lib/Thelia/Form/AddressCountryValidationTrait.php index 645e4995..abaf0ae7 100644 --- a/core/lib/Thelia/Form/AddressCountryValidationTrait.php +++ b/core/lib/Thelia/Form/AddressCountryValidationTrait.php @@ -71,5 +71,4 @@ trait AddressCountryValidationTrait } } } - } diff --git a/core/lib/Thelia/Form/ConfigStoreForm.php b/core/lib/Thelia/Form/ConfigStoreForm.php index 9830640c..f8db9391 100644 --- a/core/lib/Thelia/Form/ConfigStoreForm.php +++ b/core/lib/Thelia/Form/ConfigStoreForm.php @@ -201,6 +201,52 @@ class ConfigStoreForm extends BaseForm 'placeholder' => $tr->trans('Country'), ] ] + ) + ->add( + 'favicon_file', + 'file', + [ + 'required' => false, + 'constraints' => [ + new Constraints\Image(array( + 'mimeTypes' => ['image/png', 'image/x-icon'] + )) + ], + 'label' => $tr->trans('Favicon image'), + 'label_attr' => [ + 'for' => 'favicon_file', + 'help' => $tr->trans('Icon of the website. Only PNG and ICO files are allowed.'), + ] + ] + ) + ->add( + 'logo_file', + 'file', + [ + 'required' => false, + 'constraints' => [ + new Constraints\Image() + ], + 'label' => $tr->trans('Store logo'), + 'label_attr' => [ + 'for' => 'logo_file' + ] + ] + ) + ->add( + 'banner_file', + 'file', + [ + 'required' => false, + 'constraints' => [ + new Constraints\Image() + ], + 'label' => $tr->trans('Banner'), + 'label_attr' => [ + 'for' => 'banner_file', + 'help' => $tr->trans('Banner of the website. Used in the e-mails send to the customers.'), + ] + ] ); } diff --git a/core/lib/Thelia/Form/CountryModificationForm.php b/core/lib/Thelia/Form/CountryModificationForm.php index a3a28507..bfddd3bd 100644 --- a/core/lib/Thelia/Form/CountryModificationForm.php +++ b/core/lib/Thelia/Form/CountryModificationForm.php @@ -14,7 +14,6 @@ namespace Thelia\Form; use Symfony\Component\Validator\Constraints\GreaterThan; - class CountryModificationForm extends CountryCreationForm { use StandardDescriptionFieldsTrait; diff --git a/core/lib/Thelia/Form/CouponCreationForm.php b/core/lib/Thelia/Form/CouponCreationForm.php index 57e288ca..0d18c1aa 100644 --- a/core/lib/Thelia/Form/CouponCreationForm.php +++ b/core/lib/Thelia/Form/CouponCreationForm.php @@ -295,7 +295,7 @@ class CouponCreationForm extends BaseForm */ public function checkLocalizedDate($value, ExecutionContextInterface $context) { - $format = LangQuery::create()->findOneByByDefault(true)->getDateFormat(); + $format = LangQuery::create()->findOneByByDefault(true)->getDatetimeFormat(); if (false === \DateTime::createFromFormat($format, $value)) { $context->addViolation( @@ -320,7 +320,7 @@ class CouponCreationForm extends BaseForm return; } - $format = LangQuery::create()->findOneByByDefault(true)->getDateFormat(); + $format = LangQuery::create()->findOneByByDefault(true)->getDatetimeFormat(); $startDate = \DateTime::createFromFormat($format, $startDate); $expirationDate = \DateTime::createFromFormat($format, $value); diff --git a/core/lib/Thelia/Form/CurrencyCreationForm.php b/core/lib/Thelia/Form/CurrencyCreationForm.php index ca02bb2b..343f7f1e 100644 --- a/core/lib/Thelia/Form/CurrencyCreationForm.php +++ b/core/lib/Thelia/Form/CurrencyCreationForm.php @@ -68,6 +68,9 @@ class CurrencyCreationForm extends BaseForm "label_attr" => [ "for" => "format", "help" => $this->translator->trans("%n for number, %c for the currency code, %s for the currency symbol") + ], + "attr" => [ + "placeholder" => "%n" ] ]) ->add("rate", "text", [ diff --git a/core/lib/Thelia/Form/CustomerProfileUpdateForm.php b/core/lib/Thelia/Form/CustomerProfileUpdateForm.php index 313bba01..54700728 100644 --- a/core/lib/Thelia/Form/CustomerProfileUpdateForm.php +++ b/core/lib/Thelia/Form/CustomerProfileUpdateForm.php @@ -41,6 +41,7 @@ class CustomerProfileUpdateForm extends CustomerCreateForm ->remove("city") ->remove("zipcode") ->remove("country") + ->remove("state") // Remove Login Information ->remove("password") ->remove("password_confirm") diff --git a/core/lib/Thelia/Form/CustomerUpdateForm.php b/core/lib/Thelia/Form/CustomerUpdateForm.php index be8fa1c0..5c4eac5d 100644 --- a/core/lib/Thelia/Form/CustomerUpdateForm.php +++ b/core/lib/Thelia/Form/CustomerUpdateForm.php @@ -227,6 +227,4 @@ class CustomerUpdateForm extends BaseForm { return "thelia_customer_update"; } - - } diff --git a/core/lib/Thelia/Form/Definition/AdminForm.php b/core/lib/Thelia/Form/Definition/AdminForm.php index 8ab9d2e3..621590c7 100644 --- a/core/lib/Thelia/Form/Definition/AdminForm.php +++ b/core/lib/Thelia/Form/Definition/AdminForm.php @@ -23,142 +23,146 @@ final class AdminForm const ADMIN_LOGIN = 'thelia.admin.login'; const ADMIN_LOST_PASSWORD = 'thelia.admin.lostpassword'; const ADMIN_CREATE_PASSWORD = 'thelia.admin.createpassword'; - + const SEO = 'thelia.admin.seo'; - + const CUSTOMER_CREATE = 'thelia.admin.customer.create'; const CUSTOMER_UPDATE = 'thelia.admin.customer.update'; - + const ADDRESS_CREATE = 'thelia.admin.address.create'; const ADDRESS_UPDATE = 'thelia.admin.address.update'; - + const CATEGORY_CREATION = 'thelia.admin.category.creation'; const CATEGORY_MODIFICATION = 'thelia.admin.category.modification'; const CATEGORY_IMAGE_MODIFICATION = 'thelia.admin.category.image.modification'; const CATEGORY_DOCUMENT_MODIFICATION = 'thelia.admin.category.document.modification'; - + const PRODUCT_CREATION = 'thelia.admin.product.creation'; const PRODUCT_CLONE = 'thelia.admin.product.clone'; const PRODUCT_MODIFICATION = 'thelia.admin.product.modification'; const PRODUCT_DETAILS_MODIFICATION = 'thelia.admin.product.details.modification'; const PRODUCT_IMAGE_MODIFICATION = 'thelia.admin.product.image.modification'; const PRODUCT_DOCUMENT_MODIFICATION = 'thelia.admin.product.document.modification'; - + const PRODUCT_SALE_ELEMENT_UPDATE = 'thelia.admin.product_sale_element.update'; const PRODUCT_DEFAULT_SALE_ELEMENT_UPDATE = 'thelia.admin.product_default_sale_element.update'; const PRODUCT_COMBINATION_GENERATION = 'thelia.admin.product_combination.build'; - + const PRODUCT_DELETE = 'thelia.admin.product.deletion'; - + const FOLDER_CREATION = 'thelia.admin.folder.creation'; const FOLDER_MODIFICATION = 'thelia.admin.folder.modification'; const FOLDER_IMAGE_MODIFICATION = 'thelia.admin.folder.image.modification'; const FOLDER_DOCUMENT_MODIFICATION = 'thelia.admin.folder.document.modification'; - + const CONTENT_CREATION = 'thelia.admin.content.creation'; const CONTENT_MODIFICATION = 'thelia.admin.content.modification'; const CONTENT_IMAGE_MODIFICATION = 'thelia.admin.content.image.modification'; const CONTENT_DOCUMENT_MODIFICATION = 'thelia.admin.content.document.modification'; - + const BRAND_CREATION = 'thelia.admin.brand.creation'; const BRAND_MODIFICATION = 'thelia.admin.brand.modification'; const BRAND_IMAGE_MODIFICATION = 'thelia.admin.brand.image.modification'; const BRAND_DOCUMENT_MODIFICATION = 'thelia.admin.brand.document.modification'; - + const CART_ADD = 'thelia.cart.add'; - + const ORDER_DELIVERY = 'thelia.order.delivery'; const ORDER_PAYMENT = 'thelia.order.payment'; const ORDER_UPDATE_ADDRESS = 'thelia.order.update.address'; - + + const ORDER_STATUS_CREATION = 'thelia.admin.order-status.creation'; + const ORDER_STATUS_MODIFICATION = 'thelia.admin.order-status.modification'; + const COUPON_CODE = 'thelia.order.coupon'; - + const CONFIG_CREATION = 'thelia.admin.config.creation'; const CONFIG_MODIFICATION = 'thelia.admin.config.modification'; - + const MESSAGE_CREATION = 'thelia.admin.message.creation'; const MESSAGE_MODIFICATION = 'thelia.admin.message.modification'; - + const MESSAGE_SEND_SAMPLE = 'thelia.admin.message.send-sample'; + const CURRENCY_CREATION = 'thelia.admin.currency.creation'; const CURRENCY_MODIFICATION = 'thelia.admin.currency.modification'; - + const COUPON_CREATION = 'thelia.admin.coupon.creation'; - + const ATTRIBUTE_CREATION = 'thelia.admin.attribute.creation'; const ATTRIBUTE_MODIFICATION = 'thelia.admin.attribute.modification'; - + const FEATURE_CREATION = 'thelia.admin.feature.creation'; const FEATURE_MODIFICATION = 'thelia.admin.feature.modification'; - + const ATTRIBUTE_AV_CREATION = 'thelia.admin.attributeav.creation'; - + const FEATURE_AV_CREATION = 'thelia.admin.featureav.creation'; - + const TAX_RULE_MODIFICATION = 'thelia.admin.taxrule.modification'; const TAX_RULE_TAX_LIST_UPDATE = 'thelia.admin.taxrule.taxlistupdate'; const TAX_RULE_CREATION = 'thelia.admin.taxrule.add'; - + const TAX_MODIFICATION = 'thelia.admin.tax.modification'; const TAX_TAX_LIST_UPDATE = 'thelia.admin.tax.taxlistupdate'; const TAX_CREATION = 'thelia.admin.tax.add'; - + const PROFILE_CREATION = 'thelia.admin.profile.add'; const PROFILE_MODIFICATION = 'thelia.admin.profile.modification'; const PROFILE_UPDATE_RESOURCE_ACCESS = 'thelia.admin.profile.resource-access.modification'; const PROFILE_UPDATE_MODULE_ACCESS = 'thelia.admin.profile.module-access.modification'; - + const ADMINISTRATOR_CREATION = 'thelia.admin.administrator.add'; const ADMINISTRATOR_MODIFICATION = 'thelia.admin.administrator.update'; - + const MAILING_SYSTEM_MODIFICATION = 'thelia.admin.mailing-system.update'; - + const TEMPLATE_CREATION = 'thelia.admin.template.creation'; const TEMPLATE_MODIFICATION = 'thelia.admin.template.modification'; - + const COUNTRY_CREATION = 'thelia.admin.country.creation'; const COUNTRY_MODIFICATION = 'thelia.admin.country.modification'; - + const STATE_CREATION = 'thelia.admin.state.creation'; const STATE_MODIFICATION = 'thelia.admin.state.modification'; - + const AREA_CREATE = 'thelia.admin.area.create'; const AREA_MODIFICATION = 'thelia.admin.area.modification'; const AREA_COUNTRY = 'thelia.admin.area.country'; const AREA_DELETE_COUNTRY = 'thelia.admin.area.delete.country'; const AREA_POSTAGE = 'thelia.admin.area.postage'; - + const SHIPPING_ZONE_ADD_AREA = 'thelia.shopping_zone_area'; const SHIPPING_ZONE_REMOVE_AREA = 'thelia.shopping_zone_remove_area'; - + const LANG_UPDATE = 'thelia.lang.update'; const LANG_CREATE = 'thelia.lang.create'; const LANG_DEFAULT_BEHAVIOR = 'thelia.lang.defaultBehavior'; const LANG_URL = 'thelia.lang.url'; - + const CONFIG_STORE = 'thelia.configuration.store'; const SYSTEM_LOG_CONFIGURATION = 'thelia.system-logs.configuration'; - + const MODULE_MODIFICATION = 'thelia.admin.module.modification'; const MODULE_INSTALL = 'thelia.admin.module.install'; - + const HOOK_CREATION = 'thelia.admin.hook.creation'; const HOOK_MODIFICATION = 'thelia.admin.hook.modification'; - + const MODULE_HOOK_CREATION = 'thelia.admin.module-hook.creation'; const MODULE_HOOK_MODIFICATION = 'thelia.admin.module-hook.modification'; - + const CACHE_FLUSH = 'thelia.cache.flush'; const ASSETS_FLUSH = 'thelia.assets.flush'; const IMAGES_AND_DOCUMENTS_CACHE_FLUSH = 'thelia.images-and-documents-cache.flush'; - + const EXPORT = 'thelia.export'; const IMPORT = 'thelia.import'; - + const SALE_CREATION = 'thelia.admin.sale.creation'; const SALE_MODIFICATION = 'thelia.admin.sale.modification'; - + const EMPTY_FORM = 'thelia.empty'; - + const API_CREATE = 'thelia_api_create'; const API_UPDATE = 'thelia_api_update'; } diff --git a/core/lib/Thelia/Form/ModuleImageModification.php b/core/lib/Thelia/Form/ModuleImageModification.php index bec09901..1c9f3ff6 100644 --- a/core/lib/Thelia/Form/ModuleImageModification.php +++ b/core/lib/Thelia/Form/ModuleImageModification.php @@ -14,7 +14,6 @@ namespace Thelia\Form; use Thelia\Form\Image\ImageModification; - class ModuleImageModification extends ImageModification { /** @@ -27,4 +26,4 @@ class ModuleImageModification extends ImageModification { return 'thelia_module_image_modification'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/ModuleInstallForm.php b/core/lib/Thelia/Form/ModuleInstallForm.php index bf47f18d..d9a82aa0 100644 --- a/core/lib/Thelia/Form/ModuleInstallForm.php +++ b/core/lib/Thelia/Form/ModuleInstallForm.php @@ -129,9 +129,9 @@ class ModuleInstallForm extends BaseForm protected function unzipModule(UploadedFile $file) { $extractPath = false; - $zip = new ZipArchiver(); + $zip = new ZipArchiver(true); if (!$zip->open($file->getRealPath())) { - throw new \Exception("unable to open zipfile"); + throw new \Exception("unable to open zipfile"); } $extractPath = $this->tempdir(); diff --git a/core/lib/Thelia/Form/OrderPayment.php b/core/lib/Thelia/Form/OrderPayment.php index fe70968b..5258a94a 100644 --- a/core/lib/Thelia/Form/OrderPayment.php +++ b/core/lib/Thelia/Form/OrderPayment.php @@ -80,7 +80,7 @@ class OrderPayment extends FirewallForm ->findOne(); if (null === $module) { - $context->addViolation("Payment module ID not found"); + $context->addViolation(Translator::getInstance()->trans("Payment module ID not found")); } elseif (! $module->isPayementModule()) { $context->addViolation( sprintf(Translator::getInstance()->trans("payment module %s is not a Thelia\Module\PaymentModuleInterface"), $module->getCode()) diff --git a/core/lib/Thelia/Form/TaxCreationForm.php b/core/lib/Thelia/Form/TaxCreationForm.php index 8807ef73..7bc08faa 100644 --- a/core/lib/Thelia/Form/TaxCreationForm.php +++ b/core/lib/Thelia/Form/TaxCreationForm.php @@ -85,7 +85,6 @@ class TaxCreationForm extends BaseForm foreach ($requirementList as $name => $requirements) { /** @var TaxTypeRequirementDefinition $requirement */ foreach ($requirements as $requirement) { - if (!isset(self::$typeList[$requirement->getName()])) { self::$typeList[$requirement->getName()] = $requirement->getType(); } diff --git a/core/lib/Thelia/Handler/ExportHandler.php b/core/lib/Thelia/Handler/ExportHandler.php index c1a26b2c..72e39df7 100644 --- a/core/lib/Thelia/Handler/ExportHandler.php +++ b/core/lib/Thelia/Handler/ExportHandler.php @@ -175,13 +175,13 @@ class ExportHandler } } - if (!($rangeDate['start'] instanceof \DateTime)) { + if ($rangeDate['start'] && !($rangeDate['start'] instanceof \DateTime)) { $rangeDate['start'] = \DateTime::createFromFormat( 'Y-m-d H:i:s', $rangeDate['start']['year'] . '-' . $rangeDate['start']['month'] . '-1 00:00:00' ); } - if (!($rangeDate['end'] instanceof \DateTime)) { + if ($rangeDate['end'] && !($rangeDate['end'] instanceof \DateTime)) { $rangeDate['end'] = \DateTime::createFromFormat( 'Y-m-d H:i:s', $rangeDate['end']['year'] . '-' . ($rangeDate['end']['month'] + 1) . '-0 23:59:59' diff --git a/core/lib/Thelia/ImportExport/Export/AbstractExport.php b/core/lib/Thelia/ImportExport/Export/AbstractExport.php index 7a62cb57..0eae1912 100644 --- a/core/lib/Thelia/ImportExport/Export/AbstractExport.php +++ b/core/lib/Thelia/ImportExport/Export/AbstractExport.php @@ -152,6 +152,7 @@ abstract class AbstractExport implements \Iterator if (is_array($data)) { $this->data = $data; $this->dataIsArray = true; + reset($this->data); return; } @@ -220,6 +221,15 @@ abstract class AbstractExport implements \Iterator return $this; } + /** + * Check if export is empty + * @return bool true if export is empty, else false. + */ + public function isEmpty() + { + return empty($this->data); + } + /** * Whether images has to be exported as data diff --git a/core/lib/Thelia/ImportExport/Export/Type/MailingExport.php b/core/lib/Thelia/ImportExport/Export/Type/MailingExport.php index 55697d6e..9415a059 100644 --- a/core/lib/Thelia/ImportExport/Export/Type/MailingExport.php +++ b/core/lib/Thelia/ImportExport/Export/Type/MailingExport.php @@ -26,7 +26,7 @@ class MailingExport extends AbstractExport protected $orderAndAliases = [ 'newsletter.ID' => 'Identifier', 'newsletter.EMAIL' => 'Email', - 'newsletter.FISTNAME' => 'FirstName', + 'newsletter.FIRSTNAME' => 'FirstName', 'newsletter.LASTNAME' => 'LastName' ]; diff --git a/core/lib/Thelia/Install/CheckPermission.php b/core/lib/Thelia/Install/CheckPermission.php index ace7b3a9..5398cb8a 100644 --- a/core/lib/Thelia/Install/CheckPermission.php +++ b/core/lib/Thelia/Install/CheckPermission.php @@ -55,8 +55,10 @@ class CheckPermission extends BaseInstall 'fileinfo', 'gd', 'intl', - 'mcrypt', + 'openssl', 'pdo_mysql', + 'dom', + 'calendar' ); protected $validationMessages = array(); @@ -356,13 +358,13 @@ class CheckPermission extends BaseInstall switch ($last) { // The 'G' modifier is available since PHP 5.1.0 case 'g': - $val *= 1024; + $val = (int)$val*1024; // no break case 'm': - $val *= 1024; + $val = (int)$val*1024; // no break case 'k': - $val *= 1024; + $val = (int)$val*1024; } return $val; diff --git a/core/lib/Thelia/Install/Update.php b/core/lib/Thelia/Install/Update.php index c0d60250..2057b10f 100644 --- a/core/lib/Thelia/Install/Update.php +++ b/core/lib/Thelia/Install/Update.php @@ -596,7 +596,13 @@ class Update curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($curl, CURLOPT_TIMEOUT, 5); $res = curl_exec($curl); - if (Version::parse($res)) - return $res; + + try { + if (Version::parse($res)) { + return trim($res); + } + } catch (\Exception $e) { + return null; + } } } diff --git a/core/lib/Thelia/Mailer/MailerFactory.php b/core/lib/Thelia/Mailer/MailerFactory.php index a59ad400..6b08477d 100644 --- a/core/lib/Thelia/Mailer/MailerFactory.php +++ b/core/lib/Thelia/Mailer/MailerFactory.php @@ -27,6 +27,7 @@ use Thelia\Model\MessageQuery; * Class MailerFactory * @package Thelia\Mailer * @author Manuel Raynaud + * @author Franck Allimant */ class MailerFactory { @@ -85,16 +86,34 @@ class MailerFactory return $smtpTransporter; } + /** + * @param \Swift_Mime_Message $message + * @param null $failedRecipients + * @return int number of recipients who were accepted for delivery. + */ public function send(\Swift_Mime_Message $message, &$failedRecipients = null) { return $this->swiftMailer->send($message, $failedRecipients); } + /** + * @return \Swift_Mailer + */ public function getSwiftMailer() { return $this->swiftMailer; } + /** + * Return a new message instance + * + * @return \Swift_Message + */ + public function getMessageInstance() + { + return \Swift_Message::newInstance(); + } + /** * Send a message to the customer. * @@ -121,8 +140,9 @@ class MailerFactory * * @param string $messageCode * @param array $messageParameters an array of (name => value) parameters that will be available in the message. + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] */ - public function sendEmailToShopManagers($messageCode, $messageParameters = []) + public function sendEmailToShopManagers($messageCode, $messageParameters = [], $replyTo = []) { $storeName = ConfigQuery::getStoreName(); @@ -139,7 +159,11 @@ class MailerFactory $messageCode, [ConfigQuery::getStoreEmail() => $storeName], $to, - $messageParameters + $messageParameters, + null, + [], + [], + $replyTo ); } @@ -153,14 +177,15 @@ class MailerFactory * @param string $locale If null, the default store locale is used. * @param array $cc Cc addresses. An array of (email-address => name) [optional] * @param array $bcc Bcc addresses. An array of (email-address => name) [optional] + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] */ - public function sendEmailMessage($messageCode, $from, $to, $messageParameters = [], $locale = null, $cc = [], $bcc = []) + public function sendEmailMessage($messageCode, $from, $to, $messageParameters = [], $locale = null, $cc = [], $bcc = [], $replyTo = []) { $store_email = ConfigQuery::getStoreEmail(); if (! empty($store_email)) { if (! empty($to)) { - $instance = $this->createEmailMessage($messageCode, $from, $to, $messageParameters, $locale, $cc, $bcc); + $instance = $this->createEmailMessage($messageCode, $from, $to, $messageParameters, $locale, $cc, $bcc, $replyTo); $sentCount = $this->send($instance, $failedRecipients); @@ -190,16 +215,17 @@ class MailerFactory * Create a SwiftMessage instance from a given message code. * * @param string $messageCode - * @param array $from From addresses. An array of (name => email-address) - * @param array $to To addresses. An array of (name => email-address) + * @param array $from From addresses. An array of (email-address => name) + * @param array $to To addresses. An array of (email-address => name) * @param array $messageParameters an array of (name => value) parameters that will be available in the message. * @param string $locale If null, the default store locale is used. * @param array $cc Cc addresses. An array of (email-address => name) [optional] * @param array $bcc Bcc addresses. An array of (email-address => name) [optional] + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] * * @return \Swift_Message the generated and built message. */ - public function createEmailMessage($messageCode, $from, $to, $messageParameters = [], $locale = null, $cc = [], $bcc = []) + public function createEmailMessage($messageCode, $from, $to, $messageParameters = [], $locale = null, $cc = [], $bcc = [], $replyTo = []) { if (null !== $message = MessageQuery::getFromName($messageCode)) { if ($locale === null) { @@ -215,28 +241,10 @@ class MailerFactory $this->parser->assign('locale', $locale); - $instance = \Swift_Message::newInstance(); + $instance = $this->getMessageInstance(); - // Add from addresses - foreach ($from as $address => $name) { - $instance->addFrom($address, $name); - } + $this->setupMessageHeaders($instance, $from, $to, $cc, $bcc, $replyTo); - // Add to addresses - foreach ($to as $address => $name) { - $instance->addTo($address, $name); - } - - // Add cc addresses - foreach ($cc as $address => $name) { - $instance->addCc($address, $name); - } - - // Add bcc addresses - foreach ($bcc as $address => $name) { - $instance->addBcc($address, $name); - } - $message->buildMessage($this->parser, $instance); return $instance; @@ -249,4 +257,98 @@ class MailerFactory ) ); } + + /** + * Create a SwiftMessage instance from text + * + * @param array $from From addresses. An array of (email-address => name) + * @param array $to To addresses. An array of (email-address => name) + * @param string $subject the message subject + * @param string $htmlBody the HTML message body, or null + * @param string $textBody the text message body, or null + * @param array $cc Cc addresses. An array of (email-address => name) [optional] + * @param array $bcc Bcc addresses. An array of (email-address => name) [optional] + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] + * + * @return \Swift_Message the generated and built message. + */ + public function createSimpleEmailMessage($from, $to, $subject, $htmlBody, $textBody, $cc = [], $bcc = [], $replyTo = []) + { + $instance = $this->getMessageInstance(); + + $this->setupMessageHeaders($instance, $from, $to, $cc, $bcc, $replyTo); + + $instance->setSubject($subject); + + // If we do not have an HTML message + if (empty($htmlBody)) { + // Message body is the text message + $instance->setBody($textBody, 'text/plain'); + } else { + // The main body is the HTML messahe + $instance->setBody($htmlBody, 'text/html'); + + // Use the text as a message part, if we have one. + if (! empty($textBody)) { + $instance->addPart($textBody, 'text/plain'); + } + } + + return $instance; + } + + /** + * @param array $from From addresses. An array of (email-address => name) + * @param array $to To addresses. An array of (email-address => name) + * @param string $subject the message subject + * @param string $htmlBody the HTML message body, or null + * @param string $textBody the text message body, or null + * @param array $cc Cc addresses. An array of (email-address => name) [optional] + * @param array $bcc Bcc addresses. An array of (email-address => name) [optional] + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] + * @param null $failedRecipients The failed recipients list + * @return int number of recipients who were accepted for delivery + */ + public function sendSimpleEmailMessage($from, $to, $subject, $htmlBody, $textBody, $cc = [], $bcc = [], $replyTo = [], &$failedRecipients = null) + { + $instance = $this->createSimpleEmailMessage($from, $to, $subject, $htmlBody, $textBody, $cc, $bcc, $replyTo); + + return $this->send($instance, $failedRecipients); + } + + /** + * @param \Swift_Message $instance + * @param array $from From addresses. An array of (email-address => name) + * @param array $to To addresses. An array of (email-address => name) + * @param array $cc Cc addresses. An array of (email-address => name) [optional] + * @param array $bcc Bcc addresses. An array of (email-address => name) [optional] + * @param array $replyTo Reply to addresses. An array of (email-address => name) [optional] + */ + protected function setupMessageHeaders($instance, $from, $to, $cc = [], $bcc = [], $replyTo = []) + { + // Add from addresses + foreach ($from as $address => $name) { + $instance->addFrom($address, $name); + } + + // Add to addresses + foreach ($to as $address => $name) { + $instance->addTo($address, $name); + } + + // Add cc addresses + foreach ($cc as $address => $name) { + $instance->addCc($address, $name); + } + + // Add bcc addresses + foreach ($bcc as $address => $name) { + $instance->addBcc($address, $name); + } + + // Add reply to addresses + foreach ($replyTo as $address => $name) { + $instance->addReplyTo($address, $name); + } + } } diff --git a/core/lib/Thelia/Model/Base/Customer.php b/core/lib/Thelia/Model/Base/Customer.php index f578053d..e98b0622 100644 --- a/core/lib/Thelia/Model/Base/Customer.php +++ b/core/lib/Thelia/Model/Base/Customer.php @@ -159,6 +159,19 @@ abstract class Customer implements ActiveRecordInterface */ protected $remember_me_serial; + /** + * The value for the enable field. + * Note: this column has a database default value of: 0 + * @var int + */ + protected $enable; + + /** + * The value for the confirmation_token field. + * @var string + */ + protected $confirmation_token; + /** * The value for the created_at field. * @var string @@ -296,6 +309,7 @@ abstract class Customer implements ActiveRecordInterface public function applyDefaultValues() { $this->discount = '0.000000'; + $this->enable = 0; $this->version = 0; } @@ -713,6 +727,28 @@ abstract class Customer implements ActiveRecordInterface return $this->remember_me_serial; } + /** + * Get the [enable] column value. + * + * @return int + */ + public function getEnable() + { + + return $this->enable; + } + + /** + * Get the [confirmation_token] column value. + * + * @return string + */ + public function getConfirmationToken() + { + + return $this->confirmation_token; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -1097,6 +1133,48 @@ abstract class Customer implements ActiveRecordInterface return $this; } // setRememberMeSerial() + /** + * Set the value of [enable] column. + * + * @param int $v new value + * @return \Thelia\Model\Customer The current object (for fluent API support) + */ + public function setEnable($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->enable !== $v) { + $this->enable = $v; + $this->modifiedColumns[CustomerTableMap::ENABLE] = true; + } + + + return $this; + } // setEnable() + + /** + * Set the value of [confirmation_token] column. + * + * @param string $v new value + * @return \Thelia\Model\Customer The current object (for fluent API support) + */ + public function setConfirmationToken($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->confirmation_token !== $v) { + $this->confirmation_token = $v; + $this->modifiedColumns[CustomerTableMap::CONFIRMATION_TOKEN] = true; + } + + + return $this; + } // setConfirmationToken() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -1216,6 +1294,10 @@ abstract class Customer implements ActiveRecordInterface return false; } + if ($this->enable !== 0) { + return false; + } + if ($this->version !== 0) { return false; } @@ -1289,28 +1371,34 @@ abstract class Customer implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CustomerTableMap::translateFieldName('RememberMeSerial', TableMap::TYPE_PHPNAME, $indexType)]; $this->remember_me_serial = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CustomerTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CustomerTableMap::translateFieldName('Enable', TableMap::TYPE_PHPNAME, $indexType)]; + $this->enable = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CustomerTableMap::translateFieldName('ConfirmationToken', TableMap::TYPE_PHPNAME, $indexType)]; + $this->confirmation_token = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CustomerTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CustomerTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CustomerTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CustomerTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : CustomerTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; $this->version = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CustomerTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 19 + $startcol : CustomerTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->version_created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : CustomerTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 20 + $startcol : CustomerTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)]; $this->version_created_by = (null !== $col) ? (string) $col : null; $this->resetModified(); @@ -1320,7 +1408,7 @@ abstract class Customer implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 19; // 19 = CustomerTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 21; // 21 = CustomerTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\Customer object", 0, $e); @@ -1744,6 +1832,12 @@ abstract class Customer implements ActiveRecordInterface if ($this->isColumnModified(CustomerTableMap::REMEMBER_ME_SERIAL)) { $modifiedColumns[':p' . $index++] = '`REMEMBER_ME_SERIAL`'; } + if ($this->isColumnModified(CustomerTableMap::ENABLE)) { + $modifiedColumns[':p' . $index++] = '`ENABLE`'; + } + if ($this->isColumnModified(CustomerTableMap::CONFIRMATION_TOKEN)) { + $modifiedColumns[':p' . $index++] = '`CONFIRMATION_TOKEN`'; + } if ($this->isColumnModified(CustomerTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = '`CREATED_AT`'; } @@ -1812,6 +1906,12 @@ abstract class Customer implements ActiveRecordInterface case '`REMEMBER_ME_SERIAL`': $stmt->bindValue($identifier, $this->remember_me_serial, PDO::PARAM_STR); break; + case '`ENABLE`': + $stmt->bindValue($identifier, $this->enable, PDO::PARAM_INT); + break; + case '`CONFIRMATION_TOKEN`': + $stmt->bindValue($identifier, $this->confirmation_token, PDO::PARAM_STR); + break; case '`CREATED_AT`': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -1932,18 +2032,24 @@ abstract class Customer implements ActiveRecordInterface return $this->getRememberMeSerial(); break; case 14: - return $this->getCreatedAt(); + return $this->getEnable(); break; case 15: - return $this->getUpdatedAt(); + return $this->getConfirmationToken(); break; case 16: - return $this->getVersion(); + return $this->getCreatedAt(); break; case 17: - return $this->getVersionCreatedAt(); + return $this->getUpdatedAt(); break; case 18: + return $this->getVersion(); + break; + case 19: + return $this->getVersionCreatedAt(); + break; + case 20: return $this->getVersionCreatedBy(); break; default: @@ -1989,11 +2095,13 @@ abstract class Customer implements ActiveRecordInterface $keys[11] => $this->getDiscount(), $keys[12] => $this->getRememberMeToken(), $keys[13] => $this->getRememberMeSerial(), - $keys[14] => $this->getCreatedAt(), - $keys[15] => $this->getUpdatedAt(), - $keys[16] => $this->getVersion(), - $keys[17] => $this->getVersionCreatedAt(), - $keys[18] => $this->getVersionCreatedBy(), + $keys[14] => $this->getEnable(), + $keys[15] => $this->getConfirmationToken(), + $keys[16] => $this->getCreatedAt(), + $keys[17] => $this->getUpdatedAt(), + $keys[18] => $this->getVersion(), + $keys[19] => $this->getVersionCreatedAt(), + $keys[20] => $this->getVersionCreatedBy(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -2099,18 +2207,24 @@ abstract class Customer implements ActiveRecordInterface $this->setRememberMeSerial($value); break; case 14: - $this->setCreatedAt($value); + $this->setEnable($value); break; case 15: - $this->setUpdatedAt($value); + $this->setConfirmationToken($value); break; case 16: - $this->setVersion($value); + $this->setCreatedAt($value); break; case 17: - $this->setVersionCreatedAt($value); + $this->setUpdatedAt($value); break; case 18: + $this->setVersion($value); + break; + case 19: + $this->setVersionCreatedAt($value); + break; + case 20: $this->setVersionCreatedBy($value); break; } // switch() @@ -2151,11 +2265,13 @@ abstract class Customer implements ActiveRecordInterface if (array_key_exists($keys[11], $arr)) $this->setDiscount($arr[$keys[11]]); if (array_key_exists($keys[12], $arr)) $this->setRememberMeToken($arr[$keys[12]]); if (array_key_exists($keys[13], $arr)) $this->setRememberMeSerial($arr[$keys[13]]); - if (array_key_exists($keys[14], $arr)) $this->setCreatedAt($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setUpdatedAt($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setVersion($arr[$keys[16]]); - if (array_key_exists($keys[17], $arr)) $this->setVersionCreatedAt($arr[$keys[17]]); - if (array_key_exists($keys[18], $arr)) $this->setVersionCreatedBy($arr[$keys[18]]); + if (array_key_exists($keys[14], $arr)) $this->setEnable($arr[$keys[14]]); + if (array_key_exists($keys[15], $arr)) $this->setConfirmationToken($arr[$keys[15]]); + if (array_key_exists($keys[16], $arr)) $this->setCreatedAt($arr[$keys[16]]); + if (array_key_exists($keys[17], $arr)) $this->setUpdatedAt($arr[$keys[17]]); + if (array_key_exists($keys[18], $arr)) $this->setVersion($arr[$keys[18]]); + if (array_key_exists($keys[19], $arr)) $this->setVersionCreatedAt($arr[$keys[19]]); + if (array_key_exists($keys[20], $arr)) $this->setVersionCreatedBy($arr[$keys[20]]); } /** @@ -2181,6 +2297,8 @@ abstract class Customer implements ActiveRecordInterface if ($this->isColumnModified(CustomerTableMap::DISCOUNT)) $criteria->add(CustomerTableMap::DISCOUNT, $this->discount); if ($this->isColumnModified(CustomerTableMap::REMEMBER_ME_TOKEN)) $criteria->add(CustomerTableMap::REMEMBER_ME_TOKEN, $this->remember_me_token); if ($this->isColumnModified(CustomerTableMap::REMEMBER_ME_SERIAL)) $criteria->add(CustomerTableMap::REMEMBER_ME_SERIAL, $this->remember_me_serial); + if ($this->isColumnModified(CustomerTableMap::ENABLE)) $criteria->add(CustomerTableMap::ENABLE, $this->enable); + if ($this->isColumnModified(CustomerTableMap::CONFIRMATION_TOKEN)) $criteria->add(CustomerTableMap::CONFIRMATION_TOKEN, $this->confirmation_token); if ($this->isColumnModified(CustomerTableMap::CREATED_AT)) $criteria->add(CustomerTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(CustomerTableMap::UPDATED_AT)) $criteria->add(CustomerTableMap::UPDATED_AT, $this->updated_at); if ($this->isColumnModified(CustomerTableMap::VERSION)) $criteria->add(CustomerTableMap::VERSION, $this->version); @@ -2262,6 +2380,8 @@ abstract class Customer implements ActiveRecordInterface $copyObj->setDiscount($this->getDiscount()); $copyObj->setRememberMeToken($this->getRememberMeToken()); $copyObj->setRememberMeSerial($this->getRememberMeSerial()); + $copyObj->setEnable($this->getEnable()); + $copyObj->setConfirmationToken($this->getConfirmationToken()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); $copyObj->setVersion($this->getVersion()); @@ -4111,6 +4231,8 @@ abstract class Customer implements ActiveRecordInterface $this->discount = null; $this->remember_me_token = null; $this->remember_me_serial = null; + $this->enable = null; + $this->confirmation_token = null; $this->created_at = null; $this->updated_at = null; $this->version = null; @@ -4275,6 +4397,8 @@ abstract class Customer implements ActiveRecordInterface $version->setDiscount($this->getDiscount()); $version->setRememberMeToken($this->getRememberMeToken()); $version->setRememberMeSerial($this->getRememberMeSerial()); + $version->setEnable($this->getEnable()); + $version->setConfirmationToken($this->getConfirmationToken()); $version->setCreatedAt($this->getCreatedAt()); $version->setUpdatedAt($this->getUpdatedAt()); $version->setVersion($this->getVersion()); @@ -4335,6 +4459,8 @@ abstract class Customer implements ActiveRecordInterface $this->setDiscount($version->getDiscount()); $this->setRememberMeToken($version->getRememberMeToken()); $this->setRememberMeSerial($version->getRememberMeSerial()); + $this->setEnable($version->getEnable()); + $this->setConfirmationToken($version->getConfirmationToken()); $this->setCreatedAt($version->getCreatedAt()); $this->setUpdatedAt($version->getUpdatedAt()); $this->setVersion($version->getVersion()); diff --git a/core/lib/Thelia/Model/Base/CustomerQuery.php b/core/lib/Thelia/Model/Base/CustomerQuery.php index 3683339c..34f614a6 100644 --- a/core/lib/Thelia/Model/Base/CustomerQuery.php +++ b/core/lib/Thelia/Model/Base/CustomerQuery.php @@ -35,6 +35,8 @@ use Thelia\Model\Map\CustomerTableMap; * @method ChildCustomerQuery orderByDiscount($order = Criteria::ASC) Order by the discount column * @method ChildCustomerQuery orderByRememberMeToken($order = Criteria::ASC) Order by the remember_me_token column * @method ChildCustomerQuery orderByRememberMeSerial($order = Criteria::ASC) Order by the remember_me_serial column + * @method ChildCustomerQuery orderByEnable($order = Criteria::ASC) Order by the enable column + * @method ChildCustomerQuery orderByConfirmationToken($order = Criteria::ASC) Order by the confirmation_token column * @method ChildCustomerQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildCustomerQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * @method ChildCustomerQuery orderByVersion($order = Criteria::ASC) Order by the version column @@ -55,6 +57,8 @@ use Thelia\Model\Map\CustomerTableMap; * @method ChildCustomerQuery groupByDiscount() Group by the discount column * @method ChildCustomerQuery groupByRememberMeToken() Group by the remember_me_token column * @method ChildCustomerQuery groupByRememberMeSerial() Group by the remember_me_serial column + * @method ChildCustomerQuery groupByEnable() Group by the enable column + * @method ChildCustomerQuery groupByConfirmationToken() Group by the confirmation_token column * @method ChildCustomerQuery groupByCreatedAt() Group by the created_at column * @method ChildCustomerQuery groupByUpdatedAt() Group by the updated_at column * @method ChildCustomerQuery groupByVersion() Group by the version column @@ -110,6 +114,8 @@ use Thelia\Model\Map\CustomerTableMap; * @method ChildCustomer findOneByDiscount(string $discount) Return the first ChildCustomer filtered by the discount column * @method ChildCustomer findOneByRememberMeToken(string $remember_me_token) Return the first ChildCustomer filtered by the remember_me_token column * @method ChildCustomer findOneByRememberMeSerial(string $remember_me_serial) Return the first ChildCustomer filtered by the remember_me_serial column + * @method ChildCustomer findOneByEnable(int $enable) Return the first ChildCustomer filtered by the enable column + * @method ChildCustomer findOneByConfirmationToken(string $confirmation_token) Return the first ChildCustomer filtered by the confirmation_token column * @method ChildCustomer findOneByCreatedAt(string $created_at) Return the first ChildCustomer filtered by the created_at column * @method ChildCustomer findOneByUpdatedAt(string $updated_at) Return the first ChildCustomer filtered by the updated_at column * @method ChildCustomer findOneByVersion(int $version) Return the first ChildCustomer filtered by the version column @@ -130,6 +136,8 @@ use Thelia\Model\Map\CustomerTableMap; * @method array findByDiscount(string $discount) Return ChildCustomer objects filtered by the discount column * @method array findByRememberMeToken(string $remember_me_token) Return ChildCustomer objects filtered by the remember_me_token column * @method array findByRememberMeSerial(string $remember_me_serial) Return ChildCustomer objects filtered by the remember_me_serial column + * @method array findByEnable(int $enable) Return ChildCustomer objects filtered by the enable column + * @method array findByConfirmationToken(string $confirmation_token) Return ChildCustomer objects filtered by the confirmation_token column * @method array findByCreatedAt(string $created_at) Return ChildCustomer objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildCustomer objects filtered by the updated_at column * @method array findByVersion(int $version) Return ChildCustomer objects filtered by the version column @@ -230,7 +238,7 @@ abstract class CustomerQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT `ID`, `TITLE_ID`, `LANG_ID`, `REF`, `FIRSTNAME`, `LASTNAME`, `EMAIL`, `PASSWORD`, `ALGO`, `RESELLER`, `SPONSOR`, `DISCOUNT`, `REMEMBER_ME_TOKEN`, `REMEMBER_ME_SERIAL`, `CREATED_AT`, `UPDATED_AT`, `VERSION`, `VERSION_CREATED_AT`, `VERSION_CREATED_BY` FROM `customer` WHERE `ID` = :p0'; + $sql = 'SELECT `ID`, `TITLE_ID`, `LANG_ID`, `REF`, `FIRSTNAME`, `LASTNAME`, `EMAIL`, `PASSWORD`, `ALGO`, `RESELLER`, `SPONSOR`, `DISCOUNT`, `REMEMBER_ME_TOKEN`, `REMEMBER_ME_SERIAL`, `ENABLE`, `CONFIRMATION_TOKEN`, `CREATED_AT`, `UPDATED_AT`, `VERSION`, `VERSION_CREATED_AT`, `VERSION_CREATED_BY` FROM `customer` WHERE `ID` = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -789,6 +797,76 @@ abstract class CustomerQuery extends ModelCriteria return $this->addUsingAlias(CustomerTableMap::REMEMBER_ME_SERIAL, $rememberMeSerial, $comparison); } + /** + * Filter the query on the enable column + * + * Example usage: + * + * $query->filterByEnable(1234); // WHERE enable = 1234 + * $query->filterByEnable(array(12, 34)); // WHERE enable IN (12, 34) + * $query->filterByEnable(array('min' => 12)); // WHERE enable > 12 + * + * + * @param mixed $enable The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCustomerQuery The current query, for fluid interface + */ + public function filterByEnable($enable = null, $comparison = null) + { + if (is_array($enable)) { + $useMinMax = false; + if (isset($enable['min'])) { + $this->addUsingAlias(CustomerTableMap::ENABLE, $enable['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($enable['max'])) { + $this->addUsingAlias(CustomerTableMap::ENABLE, $enable['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CustomerTableMap::ENABLE, $enable, $comparison); + } + + /** + * Filter the query on the confirmation_token column + * + * Example usage: + * + * $query->filterByConfirmationToken('fooValue'); // WHERE confirmation_token = 'fooValue' + * $query->filterByConfirmationToken('%fooValue%'); // WHERE confirmation_token LIKE '%fooValue%' + * + * + * @param string $confirmationToken The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCustomerQuery The current query, for fluid interface + */ + public function filterByConfirmationToken($confirmationToken = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($confirmationToken)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $confirmationToken)) { + $confirmationToken = str_replace('*', '%', $confirmationToken); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(CustomerTableMap::CONFIRMATION_TOKEN, $confirmationToken, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Base/CustomerVersion.php b/core/lib/Thelia/Model/Base/CustomerVersion.php index d06ef545..f8e31691 100644 --- a/core/lib/Thelia/Model/Base/CustomerVersion.php +++ b/core/lib/Thelia/Model/Base/CustomerVersion.php @@ -140,6 +140,19 @@ abstract class CustomerVersion implements ActiveRecordInterface */ protected $remember_me_serial; + /** + * The value for the enable field. + * Note: this column has a database default value of: 0 + * @var int + */ + protected $enable; + + /** + * The value for the confirmation_token field. + * @var string + */ + protected $confirmation_token; + /** * The value for the created_at field. * @var string @@ -219,6 +232,7 @@ abstract class CustomerVersion implements ActiveRecordInterface public function applyDefaultValues() { $this->discount = '0.000000'; + $this->enable = 0; $this->version = 0; } @@ -636,6 +650,28 @@ abstract class CustomerVersion implements ActiveRecordInterface return $this->remember_me_serial; } + /** + * Get the [enable] column value. + * + * @return int + */ + public function getEnable() + { + + return $this->enable; + } + + /** + * Get the [confirmation_token] column value. + * + * @return string + */ + public function getConfirmationToken() + { + + return $this->confirmation_token; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -1074,6 +1110,48 @@ abstract class CustomerVersion implements ActiveRecordInterface return $this; } // setRememberMeSerial() + /** + * Set the value of [enable] column. + * + * @param int $v new value + * @return \Thelia\Model\CustomerVersion The current object (for fluent API support) + */ + public function setEnable($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->enable !== $v) { + $this->enable = $v; + $this->modifiedColumns[CustomerVersionTableMap::ENABLE] = true; + } + + + return $this; + } // setEnable() + + /** + * Set the value of [confirmation_token] column. + * + * @param string $v new value + * @return \Thelia\Model\CustomerVersion The current object (for fluent API support) + */ + public function setConfirmationToken($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->confirmation_token !== $v) { + $this->confirmation_token = $v; + $this->modifiedColumns[CustomerVersionTableMap::CONFIRMATION_TOKEN] = true; + } + + + return $this; + } // setConfirmationToken() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -1297,6 +1375,10 @@ abstract class CustomerVersion implements ActiveRecordInterface return false; } + if ($this->enable !== 0) { + return false; + } + if ($this->version !== 0) { return false; } @@ -1370,35 +1452,41 @@ abstract class CustomerVersion implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CustomerVersionTableMap::translateFieldName('RememberMeSerial', TableMap::TYPE_PHPNAME, $indexType)]; $this->remember_me_serial = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CustomerVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CustomerVersionTableMap::translateFieldName('Enable', TableMap::TYPE_PHPNAME, $indexType)]; + $this->enable = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CustomerVersionTableMap::translateFieldName('ConfirmationToken', TableMap::TYPE_PHPNAME, $indexType)]; + $this->confirmation_token = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CustomerVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CustomerVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CustomerVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CustomerVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : CustomerVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; $this->version = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CustomerVersionTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 19 + $startcol : CustomerVersionTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->version_created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : CustomerVersionTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 20 + $startcol : CustomerVersionTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)]; $this->version_created_by = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 19 + $startcol : CustomerVersionTableMap::translateFieldName('OrderIds', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 21 + $startcol : CustomerVersionTableMap::translateFieldName('OrderIds', TableMap::TYPE_PHPNAME, $indexType)]; $this->order_ids = $col; $this->order_ids_unserialized = null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 20 + $startcol : CustomerVersionTableMap::translateFieldName('OrderVersions', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 22 + $startcol : CustomerVersionTableMap::translateFieldName('OrderVersions', TableMap::TYPE_PHPNAME, $indexType)]; $this->order_versions = $col; $this->order_versions_unserialized = null; $this->resetModified(); @@ -1409,7 +1497,7 @@ abstract class CustomerVersion implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 21; // 21 = CustomerVersionTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 23; // 23 = CustomerVersionTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\CustomerVersion object", 0, $e); @@ -1672,6 +1760,12 @@ abstract class CustomerVersion implements ActiveRecordInterface if ($this->isColumnModified(CustomerVersionTableMap::REMEMBER_ME_SERIAL)) { $modifiedColumns[':p' . $index++] = '`REMEMBER_ME_SERIAL`'; } + if ($this->isColumnModified(CustomerVersionTableMap::ENABLE)) { + $modifiedColumns[':p' . $index++] = '`ENABLE`'; + } + if ($this->isColumnModified(CustomerVersionTableMap::CONFIRMATION_TOKEN)) { + $modifiedColumns[':p' . $index++] = '`CONFIRMATION_TOKEN`'; + } if ($this->isColumnModified(CustomerVersionTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = '`CREATED_AT`'; } @@ -1746,6 +1840,12 @@ abstract class CustomerVersion implements ActiveRecordInterface case '`REMEMBER_ME_SERIAL`': $stmt->bindValue($identifier, $this->remember_me_serial, PDO::PARAM_STR); break; + case '`ENABLE`': + $stmt->bindValue($identifier, $this->enable, PDO::PARAM_INT); + break; + case '`CONFIRMATION_TOKEN`': + $stmt->bindValue($identifier, $this->confirmation_token, PDO::PARAM_STR); + break; case '`CREATED_AT`': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -1865,24 +1965,30 @@ abstract class CustomerVersion implements ActiveRecordInterface return $this->getRememberMeSerial(); break; case 14: - return $this->getCreatedAt(); + return $this->getEnable(); break; case 15: - return $this->getUpdatedAt(); + return $this->getConfirmationToken(); break; case 16: - return $this->getVersion(); + return $this->getCreatedAt(); break; case 17: - return $this->getVersionCreatedAt(); + return $this->getUpdatedAt(); break; case 18: - return $this->getVersionCreatedBy(); + return $this->getVersion(); break; case 19: - return $this->getOrderIds(); + return $this->getVersionCreatedAt(); break; case 20: + return $this->getVersionCreatedBy(); + break; + case 21: + return $this->getOrderIds(); + break; + case 22: return $this->getOrderVersions(); break; default: @@ -1928,13 +2034,15 @@ abstract class CustomerVersion implements ActiveRecordInterface $keys[11] => $this->getDiscount(), $keys[12] => $this->getRememberMeToken(), $keys[13] => $this->getRememberMeSerial(), - $keys[14] => $this->getCreatedAt(), - $keys[15] => $this->getUpdatedAt(), - $keys[16] => $this->getVersion(), - $keys[17] => $this->getVersionCreatedAt(), - $keys[18] => $this->getVersionCreatedBy(), - $keys[19] => $this->getOrderIds(), - $keys[20] => $this->getOrderVersions(), + $keys[14] => $this->getEnable(), + $keys[15] => $this->getConfirmationToken(), + $keys[16] => $this->getCreatedAt(), + $keys[17] => $this->getUpdatedAt(), + $keys[18] => $this->getVersion(), + $keys[19] => $this->getVersionCreatedAt(), + $keys[20] => $this->getVersionCreatedBy(), + $keys[21] => $this->getOrderIds(), + $keys[22] => $this->getOrderVersions(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -2022,28 +2130,34 @@ abstract class CustomerVersion implements ActiveRecordInterface $this->setRememberMeSerial($value); break; case 14: - $this->setCreatedAt($value); + $this->setEnable($value); break; case 15: - $this->setUpdatedAt($value); + $this->setConfirmationToken($value); break; case 16: - $this->setVersion($value); + $this->setCreatedAt($value); break; case 17: - $this->setVersionCreatedAt($value); + $this->setUpdatedAt($value); break; case 18: - $this->setVersionCreatedBy($value); + $this->setVersion($value); break; case 19: + $this->setVersionCreatedAt($value); + break; + case 20: + $this->setVersionCreatedBy($value); + break; + case 21: if (!is_array($value)) { $v = trim(substr($value, 2, -2)); $value = $v ? explode(' | ', $v) : array(); } $this->setOrderIds($value); break; - case 20: + case 22: if (!is_array($value)) { $v = trim(substr($value, 2, -2)); $value = $v ? explode(' | ', $v) : array(); @@ -2088,13 +2202,15 @@ abstract class CustomerVersion implements ActiveRecordInterface if (array_key_exists($keys[11], $arr)) $this->setDiscount($arr[$keys[11]]); if (array_key_exists($keys[12], $arr)) $this->setRememberMeToken($arr[$keys[12]]); if (array_key_exists($keys[13], $arr)) $this->setRememberMeSerial($arr[$keys[13]]); - if (array_key_exists($keys[14], $arr)) $this->setCreatedAt($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setUpdatedAt($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setVersion($arr[$keys[16]]); - if (array_key_exists($keys[17], $arr)) $this->setVersionCreatedAt($arr[$keys[17]]); - if (array_key_exists($keys[18], $arr)) $this->setVersionCreatedBy($arr[$keys[18]]); - if (array_key_exists($keys[19], $arr)) $this->setOrderIds($arr[$keys[19]]); - if (array_key_exists($keys[20], $arr)) $this->setOrderVersions($arr[$keys[20]]); + if (array_key_exists($keys[14], $arr)) $this->setEnable($arr[$keys[14]]); + if (array_key_exists($keys[15], $arr)) $this->setConfirmationToken($arr[$keys[15]]); + if (array_key_exists($keys[16], $arr)) $this->setCreatedAt($arr[$keys[16]]); + if (array_key_exists($keys[17], $arr)) $this->setUpdatedAt($arr[$keys[17]]); + if (array_key_exists($keys[18], $arr)) $this->setVersion($arr[$keys[18]]); + if (array_key_exists($keys[19], $arr)) $this->setVersionCreatedAt($arr[$keys[19]]); + if (array_key_exists($keys[20], $arr)) $this->setVersionCreatedBy($arr[$keys[20]]); + if (array_key_exists($keys[21], $arr)) $this->setOrderIds($arr[$keys[21]]); + if (array_key_exists($keys[22], $arr)) $this->setOrderVersions($arr[$keys[22]]); } /** @@ -2120,6 +2236,8 @@ abstract class CustomerVersion implements ActiveRecordInterface if ($this->isColumnModified(CustomerVersionTableMap::DISCOUNT)) $criteria->add(CustomerVersionTableMap::DISCOUNT, $this->discount); if ($this->isColumnModified(CustomerVersionTableMap::REMEMBER_ME_TOKEN)) $criteria->add(CustomerVersionTableMap::REMEMBER_ME_TOKEN, $this->remember_me_token); if ($this->isColumnModified(CustomerVersionTableMap::REMEMBER_ME_SERIAL)) $criteria->add(CustomerVersionTableMap::REMEMBER_ME_SERIAL, $this->remember_me_serial); + if ($this->isColumnModified(CustomerVersionTableMap::ENABLE)) $criteria->add(CustomerVersionTableMap::ENABLE, $this->enable); + if ($this->isColumnModified(CustomerVersionTableMap::CONFIRMATION_TOKEN)) $criteria->add(CustomerVersionTableMap::CONFIRMATION_TOKEN, $this->confirmation_token); if ($this->isColumnModified(CustomerVersionTableMap::CREATED_AT)) $criteria->add(CustomerVersionTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(CustomerVersionTableMap::UPDATED_AT)) $criteria->add(CustomerVersionTableMap::UPDATED_AT, $this->updated_at); if ($this->isColumnModified(CustomerVersionTableMap::VERSION)) $criteria->add(CustomerVersionTableMap::VERSION, $this->version); @@ -2211,6 +2329,8 @@ abstract class CustomerVersion implements ActiveRecordInterface $copyObj->setDiscount($this->getDiscount()); $copyObj->setRememberMeToken($this->getRememberMeToken()); $copyObj->setRememberMeSerial($this->getRememberMeSerial()); + $copyObj->setEnable($this->getEnable()); + $copyObj->setConfirmationToken($this->getConfirmationToken()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); $copyObj->setVersion($this->getVersion()); @@ -2315,6 +2435,8 @@ abstract class CustomerVersion implements ActiveRecordInterface $this->discount = null; $this->remember_me_token = null; $this->remember_me_serial = null; + $this->enable = null; + $this->confirmation_token = null; $this->created_at = null; $this->updated_at = null; $this->version = null; diff --git a/core/lib/Thelia/Model/Base/CustomerVersionQuery.php b/core/lib/Thelia/Model/Base/CustomerVersionQuery.php index 446fb192..609da88b 100644 --- a/core/lib/Thelia/Model/Base/CustomerVersionQuery.php +++ b/core/lib/Thelia/Model/Base/CustomerVersionQuery.php @@ -35,6 +35,8 @@ use Thelia\Model\Map\CustomerVersionTableMap; * @method ChildCustomerVersionQuery orderByDiscount($order = Criteria::ASC) Order by the discount column * @method ChildCustomerVersionQuery orderByRememberMeToken($order = Criteria::ASC) Order by the remember_me_token column * @method ChildCustomerVersionQuery orderByRememberMeSerial($order = Criteria::ASC) Order by the remember_me_serial column + * @method ChildCustomerVersionQuery orderByEnable($order = Criteria::ASC) Order by the enable column + * @method ChildCustomerVersionQuery orderByConfirmationToken($order = Criteria::ASC) Order by the confirmation_token column * @method ChildCustomerVersionQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildCustomerVersionQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * @method ChildCustomerVersionQuery orderByVersion($order = Criteria::ASC) Order by the version column @@ -57,6 +59,8 @@ use Thelia\Model\Map\CustomerVersionTableMap; * @method ChildCustomerVersionQuery groupByDiscount() Group by the discount column * @method ChildCustomerVersionQuery groupByRememberMeToken() Group by the remember_me_token column * @method ChildCustomerVersionQuery groupByRememberMeSerial() Group by the remember_me_serial column + * @method ChildCustomerVersionQuery groupByEnable() Group by the enable column + * @method ChildCustomerVersionQuery groupByConfirmationToken() Group by the confirmation_token column * @method ChildCustomerVersionQuery groupByCreatedAt() Group by the created_at column * @method ChildCustomerVersionQuery groupByUpdatedAt() Group by the updated_at column * @method ChildCustomerVersionQuery groupByVersion() Group by the version column @@ -90,6 +94,8 @@ use Thelia\Model\Map\CustomerVersionTableMap; * @method ChildCustomerVersion findOneByDiscount(string $discount) Return the first ChildCustomerVersion filtered by the discount column * @method ChildCustomerVersion findOneByRememberMeToken(string $remember_me_token) Return the first ChildCustomerVersion filtered by the remember_me_token column * @method ChildCustomerVersion findOneByRememberMeSerial(string $remember_me_serial) Return the first ChildCustomerVersion filtered by the remember_me_serial column + * @method ChildCustomerVersion findOneByEnable(int $enable) Return the first ChildCustomerVersion filtered by the enable column + * @method ChildCustomerVersion findOneByConfirmationToken(string $confirmation_token) Return the first ChildCustomerVersion filtered by the confirmation_token column * @method ChildCustomerVersion findOneByCreatedAt(string $created_at) Return the first ChildCustomerVersion filtered by the created_at column * @method ChildCustomerVersion findOneByUpdatedAt(string $updated_at) Return the first ChildCustomerVersion filtered by the updated_at column * @method ChildCustomerVersion findOneByVersion(int $version) Return the first ChildCustomerVersion filtered by the version column @@ -112,6 +118,8 @@ use Thelia\Model\Map\CustomerVersionTableMap; * @method array findByDiscount(string $discount) Return ChildCustomerVersion objects filtered by the discount column * @method array findByRememberMeToken(string $remember_me_token) Return ChildCustomerVersion objects filtered by the remember_me_token column * @method array findByRememberMeSerial(string $remember_me_serial) Return ChildCustomerVersion objects filtered by the remember_me_serial column + * @method array findByEnable(int $enable) Return ChildCustomerVersion objects filtered by the enable column + * @method array findByConfirmationToken(string $confirmation_token) Return ChildCustomerVersion objects filtered by the confirmation_token column * @method array findByCreatedAt(string $created_at) Return ChildCustomerVersion objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildCustomerVersion objects filtered by the updated_at column * @method array findByVersion(int $version) Return ChildCustomerVersion objects filtered by the version column @@ -207,7 +215,7 @@ abstract class CustomerVersionQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT `ID`, `TITLE_ID`, `LANG_ID`, `REF`, `FIRSTNAME`, `LASTNAME`, `EMAIL`, `PASSWORD`, `ALGO`, `RESELLER`, `SPONSOR`, `DISCOUNT`, `REMEMBER_ME_TOKEN`, `REMEMBER_ME_SERIAL`, `CREATED_AT`, `UPDATED_AT`, `VERSION`, `VERSION_CREATED_AT`, `VERSION_CREATED_BY`, `ORDER_IDS`, `ORDER_VERSIONS` FROM `customer_version` WHERE `ID` = :p0 AND `VERSION` = :p1'; + $sql = 'SELECT `ID`, `TITLE_ID`, `LANG_ID`, `REF`, `FIRSTNAME`, `LASTNAME`, `EMAIL`, `PASSWORD`, `ALGO`, `RESELLER`, `SPONSOR`, `DISCOUNT`, `REMEMBER_ME_TOKEN`, `REMEMBER_ME_SERIAL`, `ENABLE`, `CONFIRMATION_TOKEN`, `CREATED_AT`, `UPDATED_AT`, `VERSION`, `VERSION_CREATED_AT`, `VERSION_CREATED_BY`, `ORDER_IDS`, `ORDER_VERSIONS` FROM `customer_version` WHERE `ID` = :p0 AND `VERSION` = :p1'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); @@ -776,6 +784,76 @@ abstract class CustomerVersionQuery extends ModelCriteria return $this->addUsingAlias(CustomerVersionTableMap::REMEMBER_ME_SERIAL, $rememberMeSerial, $comparison); } + /** + * Filter the query on the enable column + * + * Example usage: + * + * $query->filterByEnable(1234); // WHERE enable = 1234 + * $query->filterByEnable(array(12, 34)); // WHERE enable IN (12, 34) + * $query->filterByEnable(array('min' => 12)); // WHERE enable > 12 + * + * + * @param mixed $enable The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCustomerVersionQuery The current query, for fluid interface + */ + public function filterByEnable($enable = null, $comparison = null) + { + if (is_array($enable)) { + $useMinMax = false; + if (isset($enable['min'])) { + $this->addUsingAlias(CustomerVersionTableMap::ENABLE, $enable['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($enable['max'])) { + $this->addUsingAlias(CustomerVersionTableMap::ENABLE, $enable['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CustomerVersionTableMap::ENABLE, $enable, $comparison); + } + + /** + * Filter the query on the confirmation_token column + * + * Example usage: + * + * $query->filterByConfirmationToken('fooValue'); // WHERE confirmation_token = 'fooValue' + * $query->filterByConfirmationToken('%fooValue%'); // WHERE confirmation_token LIKE '%fooValue%' + * + * + * @param string $confirmationToken The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCustomerVersionQuery The current query, for fluid interface + */ + public function filterByConfirmationToken($confirmationToken = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($confirmationToken)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $confirmationToken)) { + $confirmationToken = str_replace('*', '%', $confirmationToken); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(CustomerVersionTableMap::CONFIRMATION_TOKEN, $confirmationToken, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Base/Module.php b/core/lib/Thelia/Model/Base/Module.php index 095ca7b4..6a1a4b69 100644 --- a/core/lib/Thelia/Model/Base/Module.php +++ b/core/lib/Thelia/Model/Base/Module.php @@ -131,6 +131,20 @@ abstract class Module implements ActiveRecordInterface */ protected $full_namespace; + /** + * The value for the mandatory field. + * Note: this column has a database default value of: 0 + * @var int + */ + protected $mandatory; + + /** + * The value for the hidden field. + * Note: this column has a database default value of: 0 + * @var int + */ + protected $hidden; + /** * The value for the created_at field. * @var string @@ -340,6 +354,8 @@ abstract class Module implements ActiveRecordInterface { $this->version = ''; $this->category = 'classic'; + $this->mandatory = 0; + $this->hidden = 0; } /** @@ -690,6 +706,28 @@ abstract class Module implements ActiveRecordInterface return $this->full_namespace; } + /** + * Get the [mandatory] column value. + * + * @return int + */ + public function getMandatory() + { + + return $this->mandatory; + } + + /** + * Get the [hidden] column value. + * + * @return int + */ + public function getHidden() + { + + return $this->hidden; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -898,6 +936,48 @@ abstract class Module implements ActiveRecordInterface return $this; } // setFullNamespace() + /** + * Set the value of [mandatory] column. + * + * @param int $v new value + * @return \Thelia\Model\Module The current object (for fluent API support) + */ + public function setMandatory($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->mandatory !== $v) { + $this->mandatory = $v; + $this->modifiedColumns[ModuleTableMap::MANDATORY] = true; + } + + + return $this; + } // setMandatory() + + /** + * Set the value of [hidden] column. + * + * @param int $v new value + * @return \Thelia\Model\Module The current object (for fluent API support) + */ + public function setHidden($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->hidden !== $v) { + $this->hidden = $v; + $this->modifiedColumns[ModuleTableMap::HIDDEN] = true; + } + + + return $this; + } // setHidden() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -958,6 +1038,14 @@ abstract class Module implements ActiveRecordInterface return false; } + if ($this->mandatory !== 0) { + return false; + } + + if ($this->hidden !== 0) { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() @@ -1009,13 +1097,19 @@ abstract class Module implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : ModuleTableMap::translateFieldName('FullNamespace', TableMap::TYPE_PHPNAME, $indexType)]; $this->full_namespace = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ModuleTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ModuleTableMap::translateFieldName('Mandatory', TableMap::TYPE_PHPNAME, $indexType)]; + $this->mandatory = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : ModuleTableMap::translateFieldName('Hidden', TableMap::TYPE_PHPNAME, $indexType)]; + $this->hidden = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : ModuleTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : ModuleTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : ModuleTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -1028,7 +1122,7 @@ abstract class Module implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 10; // 10 = ModuleTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 12; // 12 = ModuleTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\Module object", 0, $e); @@ -1565,6 +1659,12 @@ abstract class Module implements ActiveRecordInterface if ($this->isColumnModified(ModuleTableMap::FULL_NAMESPACE)) { $modifiedColumns[':p' . $index++] = '`FULL_NAMESPACE`'; } + if ($this->isColumnModified(ModuleTableMap::MANDATORY)) { + $modifiedColumns[':p' . $index++] = '`MANDATORY`'; + } + if ($this->isColumnModified(ModuleTableMap::HIDDEN)) { + $modifiedColumns[':p' . $index++] = '`HIDDEN`'; + } if ($this->isColumnModified(ModuleTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = '`CREATED_AT`'; } @@ -1606,6 +1706,12 @@ abstract class Module implements ActiveRecordInterface case '`FULL_NAMESPACE`': $stmt->bindValue($identifier, $this->full_namespace, PDO::PARAM_STR); break; + case '`MANDATORY`': + $stmt->bindValue($identifier, $this->mandatory, PDO::PARAM_INT); + break; + case '`HIDDEN`': + $stmt->bindValue($identifier, $this->hidden, PDO::PARAM_INT); + break; case '`CREATED_AT`': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -1699,9 +1805,15 @@ abstract class Module implements ActiveRecordInterface return $this->getFullNamespace(); break; case 8: - return $this->getCreatedAt(); + return $this->getMandatory(); break; case 9: + return $this->getHidden(); + break; + case 10: + return $this->getCreatedAt(); + break; + case 11: return $this->getUpdatedAt(); break; default: @@ -1741,8 +1853,10 @@ abstract class Module implements ActiveRecordInterface $keys[5] => $this->getActivate(), $keys[6] => $this->getPosition(), $keys[7] => $this->getFullNamespace(), - $keys[8] => $this->getCreatedAt(), - $keys[9] => $this->getUpdatedAt(), + $keys[8] => $this->getMandatory(), + $keys[9] => $this->getHidden(), + $keys[10] => $this->getCreatedAt(), + $keys[11] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1842,9 +1956,15 @@ abstract class Module implements ActiveRecordInterface $this->setFullNamespace($value); break; case 8: - $this->setCreatedAt($value); + $this->setMandatory($value); break; case 9: + $this->setHidden($value); + break; + case 10: + $this->setCreatedAt($value); + break; + case 11: $this->setUpdatedAt($value); break; } // switch() @@ -1879,8 +1999,10 @@ abstract class Module implements ActiveRecordInterface if (array_key_exists($keys[5], $arr)) $this->setActivate($arr[$keys[5]]); if (array_key_exists($keys[6], $arr)) $this->setPosition($arr[$keys[6]]); if (array_key_exists($keys[7], $arr)) $this->setFullNamespace($arr[$keys[7]]); - if (array_key_exists($keys[8], $arr)) $this->setCreatedAt($arr[$keys[8]]); - if (array_key_exists($keys[9], $arr)) $this->setUpdatedAt($arr[$keys[9]]); + if (array_key_exists($keys[8], $arr)) $this->setMandatory($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setHidden($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setCreatedAt($arr[$keys[10]]); + if (array_key_exists($keys[11], $arr)) $this->setUpdatedAt($arr[$keys[11]]); } /** @@ -1900,6 +2022,8 @@ abstract class Module implements ActiveRecordInterface if ($this->isColumnModified(ModuleTableMap::ACTIVATE)) $criteria->add(ModuleTableMap::ACTIVATE, $this->activate); if ($this->isColumnModified(ModuleTableMap::POSITION)) $criteria->add(ModuleTableMap::POSITION, $this->position); if ($this->isColumnModified(ModuleTableMap::FULL_NAMESPACE)) $criteria->add(ModuleTableMap::FULL_NAMESPACE, $this->full_namespace); + if ($this->isColumnModified(ModuleTableMap::MANDATORY)) $criteria->add(ModuleTableMap::MANDATORY, $this->mandatory); + if ($this->isColumnModified(ModuleTableMap::HIDDEN)) $criteria->add(ModuleTableMap::HIDDEN, $this->hidden); if ($this->isColumnModified(ModuleTableMap::CREATED_AT)) $criteria->add(ModuleTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(ModuleTableMap::UPDATED_AT)) $criteria->add(ModuleTableMap::UPDATED_AT, $this->updated_at); @@ -1972,6 +2096,8 @@ abstract class Module implements ActiveRecordInterface $copyObj->setActivate($this->getActivate()); $copyObj->setPosition($this->getPosition()); $copyObj->setFullNamespace($this->getFullNamespace()); + $copyObj->setMandatory($this->getMandatory()); + $copyObj->setHidden($this->getHidden()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); @@ -5551,6 +5677,8 @@ abstract class Module implements ActiveRecordInterface $this->activate = null; $this->position = null; $this->full_namespace = null; + $this->mandatory = null; + $this->hidden = null; $this->created_at = null; $this->updated_at = null; $this->alreadyInSave = false; diff --git a/core/lib/Thelia/Model/Base/ModuleQuery.php b/core/lib/Thelia/Model/Base/ModuleQuery.php index 7b111444..eac1809d 100644 --- a/core/lib/Thelia/Model/Base/ModuleQuery.php +++ b/core/lib/Thelia/Model/Base/ModuleQuery.php @@ -30,6 +30,8 @@ use Thelia\Model\Map\ModuleTableMap; * @method ChildModuleQuery orderByActivate($order = Criteria::ASC) Order by the activate column * @method ChildModuleQuery orderByPosition($order = Criteria::ASC) Order by the position column * @method ChildModuleQuery orderByFullNamespace($order = Criteria::ASC) Order by the full_namespace column + * @method ChildModuleQuery orderByMandatory($order = Criteria::ASC) Order by the mandatory column + * @method ChildModuleQuery orderByHidden($order = Criteria::ASC) Order by the hidden column * @method ChildModuleQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildModuleQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * @@ -41,6 +43,8 @@ use Thelia\Model\Map\ModuleTableMap; * @method ChildModuleQuery groupByActivate() Group by the activate column * @method ChildModuleQuery groupByPosition() Group by the position column * @method ChildModuleQuery groupByFullNamespace() Group by the full_namespace column + * @method ChildModuleQuery groupByMandatory() Group by the mandatory column + * @method ChildModuleQuery groupByHidden() Group by the hidden column * @method ChildModuleQuery groupByCreatedAt() Group by the created_at column * @method ChildModuleQuery groupByUpdatedAt() Group by the updated_at column * @@ -103,6 +107,8 @@ use Thelia\Model\Map\ModuleTableMap; * @method ChildModule findOneByActivate(int $activate) Return the first ChildModule filtered by the activate column * @method ChildModule findOneByPosition(int $position) Return the first ChildModule filtered by the position column * @method ChildModule findOneByFullNamespace(string $full_namespace) Return the first ChildModule filtered by the full_namespace column + * @method ChildModule findOneByMandatory(int $mandatory) Return the first ChildModule filtered by the mandatory column + * @method ChildModule findOneByHidden(int $hidden) Return the first ChildModule filtered by the hidden column * @method ChildModule findOneByCreatedAt(string $created_at) Return the first ChildModule filtered by the created_at column * @method ChildModule findOneByUpdatedAt(string $updated_at) Return the first ChildModule filtered by the updated_at column * @@ -114,6 +120,8 @@ use Thelia\Model\Map\ModuleTableMap; * @method array findByActivate(int $activate) Return ChildModule objects filtered by the activate column * @method array findByPosition(int $position) Return ChildModule objects filtered by the position column * @method array findByFullNamespace(string $full_namespace) Return ChildModule objects filtered by the full_namespace column + * @method array findByMandatory(int $mandatory) Return ChildModule objects filtered by the mandatory column + * @method array findByHidden(int $hidden) Return ChildModule objects filtered by the hidden column * @method array findByCreatedAt(string $created_at) Return ChildModule objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildModule objects filtered by the updated_at column * @@ -204,7 +212,7 @@ abstract class ModuleQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT `ID`, `CODE`, `VERSION`, `TYPE`, `CATEGORY`, `ACTIVATE`, `POSITION`, `FULL_NAMESPACE`, `CREATED_AT`, `UPDATED_AT` FROM `module` WHERE `ID` = :p0'; + $sql = 'SELECT `ID`, `CODE`, `VERSION`, `TYPE`, `CATEGORY`, `ACTIVATE`, `POSITION`, `FULL_NAMESPACE`, `MANDATORY`, `HIDDEN`, `CREATED_AT`, `UPDATED_AT` FROM `module` WHERE `ID` = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -573,6 +581,88 @@ abstract class ModuleQuery extends ModelCriteria return $this->addUsingAlias(ModuleTableMap::FULL_NAMESPACE, $fullNamespace, $comparison); } + /** + * Filter the query on the mandatory column + * + * Example usage: + * + * $query->filterByMandatory(1234); // WHERE mandatory = 1234 + * $query->filterByMandatory(array(12, 34)); // WHERE mandatory IN (12, 34) + * $query->filterByMandatory(array('min' => 12)); // WHERE mandatory > 12 + * + * + * @param mixed $mandatory The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildModuleQuery The current query, for fluid interface + */ + public function filterByMandatory($mandatory = null, $comparison = null) + { + if (is_array($mandatory)) { + $useMinMax = false; + if (isset($mandatory['min'])) { + $this->addUsingAlias(ModuleTableMap::MANDATORY, $mandatory['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($mandatory['max'])) { + $this->addUsingAlias(ModuleTableMap::MANDATORY, $mandatory['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(ModuleTableMap::MANDATORY, $mandatory, $comparison); + } + + /** + * Filter the query on the hidden column + * + * Example usage: + * + * $query->filterByHidden(1234); // WHERE hidden = 1234 + * $query->filterByHidden(array(12, 34)); // WHERE hidden IN (12, 34) + * $query->filterByHidden(array('min' => 12)); // WHERE hidden > 12 + * + * + * @param mixed $hidden The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildModuleQuery The current query, for fluid interface + */ + public function filterByHidden($hidden = null, $comparison = null) + { + if (is_array($hidden)) { + $useMinMax = false; + if (isset($hidden['min'])) { + $this->addUsingAlias(ModuleTableMap::HIDDEN, $hidden['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($hidden['max'])) { + $this->addUsingAlias(ModuleTableMap::HIDDEN, $hidden['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(ModuleTableMap::HIDDEN, $hidden, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Base/OrderCoupon.php b/core/lib/Thelia/Model/Base/OrderCoupon.php index 917d2151..95968e92 100644 --- a/core/lib/Thelia/Model/Base/OrderCoupon.php +++ b/core/lib/Thelia/Model/Base/OrderCoupon.php @@ -156,6 +156,13 @@ abstract class OrderCoupon implements ActiveRecordInterface */ protected $per_customer_usage_count; + /** + * The value for the usage_canceled field. + * Note: this column has a database default value of: false + * @var boolean + */ + protected $usage_canceled; + /** * The value for the created_at field. * @var string @@ -236,6 +243,7 @@ abstract class OrderCoupon implements ActiveRecordInterface public function applyDefaultValues() { $this->amount = '0.000000'; + $this->usage_canceled = false; } /** @@ -681,6 +689,17 @@ abstract class OrderCoupon implements ActiveRecordInterface return $this->per_customer_usage_count; } + /** + * Get the [usage_canceled] column value. + * + * @return boolean + */ + public function getUsageCanceled() + { + + return $this->usage_canceled; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -1072,6 +1091,35 @@ abstract class OrderCoupon implements ActiveRecordInterface return $this; } // setPerCustomerUsageCount() + /** + * Sets the value of the [usage_canceled] column. + * Non-boolean arguments are converted using the following rules: + * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true + * * 0, '0', 'false', 'off', and 'no' are converted to boolean false + * Check on string values is case insensitive (so 'FaLsE' is seen as 'false'). + * + * @param boolean|integer|string $v The new value + * @return \Thelia\Model\OrderCoupon The current object (for fluent API support) + */ + public function setUsageCanceled($v) + { + if ($v !== null) { + if (is_string($v)) { + $v = in_array(strtolower($v), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true; + } else { + $v = (boolean) $v; + } + } + + if ($this->usage_canceled !== $v) { + $this->usage_canceled = $v; + $this->modifiedColumns[OrderCouponTableMap::USAGE_CANCELED] = true; + } + + + return $this; + } // setUsageCanceled() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -1128,6 +1176,10 @@ abstract class OrderCoupon implements ActiveRecordInterface return false; } + if ($this->usage_canceled !== false) { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() @@ -1206,13 +1258,16 @@ abstract class OrderCoupon implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : OrderCouponTableMap::translateFieldName('PerCustomerUsageCount', TableMap::TYPE_PHPNAME, $indexType)]; $this->per_customer_usage_count = (null !== $col) ? (boolean) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : OrderCouponTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : OrderCouponTableMap::translateFieldName('UsageCanceled', TableMap::TYPE_PHPNAME, $indexType)]; + $this->usage_canceled = (null !== $col) ? (boolean) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : OrderCouponTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : OrderCouponTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : OrderCouponTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -1225,7 +1280,7 @@ abstract class OrderCoupon implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 17; // 17 = OrderCouponTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 18; // 18 = OrderCouponTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\OrderCoupon object", 0, $e); @@ -1600,6 +1655,9 @@ abstract class OrderCoupon implements ActiveRecordInterface if ($this->isColumnModified(OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT)) { $modifiedColumns[':p' . $index++] = '`PER_CUSTOMER_USAGE_COUNT`'; } + if ($this->isColumnModified(OrderCouponTableMap::USAGE_CANCELED)) { + $modifiedColumns[':p' . $index++] = '`USAGE_CANCELED`'; + } if ($this->isColumnModified(OrderCouponTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = '`CREATED_AT`'; } @@ -1662,6 +1720,9 @@ abstract class OrderCoupon implements ActiveRecordInterface case '`PER_CUSTOMER_USAGE_COUNT`': $stmt->bindValue($identifier, (int) $this->per_customer_usage_count, PDO::PARAM_INT); break; + case '`USAGE_CANCELED`': + $stmt->bindValue($identifier, (int) $this->usage_canceled, PDO::PARAM_INT); + break; case '`CREATED_AT`': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -1776,9 +1837,12 @@ abstract class OrderCoupon implements ActiveRecordInterface return $this->getPerCustomerUsageCount(); break; case 15: - return $this->getCreatedAt(); + return $this->getUsageCanceled(); break; case 16: + return $this->getCreatedAt(); + break; + case 17: return $this->getUpdatedAt(); break; default: @@ -1825,8 +1889,9 @@ abstract class OrderCoupon implements ActiveRecordInterface $keys[12] => $this->getIsAvailableOnSpecialOffers(), $keys[13] => $this->getSerializedConditions(), $keys[14] => $this->getPerCustomerUsageCount(), - $keys[15] => $this->getCreatedAt(), - $keys[16] => $this->getUpdatedAt(), + $keys[15] => $this->getUsageCanceled(), + $keys[16] => $this->getCreatedAt(), + $keys[17] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1923,9 +1988,12 @@ abstract class OrderCoupon implements ActiveRecordInterface $this->setPerCustomerUsageCount($value); break; case 15: - $this->setCreatedAt($value); + $this->setUsageCanceled($value); break; case 16: + $this->setCreatedAt($value); + break; + case 17: $this->setUpdatedAt($value); break; } // switch() @@ -1967,8 +2035,9 @@ abstract class OrderCoupon implements ActiveRecordInterface if (array_key_exists($keys[12], $arr)) $this->setIsAvailableOnSpecialOffers($arr[$keys[12]]); if (array_key_exists($keys[13], $arr)) $this->setSerializedConditions($arr[$keys[13]]); if (array_key_exists($keys[14], $arr)) $this->setPerCustomerUsageCount($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setCreatedAt($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setUpdatedAt($arr[$keys[16]]); + if (array_key_exists($keys[15], $arr)) $this->setUsageCanceled($arr[$keys[15]]); + if (array_key_exists($keys[16], $arr)) $this->setCreatedAt($arr[$keys[16]]); + if (array_key_exists($keys[17], $arr)) $this->setUpdatedAt($arr[$keys[17]]); } /** @@ -1995,6 +2064,7 @@ abstract class OrderCoupon implements ActiveRecordInterface if ($this->isColumnModified(OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS)) $criteria->add(OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, $this->is_available_on_special_offers); if ($this->isColumnModified(OrderCouponTableMap::SERIALIZED_CONDITIONS)) $criteria->add(OrderCouponTableMap::SERIALIZED_CONDITIONS, $this->serialized_conditions); if ($this->isColumnModified(OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT)) $criteria->add(OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT, $this->per_customer_usage_count); + if ($this->isColumnModified(OrderCouponTableMap::USAGE_CANCELED)) $criteria->add(OrderCouponTableMap::USAGE_CANCELED, $this->usage_canceled); if ($this->isColumnModified(OrderCouponTableMap::CREATED_AT)) $criteria->add(OrderCouponTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(OrderCouponTableMap::UPDATED_AT)) $criteria->add(OrderCouponTableMap::UPDATED_AT, $this->updated_at); @@ -2074,6 +2144,7 @@ abstract class OrderCoupon implements ActiveRecordInterface $copyObj->setIsAvailableOnSpecialOffers($this->getIsAvailableOnSpecialOffers()); $copyObj->setSerializedConditions($this->getSerializedConditions()); $copyObj->setPerCustomerUsageCount($this->getPerCustomerUsageCount()); + $copyObj->setUsageCanceled($this->getUsageCanceled()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); @@ -3072,6 +3143,7 @@ abstract class OrderCoupon implements ActiveRecordInterface $this->is_available_on_special_offers = null; $this->serialized_conditions = null; $this->per_customer_usage_count = null; + $this->usage_canceled = null; $this->created_at = null; $this->updated_at = null; $this->alreadyInSave = false; diff --git a/core/lib/Thelia/Model/Base/OrderCouponQuery.php b/core/lib/Thelia/Model/Base/OrderCouponQuery.php index bb1264cd..8cbfd700 100644 --- a/core/lib/Thelia/Model/Base/OrderCouponQuery.php +++ b/core/lib/Thelia/Model/Base/OrderCouponQuery.php @@ -36,6 +36,7 @@ use Thelia\Model\Map\OrderCouponTableMap; * @method ChildOrderCouponQuery orderByIsAvailableOnSpecialOffers($order = Criteria::ASC) Order by the is_available_on_special_offers column * @method ChildOrderCouponQuery orderBySerializedConditions($order = Criteria::ASC) Order by the serialized_conditions column * @method ChildOrderCouponQuery orderByPerCustomerUsageCount($order = Criteria::ASC) Order by the per_customer_usage_count column + * @method ChildOrderCouponQuery orderByUsageCanceled($order = Criteria::ASC) Order by the usage_canceled column * @method ChildOrderCouponQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildOrderCouponQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * @@ -54,6 +55,7 @@ use Thelia\Model\Map\OrderCouponTableMap; * @method ChildOrderCouponQuery groupByIsAvailableOnSpecialOffers() Group by the is_available_on_special_offers column * @method ChildOrderCouponQuery groupBySerializedConditions() Group by the serialized_conditions column * @method ChildOrderCouponQuery groupByPerCustomerUsageCount() Group by the per_customer_usage_count column + * @method ChildOrderCouponQuery groupByUsageCanceled() Group by the usage_canceled column * @method ChildOrderCouponQuery groupByCreatedAt() Group by the created_at column * @method ChildOrderCouponQuery groupByUpdatedAt() Group by the updated_at column * @@ -91,6 +93,7 @@ use Thelia\Model\Map\OrderCouponTableMap; * @method ChildOrderCoupon findOneByIsAvailableOnSpecialOffers(boolean $is_available_on_special_offers) Return the first ChildOrderCoupon filtered by the is_available_on_special_offers column * @method ChildOrderCoupon findOneBySerializedConditions(string $serialized_conditions) Return the first ChildOrderCoupon filtered by the serialized_conditions column * @method ChildOrderCoupon findOneByPerCustomerUsageCount(boolean $per_customer_usage_count) Return the first ChildOrderCoupon filtered by the per_customer_usage_count column + * @method ChildOrderCoupon findOneByUsageCanceled(boolean $usage_canceled) Return the first ChildOrderCoupon filtered by the usage_canceled column * @method ChildOrderCoupon findOneByCreatedAt(string $created_at) Return the first ChildOrderCoupon filtered by the created_at column * @method ChildOrderCoupon findOneByUpdatedAt(string $updated_at) Return the first ChildOrderCoupon filtered by the updated_at column * @@ -109,6 +112,7 @@ use Thelia\Model\Map\OrderCouponTableMap; * @method array findByIsAvailableOnSpecialOffers(boolean $is_available_on_special_offers) Return ChildOrderCoupon objects filtered by the is_available_on_special_offers column * @method array findBySerializedConditions(string $serialized_conditions) Return ChildOrderCoupon objects filtered by the serialized_conditions column * @method array findByPerCustomerUsageCount(boolean $per_customer_usage_count) Return ChildOrderCoupon objects filtered by the per_customer_usage_count column + * @method array findByUsageCanceled(boolean $usage_canceled) Return ChildOrderCoupon objects filtered by the usage_canceled column * @method array findByCreatedAt(string $created_at) Return ChildOrderCoupon objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildOrderCoupon objects filtered by the updated_at column * @@ -199,7 +203,7 @@ abstract class OrderCouponQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT `ID`, `ORDER_ID`, `CODE`, `TYPE`, `AMOUNT`, `TITLE`, `SHORT_DESCRIPTION`, `DESCRIPTION`, `START_DATE`, `EXPIRATION_DATE`, `IS_CUMULATIVE`, `IS_REMOVING_POSTAGE`, `IS_AVAILABLE_ON_SPECIAL_OFFERS`, `SERIALIZED_CONDITIONS`, `PER_CUSTOMER_USAGE_COUNT`, `CREATED_AT`, `UPDATED_AT` FROM `order_coupon` WHERE `ID` = :p0'; + $sql = 'SELECT `ID`, `ORDER_ID`, `CODE`, `TYPE`, `AMOUNT`, `TITLE`, `SHORT_DESCRIPTION`, `DESCRIPTION`, `START_DATE`, `EXPIRATION_DATE`, `IS_CUMULATIVE`, `IS_REMOVING_POSTAGE`, `IS_AVAILABLE_ON_SPECIAL_OFFERS`, `SERIALIZED_CONDITIONS`, `PER_CUSTOMER_USAGE_COUNT`, `USAGE_CANCELED`, `CREATED_AT`, `UPDATED_AT` FROM `order_coupon` WHERE `ID` = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -781,6 +785,33 @@ abstract class OrderCouponQuery extends ModelCriteria return $this->addUsingAlias(OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT, $perCustomerUsageCount, $comparison); } + /** + * Filter the query on the usage_canceled column + * + * Example usage: + * + * $query->filterByUsageCanceled(true); // WHERE usage_canceled = true + * $query->filterByUsageCanceled('yes'); // WHERE usage_canceled = true + * + * + * @param boolean|string $usageCanceled The value to use as filter. + * Non-boolean arguments are converted using the following rules: + * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true + * * 0, '0', 'false', 'off', and 'no' are converted to boolean false + * Check on string values is case insensitive (so 'FaLsE' is seen as 'false'). + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildOrderCouponQuery The current query, for fluid interface + */ + public function filterByUsageCanceled($usageCanceled = null, $comparison = null) + { + if (is_string($usageCanceled)) { + $usage_canceled = in_array(strtolower($usageCanceled), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true; + } + + return $this->addUsingAlias(OrderCouponTableMap::USAGE_CANCELED, $usageCanceled, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Base/OrderStatus.php b/core/lib/Thelia/Model/Base/OrderStatus.php index 2e612d63..70eaecf4 100644 --- a/core/lib/Thelia/Model/Base/OrderStatus.php +++ b/core/lib/Thelia/Model/Base/OrderStatus.php @@ -71,6 +71,25 @@ abstract class OrderStatus implements ActiveRecordInterface */ protected $code; + /** + * The value for the color field. + * @var string + */ + protected $color; + + /** + * The value for the position field. + * @var int + */ + protected $position; + + /** + * The value for the protected_status field. + * Note: this column has a database default value of: false + * @var boolean + */ + protected $protected_status; + /** * The value for the created_at field. * @var string @@ -129,11 +148,24 @@ abstract class OrderStatus implements ActiveRecordInterface */ protected $orderStatusI18nsScheduledForDeletion = null; + /** + * Applies default values to this object. + * This method should be called from the object's constructor (or + * equivalent initialization method). + * @see __construct() + */ + public function applyDefaultValues() + { + $this->protected_status = false; + } + /** * Initializes internal state of Thelia\Model\Base\OrderStatus object. + * @see applyDefaults() */ public function __construct() { + $this->applyDefaultValues(); } /** @@ -409,6 +441,39 @@ abstract class OrderStatus implements ActiveRecordInterface return $this->code; } + /** + * Get the [color] column value. + * + * @return string + */ + public function getColor() + { + + return $this->color; + } + + /** + * Get the [position] column value. + * + * @return int + */ + public function getPosition() + { + + return $this->position; + } + + /** + * Get the [protected_status] column value. + * + * @return boolean + */ + public function getProtectedStatus() + { + + return $this->protected_status; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -491,6 +556,77 @@ abstract class OrderStatus implements ActiveRecordInterface return $this; } // setCode() + /** + * Set the value of [color] column. + * + * @param string $v new value + * @return \Thelia\Model\OrderStatus The current object (for fluent API support) + */ + public function setColor($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->color !== $v) { + $this->color = $v; + $this->modifiedColumns[OrderStatusTableMap::COLOR] = true; + } + + + return $this; + } // setColor() + + /** + * Set the value of [position] column. + * + * @param int $v new value + * @return \Thelia\Model\OrderStatus The current object (for fluent API support) + */ + public function setPosition($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->position !== $v) { + $this->position = $v; + $this->modifiedColumns[OrderStatusTableMap::POSITION] = true; + } + + + return $this; + } // setPosition() + + /** + * Sets the value of the [protected_status] column. + * Non-boolean arguments are converted using the following rules: + * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true + * * 0, '0', 'false', 'off', and 'no' are converted to boolean false + * Check on string values is case insensitive (so 'FaLsE' is seen as 'false'). + * + * @param boolean|integer|string $v The new value + * @return \Thelia\Model\OrderStatus The current object (for fluent API support) + */ + public function setProtectedStatus($v) + { + if ($v !== null) { + if (is_string($v)) { + $v = in_array(strtolower($v), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true; + } else { + $v = (boolean) $v; + } + } + + if ($this->protected_status !== $v) { + $this->protected_status = $v; + $this->modifiedColumns[OrderStatusTableMap::PROTECTED_STATUS] = true; + } + + + return $this; + } // setProtectedStatus() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -543,6 +679,10 @@ abstract class OrderStatus implements ActiveRecordInterface */ public function hasOnlyDefaultValues() { + if ($this->protected_status !== false) { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() @@ -576,13 +716,22 @@ abstract class OrderStatus implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : OrderStatusTableMap::translateFieldName('Code', TableMap::TYPE_PHPNAME, $indexType)]; $this->code = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : OrderStatusTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : OrderStatusTableMap::translateFieldName('Color', TableMap::TYPE_PHPNAME, $indexType)]; + $this->color = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : OrderStatusTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)]; + $this->position = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : OrderStatusTableMap::translateFieldName('ProtectedStatus', TableMap::TYPE_PHPNAME, $indexType)]; + $this->protected_status = (null !== $col) ? (boolean) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : OrderStatusTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : OrderStatusTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : OrderStatusTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -595,7 +744,7 @@ abstract class OrderStatus implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 4; // 4 = OrderStatusTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 7; // 7 = OrderStatusTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\OrderStatus object", 0, $e); @@ -859,6 +1008,15 @@ abstract class OrderStatus implements ActiveRecordInterface if ($this->isColumnModified(OrderStatusTableMap::CODE)) { $modifiedColumns[':p' . $index++] = '`CODE`'; } + if ($this->isColumnModified(OrderStatusTableMap::COLOR)) { + $modifiedColumns[':p' . $index++] = '`COLOR`'; + } + if ($this->isColumnModified(OrderStatusTableMap::POSITION)) { + $modifiedColumns[':p' . $index++] = '`POSITION`'; + } + if ($this->isColumnModified(OrderStatusTableMap::PROTECTED_STATUS)) { + $modifiedColumns[':p' . $index++] = '`PROTECTED_STATUS`'; + } if ($this->isColumnModified(OrderStatusTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = '`CREATED_AT`'; } @@ -882,6 +1040,15 @@ abstract class OrderStatus implements ActiveRecordInterface case '`CODE`': $stmt->bindValue($identifier, $this->code, PDO::PARAM_STR); break; + case '`COLOR`': + $stmt->bindValue($identifier, $this->color, PDO::PARAM_STR); + break; + case '`POSITION`': + $stmt->bindValue($identifier, $this->position, PDO::PARAM_INT); + break; + case '`PROTECTED_STATUS`': + $stmt->bindValue($identifier, (int) $this->protected_status, PDO::PARAM_INT); + break; case '`CREATED_AT`': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -957,9 +1124,18 @@ abstract class OrderStatus implements ActiveRecordInterface return $this->getCode(); break; case 2: - return $this->getCreatedAt(); + return $this->getColor(); break; case 3: + return $this->getPosition(); + break; + case 4: + return $this->getProtectedStatus(); + break; + case 5: + return $this->getCreatedAt(); + break; + case 6: return $this->getUpdatedAt(); break; default: @@ -993,8 +1169,11 @@ abstract class OrderStatus implements ActiveRecordInterface $result = array( $keys[0] => $this->getId(), $keys[1] => $this->getCode(), - $keys[2] => $this->getCreatedAt(), - $keys[3] => $this->getUpdatedAt(), + $keys[2] => $this->getColor(), + $keys[3] => $this->getPosition(), + $keys[4] => $this->getProtectedStatus(), + $keys[5] => $this->getCreatedAt(), + $keys[6] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1049,9 +1228,18 @@ abstract class OrderStatus implements ActiveRecordInterface $this->setCode($value); break; case 2: - $this->setCreatedAt($value); + $this->setColor($value); break; case 3: + $this->setPosition($value); + break; + case 4: + $this->setProtectedStatus($value); + break; + case 5: + $this->setCreatedAt($value); + break; + case 6: $this->setUpdatedAt($value); break; } // switch() @@ -1080,8 +1268,11 @@ abstract class OrderStatus implements ActiveRecordInterface if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setCode($arr[$keys[1]]); - if (array_key_exists($keys[2], $arr)) $this->setCreatedAt($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setUpdatedAt($arr[$keys[3]]); + if (array_key_exists($keys[2], $arr)) $this->setColor($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setPosition($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setProtectedStatus($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setCreatedAt($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setUpdatedAt($arr[$keys[6]]); } /** @@ -1095,6 +1286,9 @@ abstract class OrderStatus implements ActiveRecordInterface if ($this->isColumnModified(OrderStatusTableMap::ID)) $criteria->add(OrderStatusTableMap::ID, $this->id); if ($this->isColumnModified(OrderStatusTableMap::CODE)) $criteria->add(OrderStatusTableMap::CODE, $this->code); + if ($this->isColumnModified(OrderStatusTableMap::COLOR)) $criteria->add(OrderStatusTableMap::COLOR, $this->color); + if ($this->isColumnModified(OrderStatusTableMap::POSITION)) $criteria->add(OrderStatusTableMap::POSITION, $this->position); + if ($this->isColumnModified(OrderStatusTableMap::PROTECTED_STATUS)) $criteria->add(OrderStatusTableMap::PROTECTED_STATUS, $this->protected_status); if ($this->isColumnModified(OrderStatusTableMap::CREATED_AT)) $criteria->add(OrderStatusTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(OrderStatusTableMap::UPDATED_AT)) $criteria->add(OrderStatusTableMap::UPDATED_AT, $this->updated_at); @@ -1161,6 +1355,9 @@ abstract class OrderStatus implements ActiveRecordInterface public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { $copyObj->setCode($this->getCode()); + $copyObj->setColor($this->getColor()); + $copyObj->setPosition($this->getPosition()); + $copyObj->setProtectedStatus($this->getProtectedStatus()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); @@ -1855,10 +2052,14 @@ abstract class OrderStatus implements ActiveRecordInterface { $this->id = null; $this->code = null; + $this->color = null; + $this->position = null; + $this->protected_status = null; $this->created_at = null; $this->updated_at = null; $this->alreadyInSave = false; $this->clearAllReferences(); + $this->applyDefaultValues(); $this->resetModified(); $this->setNew(true); $this->setDeleted(false); diff --git a/core/lib/Thelia/Model/Base/OrderStatusQuery.php b/core/lib/Thelia/Model/Base/OrderStatusQuery.php index 3fa57cb4..efff3f2e 100644 --- a/core/lib/Thelia/Model/Base/OrderStatusQuery.php +++ b/core/lib/Thelia/Model/Base/OrderStatusQuery.php @@ -24,11 +24,17 @@ use Thelia\Model\Map\OrderStatusTableMap; * * @method ChildOrderStatusQuery orderById($order = Criteria::ASC) Order by the id column * @method ChildOrderStatusQuery orderByCode($order = Criteria::ASC) Order by the code column + * @method ChildOrderStatusQuery orderByColor($order = Criteria::ASC) Order by the color column + * @method ChildOrderStatusQuery orderByPosition($order = Criteria::ASC) Order by the position column + * @method ChildOrderStatusQuery orderByProtectedStatus($order = Criteria::ASC) Order by the protected_status column * @method ChildOrderStatusQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildOrderStatusQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * * @method ChildOrderStatusQuery groupById() Group by the id column * @method ChildOrderStatusQuery groupByCode() Group by the code column + * @method ChildOrderStatusQuery groupByColor() Group by the color column + * @method ChildOrderStatusQuery groupByPosition() Group by the position column + * @method ChildOrderStatusQuery groupByProtectedStatus() Group by the protected_status column * @method ChildOrderStatusQuery groupByCreatedAt() Group by the created_at column * @method ChildOrderStatusQuery groupByUpdatedAt() Group by the updated_at column * @@ -49,11 +55,17 @@ use Thelia\Model\Map\OrderStatusTableMap; * * @method ChildOrderStatus findOneById(int $id) Return the first ChildOrderStatus filtered by the id column * @method ChildOrderStatus findOneByCode(string $code) Return the first ChildOrderStatus filtered by the code column + * @method ChildOrderStatus findOneByColor(string $color) Return the first ChildOrderStatus filtered by the color column + * @method ChildOrderStatus findOneByPosition(int $position) Return the first ChildOrderStatus filtered by the position column + * @method ChildOrderStatus findOneByProtectedStatus(boolean $protected_status) Return the first ChildOrderStatus filtered by the protected_status column * @method ChildOrderStatus findOneByCreatedAt(string $created_at) Return the first ChildOrderStatus filtered by the created_at column * @method ChildOrderStatus findOneByUpdatedAt(string $updated_at) Return the first ChildOrderStatus filtered by the updated_at column * * @method array findById(int $id) Return ChildOrderStatus objects filtered by the id column * @method array findByCode(string $code) Return ChildOrderStatus objects filtered by the code column + * @method array findByColor(string $color) Return ChildOrderStatus objects filtered by the color column + * @method array findByPosition(int $position) Return ChildOrderStatus objects filtered by the position column + * @method array findByProtectedStatus(boolean $protected_status) Return ChildOrderStatus objects filtered by the protected_status column * @method array findByCreatedAt(string $created_at) Return ChildOrderStatus objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildOrderStatus objects filtered by the updated_at column * @@ -144,7 +156,7 @@ abstract class OrderStatusQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT `ID`, `CODE`, `CREATED_AT`, `UPDATED_AT` FROM `order_status` WHERE `ID` = :p0'; + $sql = 'SELECT `ID`, `CODE`, `COLOR`, `POSITION`, `PROTECTED_STATUS`, `CREATED_AT`, `UPDATED_AT` FROM `order_status` WHERE `ID` = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -303,6 +315,103 @@ abstract class OrderStatusQuery extends ModelCriteria return $this->addUsingAlias(OrderStatusTableMap::CODE, $code, $comparison); } + /** + * Filter the query on the color column + * + * Example usage: + * + * $query->filterByColor('fooValue'); // WHERE color = 'fooValue' + * $query->filterByColor('%fooValue%'); // WHERE color LIKE '%fooValue%' + * + * + * @param string $color The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildOrderStatusQuery The current query, for fluid interface + */ + public function filterByColor($color = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($color)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $color)) { + $color = str_replace('*', '%', $color); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(OrderStatusTableMap::COLOR, $color, $comparison); + } + + /** + * Filter the query on the position column + * + * Example usage: + * + * $query->filterByPosition(1234); // WHERE position = 1234 + * $query->filterByPosition(array(12, 34)); // WHERE position IN (12, 34) + * $query->filterByPosition(array('min' => 12)); // WHERE position > 12 + * + * + * @param mixed $position The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildOrderStatusQuery The current query, for fluid interface + */ + public function filterByPosition($position = null, $comparison = null) + { + if (is_array($position)) { + $useMinMax = false; + if (isset($position['min'])) { + $this->addUsingAlias(OrderStatusTableMap::POSITION, $position['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($position['max'])) { + $this->addUsingAlias(OrderStatusTableMap::POSITION, $position['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(OrderStatusTableMap::POSITION, $position, $comparison); + } + + /** + * Filter the query on the protected_status column + * + * Example usage: + * + * $query->filterByProtectedStatus(true); // WHERE protected_status = true + * $query->filterByProtectedStatus('yes'); // WHERE protected_status = true + * + * + * @param boolean|string $protectedStatus The value to use as filter. + * Non-boolean arguments are converted using the following rules: + * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true + * * 0, '0', 'false', 'off', and 'no' are converted to boolean false + * Check on string values is case insensitive (so 'FaLsE' is seen as 'false'). + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildOrderStatusQuery The current query, for fluid interface + */ + public function filterByProtectedStatus($protectedStatus = null, $comparison = null) + { + if (is_string($protectedStatus)) { + $protected_status = in_array(strtolower($protectedStatus), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true; + } + + return $this->addUsingAlias(OrderStatusTableMap::PROTECTED_STATUS, $protectedStatus, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Cart.php b/core/lib/Thelia/Model/Cart.php index 448ac6fb..84ea014e 100644 --- a/core/lib/Thelia/Model/Cart.php +++ b/core/lib/Thelia/Model/Cart.php @@ -8,6 +8,8 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Thelia\Core\Event\Cart\CartItemDuplicationItem; use Thelia\Core\Event\TheliaEvents; use Thelia\Model\Base\Cart as BaseCart; +use Thelia\Model\Country; +use Thelia\Model\State; class Cart extends BaseCart { @@ -110,8 +112,9 @@ class Cart extends BaseCart * * /!\ The postage amount is not available so it's the total with or without discount an without postage * - * @param Country $country - * @param bool $discount + * @param Country $country + * @param bool $discount + * @param State|null $state * @return float|int */ public function getTaxedAmount(Country $country, $discount = true, State $state = null) @@ -124,6 +127,7 @@ class Cart extends BaseCart if ($discount) { $total -= $this->getDiscount(); + if ($total < 0) { $total = 0; } @@ -135,7 +139,7 @@ class Cart extends BaseCart /** * * @see getTaxedAmount same as this method but the amount is without taxes - * @param bool $discount + * @param bool $discount * @return float|int */ public function getTotalAmount($discount = true) @@ -144,13 +148,19 @@ class Cart extends BaseCart foreach ($this->getCartItems() as $cartItem) { $subtotal = $cartItem->getRealPrice(); + $subtotal *= $cartItem->getQuantity(); $total += $subtotal; } if ($discount) { + // discount value is taxed see ISSUE #1476 $total -= $this->getDiscount(); + + if ($total < 0) { + $total = 0; + } } return $total; @@ -162,7 +172,7 @@ class Cart extends BaseCart */ public function getTotalVAT($taxCountry, $taxState = null) { - return ($this->getTaxedAmount($taxCountry) - $this->getTotalAmount()); + return ($this->getTaxedAmount($taxCountry, true, $taxState) - $this->getTotalAmount(true)); } /** diff --git a/core/lib/Thelia/Model/Category.php b/core/lib/Thelia/Model/Category.php index 1d5c4c3e..6156ba8e 100644 --- a/core/lib/Thelia/Model/Category.php +++ b/core/lib/Thelia/Model/Category.php @@ -3,7 +3,9 @@ namespace Thelia\Model; use Propel\Runtime\ActiveQuery\Criteria; +use Propel\Runtime\Collection\ObjectCollection; use Thelia\Core\Event\Category\CategoryEvent; +use Thelia\Core\Event\Product\ProductDeleteEvent; use Thelia\Files\FileModelParentInterface; use Thelia\Model\Base\Category as BaseCategory; use Thelia\Core\Event\TheliaEvents; @@ -42,22 +44,40 @@ class Category extends BaseCategory implements FileModelParentInterface * * /!\ the number of queries is exponential, use it with caution * + * @param bool|string $productVisibility: true (default) to count only visible products, false to count only hidden + * products, or * to count all products. * @return int */ - public function countAllProducts() + public function countAllProducts($productVisibility = true) { $children = CategoryQuery::findAllChild($this->getId()); array_push($children, $this); - $countProduct = 0; + $query = ProductQuery::create(); - foreach ($children as $child) { - $countProduct += ProductQuery::create() - ->filterByCategory($child) - ->count(); + if ($productVisibility !== '*') { + $query->filterByVisible($productVisibility); } - return $countProduct; + $query + ->useProductCategoryQuery() + ->filterByCategory(new ObjectCollection($children), Criteria::IN) + ->endUse(); + + return $query->count(); + } + + /** + * + * count visible products only for current category and sub categories + * + * /!\ the number of queries is exponential, use it with caution + * + * @return int + */ + public function countAllProductsVisibleOnly() + { + return $this->countAllProducts(true); } /** @@ -82,6 +102,7 @@ class Category extends BaseCategory implements FileModelParentInterface /** * Calculate next position relative to our parent + * @param CategoryQuery $query */ protected function addCriteriaToPositionQuery($query) { @@ -96,10 +117,10 @@ class Category extends BaseCategory implements FileModelParentInterface ->find($con); if ($productsCategories) { + /** @var ProductCategory $productCategory */ foreach ($productsCategories as $productCategory) { - $product = $productCategory->getProduct(); - if ($product) { - $product->delete($con); + if (null !== $product = $productCategory->getProduct()) { + $this->dispatchEvent(TheliaEvents::PRODUCT_DELETE, new ProductDeleteEvent($product->getId())); } } } diff --git a/core/lib/Thelia/Model/CategoryQuery.php b/core/lib/Thelia/Model/CategoryQuery.php index 0bfa9ce4..5dc3d83f 100644 --- a/core/lib/Thelia/Model/CategoryQuery.php +++ b/core/lib/Thelia/Model/CategoryQuery.php @@ -33,7 +33,7 @@ class CategoryQuery extends BaseCategoryQuery * * find all category children for a given category. an array of \Thelia\Model\Category is return * - * @param $categoryId the category id or an array of id + * @param int|int[] $categoryId the category id or an array of id * @param int $depth max depth you want to search * @param int $currentPos don't change this param, it is used for recursion * @return \Thelia\Model\Category[] diff --git a/core/lib/Thelia/Model/ConfigQuery.php b/core/lib/Thelia/Model/ConfigQuery.php index 9c40e966..e58b42c8 100644 --- a/core/lib/Thelia/Model/ConfigQuery.php +++ b/core/lib/Thelia/Model/ConfigQuery.php @@ -150,6 +150,15 @@ class ConfigQuery extends BaseConfigQuery return self::read('notify_newsletter_subscription', 0) != 0; } + /** + * @since 2.4 + * @return bool + */ + public static function isCustomerEmailConfirmationEnable() + { + return (bool) self::read('customer_email_confirmation', false); + } + /** * @return array a list of email addresses to send the shop's notifications */ diff --git a/core/lib/Thelia/Model/CountryAreaQuery.php b/core/lib/Thelia/Model/CountryAreaQuery.php index 0f315c70..dae1689c 100644 --- a/core/lib/Thelia/Model/CountryAreaQuery.php +++ b/core/lib/Thelia/Model/CountryAreaQuery.php @@ -23,7 +23,7 @@ class CountryAreaQuery extends BaseCountryAreaQuery if (null !== $state) { $countryAreaList = self::create() ->filterByCountryId($country->getId()) - ->filterByStateId($country->getId()) + ->filterByStateId($state->getId()) ->find(); if (count($countryAreaList) > 0) { diff --git a/core/lib/Thelia/Model/Customer.php b/core/lib/Thelia/Model/Customer.php index 94ee5d19..0eabac2e 100644 --- a/core/lib/Thelia/Model/Customer.php +++ b/core/lib/Thelia/Model/Customer.php @@ -14,6 +14,7 @@ use Thelia\Model\Map\CustomerTableMap; use Thelia\Core\Security\Role\Role; use Thelia\Core\Event\Customer\CustomerEvent; use Thelia\Core\Translation\Translator; +use Thelia\Model\Tools\ModelEventDispatcherTrait; /** * Skeleton subclass for representing a row from the 'customer' table. @@ -28,7 +29,7 @@ use Thelia\Core\Translation\Translator; */ class Customer extends BaseCustomer implements UserInterface { - use \Thelia\Model\Tools\ModelEventDispatcherTrait; + use ModelEventDispatcherTrait; /** * @param int $titleId customer title id (from customer_title table) @@ -119,6 +120,10 @@ class Customer extends BaseCustomer implements UserInterface ; $this->addAddress($address); + + if (ConfigQuery::isCustomerEmailConfirmationEnable()) { + $this->setConfirmationToken(bin2hex(random_bytes(32))); + } } else { $address = $this->getDefaultAddress(); @@ -143,7 +148,7 @@ class Customer extends BaseCustomer implements UserInterface $con->commit(); } catch (PropelException $e) { - $con->rollback(); + $con->rollBack(); throw $e; } } @@ -282,7 +287,7 @@ class Customer extends BaseCustomer implements UserInterface return parent::setEmail($email); } - /** + /** * {@inheritDoc} */ public function getUsername() diff --git a/core/lib/Thelia/Model/Folder.php b/core/lib/Thelia/Model/Folder.php index ebafc90f..a9e09fee 100644 --- a/core/lib/Thelia/Model/Folder.php +++ b/core/lib/Thelia/Model/Folder.php @@ -3,19 +3,23 @@ namespace Thelia\Model; use Propel\Runtime\ActiveQuery\Criteria; +use Propel\Runtime\Collection\ObjectCollection; +use Propel\Runtime\Connection\ConnectionInterface; use Thelia\Core\Event\Folder\FolderEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Files\FileModelParentInterface; use Thelia\Model\Base\Folder as BaseFolder; -use Propel\Runtime\Connection\ConnectionInterface; +use Thelia\Model\Tools\ModelEventDispatcherTrait; +use Thelia\Model\Tools\PositionManagementTrait; +use Thelia\Model\Tools\UrlRewritingTrait; class Folder extends BaseFolder implements FileModelParentInterface { - use \Thelia\Model\Tools\ModelEventDispatcherTrait; + use ModelEventDispatcherTrait; - use \Thelia\Model\Tools\PositionManagementTrait; + use PositionManagementTrait; - use \Thelia\Model\Tools\UrlRewritingTrait; + use UrlRewritingTrait; /** * {@inheritDoc} @@ -34,25 +38,25 @@ class Folder extends BaseFolder implements FileModelParentInterface } /** - * * count all products for current category and sub categories * + * @param bool|string $contentVisibility true (default) to count only visible products, false to count only hidden + * products, or * to count all products. * @return int */ - public function countAllContents() + public function countAllContents($contentVisibility = true) { $children = FolderQuery::findAllChild($this->getId()); array_push($children, $this); - $contentsCount = 0; - foreach ($children as $child) { - $contentsCount += ContentQuery::create() - ->filterByFolder($child) - ->count(); + $query = ContentQuery::create()->filterByFolder(new ObjectCollection($children), Criteria::IN); + + if ($contentVisibility !== '*') { + $query->filterByVisible($contentVisibility); } - return $contentsCount; + return $query->count(); } /** @@ -77,6 +81,8 @@ class Folder extends BaseFolder implements FileModelParentInterface /** * Calculate next position relative to our parent + + * @param FolderQuery $query */ protected function addCriteriaToPositionQuery($query) { diff --git a/core/lib/Thelia/Model/FolderQuery.php b/core/lib/Thelia/Model/FolderQuery.php index df782b02..cb7ce2a9 100644 --- a/core/lib/Thelia/Model/FolderQuery.php +++ b/core/lib/Thelia/Model/FolderQuery.php @@ -49,7 +49,7 @@ class FolderQuery extends BaseFolderQuery $currentPosition++; if ($depth == $currentPosition && $depth != 0) { - return; + return[]; } $categories = self::create() diff --git a/core/lib/Thelia/Model/Map/CustomerTableMap.php b/core/lib/Thelia/Model/Map/CustomerTableMap.php index ea2291e1..d67274c6 100644 --- a/core/lib/Thelia/Model/Map/CustomerTableMap.php +++ b/core/lib/Thelia/Model/Map/CustomerTableMap.php @@ -58,7 +58,7 @@ class CustomerTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 19; + const NUM_COLUMNS = 21; /** * The number of lazy-loaded columns @@ -68,7 +68,7 @@ class CustomerTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 19; + const NUM_HYDRATE_COLUMNS = 21; /** * the column name for the ID field @@ -140,6 +140,16 @@ class CustomerTableMap extends TableMap */ const REMEMBER_ME_SERIAL = 'customer.REMEMBER_ME_SERIAL'; + /** + * the column name for the ENABLE field + */ + const ENABLE = 'customer.ENABLE'; + + /** + * the column name for the CONFIRMATION_TOKEN field + */ + const CONFIRMATION_TOKEN = 'customer.CONFIRMATION_TOKEN'; + /** * the column name for the CREATED_AT field */ @@ -177,12 +187,12 @@ class CustomerTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'TitleId', 'LangId', 'Ref', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Sponsor', 'Discount', 'RememberMeToken', 'RememberMeSerial', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ), - self::TYPE_STUDLYPHPNAME => array('id', 'titleId', 'langId', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'rememberMeToken', 'rememberMeSerial', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ), - self::TYPE_COLNAME => array(CustomerTableMap::ID, CustomerTableMap::TITLE_ID, CustomerTableMap::LANG_ID, CustomerTableMap::REF, CustomerTableMap::FIRSTNAME, CustomerTableMap::LASTNAME, CustomerTableMap::EMAIL, CustomerTableMap::PASSWORD, CustomerTableMap::ALGO, CustomerTableMap::RESELLER, CustomerTableMap::SPONSOR, CustomerTableMap::DISCOUNT, CustomerTableMap::REMEMBER_ME_TOKEN, CustomerTableMap::REMEMBER_ME_SERIAL, CustomerTableMap::CREATED_AT, CustomerTableMap::UPDATED_AT, CustomerTableMap::VERSION, CustomerTableMap::VERSION_CREATED_AT, CustomerTableMap::VERSION_CREATED_BY, ), - self::TYPE_RAW_COLNAME => array('ID', 'TITLE_ID', 'LANG_ID', 'REF', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'SPONSOR', 'DISCOUNT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ), - self::TYPE_FIELDNAME => array('id', 'title_id', 'lang_id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'remember_me_token', 'remember_me_serial', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) + self::TYPE_PHPNAME => array('Id', 'TitleId', 'LangId', 'Ref', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Sponsor', 'Discount', 'RememberMeToken', 'RememberMeSerial', 'Enable', 'ConfirmationToken', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ), + self::TYPE_STUDLYPHPNAME => array('id', 'titleId', 'langId', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'rememberMeToken', 'rememberMeSerial', 'enable', 'confirmationToken', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ), + self::TYPE_COLNAME => array(CustomerTableMap::ID, CustomerTableMap::TITLE_ID, CustomerTableMap::LANG_ID, CustomerTableMap::REF, CustomerTableMap::FIRSTNAME, CustomerTableMap::LASTNAME, CustomerTableMap::EMAIL, CustomerTableMap::PASSWORD, CustomerTableMap::ALGO, CustomerTableMap::RESELLER, CustomerTableMap::SPONSOR, CustomerTableMap::DISCOUNT, CustomerTableMap::REMEMBER_ME_TOKEN, CustomerTableMap::REMEMBER_ME_SERIAL, CustomerTableMap::ENABLE, CustomerTableMap::CONFIRMATION_TOKEN, CustomerTableMap::CREATED_AT, CustomerTableMap::UPDATED_AT, CustomerTableMap::VERSION, CustomerTableMap::VERSION_CREATED_AT, CustomerTableMap::VERSION_CREATED_BY, ), + self::TYPE_RAW_COLNAME => array('ID', 'TITLE_ID', 'LANG_ID', 'REF', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'SPONSOR', 'DISCOUNT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'ENABLE', 'CONFIRMATION_TOKEN', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ), + self::TYPE_FIELDNAME => array('id', 'title_id', 'lang_id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'remember_me_token', 'remember_me_serial', 'enable', 'confirmation_token', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ) ); /** @@ -192,12 +202,12 @@ class CustomerTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'TitleId' => 1, 'LangId' => 2, 'Ref' => 3, 'Firstname' => 4, 'Lastname' => 5, 'Email' => 6, 'Password' => 7, 'Algo' => 8, 'Reseller' => 9, 'Sponsor' => 10, 'Discount' => 11, 'RememberMeToken' => 12, 'RememberMeSerial' => 13, 'CreatedAt' => 14, 'UpdatedAt' => 15, 'Version' => 16, 'VersionCreatedAt' => 17, 'VersionCreatedBy' => 18, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'titleId' => 1, 'langId' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'rememberMeToken' => 12, 'rememberMeSerial' => 13, 'createdAt' => 14, 'updatedAt' => 15, 'version' => 16, 'versionCreatedAt' => 17, 'versionCreatedBy' => 18, ), - self::TYPE_COLNAME => array(CustomerTableMap::ID => 0, CustomerTableMap::TITLE_ID => 1, CustomerTableMap::LANG_ID => 2, CustomerTableMap::REF => 3, CustomerTableMap::FIRSTNAME => 4, CustomerTableMap::LASTNAME => 5, CustomerTableMap::EMAIL => 6, CustomerTableMap::PASSWORD => 7, CustomerTableMap::ALGO => 8, CustomerTableMap::RESELLER => 9, CustomerTableMap::SPONSOR => 10, CustomerTableMap::DISCOUNT => 11, CustomerTableMap::REMEMBER_ME_TOKEN => 12, CustomerTableMap::REMEMBER_ME_SERIAL => 13, CustomerTableMap::CREATED_AT => 14, CustomerTableMap::UPDATED_AT => 15, CustomerTableMap::VERSION => 16, CustomerTableMap::VERSION_CREATED_AT => 17, CustomerTableMap::VERSION_CREATED_BY => 18, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'TITLE_ID' => 1, 'LANG_ID' => 2, 'REF' => 3, 'FIRSTNAME' => 4, 'LASTNAME' => 5, 'EMAIL' => 6, 'PASSWORD' => 7, 'ALGO' => 8, 'RESELLER' => 9, 'SPONSOR' => 10, 'DISCOUNT' => 11, 'REMEMBER_ME_TOKEN' => 12, 'REMEMBER_ME_SERIAL' => 13, 'CREATED_AT' => 14, 'UPDATED_AT' => 15, 'VERSION' => 16, 'VERSION_CREATED_AT' => 17, 'VERSION_CREATED_BY' => 18, ), - self::TYPE_FIELDNAME => array('id' => 0, 'title_id' => 1, 'lang_id' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'remember_me_token' => 12, 'remember_me_serial' => 13, 'created_at' => 14, 'updated_at' => 15, 'version' => 16, 'version_created_at' => 17, 'version_created_by' => 18, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) + self::TYPE_PHPNAME => array('Id' => 0, 'TitleId' => 1, 'LangId' => 2, 'Ref' => 3, 'Firstname' => 4, 'Lastname' => 5, 'Email' => 6, 'Password' => 7, 'Algo' => 8, 'Reseller' => 9, 'Sponsor' => 10, 'Discount' => 11, 'RememberMeToken' => 12, 'RememberMeSerial' => 13, 'Enable' => 14, 'ConfirmationToken' => 15, 'CreatedAt' => 16, 'UpdatedAt' => 17, 'Version' => 18, 'VersionCreatedAt' => 19, 'VersionCreatedBy' => 20, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'titleId' => 1, 'langId' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'rememberMeToken' => 12, 'rememberMeSerial' => 13, 'enable' => 14, 'confirmationToken' => 15, 'createdAt' => 16, 'updatedAt' => 17, 'version' => 18, 'versionCreatedAt' => 19, 'versionCreatedBy' => 20, ), + self::TYPE_COLNAME => array(CustomerTableMap::ID => 0, CustomerTableMap::TITLE_ID => 1, CustomerTableMap::LANG_ID => 2, CustomerTableMap::REF => 3, CustomerTableMap::FIRSTNAME => 4, CustomerTableMap::LASTNAME => 5, CustomerTableMap::EMAIL => 6, CustomerTableMap::PASSWORD => 7, CustomerTableMap::ALGO => 8, CustomerTableMap::RESELLER => 9, CustomerTableMap::SPONSOR => 10, CustomerTableMap::DISCOUNT => 11, CustomerTableMap::REMEMBER_ME_TOKEN => 12, CustomerTableMap::REMEMBER_ME_SERIAL => 13, CustomerTableMap::ENABLE => 14, CustomerTableMap::CONFIRMATION_TOKEN => 15, CustomerTableMap::CREATED_AT => 16, CustomerTableMap::UPDATED_AT => 17, CustomerTableMap::VERSION => 18, CustomerTableMap::VERSION_CREATED_AT => 19, CustomerTableMap::VERSION_CREATED_BY => 20, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'TITLE_ID' => 1, 'LANG_ID' => 2, 'REF' => 3, 'FIRSTNAME' => 4, 'LASTNAME' => 5, 'EMAIL' => 6, 'PASSWORD' => 7, 'ALGO' => 8, 'RESELLER' => 9, 'SPONSOR' => 10, 'DISCOUNT' => 11, 'REMEMBER_ME_TOKEN' => 12, 'REMEMBER_ME_SERIAL' => 13, 'ENABLE' => 14, 'CONFIRMATION_TOKEN' => 15, 'CREATED_AT' => 16, 'UPDATED_AT' => 17, 'VERSION' => 18, 'VERSION_CREATED_AT' => 19, 'VERSION_CREATED_BY' => 20, ), + self::TYPE_FIELDNAME => array('id' => 0, 'title_id' => 1, 'lang_id' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'remember_me_token' => 12, 'remember_me_serial' => 13, 'enable' => 14, 'confirmation_token' => 15, 'created_at' => 16, 'updated_at' => 17, 'version' => 18, 'version_created_at' => 19, 'version_created_by' => 20, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ) ); /** @@ -230,6 +240,8 @@ class CustomerTableMap extends TableMap $this->addColumn('DISCOUNT', 'Discount', 'DECIMAL', false, 16, 0); $this->addColumn('REMEMBER_ME_TOKEN', 'RememberMeToken', 'VARCHAR', false, 255, null); $this->addColumn('REMEMBER_ME_SERIAL', 'RememberMeSerial', 'VARCHAR', false, 255, null); + $this->addColumn('ENABLE', 'Enable', 'TINYINT', false, null, 0); + $this->addColumn('CONFIRMATION_TOKEN', 'ConfirmationToken', 'VARCHAR', false, 255, null); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('VERSION', 'Version', 'INTEGER', false, null, 0); @@ -430,6 +442,8 @@ class CustomerTableMap extends TableMap $criteria->addSelectColumn(CustomerTableMap::DISCOUNT); $criteria->addSelectColumn(CustomerTableMap::REMEMBER_ME_TOKEN); $criteria->addSelectColumn(CustomerTableMap::REMEMBER_ME_SERIAL); + $criteria->addSelectColumn(CustomerTableMap::ENABLE); + $criteria->addSelectColumn(CustomerTableMap::CONFIRMATION_TOKEN); $criteria->addSelectColumn(CustomerTableMap::CREATED_AT); $criteria->addSelectColumn(CustomerTableMap::UPDATED_AT); $criteria->addSelectColumn(CustomerTableMap::VERSION); @@ -450,6 +464,8 @@ class CustomerTableMap extends TableMap $criteria->addSelectColumn($alias . '.DISCOUNT'); $criteria->addSelectColumn($alias . '.REMEMBER_ME_TOKEN'); $criteria->addSelectColumn($alias . '.REMEMBER_ME_SERIAL'); + $criteria->addSelectColumn($alias . '.ENABLE'); + $criteria->addSelectColumn($alias . '.CONFIRMATION_TOKEN'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); $criteria->addSelectColumn($alias . '.VERSION'); diff --git a/core/lib/Thelia/Model/Map/CustomerVersionTableMap.php b/core/lib/Thelia/Model/Map/CustomerVersionTableMap.php index 38f156e3..42ff428e 100644 --- a/core/lib/Thelia/Model/Map/CustomerVersionTableMap.php +++ b/core/lib/Thelia/Model/Map/CustomerVersionTableMap.php @@ -58,7 +58,7 @@ class CustomerVersionTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 21; + const NUM_COLUMNS = 23; /** * The number of lazy-loaded columns @@ -68,7 +68,7 @@ class CustomerVersionTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 21; + const NUM_HYDRATE_COLUMNS = 23; /** * the column name for the ID field @@ -140,6 +140,16 @@ class CustomerVersionTableMap extends TableMap */ const REMEMBER_ME_SERIAL = 'customer_version.REMEMBER_ME_SERIAL'; + /** + * the column name for the ENABLE field + */ + const ENABLE = 'customer_version.ENABLE'; + + /** + * the column name for the CONFIRMATION_TOKEN field + */ + const CONFIRMATION_TOKEN = 'customer_version.CONFIRMATION_TOKEN'; + /** * the column name for the CREATED_AT field */ @@ -187,12 +197,12 @@ class CustomerVersionTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'TitleId', 'LangId', 'Ref', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Sponsor', 'Discount', 'RememberMeToken', 'RememberMeSerial', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', 'OrderIds', 'OrderVersions', ), - self::TYPE_STUDLYPHPNAME => array('id', 'titleId', 'langId', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'rememberMeToken', 'rememberMeSerial', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', 'orderIds', 'orderVersions', ), - self::TYPE_COLNAME => array(CustomerVersionTableMap::ID, CustomerVersionTableMap::TITLE_ID, CustomerVersionTableMap::LANG_ID, CustomerVersionTableMap::REF, CustomerVersionTableMap::FIRSTNAME, CustomerVersionTableMap::LASTNAME, CustomerVersionTableMap::EMAIL, CustomerVersionTableMap::PASSWORD, CustomerVersionTableMap::ALGO, CustomerVersionTableMap::RESELLER, CustomerVersionTableMap::SPONSOR, CustomerVersionTableMap::DISCOUNT, CustomerVersionTableMap::REMEMBER_ME_TOKEN, CustomerVersionTableMap::REMEMBER_ME_SERIAL, CustomerVersionTableMap::CREATED_AT, CustomerVersionTableMap::UPDATED_AT, CustomerVersionTableMap::VERSION, CustomerVersionTableMap::VERSION_CREATED_AT, CustomerVersionTableMap::VERSION_CREATED_BY, CustomerVersionTableMap::ORDER_IDS, CustomerVersionTableMap::ORDER_VERSIONS, ), - self::TYPE_RAW_COLNAME => array('ID', 'TITLE_ID', 'LANG_ID', 'REF', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'SPONSOR', 'DISCOUNT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', 'ORDER_IDS', 'ORDER_VERSIONS', ), - self::TYPE_FIELDNAME => array('id', 'title_id', 'lang_id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'remember_me_token', 'remember_me_serial', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', 'order_ids', 'order_versions', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ) + self::TYPE_PHPNAME => array('Id', 'TitleId', 'LangId', 'Ref', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Sponsor', 'Discount', 'RememberMeToken', 'RememberMeSerial', 'Enable', 'ConfirmationToken', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', 'OrderIds', 'OrderVersions', ), + self::TYPE_STUDLYPHPNAME => array('id', 'titleId', 'langId', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'rememberMeToken', 'rememberMeSerial', 'enable', 'confirmationToken', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', 'orderIds', 'orderVersions', ), + self::TYPE_COLNAME => array(CustomerVersionTableMap::ID, CustomerVersionTableMap::TITLE_ID, CustomerVersionTableMap::LANG_ID, CustomerVersionTableMap::REF, CustomerVersionTableMap::FIRSTNAME, CustomerVersionTableMap::LASTNAME, CustomerVersionTableMap::EMAIL, CustomerVersionTableMap::PASSWORD, CustomerVersionTableMap::ALGO, CustomerVersionTableMap::RESELLER, CustomerVersionTableMap::SPONSOR, CustomerVersionTableMap::DISCOUNT, CustomerVersionTableMap::REMEMBER_ME_TOKEN, CustomerVersionTableMap::REMEMBER_ME_SERIAL, CustomerVersionTableMap::ENABLE, CustomerVersionTableMap::CONFIRMATION_TOKEN, CustomerVersionTableMap::CREATED_AT, CustomerVersionTableMap::UPDATED_AT, CustomerVersionTableMap::VERSION, CustomerVersionTableMap::VERSION_CREATED_AT, CustomerVersionTableMap::VERSION_CREATED_BY, CustomerVersionTableMap::ORDER_IDS, CustomerVersionTableMap::ORDER_VERSIONS, ), + self::TYPE_RAW_COLNAME => array('ID', 'TITLE_ID', 'LANG_ID', 'REF', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'SPONSOR', 'DISCOUNT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'ENABLE', 'CONFIRMATION_TOKEN', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', 'ORDER_IDS', 'ORDER_VERSIONS', ), + self::TYPE_FIELDNAME => array('id', 'title_id', 'lang_id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'sponsor', 'discount', 'remember_me_token', 'remember_me_serial', 'enable', 'confirmation_token', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', 'order_ids', 'order_versions', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, ) ); /** @@ -202,12 +212,12 @@ class CustomerVersionTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'TitleId' => 1, 'LangId' => 2, 'Ref' => 3, 'Firstname' => 4, 'Lastname' => 5, 'Email' => 6, 'Password' => 7, 'Algo' => 8, 'Reseller' => 9, 'Sponsor' => 10, 'Discount' => 11, 'RememberMeToken' => 12, 'RememberMeSerial' => 13, 'CreatedAt' => 14, 'UpdatedAt' => 15, 'Version' => 16, 'VersionCreatedAt' => 17, 'VersionCreatedBy' => 18, 'OrderIds' => 19, 'OrderVersions' => 20, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'titleId' => 1, 'langId' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'rememberMeToken' => 12, 'rememberMeSerial' => 13, 'createdAt' => 14, 'updatedAt' => 15, 'version' => 16, 'versionCreatedAt' => 17, 'versionCreatedBy' => 18, 'orderIds' => 19, 'orderVersions' => 20, ), - self::TYPE_COLNAME => array(CustomerVersionTableMap::ID => 0, CustomerVersionTableMap::TITLE_ID => 1, CustomerVersionTableMap::LANG_ID => 2, CustomerVersionTableMap::REF => 3, CustomerVersionTableMap::FIRSTNAME => 4, CustomerVersionTableMap::LASTNAME => 5, CustomerVersionTableMap::EMAIL => 6, CustomerVersionTableMap::PASSWORD => 7, CustomerVersionTableMap::ALGO => 8, CustomerVersionTableMap::RESELLER => 9, CustomerVersionTableMap::SPONSOR => 10, CustomerVersionTableMap::DISCOUNT => 11, CustomerVersionTableMap::REMEMBER_ME_TOKEN => 12, CustomerVersionTableMap::REMEMBER_ME_SERIAL => 13, CustomerVersionTableMap::CREATED_AT => 14, CustomerVersionTableMap::UPDATED_AT => 15, CustomerVersionTableMap::VERSION => 16, CustomerVersionTableMap::VERSION_CREATED_AT => 17, CustomerVersionTableMap::VERSION_CREATED_BY => 18, CustomerVersionTableMap::ORDER_IDS => 19, CustomerVersionTableMap::ORDER_VERSIONS => 20, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'TITLE_ID' => 1, 'LANG_ID' => 2, 'REF' => 3, 'FIRSTNAME' => 4, 'LASTNAME' => 5, 'EMAIL' => 6, 'PASSWORD' => 7, 'ALGO' => 8, 'RESELLER' => 9, 'SPONSOR' => 10, 'DISCOUNT' => 11, 'REMEMBER_ME_TOKEN' => 12, 'REMEMBER_ME_SERIAL' => 13, 'CREATED_AT' => 14, 'UPDATED_AT' => 15, 'VERSION' => 16, 'VERSION_CREATED_AT' => 17, 'VERSION_CREATED_BY' => 18, 'ORDER_IDS' => 19, 'ORDER_VERSIONS' => 20, ), - self::TYPE_FIELDNAME => array('id' => 0, 'title_id' => 1, 'lang_id' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'remember_me_token' => 12, 'remember_me_serial' => 13, 'created_at' => 14, 'updated_at' => 15, 'version' => 16, 'version_created_at' => 17, 'version_created_by' => 18, 'order_ids' => 19, 'order_versions' => 20, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ) + self::TYPE_PHPNAME => array('Id' => 0, 'TitleId' => 1, 'LangId' => 2, 'Ref' => 3, 'Firstname' => 4, 'Lastname' => 5, 'Email' => 6, 'Password' => 7, 'Algo' => 8, 'Reseller' => 9, 'Sponsor' => 10, 'Discount' => 11, 'RememberMeToken' => 12, 'RememberMeSerial' => 13, 'Enable' => 14, 'ConfirmationToken' => 15, 'CreatedAt' => 16, 'UpdatedAt' => 17, 'Version' => 18, 'VersionCreatedAt' => 19, 'VersionCreatedBy' => 20, 'OrderIds' => 21, 'OrderVersions' => 22, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'titleId' => 1, 'langId' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'rememberMeToken' => 12, 'rememberMeSerial' => 13, 'enable' => 14, 'confirmationToken' => 15, 'createdAt' => 16, 'updatedAt' => 17, 'version' => 18, 'versionCreatedAt' => 19, 'versionCreatedBy' => 20, 'orderIds' => 21, 'orderVersions' => 22, ), + self::TYPE_COLNAME => array(CustomerVersionTableMap::ID => 0, CustomerVersionTableMap::TITLE_ID => 1, CustomerVersionTableMap::LANG_ID => 2, CustomerVersionTableMap::REF => 3, CustomerVersionTableMap::FIRSTNAME => 4, CustomerVersionTableMap::LASTNAME => 5, CustomerVersionTableMap::EMAIL => 6, CustomerVersionTableMap::PASSWORD => 7, CustomerVersionTableMap::ALGO => 8, CustomerVersionTableMap::RESELLER => 9, CustomerVersionTableMap::SPONSOR => 10, CustomerVersionTableMap::DISCOUNT => 11, CustomerVersionTableMap::REMEMBER_ME_TOKEN => 12, CustomerVersionTableMap::REMEMBER_ME_SERIAL => 13, CustomerVersionTableMap::ENABLE => 14, CustomerVersionTableMap::CONFIRMATION_TOKEN => 15, CustomerVersionTableMap::CREATED_AT => 16, CustomerVersionTableMap::UPDATED_AT => 17, CustomerVersionTableMap::VERSION => 18, CustomerVersionTableMap::VERSION_CREATED_AT => 19, CustomerVersionTableMap::VERSION_CREATED_BY => 20, CustomerVersionTableMap::ORDER_IDS => 21, CustomerVersionTableMap::ORDER_VERSIONS => 22, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'TITLE_ID' => 1, 'LANG_ID' => 2, 'REF' => 3, 'FIRSTNAME' => 4, 'LASTNAME' => 5, 'EMAIL' => 6, 'PASSWORD' => 7, 'ALGO' => 8, 'RESELLER' => 9, 'SPONSOR' => 10, 'DISCOUNT' => 11, 'REMEMBER_ME_TOKEN' => 12, 'REMEMBER_ME_SERIAL' => 13, 'ENABLE' => 14, 'CONFIRMATION_TOKEN' => 15, 'CREATED_AT' => 16, 'UPDATED_AT' => 17, 'VERSION' => 18, 'VERSION_CREATED_AT' => 19, 'VERSION_CREATED_BY' => 20, 'ORDER_IDS' => 21, 'ORDER_VERSIONS' => 22, ), + self::TYPE_FIELDNAME => array('id' => 0, 'title_id' => 1, 'lang_id' => 2, 'ref' => 3, 'firstname' => 4, 'lastname' => 5, 'email' => 6, 'password' => 7, 'algo' => 8, 'reseller' => 9, 'sponsor' => 10, 'discount' => 11, 'remember_me_token' => 12, 'remember_me_serial' => 13, 'enable' => 14, 'confirmation_token' => 15, 'created_at' => 16, 'updated_at' => 17, 'version' => 18, 'version_created_at' => 19, 'version_created_by' => 20, 'order_ids' => 21, 'order_versions' => 22, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, ) ); /** @@ -240,6 +250,8 @@ class CustomerVersionTableMap extends TableMap $this->addColumn('DISCOUNT', 'Discount', 'DECIMAL', false, 16, 0); $this->addColumn('REMEMBER_ME_TOKEN', 'RememberMeToken', 'VARCHAR', false, 255, null); $this->addColumn('REMEMBER_ME_SERIAL', 'RememberMeSerial', 'VARCHAR', false, 255, null); + $this->addColumn('ENABLE', 'Enable', 'TINYINT', false, null, 0); + $this->addColumn('CONFIRMATION_TOKEN', 'ConfirmationToken', 'VARCHAR', false, 255, null); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); $this->addPrimaryKey('VERSION', 'Version', 'INTEGER', true, null, 0); @@ -324,11 +336,11 @@ class CustomerVersionTableMap extends TableMap public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { // If the PK cannot be derived from the row, return NULL. - if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 16 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) { + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 18 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) { return null; } - return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 16 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)])); + return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 18 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)])); } /** @@ -458,6 +470,8 @@ class CustomerVersionTableMap extends TableMap $criteria->addSelectColumn(CustomerVersionTableMap::DISCOUNT); $criteria->addSelectColumn(CustomerVersionTableMap::REMEMBER_ME_TOKEN); $criteria->addSelectColumn(CustomerVersionTableMap::REMEMBER_ME_SERIAL); + $criteria->addSelectColumn(CustomerVersionTableMap::ENABLE); + $criteria->addSelectColumn(CustomerVersionTableMap::CONFIRMATION_TOKEN); $criteria->addSelectColumn(CustomerVersionTableMap::CREATED_AT); $criteria->addSelectColumn(CustomerVersionTableMap::UPDATED_AT); $criteria->addSelectColumn(CustomerVersionTableMap::VERSION); @@ -480,6 +494,8 @@ class CustomerVersionTableMap extends TableMap $criteria->addSelectColumn($alias . '.DISCOUNT'); $criteria->addSelectColumn($alias . '.REMEMBER_ME_TOKEN'); $criteria->addSelectColumn($alias . '.REMEMBER_ME_SERIAL'); + $criteria->addSelectColumn($alias . '.ENABLE'); + $criteria->addSelectColumn($alias . '.CONFIRMATION_TOKEN'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); $criteria->addSelectColumn($alias . '.VERSION'); diff --git a/core/lib/Thelia/Model/Map/ModuleTableMap.php b/core/lib/Thelia/Model/Map/ModuleTableMap.php index c7a84c46..ebfcdbab 100644 --- a/core/lib/Thelia/Model/Map/ModuleTableMap.php +++ b/core/lib/Thelia/Model/Map/ModuleTableMap.php @@ -58,7 +58,7 @@ class ModuleTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 10; + const NUM_COLUMNS = 12; /** * The number of lazy-loaded columns @@ -68,7 +68,7 @@ class ModuleTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 10; + const NUM_HYDRATE_COLUMNS = 12; /** * the column name for the ID field @@ -110,6 +110,16 @@ class ModuleTableMap extends TableMap */ const FULL_NAMESPACE = 'module.FULL_NAMESPACE'; + /** + * the column name for the MANDATORY field + */ + const MANDATORY = 'module.MANDATORY'; + + /** + * the column name for the HIDDEN field + */ + const HIDDEN = 'module.HIDDEN'; + /** * the column name for the CREATED_AT field */ @@ -141,12 +151,12 @@ class ModuleTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Code', 'Version', 'Type', 'Category', 'Activate', 'Position', 'FullNamespace', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'code', 'version', 'type', 'category', 'activate', 'position', 'fullNamespace', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(ModuleTableMap::ID, ModuleTableMap::CODE, ModuleTableMap::VERSION, ModuleTableMap::TYPE, ModuleTableMap::CATEGORY, ModuleTableMap::ACTIVATE, ModuleTableMap::POSITION, ModuleTableMap::FULL_NAMESPACE, ModuleTableMap::CREATED_AT, ModuleTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'VERSION', 'TYPE', 'CATEGORY', 'ACTIVATE', 'POSITION', 'FULL_NAMESPACE', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'code', 'version', 'type', 'category', 'activate', 'position', 'full_namespace', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + self::TYPE_PHPNAME => array('Id', 'Code', 'Version', 'Type', 'Category', 'Activate', 'Position', 'FullNamespace', 'Mandatory', 'Hidden', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'code', 'version', 'type', 'category', 'activate', 'position', 'fullNamespace', 'mandatory', 'hidden', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(ModuleTableMap::ID, ModuleTableMap::CODE, ModuleTableMap::VERSION, ModuleTableMap::TYPE, ModuleTableMap::CATEGORY, ModuleTableMap::ACTIVATE, ModuleTableMap::POSITION, ModuleTableMap::FULL_NAMESPACE, ModuleTableMap::MANDATORY, ModuleTableMap::HIDDEN, ModuleTableMap::CREATED_AT, ModuleTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'VERSION', 'TYPE', 'CATEGORY', 'ACTIVATE', 'POSITION', 'FULL_NAMESPACE', 'MANDATORY', 'HIDDEN', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'code', 'version', 'type', 'category', 'activate', 'position', 'full_namespace', 'mandatory', 'hidden', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) ); /** @@ -156,12 +166,12 @@ class ModuleTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Version' => 2, 'Type' => 3, 'Category' => 4, 'Activate' => 5, 'Position' => 6, 'FullNamespace' => 7, 'CreatedAt' => 8, 'UpdatedAt' => 9, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'version' => 2, 'type' => 3, 'category' => 4, 'activate' => 5, 'position' => 6, 'fullNamespace' => 7, 'createdAt' => 8, 'updatedAt' => 9, ), - self::TYPE_COLNAME => array(ModuleTableMap::ID => 0, ModuleTableMap::CODE => 1, ModuleTableMap::VERSION => 2, ModuleTableMap::TYPE => 3, ModuleTableMap::CATEGORY => 4, ModuleTableMap::ACTIVATE => 5, ModuleTableMap::POSITION => 6, ModuleTableMap::FULL_NAMESPACE => 7, ModuleTableMap::CREATED_AT => 8, ModuleTableMap::UPDATED_AT => 9, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'VERSION' => 2, 'TYPE' => 3, 'CATEGORY' => 4, 'ACTIVATE' => 5, 'POSITION' => 6, 'FULL_NAMESPACE' => 7, 'CREATED_AT' => 8, 'UPDATED_AT' => 9, ), - self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'version' => 2, 'type' => 3, 'category' => 4, 'activate' => 5, 'position' => 6, 'full_namespace' => 7, 'created_at' => 8, 'updated_at' => 9, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Version' => 2, 'Type' => 3, 'Category' => 4, 'Activate' => 5, 'Position' => 6, 'FullNamespace' => 7, 'Mandatory' => 8, 'Hidden' => 9, 'CreatedAt' => 10, 'UpdatedAt' => 11, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'version' => 2, 'type' => 3, 'category' => 4, 'activate' => 5, 'position' => 6, 'fullNamespace' => 7, 'mandatory' => 8, 'hidden' => 9, 'createdAt' => 10, 'updatedAt' => 11, ), + self::TYPE_COLNAME => array(ModuleTableMap::ID => 0, ModuleTableMap::CODE => 1, ModuleTableMap::VERSION => 2, ModuleTableMap::TYPE => 3, ModuleTableMap::CATEGORY => 4, ModuleTableMap::ACTIVATE => 5, ModuleTableMap::POSITION => 6, ModuleTableMap::FULL_NAMESPACE => 7, ModuleTableMap::MANDATORY => 8, ModuleTableMap::HIDDEN => 9, ModuleTableMap::CREATED_AT => 10, ModuleTableMap::UPDATED_AT => 11, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'VERSION' => 2, 'TYPE' => 3, 'CATEGORY' => 4, 'ACTIVATE' => 5, 'POSITION' => 6, 'FULL_NAMESPACE' => 7, 'MANDATORY' => 8, 'HIDDEN' => 9, 'CREATED_AT' => 10, 'UPDATED_AT' => 11, ), + self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'version' => 2, 'type' => 3, 'category' => 4, 'activate' => 5, 'position' => 6, 'full_namespace' => 7, 'mandatory' => 8, 'hidden' => 9, 'created_at' => 10, 'updated_at' => 11, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) ); /** @@ -188,6 +198,8 @@ class ModuleTableMap extends TableMap $this->addColumn('ACTIVATE', 'Activate', 'TINYINT', false, null, null); $this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null); $this->addColumn('FULL_NAMESPACE', 'FullNamespace', 'VARCHAR', false, 255, null); + $this->addColumn('MANDATORY', 'Mandatory', 'TINYINT', false, null, 0); + $this->addColumn('HIDDEN', 'Hidden', 'TINYINT', false, null, 0); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); } // initialize() @@ -390,6 +402,8 @@ class ModuleTableMap extends TableMap $criteria->addSelectColumn(ModuleTableMap::ACTIVATE); $criteria->addSelectColumn(ModuleTableMap::POSITION); $criteria->addSelectColumn(ModuleTableMap::FULL_NAMESPACE); + $criteria->addSelectColumn(ModuleTableMap::MANDATORY); + $criteria->addSelectColumn(ModuleTableMap::HIDDEN); $criteria->addSelectColumn(ModuleTableMap::CREATED_AT); $criteria->addSelectColumn(ModuleTableMap::UPDATED_AT); } else { @@ -401,6 +415,8 @@ class ModuleTableMap extends TableMap $criteria->addSelectColumn($alias . '.ACTIVATE'); $criteria->addSelectColumn($alias . '.POSITION'); $criteria->addSelectColumn($alias . '.FULL_NAMESPACE'); + $criteria->addSelectColumn($alias . '.MANDATORY'); + $criteria->addSelectColumn($alias . '.HIDDEN'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); } diff --git a/core/lib/Thelia/Model/Map/OrderCouponTableMap.php b/core/lib/Thelia/Model/Map/OrderCouponTableMap.php index 249bed64..8ee8b76d 100644 --- a/core/lib/Thelia/Model/Map/OrderCouponTableMap.php +++ b/core/lib/Thelia/Model/Map/OrderCouponTableMap.php @@ -58,7 +58,7 @@ class OrderCouponTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 17; + const NUM_COLUMNS = 18; /** * The number of lazy-loaded columns @@ -68,7 +68,7 @@ class OrderCouponTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 17; + const NUM_HYDRATE_COLUMNS = 18; /** * the column name for the ID field @@ -145,6 +145,11 @@ class OrderCouponTableMap extends TableMap */ const PER_CUSTOMER_USAGE_COUNT = 'order_coupon.PER_CUSTOMER_USAGE_COUNT'; + /** + * the column name for the USAGE_CANCELED field + */ + const USAGE_CANCELED = 'order_coupon.USAGE_CANCELED'; + /** * the column name for the CREATED_AT field */ @@ -167,12 +172,12 @@ class OrderCouponTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'OrderId', 'Code', 'Type', 'Amount', 'Title', 'ShortDescription', 'Description', 'StartDate', 'ExpirationDate', 'IsCumulative', 'IsRemovingPostage', 'IsAvailableOnSpecialOffers', 'SerializedConditions', 'PerCustomerUsageCount', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'code', 'type', 'amount', 'title', 'shortDescription', 'description', 'startDate', 'expirationDate', 'isCumulative', 'isRemovingPostage', 'isAvailableOnSpecialOffers', 'serializedConditions', 'perCustomerUsageCount', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(OrderCouponTableMap::ID, OrderCouponTableMap::ORDER_ID, OrderCouponTableMap::CODE, OrderCouponTableMap::TYPE, OrderCouponTableMap::AMOUNT, OrderCouponTableMap::TITLE, OrderCouponTableMap::SHORT_DESCRIPTION, OrderCouponTableMap::DESCRIPTION, OrderCouponTableMap::START_DATE, OrderCouponTableMap::EXPIRATION_DATE, OrderCouponTableMap::IS_CUMULATIVE, OrderCouponTableMap::IS_REMOVING_POSTAGE, OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, OrderCouponTableMap::SERIALIZED_CONDITIONS, OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT, OrderCouponTableMap::CREATED_AT, OrderCouponTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'CODE', 'TYPE', 'AMOUNT', 'TITLE', 'SHORT_DESCRIPTION', 'DESCRIPTION', 'START_DATE', 'EXPIRATION_DATE', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'SERIALIZED_CONDITIONS', 'PER_CUSTOMER_USAGE_COUNT', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'order_id', 'code', 'type', 'amount', 'title', 'short_description', 'description', 'start_date', 'expiration_date', 'is_cumulative', 'is_removing_postage', 'is_available_on_special_offers', 'serialized_conditions', 'per_customer_usage_count', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ) + self::TYPE_PHPNAME => array('Id', 'OrderId', 'Code', 'Type', 'Amount', 'Title', 'ShortDescription', 'Description', 'StartDate', 'ExpirationDate', 'IsCumulative', 'IsRemovingPostage', 'IsAvailableOnSpecialOffers', 'SerializedConditions', 'PerCustomerUsageCount', 'UsageCanceled', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'code', 'type', 'amount', 'title', 'shortDescription', 'description', 'startDate', 'expirationDate', 'isCumulative', 'isRemovingPostage', 'isAvailableOnSpecialOffers', 'serializedConditions', 'perCustomerUsageCount', 'usageCanceled', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(OrderCouponTableMap::ID, OrderCouponTableMap::ORDER_ID, OrderCouponTableMap::CODE, OrderCouponTableMap::TYPE, OrderCouponTableMap::AMOUNT, OrderCouponTableMap::TITLE, OrderCouponTableMap::SHORT_DESCRIPTION, OrderCouponTableMap::DESCRIPTION, OrderCouponTableMap::START_DATE, OrderCouponTableMap::EXPIRATION_DATE, OrderCouponTableMap::IS_CUMULATIVE, OrderCouponTableMap::IS_REMOVING_POSTAGE, OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, OrderCouponTableMap::SERIALIZED_CONDITIONS, OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT, OrderCouponTableMap::USAGE_CANCELED, OrderCouponTableMap::CREATED_AT, OrderCouponTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'CODE', 'TYPE', 'AMOUNT', 'TITLE', 'SHORT_DESCRIPTION', 'DESCRIPTION', 'START_DATE', 'EXPIRATION_DATE', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'SERIALIZED_CONDITIONS', 'PER_CUSTOMER_USAGE_COUNT', 'USAGE_CANCELED', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'order_id', 'code', 'type', 'amount', 'title', 'short_description', 'description', 'start_date', 'expiration_date', 'is_cumulative', 'is_removing_postage', 'is_available_on_special_offers', 'serialized_conditions', 'per_customer_usage_count', 'usage_canceled', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) ); /** @@ -182,12 +187,12 @@ class OrderCouponTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'Code' => 2, 'Type' => 3, 'Amount' => 4, 'Title' => 5, 'ShortDescription' => 6, 'Description' => 7, 'StartDate' => 8, 'ExpirationDate' => 9, 'IsCumulative' => 10, 'IsRemovingPostage' => 11, 'IsAvailableOnSpecialOffers' => 12, 'SerializedConditions' => 13, 'PerCustomerUsageCount' => 14, 'CreatedAt' => 15, 'UpdatedAt' => 16, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'code' => 2, 'type' => 3, 'amount' => 4, 'title' => 5, 'shortDescription' => 6, 'description' => 7, 'startDate' => 8, 'expirationDate' => 9, 'isCumulative' => 10, 'isRemovingPostage' => 11, 'isAvailableOnSpecialOffers' => 12, 'serializedConditions' => 13, 'perCustomerUsageCount' => 14, 'createdAt' => 15, 'updatedAt' => 16, ), - self::TYPE_COLNAME => array(OrderCouponTableMap::ID => 0, OrderCouponTableMap::ORDER_ID => 1, OrderCouponTableMap::CODE => 2, OrderCouponTableMap::TYPE => 3, OrderCouponTableMap::AMOUNT => 4, OrderCouponTableMap::TITLE => 5, OrderCouponTableMap::SHORT_DESCRIPTION => 6, OrderCouponTableMap::DESCRIPTION => 7, OrderCouponTableMap::START_DATE => 8, OrderCouponTableMap::EXPIRATION_DATE => 9, OrderCouponTableMap::IS_CUMULATIVE => 10, OrderCouponTableMap::IS_REMOVING_POSTAGE => 11, OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 12, OrderCouponTableMap::SERIALIZED_CONDITIONS => 13, OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT => 14, OrderCouponTableMap::CREATED_AT => 15, OrderCouponTableMap::UPDATED_AT => 16, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'CODE' => 2, 'TYPE' => 3, 'AMOUNT' => 4, 'TITLE' => 5, 'SHORT_DESCRIPTION' => 6, 'DESCRIPTION' => 7, 'START_DATE' => 8, 'EXPIRATION_DATE' => 9, 'IS_CUMULATIVE' => 10, 'IS_REMOVING_POSTAGE' => 11, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 12, 'SERIALIZED_CONDITIONS' => 13, 'PER_CUSTOMER_USAGE_COUNT' => 14, 'CREATED_AT' => 15, 'UPDATED_AT' => 16, ), - self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'code' => 2, 'type' => 3, 'amount' => 4, 'title' => 5, 'short_description' => 6, 'description' => 7, 'start_date' => 8, 'expiration_date' => 9, 'is_cumulative' => 10, 'is_removing_postage' => 11, 'is_available_on_special_offers' => 12, 'serialized_conditions' => 13, 'per_customer_usage_count' => 14, 'created_at' => 15, 'updated_at' => 16, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ) + self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'Code' => 2, 'Type' => 3, 'Amount' => 4, 'Title' => 5, 'ShortDescription' => 6, 'Description' => 7, 'StartDate' => 8, 'ExpirationDate' => 9, 'IsCumulative' => 10, 'IsRemovingPostage' => 11, 'IsAvailableOnSpecialOffers' => 12, 'SerializedConditions' => 13, 'PerCustomerUsageCount' => 14, 'UsageCanceled' => 15, 'CreatedAt' => 16, 'UpdatedAt' => 17, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'code' => 2, 'type' => 3, 'amount' => 4, 'title' => 5, 'shortDescription' => 6, 'description' => 7, 'startDate' => 8, 'expirationDate' => 9, 'isCumulative' => 10, 'isRemovingPostage' => 11, 'isAvailableOnSpecialOffers' => 12, 'serializedConditions' => 13, 'perCustomerUsageCount' => 14, 'usageCanceled' => 15, 'createdAt' => 16, 'updatedAt' => 17, ), + self::TYPE_COLNAME => array(OrderCouponTableMap::ID => 0, OrderCouponTableMap::ORDER_ID => 1, OrderCouponTableMap::CODE => 2, OrderCouponTableMap::TYPE => 3, OrderCouponTableMap::AMOUNT => 4, OrderCouponTableMap::TITLE => 5, OrderCouponTableMap::SHORT_DESCRIPTION => 6, OrderCouponTableMap::DESCRIPTION => 7, OrderCouponTableMap::START_DATE => 8, OrderCouponTableMap::EXPIRATION_DATE => 9, OrderCouponTableMap::IS_CUMULATIVE => 10, OrderCouponTableMap::IS_REMOVING_POSTAGE => 11, OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 12, OrderCouponTableMap::SERIALIZED_CONDITIONS => 13, OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT => 14, OrderCouponTableMap::USAGE_CANCELED => 15, OrderCouponTableMap::CREATED_AT => 16, OrderCouponTableMap::UPDATED_AT => 17, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'CODE' => 2, 'TYPE' => 3, 'AMOUNT' => 4, 'TITLE' => 5, 'SHORT_DESCRIPTION' => 6, 'DESCRIPTION' => 7, 'START_DATE' => 8, 'EXPIRATION_DATE' => 9, 'IS_CUMULATIVE' => 10, 'IS_REMOVING_POSTAGE' => 11, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 12, 'SERIALIZED_CONDITIONS' => 13, 'PER_CUSTOMER_USAGE_COUNT' => 14, 'USAGE_CANCELED' => 15, 'CREATED_AT' => 16, 'UPDATED_AT' => 17, ), + self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'code' => 2, 'type' => 3, 'amount' => 4, 'title' => 5, 'short_description' => 6, 'description' => 7, 'start_date' => 8, 'expiration_date' => 9, 'is_cumulative' => 10, 'is_removing_postage' => 11, 'is_available_on_special_offers' => 12, 'serialized_conditions' => 13, 'per_customer_usage_count' => 14, 'usage_canceled' => 15, 'created_at' => 16, 'updated_at' => 17, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) ); /** @@ -221,6 +226,7 @@ class OrderCouponTableMap extends TableMap $this->addColumn('IS_AVAILABLE_ON_SPECIAL_OFFERS', 'IsAvailableOnSpecialOffers', 'BOOLEAN', true, 1, null); $this->addColumn('SERIALIZED_CONDITIONS', 'SerializedConditions', 'LONGVARCHAR', true, null, null); $this->addColumn('PER_CUSTOMER_USAGE_COUNT', 'PerCustomerUsageCount', 'BOOLEAN', true, 1, null); + $this->addColumn('USAGE_CANCELED', 'UsageCanceled', 'BOOLEAN', false, 1, false); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); } // initialize() @@ -412,6 +418,7 @@ class OrderCouponTableMap extends TableMap $criteria->addSelectColumn(OrderCouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS); $criteria->addSelectColumn(OrderCouponTableMap::SERIALIZED_CONDITIONS); $criteria->addSelectColumn(OrderCouponTableMap::PER_CUSTOMER_USAGE_COUNT); + $criteria->addSelectColumn(OrderCouponTableMap::USAGE_CANCELED); $criteria->addSelectColumn(OrderCouponTableMap::CREATED_AT); $criteria->addSelectColumn(OrderCouponTableMap::UPDATED_AT); } else { @@ -430,6 +437,7 @@ class OrderCouponTableMap extends TableMap $criteria->addSelectColumn($alias . '.IS_AVAILABLE_ON_SPECIAL_OFFERS'); $criteria->addSelectColumn($alias . '.SERIALIZED_CONDITIONS'); $criteria->addSelectColumn($alias . '.PER_CUSTOMER_USAGE_COUNT'); + $criteria->addSelectColumn($alias . '.USAGE_CANCELED'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); } diff --git a/core/lib/Thelia/Model/Map/OrderStatusTableMap.php b/core/lib/Thelia/Model/Map/OrderStatusTableMap.php index dff641a6..8fd9f162 100644 --- a/core/lib/Thelia/Model/Map/OrderStatusTableMap.php +++ b/core/lib/Thelia/Model/Map/OrderStatusTableMap.php @@ -58,7 +58,7 @@ class OrderStatusTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 4; + const NUM_COLUMNS = 7; /** * The number of lazy-loaded columns @@ -68,7 +68,7 @@ class OrderStatusTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 4; + const NUM_HYDRATE_COLUMNS = 7; /** * the column name for the ID field @@ -80,6 +80,21 @@ class OrderStatusTableMap extends TableMap */ const CODE = 'order_status.CODE'; + /** + * the column name for the COLOR field + */ + const COLOR = 'order_status.COLOR'; + + /** + * the column name for the POSITION field + */ + const POSITION = 'order_status.POSITION'; + + /** + * the column name for the PROTECTED_STATUS field + */ + const PROTECTED_STATUS = 'order_status.PROTECTED_STATUS'; + /** * the column name for the CREATED_AT field */ @@ -111,12 +126,12 @@ class OrderStatusTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Code', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'code', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(OrderStatusTableMap::ID, OrderStatusTableMap::CODE, OrderStatusTableMap::CREATED_AT, OrderStatusTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'code', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, ) + self::TYPE_PHPNAME => array('Id', 'Code', 'Color', 'Position', 'ProtectedStatus', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'code', 'color', 'position', 'protectedStatus', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(OrderStatusTableMap::ID, OrderStatusTableMap::CODE, OrderStatusTableMap::COLOR, OrderStatusTableMap::POSITION, OrderStatusTableMap::PROTECTED_STATUS, OrderStatusTableMap::CREATED_AT, OrderStatusTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'COLOR', 'POSITION', 'PROTECTED_STATUS', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'code', 'color', 'position', 'protected_status', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) ); /** @@ -126,12 +141,12 @@ class OrderStatusTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'CreatedAt' => 2, 'UpdatedAt' => 3, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'createdAt' => 2, 'updatedAt' => 3, ), - self::TYPE_COLNAME => array(OrderStatusTableMap::ID => 0, OrderStatusTableMap::CODE => 1, OrderStatusTableMap::CREATED_AT => 2, OrderStatusTableMap::UPDATED_AT => 3, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'CREATED_AT' => 2, 'UPDATED_AT' => 3, ), - self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'created_at' => 2, 'updated_at' => 3, ), - self::TYPE_NUM => array(0, 1, 2, 3, ) + self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Color' => 2, 'Position' => 3, 'ProtectedStatus' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'color' => 2, 'position' => 3, 'protectedStatus' => 4, 'createdAt' => 5, 'updatedAt' => 6, ), + self::TYPE_COLNAME => array(OrderStatusTableMap::ID => 0, OrderStatusTableMap::CODE => 1, OrderStatusTableMap::COLOR => 2, OrderStatusTableMap::POSITION => 3, OrderStatusTableMap::PROTECTED_STATUS => 4, OrderStatusTableMap::CREATED_AT => 5, OrderStatusTableMap::UPDATED_AT => 6, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'COLOR' => 2, 'POSITION' => 3, 'PROTECTED_STATUS' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, ), + self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'color' => 2, 'position' => 3, 'protected_status' => 4, 'created_at' => 5, 'updated_at' => 6, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) ); /** @@ -152,6 +167,9 @@ class OrderStatusTableMap extends TableMap // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); $this->addColumn('CODE', 'Code', 'VARCHAR', true, 45, null); + $this->addColumn('COLOR', 'Color', 'CHAR', false, 7, null); + $this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null); + $this->addColumn('PROTECTED_STATUS', 'ProtectedStatus', 'BOOLEAN', false, 1, false); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); } // initialize() @@ -328,11 +346,17 @@ class OrderStatusTableMap extends TableMap if (null === $alias) { $criteria->addSelectColumn(OrderStatusTableMap::ID); $criteria->addSelectColumn(OrderStatusTableMap::CODE); + $criteria->addSelectColumn(OrderStatusTableMap::COLOR); + $criteria->addSelectColumn(OrderStatusTableMap::POSITION); + $criteria->addSelectColumn(OrderStatusTableMap::PROTECTED_STATUS); $criteria->addSelectColumn(OrderStatusTableMap::CREATED_AT); $criteria->addSelectColumn(OrderStatusTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.CODE'); + $criteria->addSelectColumn($alias . '.COLOR'); + $criteria->addSelectColumn($alias . '.POSITION'); + $criteria->addSelectColumn($alias . '.PROTECTED_STATUS'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); } diff --git a/core/lib/Thelia/Model/Message.php b/core/lib/Thelia/Model/Message.php index bda4269b..6eb3635b 100644 --- a/core/lib/Thelia/Model/Message.php +++ b/core/lib/Thelia/Model/Message.php @@ -124,13 +124,16 @@ class Message extends BaseMessage */ public function getTextMessageBody(ParserInterface $parser) { - return $this->getMessageBody( + $message = $this->getMessageBody( $parser, $this->getTextMessage(), $this->getTextLayoutFileName(), $this->getTextTemplateFileName(), true // Do not compress the output, and keep empty lines. ); + + // Replaced all
by newlines. + return preg_replace("/
/i", "\n", $message); } /** diff --git a/core/lib/Thelia/Model/Order.php b/core/lib/Thelia/Model/Order.php index bf2fe70b..fcd9ce08 100644 --- a/core/lib/Thelia/Model/Order.php +++ b/core/lib/Thelia/Model/Order.php @@ -6,6 +6,7 @@ use Propel\Runtime\ActiveQuery\Criteria; use Propel\Runtime\Connection\ConnectionInterface; use Thelia\Core\Event\Order\OrderEvent; use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Map\OrderProductTableMap; use Thelia\Model\Map\OrderProductTaxTableMap; use Thelia\Model\Base\Order as BaseOrder; use Thelia\Model\Tools\ModelEventDispatcherTrait; @@ -134,26 +135,23 @@ class Order extends BaseOrder */ public function getTotalAmount(&$tax = 0, $includePostage = true, $includeDiscount = true) { - $amount = 0; - $tax = 0; - - /* browse all products */ - foreach ($this->getOrderProducts() as $orderProduct) { - $taxAmountQuery = OrderProductTaxQuery::create(); - - if ($orderProduct->getWasInPromo() == 1) { - $taxAmountQuery->withColumn('SUM(' . OrderProductTaxTableMap::PROMO_AMOUNT . ')', 'total_tax'); - } else { - $taxAmountQuery->withColumn('SUM(' . OrderProductTaxTableMap::AMOUNT . ')', 'total_tax'); - } - - $taxAmount = $taxAmountQuery->filterByOrderProductId($orderProduct->getId(), Criteria::EQUAL) - ->findOne(); - $price = ($orderProduct->getWasInPromo() == 1 ? $orderProduct->getPromoPrice() : $orderProduct->getPrice()); - $amount += $price * $orderProduct->getQuantity(); - $tax += $taxAmount->getVirtualColumn('total_tax') * $orderProduct->getQuantity(); - } - + $orderInfo = OrderProductQuery::create() + ->filterByOrderId($this->getId()) + ->leftJoinOrderProductTax() + ->withColumn('SUM( + ' . OrderProductTableMap::QUANTITY . ' + * IF('.OrderProductTableMap::WAS_IN_PROMO.' = 1, '.OrderProductTaxTableMap::PROMO_AMOUNT.', '.OrderProductTaxTableMap::AMOUNT.') + )', 'total_tax') + ->withColumn('SUM( + ' . OrderProductTableMap::QUANTITY . ' + * IF('.OrderProductTableMap::WAS_IN_PROMO.' = 1, '.OrderProductTableMap::PROMO_PRICE.', '.OrderProductTableMap::PRICE.') + )', 'total_amount') + ->select([ 'total_tax', 'total_amount' ]) + ->findOne(); + + $tax = $orderInfo['total_tax']; + $amount = $orderInfo['total_amount']; + $total = $amount + $tax; // @todo : manage discount : free postage ? @@ -333,7 +331,7 @@ class Order extends BaseOrder /** * Check if the current status of this order is REFUNDED * - * @return bool true if this order is CANCELED, false otherwise. + * @return bool true if this order is REFUNDED, false otherwise. */ public function isRefunded() { diff --git a/core/lib/Thelia/Model/OrderStatus.php b/core/lib/Thelia/Model/OrderStatus.php index 8e852756..e6c369c8 100644 --- a/core/lib/Thelia/Model/OrderStatus.php +++ b/core/lib/Thelia/Model/OrderStatus.php @@ -6,6 +6,9 @@ use Thelia\Model\Base\OrderStatus as BaseOrderStatus; class OrderStatus extends BaseOrderStatus { + use \Thelia\Model\Tools\ModelEventDispatcherTrait; + use \Thelia\Model\Tools\PositionManagementTrait; + const CODE_NOT_PAID = "not_paid"; const CODE_PAID = "paid"; const CODE_PROCESSING = "processing"; diff --git a/core/lib/Thelia/Model/Product.php b/core/lib/Thelia/Model/Product.php index 4a111466..0fab59cf 100644 --- a/core/lib/Thelia/Model/Product.php +++ b/core/lib/Thelia/Model/Product.php @@ -280,6 +280,24 @@ class Product extends BaseProduct implements FileModelParentInterface */ public function preDelete(ConnectionInterface $con = null) { + // Delete free_text feature AV for this product (see issue #2061). We have to do this before + // deleting the product, as the delete is cascaded to the feature_product table. + $featureAvs = FeatureAvQuery::create() + ->useFeatureProductQuery() + ->filterByFreeTextValue(true) + ->filterByProductId($this->getId()) + ->endUse() + ->find($con) + ; + + /** @var FeatureAv $featureAv */ + foreach ($featureAvs as $featureAv) { + $featureAv + ->setDispatcher($this->dispatcher) + ->delete($con) + ; + } + $this->dispatchEvent(TheliaEvents::BEFORE_DELETEPRODUCT, new ProductEvent($this)); return true; diff --git a/core/lib/Thelia/Model/RewritingUrlQuery.php b/core/lib/Thelia/Model/RewritingUrlQuery.php index 660859a7..d9cbacb8 100644 --- a/core/lib/Thelia/Model/RewritingUrlQuery.php +++ b/core/lib/Thelia/Model/RewritingUrlQuery.php @@ -120,6 +120,5 @@ class RewritingUrlQuery extends BaseRewritingUrlQuery return $viewLocale; } - } // RewritingUrlQuery diff --git a/core/lib/Thelia/Model/StateI18n.php b/core/lib/Thelia/Model/StateI18n.php index ce61ae81..d478c9bf 100644 --- a/core/lib/Thelia/Model/StateI18n.php +++ b/core/lib/Thelia/Model/StateI18n.php @@ -6,5 +6,4 @@ use Thelia\Model\Base\StateI18n as BaseStateI18n; class StateI18n extends BaseStateI18n { - } diff --git a/core/lib/Thelia/Model/StateI18nQuery.php b/core/lib/Thelia/Model/StateI18nQuery.php index c85e12c3..1746ea25 100644 --- a/core/lib/Thelia/Model/StateI18nQuery.php +++ b/core/lib/Thelia/Model/StateI18nQuery.php @@ -4,7 +4,6 @@ namespace Thelia\Model; use Thelia\Model\Base\StateI18nQuery as BaseStateI18nQuery; - /** * Skeleton subclass for performing query and update operations on the 'state_i18n' table. * @@ -17,5 +16,4 @@ use Thelia\Model\Base\StateI18nQuery as BaseStateI18nQuery; */ class StateI18nQuery extends BaseStateI18nQuery { - } // StateI18nQuery diff --git a/core/lib/Thelia/Model/StateQuery.php b/core/lib/Thelia/Model/StateQuery.php index 46c0e80f..8f496676 100644 --- a/core/lib/Thelia/Model/StateQuery.php +++ b/core/lib/Thelia/Model/StateQuery.php @@ -4,7 +4,6 @@ namespace Thelia\Model; use Thelia\Model\Base\StateQuery as BaseStateQuery; - /** * Skeleton subclass for performing query and update operations on the 'state' table. * @@ -17,5 +16,4 @@ use Thelia\Model\Base\StateQuery as BaseStateQuery; */ class StateQuery extends BaseStateQuery { - } // StateQuery diff --git a/core/lib/Thelia/Model/Tools/ModelCriteriaTools.php b/core/lib/Thelia/Model/Tools/ModelCriteriaTools.php index 65ad67e9..4098cbfc 100644 --- a/core/lib/Thelia/Model/Tools/ModelCriteriaTools.php +++ b/core/lib/Thelia/Model/Tools/ModelCriteriaTools.php @@ -173,7 +173,7 @@ class ModelCriteriaTools foreach ($columns as $column) { $search->withColumn( - 'CASE WHEN NOT ISNULL(`' . $requestedLocaleI18nAlias . '`.ID) THEN `' . $requestedLocaleI18nAlias . '`.`' . $column . '` ELSE `' . $defaultLocaleI18nAlias . '`.`' . $column . '` END', + 'CASE WHEN NOT ISNULL(`' . $requestedLocaleI18nAlias . '`.`' . $column . '`) THEN `' . $requestedLocaleI18nAlias . '`.`' . $column . '` ELSE `' . $defaultLocaleI18nAlias . '`.`' . $column . '` END', $aliasPrefix . 'i18n_' . $column ); } diff --git a/core/lib/Thelia/Module/BaseModule.php b/core/lib/Thelia/Module/BaseModule.php index bfd8e1a2..fc0ccbe5 100644 --- a/core/lib/Thelia/Module/BaseModule.php +++ b/core/lib/Thelia/Module/BaseModule.php @@ -55,6 +55,12 @@ class BaseModule implements BaseModuleInterface const IS_ACTIVATED = 1; const IS_NOT_ACTIVATED = 0; + const IS_MANDATORY = 1; + const IS_NOT_MANDATORY = 0; + + const IS_HIDDEN = 1; + const IS_NOT_HIDDEN = 0; + protected $reflected; protected $dispatcher = null; @@ -429,7 +435,9 @@ class BaseModule implements BaseModuleInterface /** @var Country $country */ $country = $taxEngine->getDeliveryCountry(); - $amount = $with_tax ? $cart->getTaxedAmount($country, $with_discount) : $cart->getTotalAmount($with_discount); + $state = $taxEngine->getDeliveryState(); + + $amount = $with_tax ? $cart->getTaxedAmount($country, $with_discount, $state) : $cart->getTotalAmount($with_discount); if ($with_postage) { if ($with_tax) { diff --git a/core/lib/Thelia/Module/BaseModuleInterface.php b/core/lib/Thelia/Module/BaseModuleInterface.php index ffd60bdc..6248f1dc 100644 --- a/core/lib/Thelia/Module/BaseModuleInterface.php +++ b/core/lib/Thelia/Module/BaseModuleInterface.php @@ -247,5 +247,4 @@ interface BaseModuleInterface * Create or update module hooks returned by the `getHooks` function */ public function registerHooks(); - } diff --git a/core/lib/Thelia/Module/BasePaymentModuleController.php b/core/lib/Thelia/Module/BasePaymentModuleController.php index 8da0737a..a4e8d872 100644 --- a/core/lib/Thelia/Module/BasePaymentModuleController.php +++ b/core/lib/Thelia/Module/BasePaymentModuleController.php @@ -19,7 +19,6 @@ use Thelia\Core\Event\TheliaEvents; use Thelia\Core\HttpKernel\Exception\RedirectException; use Thelia\Log\Tlog; use Thelia\Model\OrderQuery; -use Thelia\Model\OrderStatus; use Thelia\Model\OrderStatusQuery; /** @@ -120,6 +119,53 @@ abstract class BasePaymentModuleController extends BaseFrontController /** * Process the cancelation of a payment on the payment gateway. The order will go back to the + * Save the transaction/payment ref in the order + * + * @param int $orderId the order ID + * @param int $transactionRef the transaction reference + * + * @throws \Exception + */ + public function saveTransactionRef($orderId, $transactionRef) + { + try { + $orderId = intval($orderId); + + if (null !== $order = $this->getOrder($orderId)) { + $event = new OrderEvent($order); + + $event->setTransactionRef($transactionRef); + + $this->dispatch(TheliaEvents::ORDER_UPDATE_TRANSACTION_REF, $event); + + $this->getLog()->addInfo( + $this->getTranslator()->trans( + "Payment transaction %transaction_ref for order ref. %ref, ID %id has been successfully saved.", + [ + '%transaction_ref' => $transactionRef, + '%ref' => $order->getRef(), + '%id' => $order->getId() + ] + ) + ); + } + } catch (\Exception $ex) { + $this->getLog()->addError( + $this->getTranslator()->trans( + "Error occurred while saving payment transaction %transaction_ref for order ID %id.", + [ + '%transaction_ref' => $transactionRef, + '%id' => $orderId + ] + ) + ); + + throw $ex; + } + } + + /** + * Process the cancellation of a payment on the payment gateway. The order will go back to the * "not paid" status. * * @param int $order_id the order ID @@ -138,7 +184,7 @@ abstract class BasePaymentModuleController extends BaseFrontController $event = new OrderEvent($order); - $event->setStatus(OrderStatus::CODE_NOT_PAID); + $event->setStatus(OrderStatusQuery::getNotPaidStatus()->getId()); $this->getLog()->addInfo( $this->getTranslator()->trans( diff --git a/core/lib/Thelia/Module/ModuleManagement.php b/core/lib/Thelia/Module/ModuleManagement.php index ccfc10bc..a7387ec4 100644 --- a/core/lib/Thelia/Module/ModuleManagement.php +++ b/core/lib/Thelia/Module/ModuleManagement.php @@ -13,7 +13,6 @@ namespace Thelia\Module; use Propel\Runtime\Connection\ConnectionInterface; -use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Propel; use SplFileInfo; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -48,7 +47,8 @@ class ModuleManagement $finder ->name('module.xml') - ->in($this->baseModuleDir . '*'.DS.'Config'); + ->in($this->baseModuleDir . '*' . DS . 'Config') + ; $errors = []; @@ -84,10 +84,12 @@ class ModuleManagement { $descriptorValidator = $this->getDescriptorValidator(); - $content = $descriptorValidator->getDescriptor($file->getRealPath()); + $content = $descriptorValidator->getDescriptor($file->getRealPath()); $reflected = new \ReflectionClass((string)$content->fullnamespace); $code = basename(dirname($reflected->getFileName())); $version = (string)$content->version; + $mandatory = intval($content->mandatory); + $hidden = intval($content->hidden); $module = ModuleQuery::create()->filterByCode($code)->findOne(); @@ -113,6 +115,8 @@ class ModuleManagement ->setFullNamespace((string)$content->fullnamespace) ->setType($this->getModuleType($reflected)) ->setCategory((string)$content->type) + ->setMandatory($mandatory) + ->setHidden($hidden) ->save($con); // Update the module images, title and description when the module is installed, but not after @@ -123,7 +127,7 @@ class ModuleManagement if (isset($content->{"images-folder"}) && !$module->isModuleImageDeployed($con)) { /** @var \Thelia\Module\BaseModule $moduleInstance */ $moduleInstance = $reflected->newInstance(); - $imagesFolder = THELIA_MODULE_DIR . $code . DS . (string) $content->{"images-folder"}; + $imagesFolder = THELIA_MODULE_DIR . $code . DS . (string)$content->{"images-folder"}; $moduleInstance->deployImageFolder($module, $imagesFolder, $con); } } @@ -139,9 +143,13 @@ class ModuleManagement $instance->update($currentVersion, $version, $con); } + if ($action !== 'none') { + $instance->registerHooks(); + } + $con->commit(); } catch (\Exception $ex) { - Tlog::getInstance()->addError("Failed to update module ".$module->getCode(), $ex); + Tlog::getInstance()->addError("Failed to update module " . $module->getCode(), $ex); $con->rollBack(); throw $ex; @@ -184,7 +192,8 @@ class ModuleManagement ->setDescription(isset($description->description) ? $description->description : null) ->setPostscriptum(isset($description->postscriptum) ? $description->postscriptum : null) ->setChapo(isset($description->subtitle) ? $description->subtitle : null) - ->save($con); + ->save($con) + ; } } } diff --git a/core/lib/Thelia/Module/schema/module/module-2_2.xsd b/core/lib/Thelia/Module/schema/module/module-2_2.xsd index 066f75fc..1c5705c4 100644 --- a/core/lib/Thelia/Module/schema/module/module-2_2.xsd +++ b/core/lib/Thelia/Module/schema/module/module-2_2.xsd @@ -159,6 +159,28 @@ URL to test if a new version of the module exists. Will be called with two get parameters : module name, current version + + + Flag for protected module + + + + + + + + + + + Flag for visible module + + + + + + + + diff --git a/core/lib/Thelia/TaxEngine/TaxEngine.php b/core/lib/Thelia/TaxEngine/TaxEngine.php index 267f5112..ea00bea6 100644 --- a/core/lib/Thelia/TaxEngine/TaxEngine.php +++ b/core/lib/Thelia/TaxEngine/TaxEngine.php @@ -80,8 +80,9 @@ class TaxEngine foreach ($directoryIterator as $fileinfo) { if ($fileinfo->isFile()) { $extension = $fileinfo->getExtension(); - if (strtolower($extension) !== 'php') + if (strtolower($extension) !== 'php') { continue; + } $className = $fileinfo->getBaseName('.php'); try { diff --git a/core/lib/Thelia/Tools/FileDownload/FileDownloader.php b/core/lib/Thelia/Tools/FileDownload/FileDownloader.php index a5008a98..e8448401 100644 --- a/core/lib/Thelia/Tools/FileDownload/FileDownloader.php +++ b/core/lib/Thelia/Tools/FileDownload/FileDownloader.php @@ -75,6 +75,7 @@ class FileDownloader implements FileDownloaderInterface */ $con = curl_init($url); curl_setopt($con, CURLOPT_RETURNTRANSFER, true); + curl_setopt($con, CURLOPT_FOLLOWLOCATION, true); $response = curl_exec($con); $errno = curl_errno($con); diff --git a/core/lib/Thelia/Tools/NumberFormat.php b/core/lib/Thelia/Tools/NumberFormat.php index 3885852a..a54d1323 100644 --- a/core/lib/Thelia/Tools/NumberFormat.php +++ b/core/lib/Thelia/Tools/NumberFormat.php @@ -51,13 +51,13 @@ class NumberFormat { $lang = $this->request->getSession()->getLang(); - if ($decimals == null) { + if ($decimals === null) { $decimals = $lang->getDecimals(); } - if ($decPoint == null) { + if ($decPoint === null) { $decPoint = $lang->getDecimalSeparator(); } - if ($thousandsSep == null) { + if ($thousandsSep === null) { $thousandsSep = $lang->getThousandsSeparator(); } return number_format($number, $decimals, $decPoint, $thousandsSep); diff --git a/core/lib/Thelia/Tools/TokenProvider.php b/core/lib/Thelia/Tools/TokenProvider.php index 41cabdc0..29a40925 100644 --- a/core/lib/Thelia/Tools/TokenProvider.php +++ b/core/lib/Thelia/Tools/TokenProvider.php @@ -82,7 +82,7 @@ class TokenProvider } /** - * @param $entryValue + * @param string $entryValue * @return bool * @throws \Thelia\Core\Security\Exception\TokenAuthenticationException */ @@ -92,14 +92,10 @@ class TokenProvider throw new TokenAuthenticationException( "Tried to check a token without assigning it before" ); - } else { - if ($this->token !== $entryValue) { - throw new TokenAuthenticationException( - "Tried to validate an invalid token" - ); - } else { - $this->refreshToken(); - } + } elseif ($this->token !== $entryValue) { + throw new TokenAuthenticationException( + "Tried to validate an invalid token" + ); } return true; @@ -118,6 +114,7 @@ class TokenProvider { return self::generateToken(); } + /** * Same method as getToken but can be called statically * diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index e1cb5afd..ef7385f5 100644 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -174,7 +174,7 @@ class URL if (! is_null($parameters)) { foreach ($parameters as $name => $value) { // Remove this parameter from base URL to prevent duplicate parameters - $base = preg_replace('/([?&])'.$name.'=(?:[^&]*)(?:&|$)/', '$1', $base); + $base = preg_replace('`([?&])'.preg_quote($name, '`').'=(?:[^&]*)(?:&|$)`', '$1', $base); $queryString .= sprintf("%s=%s&", urlencode($name), urlencode($value)); } diff --git a/core/lib/Thelia/Tools/Version/Version.php b/core/lib/Thelia/Tools/Version/Version.php index bbcdb4bb..e6c2e9b4 100644 --- a/core/lib/Thelia/Tools/Version/Version.php +++ b/core/lib/Thelia/Tools/Version/Version.php @@ -103,8 +103,9 @@ class Version */ public static function parse($version = null) { - if (is_null($version)) + if (is_null($version)) { $version = \Thelia\Core\Thelia::THELIA_VERSION; + } $pattern = "`^(? (?[0-9]+)\. @@ -112,6 +113,7 @@ class Version (?[0-9]+) -?(?[a-zA-Z0-9]*) # extra_version will also match empty string )$`x"; + if (!preg_match($pattern, $version, $match)) { throw new \InvalidArgumentException( sprintf( diff --git a/core/lib/Thelia/Type/IntToCombinedIntsListType.php b/core/lib/Thelia/Type/IntToCombinedIntsListType.php index 8ff1b5b8..127df5f4 100644 --- a/core/lib/Thelia/Type/IntToCombinedIntsListType.php +++ b/core/lib/Thelia/Type/IntToCombinedIntsListType.php @@ -47,7 +47,7 @@ class IntToCombinedIntsListType extends BaseType public function getFormattedValue($values) { if ($this->isValid($values)) { - $return = ''; + $return = []; $values = preg_replace('#[\s]#', '', $values); foreach (explode(',', $values) as $intToCombinedInts) { diff --git a/core/lib/Thelia/Type/IntToCombinedStringsListType.php b/core/lib/Thelia/Type/IntToCombinedStringsListType.php index f34c1e2d..227a9761 100644 --- a/core/lib/Thelia/Type/IntToCombinedStringsListType.php +++ b/core/lib/Thelia/Type/IntToCombinedStringsListType.php @@ -47,7 +47,7 @@ class IntToCombinedStringsListType extends BaseType public function getFormattedValue($values) { if ($this->isValid($values)) { - $return = ''; + $return = []; $values = preg_replace('#[\s]#', '', $values); foreach (explode(',', $values) as $intToCombinedStrings) { diff --git a/core/vendor/autoload.php b/core/vendor/autoload.php index 0b489625..67cf3523 100644 --- a/core/vendor/autoload.php +++ b/core/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInit707c94b89116dc9a5c149116ae36ff39::getLoader(); +return ComposerAutoloaderInit60933c160e6e784f12d951b85ffd7bf5::getLoader(); diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php index 14e78e60..81c75042 100644 --- a/core/vendor/composer/autoload_classmap.php +++ b/core/vendor/composer/autoload_classmap.php @@ -8,15 +8,749 @@ $baseDir = dirname(dirname($vendorDir)); return array( 'ArithmeticError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php', 'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php', + 'Assetic\\AssetManager' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/AssetManager.php', + 'Assetic\\AssetWriter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/AssetWriter.php', + 'Assetic\\Asset\\AssetCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/AssetCache.php', + 'Assetic\\Asset\\AssetCollection' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/AssetCollection.php', + 'Assetic\\Asset\\AssetCollectionInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/AssetCollectionInterface.php', + 'Assetic\\Asset\\AssetInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/AssetInterface.php', + 'Assetic\\Asset\\AssetReference' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/AssetReference.php', + 'Assetic\\Asset\\BaseAsset' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/BaseAsset.php', + 'Assetic\\Asset\\FileAsset' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/FileAsset.php', + 'Assetic\\Asset\\GlobAsset' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/GlobAsset.php', + 'Assetic\\Asset\\HttpAsset' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/HttpAsset.php', + 'Assetic\\Asset\\Iterator\\AssetCollectionFilterIterator' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionFilterIterator.php', + 'Assetic\\Asset\\Iterator\\AssetCollectionIterator' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/Iterator/AssetCollectionIterator.php', + 'Assetic\\Asset\\StringAsset' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Asset/StringAsset.php', + 'Assetic\\Cache\\ApcCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/ApcCache.php', + 'Assetic\\Cache\\ArrayCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/ArrayCache.php', + 'Assetic\\Cache\\CacheInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/CacheInterface.php', + 'Assetic\\Cache\\ConfigCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/ConfigCache.php', + 'Assetic\\Cache\\ExpiringCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/ExpiringCache.php', + 'Assetic\\Cache\\FilesystemCache' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Cache/FilesystemCache.php', + 'Assetic\\Exception\\Exception' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Exception/Exception.php', + 'Assetic\\Exception\\FilterException' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Exception/FilterException.php', + 'Assetic\\Extension\\Twig\\AsseticExtension' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticExtension.php', + 'Assetic\\Extension\\Twig\\AsseticFilterFunction' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterFunction.php', + 'Assetic\\Extension\\Twig\\AsseticFilterInvoker' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterInvoker.php', + 'Assetic\\Extension\\Twig\\AsseticFilterNode' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticFilterNode.php', + 'Assetic\\Extension\\Twig\\AsseticNode' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticNode.php', + 'Assetic\\Extension\\Twig\\AsseticTokenParser' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticTokenParser.php', + 'Assetic\\Extension\\Twig\\TwigFormulaLoader' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigFormulaLoader.php', + 'Assetic\\Extension\\Twig\\TwigResource' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/TwigResource.php', + 'Assetic\\Extension\\Twig\\ValueContainer' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Extension/Twig/ValueContainer.php', + 'Assetic\\Factory\\AssetFactory' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/AssetFactory.php', + 'Assetic\\Factory\\LazyAssetManager' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/LazyAssetManager.php', + 'Assetic\\Factory\\Loader\\BasePhpFormulaLoader' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Loader/BasePhpFormulaLoader.php', + 'Assetic\\Factory\\Loader\\CachedFormulaLoader' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Loader/CachedFormulaLoader.php', + 'Assetic\\Factory\\Loader\\FormulaLoaderInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Loader/FormulaLoaderInterface.php', + 'Assetic\\Factory\\Loader\\FunctionCallsFormulaLoader' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Loader/FunctionCallsFormulaLoader.php', + 'Assetic\\Factory\\Resource\\CoalescingDirectoryResource' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/CoalescingDirectoryResource.php', + 'Assetic\\Factory\\Resource\\DirectoryResource' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/DirectoryResource.php', + 'Assetic\\Factory\\Resource\\DirectoryResourceFilterIterator' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/DirectoryResource.php', + 'Assetic\\Factory\\Resource\\DirectoryResourceIterator' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/DirectoryResource.php', + 'Assetic\\Factory\\Resource\\FileResource' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/FileResource.php', + 'Assetic\\Factory\\Resource\\IteratorResourceInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/IteratorResourceInterface.php', + 'Assetic\\Factory\\Resource\\ResourceInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Resource/ResourceInterface.php', + 'Assetic\\Factory\\Worker\\CacheBustingWorker' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Worker/CacheBustingWorker.php', + 'Assetic\\Factory\\Worker\\EnsureFilterWorker' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Worker/EnsureFilterWorker.php', + 'Assetic\\Factory\\Worker\\WorkerInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Factory/Worker/WorkerInterface.php', + 'Assetic\\FilterManager' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/FilterManager.php', + 'Assetic\\Filter\\AutoprefixerFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/AutoprefixerFilter.php', + 'Assetic\\Filter\\BaseCssFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/BaseCssFilter.php', + 'Assetic\\Filter\\BaseNodeFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/BaseNodeFilter.php', + 'Assetic\\Filter\\BaseProcessFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/BaseProcessFilter.php', + 'Assetic\\Filter\\CallablesFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CallablesFilter.php', + 'Assetic\\Filter\\CleanCssFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CleanCssFilter.php', + 'Assetic\\Filter\\CoffeeScriptFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CoffeeScriptFilter.php', + 'Assetic\\Filter\\CompassFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CompassFilter.php', + 'Assetic\\Filter\\CssCacheBustingFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CssCacheBustingFilter.php', + 'Assetic\\Filter\\CssEmbedFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CssEmbedFilter.php', + 'Assetic\\Filter\\CssImportFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CssImportFilter.php', + 'Assetic\\Filter\\CssMinFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CssMinFilter.php', + 'Assetic\\Filter\\CssRewriteFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/CssRewriteFilter.php', + 'Assetic\\Filter\\DartFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/DartFilter.php', + 'Assetic\\Filter\\DependencyExtractorInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/DependencyExtractorInterface.php', + 'Assetic\\Filter\\EmberPrecompileFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/EmberPrecompileFilter.php', + 'Assetic\\Filter\\FilterCollection' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/FilterCollection.php', + 'Assetic\\Filter\\FilterInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/FilterInterface.php', + 'Assetic\\Filter\\GoogleClosure\\BaseCompilerFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/BaseCompilerFilter.php', + 'Assetic\\Filter\\GoogleClosure\\CompilerApiFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerApiFilter.php', + 'Assetic\\Filter\\GoogleClosure\\CompilerJarFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerJarFilter.php', + 'Assetic\\Filter\\GssFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/GssFilter.php', + 'Assetic\\Filter\\HandlebarsFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/HandlebarsFilter.php', + 'Assetic\\Filter\\HashableInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/HashableInterface.php', + 'Assetic\\Filter\\JSMinFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/JSMinFilter.php', + 'Assetic\\Filter\\JSMinPlusFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/JSMinPlusFilter.php', + 'Assetic\\Filter\\JSqueezeFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/JSqueezeFilter.php', + 'Assetic\\Filter\\JpegoptimFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/JpegoptimFilter.php', + 'Assetic\\Filter\\JpegtranFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/JpegtranFilter.php', + 'Assetic\\Filter\\LessFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/LessFilter.php', + 'Assetic\\Filter\\LessphpFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/LessphpFilter.php', + 'Assetic\\Filter\\MinifyCssCompressorFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/MinifyCssCompressorFilter.php', + 'Assetic\\Filter\\OptiPngFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/OptiPngFilter.php', + 'Assetic\\Filter\\PackagerFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/PackagerFilter.php', + 'Assetic\\Filter\\PackerFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/PackerFilter.php', + 'Assetic\\Filter\\PhpCssEmbedFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/PhpCssEmbedFilter.php', + 'Assetic\\Filter\\PngoutFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/PngoutFilter.php', + 'Assetic\\Filter\\ReactJsxFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/ReactJsxFilter.php', + 'Assetic\\Filter\\RooleFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/RooleFilter.php', + 'Assetic\\Filter\\Sass\\BaseSassFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Sass/BaseSassFilter.php', + 'Assetic\\Filter\\Sass\\SassFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Sass/SassFilter.php', + 'Assetic\\Filter\\Sass\\ScssFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Sass/ScssFilter.php', + 'Assetic\\Filter\\ScssphpFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/ScssphpFilter.php', + 'Assetic\\Filter\\SeparatorFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/SeparatorFilter.php', + 'Assetic\\Filter\\SprocketsFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/SprocketsFilter.php', + 'Assetic\\Filter\\StylusFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/StylusFilter.php', + 'Assetic\\Filter\\TypeScriptFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/TypeScriptFilter.php', + 'Assetic\\Filter\\UglifyCssFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/UglifyCssFilter.php', + 'Assetic\\Filter\\UglifyJs2Filter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/UglifyJs2Filter.php', + 'Assetic\\Filter\\UglifyJsFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/UglifyJsFilter.php', + 'Assetic\\Filter\\Yui\\BaseCompressorFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Yui/BaseCompressorFilter.php', + 'Assetic\\Filter\\Yui\\CssCompressorFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Yui/CssCompressorFilter.php', + 'Assetic\\Filter\\Yui\\JsCompressorFilter' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Filter/Yui/JsCompressorFilter.php', + 'Assetic\\Util\\CssUtils' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Util/CssUtils.php', + 'Assetic\\Util\\FilesystemUtils' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Util/FilesystemUtils.php', + 'Assetic\\Util\\LessUtils' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Util/LessUtils.php', + 'Assetic\\Util\\TraversableString' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Util/TraversableString.php', + 'Assetic\\Util\\VarUtils' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/Util/VarUtils.php', + 'Assetic\\ValueSupplierInterface' => $vendorDir . '/kriswallsmith/assetic/src/Assetic/ValueSupplierInterface.php', 'CallbackFilterIterator' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/CallbackFilterIterator.php', + 'Carousel\\Carousel' => $baseDir . '/local/modules/Carousel/Carousel.php', + 'Carousel\\Controller\\ConfigurationController' => $baseDir . '/local/modules/Carousel/Controller/ConfigurationController.php', + 'Carousel\\Form\\CarouselImageForm' => $baseDir . '/local/modules/Carousel/Form/CarouselImageForm.php', + 'Carousel\\Form\\CarouselUpdateForm' => $baseDir . '/local/modules/Carousel/Form/CarouselUpdateForm.php', + 'Carousel\\Hook\\BackHook' => $baseDir . '/local/modules/Carousel/Hook/BackHook.php', + 'Carousel\\Loop\\CarouselLoop' => $baseDir . '/local/modules/Carousel/Loop/CarouselLoop.php', + 'Carousel\\Model\\Base\\Carousel' => $baseDir . '/local/modules/Carousel/Model/Base/Carousel.php', + 'Carousel\\Model\\Base\\CarouselI18n' => $baseDir . '/local/modules/Carousel/Model/Base/CarouselI18n.php', + 'Carousel\\Model\\Base\\CarouselI18nQuery' => $baseDir . '/local/modules/Carousel/Model/Base/CarouselI18nQuery.php', + 'Carousel\\Model\\Base\\CarouselQuery' => $baseDir . '/local/modules/Carousel/Model/Base/CarouselQuery.php', + 'Carousel\\Model\\Carousel' => $baseDir . '/local/modules/Carousel/Model/Carousel.php', + 'Carousel\\Model\\CarouselI18n' => $baseDir . '/local/modules/Carousel/Model/CarouselI18n.php', + 'Carousel\\Model\\CarouselI18nQuery' => $baseDir . '/local/modules/Carousel/Model/CarouselI18nQuery.php', + 'Carousel\\Model\\CarouselQuery' => $baseDir . '/local/modules/Carousel/Model/CarouselQuery.php', + 'Carousel\\Model\\Map\\CarouselI18nTableMap' => $baseDir . '/local/modules/Carousel/Model/Map/CarouselI18nTableMap.php', + 'Carousel\\Model\\Map\\CarouselTableMap' => $baseDir . '/local/modules/Carousel/Model/Map/CarouselTableMap.php', + 'Cheque\\Cheque' => $baseDir . '/local/modules/Cheque/Cheque.php', + 'Cheque\\Controller\\ConfigureController' => $baseDir . '/local/modules/Cheque/Controller/ConfigureController.php', + 'Cheque\\Form\\ConfigurationForm' => $baseDir . '/local/modules/Cheque/Form/ConfigurationForm.php', + 'Cheque\\Hook\\HookManager' => $baseDir . '/local/modules/Cheque/Hook/HookManager.php', + 'Cheque\\Listener\\SendPaymentConfirmationEmail' => $baseDir . '/local/modules/Cheque/Listener/SendPaymentConfirmationEmail.php', + 'Colissimo\\Colissimo' => $baseDir . '/local/modules/Colissimo/Colissimo.php', + 'Colissimo\\Controller\\Configuration' => $baseDir . '/local/modules/Colissimo/Controller/Configuration.php', + 'Colissimo\\Controller\\EditPrices' => $baseDir . '/local/modules/Colissimo/Controller/EditPrices.php', + 'Colissimo\\Controller\\Export' => $baseDir . '/local/modules/Colissimo/Controller/Export.php', + 'Colissimo\\Controller\\FreeShipping' => $baseDir . '/local/modules/Colissimo/Controller/FreeShipping.php', + 'Colissimo\\EventListener\\AreaDeletedListener' => $baseDir . '/local/modules/Colissimo/EventListener/AreaDeletedListener.php', + 'Colissimo\\Form\\Configuration' => $baseDir . '/local/modules/Colissimo/Form/Configuration.php', + 'Colissimo\\Form\\Export' => $baseDir . '/local/modules/Colissimo/Form/Export.php', + 'Colissimo\\Form\\FreeShipping' => $baseDir . '/local/modules/Colissimo/Form/FreeShipping.php', + 'Colissimo\\Hook\\HookManager' => $baseDir . '/local/modules/Colissimo/Hook/HookManager.php', + 'Colissimo\\Listener\\SendMail' => $baseDir . '/local/modules/Colissimo/Listener/SendMail.php', + 'Colissimo\\Loop\\CheckRightsLoop' => $baseDir . '/local/modules/Colissimo/Loop/CheckRightsLoop.php', + 'Colissimo\\Loop\\NotSendLoop' => $baseDir . '/local/modules/Colissimo/Loop/NotSendLoop.php', + 'Colissimo\\Loop\\Price' => $baseDir . '/local/modules/Colissimo/Loop/Price.php', + 'Colissimo\\Model\\ColissimoQuery' => $baseDir . '/local/modules/Colissimo/Model/ColissimoQuery.php', + 'Colissimo\\Model\\Config\\Base\\ColissimoConfigValue' => $baseDir . '/local/modules/Colissimo/Model/Config/Base/ColissimoConfigValue.php', + 'Colissimo\\Model\\Config\\ColissimoConfigValue' => $baseDir . '/local/modules/Colissimo/Model/Config/ColissimoConfigValue.php', 'Collator' => $vendorDir . '/symfony/intl/Resources/stubs/Collator.php', + 'CommerceGuys\\Addressing\\Collection\\LazySubdivisionCollection' => $vendorDir . '/commerceguys/addressing/src/Collection/LazySubdivisionCollection.php', + 'CommerceGuys\\Addressing\\Enum\\AddressField' => $vendorDir . '/commerceguys/addressing/src/Enum/AddressField.php', + 'CommerceGuys\\Addressing\\Enum\\AdministrativeAreaType' => $vendorDir . '/commerceguys/addressing/src/Enum/AdministrativeAreaType.php', + 'CommerceGuys\\Addressing\\Enum\\DependentLocalityType' => $vendorDir . '/commerceguys/addressing/src/Enum/DependentLocalityType.php', + 'CommerceGuys\\Addressing\\Enum\\LocalityType' => $vendorDir . '/commerceguys/addressing/src/Enum/LocalityType.php', + 'CommerceGuys\\Addressing\\Enum\\PatternType' => $vendorDir . '/commerceguys/addressing/src/Enum/PatternType.php', + 'CommerceGuys\\Addressing\\Enum\\PostalCodeType' => $vendorDir . '/commerceguys/addressing/src/Enum/PostalCodeType.php', + 'CommerceGuys\\Addressing\\Exception\\ExceptionInterface' => $vendorDir . '/commerceguys/addressing/src/Exception/ExceptionInterface.php', + 'CommerceGuys\\Addressing\\Exception\\UnexpectedTypeException' => $vendorDir . '/commerceguys/addressing/src/Exception/UnexpectedTypeException.php', + 'CommerceGuys\\Addressing\\Form\\EventListener\\GenerateAddressFieldsSubscriber' => $vendorDir . '/commerceguys/addressing/src/Form/EventListener/GenerateAddressFieldsSubscriber.php', + 'CommerceGuys\\Addressing\\Form\\Type\\AddressType' => $vendorDir . '/commerceguys/addressing/src/Form/Type/AddressType.php', + 'CommerceGuys\\Addressing\\Formatter\\DefaultFormatter' => $vendorDir . '/commerceguys/addressing/src/Formatter/DefaultFormatter.php', + 'CommerceGuys\\Addressing\\Formatter\\FormatterInterface' => $vendorDir . '/commerceguys/addressing/src/Formatter/FormatterInterface.php', + 'CommerceGuys\\Addressing\\Formatter\\PostalLabelFormatter' => $vendorDir . '/commerceguys/addressing/src/Formatter/PostalLabelFormatter.php', + 'CommerceGuys\\Addressing\\Formatter\\PostalLabelFormatterInterface' => $vendorDir . '/commerceguys/addressing/src/Formatter/PostalLabelFormatterInterface.php', + 'CommerceGuys\\Addressing\\Model\\Address' => $vendorDir . '/commerceguys/addressing/src/Model/Address.php', + 'CommerceGuys\\Addressing\\Model\\AddressFormat' => $vendorDir . '/commerceguys/addressing/src/Model/AddressFormat.php', + 'CommerceGuys\\Addressing\\Model\\AddressFormatEntityInterface' => $vendorDir . '/commerceguys/addressing/src/Model/AddressFormatEntityInterface.php', + 'CommerceGuys\\Addressing\\Model\\AddressFormatInterface' => $vendorDir . '/commerceguys/addressing/src/Model/AddressFormatInterface.php', + 'CommerceGuys\\Addressing\\Model\\AddressInterface' => $vendorDir . '/commerceguys/addressing/src/Model/AddressInterface.php', + 'CommerceGuys\\Addressing\\Model\\FormatStringTrait' => $vendorDir . '/commerceguys/addressing/src/Model/FormatStringTrait.php', + 'CommerceGuys\\Addressing\\Model\\ImmutableAddressInterface' => $vendorDir . '/commerceguys/addressing/src/Model/ImmutableAddressInterface.php', + 'CommerceGuys\\Addressing\\Model\\Subdivision' => $vendorDir . '/commerceguys/addressing/src/Model/Subdivision.php', + 'CommerceGuys\\Addressing\\Model\\SubdivisionEntityInterface' => $vendorDir . '/commerceguys/addressing/src/Model/SubdivisionEntityInterface.php', + 'CommerceGuys\\Addressing\\Model\\SubdivisionInterface' => $vendorDir . '/commerceguys/addressing/src/Model/SubdivisionInterface.php', + 'CommerceGuys\\Addressing\\Repository\\AddressFormatRepository' => $vendorDir . '/commerceguys/addressing/src/Repository/AddressFormatRepository.php', + 'CommerceGuys\\Addressing\\Repository\\AddressFormatRepositoryInterface' => $vendorDir . '/commerceguys/addressing/src/Repository/AddressFormatRepositoryInterface.php', + 'CommerceGuys\\Addressing\\Repository\\CountryRepository' => $vendorDir . '/commerceguys/addressing/src/Repository/CountryRepository.php', + 'CommerceGuys\\Addressing\\Repository\\CountryRepositoryInterface' => $vendorDir . '/commerceguys/addressing/src/Repository/CountryRepositoryInterface.php', + 'CommerceGuys\\Addressing\\Repository\\DefinitionTranslatorTrait' => $vendorDir . '/commerceguys/addressing/src/Repository/DefinitionTranslatorTrait.php', + 'CommerceGuys\\Addressing\\Repository\\SubdivisionRepository' => $vendorDir . '/commerceguys/addressing/src/Repository/SubdivisionRepository.php', + 'CommerceGuys\\Addressing\\Repository\\SubdivisionRepositoryInterface' => $vendorDir . '/commerceguys/addressing/src/Repository/SubdivisionRepositoryInterface.php', + 'CommerceGuys\\Addressing\\Validator\\Constraints\\AddressFormat' => $vendorDir . '/commerceguys/addressing/src/Validator/Constraints/AddressFormat.php', + 'CommerceGuys\\Addressing\\Validator\\Constraints\\AddressFormatValidator' => $vendorDir . '/commerceguys/addressing/src/Validator/Constraints/AddressFormatValidator.php', + 'CommerceGuys\\Addressing\\Validator\\Constraints\\Country' => $vendorDir . '/commerceguys/addressing/src/Validator/Constraints/Country.php', + 'CommerceGuys\\Addressing\\Validator\\Constraints\\CountryValidator' => $vendorDir . '/commerceguys/addressing/src/Validator/Constraints/CountryValidator.php', + 'CommerceGuys\\Enum\\AbstractEnum' => $vendorDir . '/commerceguys/enum/src/AbstractEnum.php', + 'CssEmbed\\CssEmbed' => $vendorDir . '/ptachoire/cssembed/src/CssEmbed/CssEmbed.php', 'DivisionByZeroError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php', + 'Doctrine\\Common\\Cache\\ApcCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php', + 'Doctrine\\Common\\Cache\\ArrayCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php', + 'Doctrine\\Common\\Cache\\Cache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php', + 'Doctrine\\Common\\Cache\\CacheProvider' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php', + 'Doctrine\\Common\\Cache\\ChainCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php', + 'Doctrine\\Common\\Cache\\ClearableCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php', + 'Doctrine\\Common\\Cache\\CouchbaseCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php', + 'Doctrine\\Common\\Cache\\FileCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php', + 'Doctrine\\Common\\Cache\\FilesystemCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php', + 'Doctrine\\Common\\Cache\\FlushableCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php', + 'Doctrine\\Common\\Cache\\MemcacheCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php', + 'Doctrine\\Common\\Cache\\MemcachedCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php', + 'Doctrine\\Common\\Cache\\MongoDBCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php', + 'Doctrine\\Common\\Cache\\MultiGetCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php', + 'Doctrine\\Common\\Cache\\PhpFileCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php', + 'Doctrine\\Common\\Cache\\PredisCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php', + 'Doctrine\\Common\\Cache\\RedisCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php', + 'Doctrine\\Common\\Cache\\RiakCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php', + 'Doctrine\\Common\\Cache\\SQLite3Cache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php', + 'Doctrine\\Common\\Cache\\Version' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/Version.php', + 'Doctrine\\Common\\Cache\\VoidCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php', + 'Doctrine\\Common\\Cache\\WinCacheCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php', + 'Doctrine\\Common\\Cache\\XcacheCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php', + 'Doctrine\\Common\\Cache\\ZendDataCache' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php', + 'Doctrine\\Common\\Collections\\AbstractLazyCollection' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php', + 'Doctrine\\Common\\Collections\\ArrayCollection' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php', + 'Doctrine\\Common\\Collections\\Collection' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php', + 'Doctrine\\Common\\Collections\\Criteria' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php', + 'Doctrine\\Common\\Collections\\Expr\\ClosureExpressionVisitor' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php', + 'Doctrine\\Common\\Collections\\Expr\\Comparison' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php', + 'Doctrine\\Common\\Collections\\Expr\\CompositeExpression' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php', + 'Doctrine\\Common\\Collections\\Expr\\Expression' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php', + 'Doctrine\\Common\\Collections\\Expr\\ExpressionVisitor' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php', + 'Doctrine\\Common\\Collections\\Expr\\Value' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php', + 'Doctrine\\Common\\Collections\\ExpressionBuilder' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php', + 'Doctrine\\Common\\Collections\\Selectable' => $vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php', + 'Doctrine\\Instantiator\\Exception\\ExceptionInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php', + 'Doctrine\\Instantiator\\Exception\\InvalidArgumentException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php', + 'Doctrine\\Instantiator\\Exception\\UnexpectedValueException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php', + 'Doctrine\\Instantiator\\Instantiator' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php', + 'Doctrine\\Instantiator\\InstantiatorInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php', 'Error' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/Error.php', + 'Faker\\Calculator\\Luhn' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/Luhn.php', + 'Faker\\DefaultGenerator' => $vendorDir . '/fzaninotto/faker/src/Faker/DefaultGenerator.php', + 'Faker\\Documentor' => $vendorDir . '/fzaninotto/faker/src/Faker/Documentor.php', + 'Faker\\Factory' => $vendorDir . '/fzaninotto/faker/src/Faker/Factory.php', + 'Faker\\Generator' => $vendorDir . '/fzaninotto/faker/src/Faker/Generator.php', + 'Faker\\Guesser\\Name' => $vendorDir . '/fzaninotto/faker/src/Faker/Guesser/Name.php', + 'Faker\\ORM\\CakePHP\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php', + 'Faker\\ORM\\CakePHP\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php', + 'Faker\\ORM\\CakePHP\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php', + 'Faker\\ORM\\Doctrine\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php', + 'Faker\\ORM\\Doctrine\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php', + 'Faker\\ORM\\Doctrine\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php', + 'Faker\\ORM\\Mandango\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php', + 'Faker\\ORM\\Mandango\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php', + 'Faker\\ORM\\Mandango\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php', + 'Faker\\ORM\\Propel\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php', + 'Faker\\ORM\\Propel\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php', + 'Faker\\ORM\\Propel\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php', + 'Faker\\Provider\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Address.php', + 'Faker\\Provider\\Barcode' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Barcode.php', + 'Faker\\Provider\\Base' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Base.php', + 'Faker\\Provider\\Biased' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Biased.php', + 'Faker\\Provider\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Color.php', + 'Faker\\Provider\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Company.php', + 'Faker\\Provider\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/DateTime.php', + 'Faker\\Provider\\File' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/File.php', + 'Faker\\Provider\\Image' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Image.php', + 'Faker\\Provider\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Internet.php', + 'Faker\\Provider\\Lorem' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Lorem.php', + 'Faker\\Provider\\Miscellaneous' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Miscellaneous.php', + 'Faker\\Provider\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Payment.php', + 'Faker\\Provider\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Person.php', + 'Faker\\Provider\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php', + 'Faker\\Provider\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Text.php', + 'Faker\\Provider\\UserAgent' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/UserAgent.php', + 'Faker\\Provider\\Uuid' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Uuid.php', + 'Faker\\Provider\\ar_JO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php', + 'Faker\\Provider\\ar_JO\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Company.php', + 'Faker\\Provider\\ar_JO\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Internet.php', + 'Faker\\Provider\\ar_JO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php', + 'Faker\\Provider\\ar_JO\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Text.php', + 'Faker\\Provider\\at_AT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/at_AT/Payment.php', + 'Faker\\Provider\\be_BE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/be_BE/Payment.php', + 'Faker\\Provider\\bg_BG\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Internet.php', + 'Faker\\Provider\\bg_BG\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Payment.php', + 'Faker\\Provider\\bg_BG\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Person.php', + 'Faker\\Provider\\bg_BG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php', + 'Faker\\Provider\\bn_BD\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Address.php', + 'Faker\\Provider\\bn_BD\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Company.php', + 'Faker\\Provider\\bn_BD\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Person.php', + 'Faker\\Provider\\bn_BD\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/PhoneNumber.php', + 'Faker\\Provider\\bn_BD\\Utils' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Utils.php', + 'Faker\\Provider\\cs_CZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Address.php', + 'Faker\\Provider\\cs_CZ\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Company.php', + 'Faker\\Provider\\cs_CZ\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php', + 'Faker\\Provider\\cs_CZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php', + 'Faker\\Provider\\cs_CZ\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Payment.php', + 'Faker\\Provider\\cs_CZ\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Person.php', + 'Faker\\Provider\\cs_CZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php', + 'Faker\\Provider\\da_DK\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Address.php', + 'Faker\\Provider\\da_DK\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php', + 'Faker\\Provider\\da_DK\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php', + 'Faker\\Provider\\da_DK\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php', + 'Faker\\Provider\\da_DK\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Person.php', + 'Faker\\Provider\\da_DK\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php', + 'Faker\\Provider\\de_AT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php', + 'Faker\\Provider\\de_AT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Company.php', + 'Faker\\Provider\\de_AT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Internet.php', + 'Faker\\Provider\\de_AT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Payment.php', + 'Faker\\Provider\\de_AT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Person.php', + 'Faker\\Provider\\de_AT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/PhoneNumber.php', + 'Faker\\Provider\\de_DE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Address.php', + 'Faker\\Provider\\de_DE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Company.php', + 'Faker\\Provider\\de_DE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Internet.php', + 'Faker\\Provider\\de_DE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Payment.php', + 'Faker\\Provider\\de_DE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Person.php', + 'Faker\\Provider\\de_DE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/PhoneNumber.php', + 'Faker\\Provider\\de_DE\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Text.php', + 'Faker\\Provider\\el_GR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Address.php', + 'Faker\\Provider\\el_GR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Payment.php', + 'Faker\\Provider\\el_GR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Person.php', + 'Faker\\Provider\\el_GR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php', + 'Faker\\Provider\\en_AU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/Address.php', + 'Faker\\Provider\\en_AU\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/Internet.php', + 'Faker\\Provider\\en_AU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/PhoneNumber.php', + 'Faker\\Provider\\en_CA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_CA/Address.php', + 'Faker\\Provider\\en_CA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_CA/PhoneNumber.php', + 'Faker\\Provider\\en_GB\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Address.php', + 'Faker\\Provider\\en_GB\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Internet.php', + 'Faker\\Provider\\en_GB\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Payment.php', + 'Faker\\Provider\\en_GB\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Person.php', + 'Faker\\Provider\\en_GB\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/PhoneNumber.php', + 'Faker\\Provider\\en_NZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Address.php', + 'Faker\\Provider\\en_NZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Internet.php', + 'Faker\\Provider\\en_NZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/PhoneNumber.php', + 'Faker\\Provider\\en_PH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_PH/Address.php', + 'Faker\\Provider\\en_UG\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php', + 'Faker\\Provider\\en_UG\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Internet.php', + 'Faker\\Provider\\en_UG\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Person.php', + 'Faker\\Provider\\en_UG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/PhoneNumber.php', + 'Faker\\Provider\\en_US\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Address.php', + 'Faker\\Provider\\en_US\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Company.php', + 'Faker\\Provider\\en_US\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Person.php', + 'Faker\\Provider\\en_US\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/PhoneNumber.php', + 'Faker\\Provider\\en_US\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Text.php', + 'Faker\\Provider\\en_ZA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Address.php', + 'Faker\\Provider\\en_ZA\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php', + 'Faker\\Provider\\en_ZA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Person.php', + 'Faker\\Provider\\en_ZA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php', + 'Faker\\Provider\\es_AR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php', + 'Faker\\Provider\\es_AR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Company.php', + 'Faker\\Provider\\es_AR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Person.php', + 'Faker\\Provider\\es_AR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/PhoneNumber.php', + 'Faker\\Provider\\es_ES\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Address.php', + 'Faker\\Provider\\es_ES\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Company.php', + 'Faker\\Provider\\es_ES\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Internet.php', + 'Faker\\Provider\\es_ES\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Payment.php', + 'Faker\\Provider\\es_ES\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Person.php', + 'Faker\\Provider\\es_ES\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/PhoneNumber.php', + 'Faker\\Provider\\es_PE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Address.php', + 'Faker\\Provider\\es_PE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Company.php', + 'Faker\\Provider\\es_PE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Person.php', + 'Faker\\Provider\\es_PE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/PhoneNumber.php', + 'Faker\\Provider\\es_VE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Address.php', + 'Faker\\Provider\\es_VE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Company.php', + 'Faker\\Provider\\es_VE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Internet.php', + 'Faker\\Provider\\es_VE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Person.php', + 'Faker\\Provider\\es_VE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php', + 'Faker\\Provider\\fa_IR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Internet.php', + 'Faker\\Provider\\fa_IR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php', + 'Faker\\Provider\\fa_IR\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Text.php', + 'Faker\\Provider\\fi_FI\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php', + 'Faker\\Provider\\fi_FI\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Company.php', + 'Faker\\Provider\\fi_FI\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Internet.php', + 'Faker\\Provider\\fi_FI\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Person.php', + 'Faker\\Provider\\fi_FI\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php', + 'Faker\\Provider\\fr_BE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Address.php', + 'Faker\\Provider\\fr_BE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Company.php', + 'Faker\\Provider\\fr_BE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Internet.php', + 'Faker\\Provider\\fr_BE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Payment.php', + 'Faker\\Provider\\fr_BE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Person.php', + 'Faker\\Provider\\fr_BE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/PhoneNumber.php', + 'Faker\\Provider\\fr_CA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Address.php', + 'Faker\\Provider\\fr_CA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Person.php', + 'Faker\\Provider\\fr_FR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Address.php', + 'Faker\\Provider\\fr_FR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php', + 'Faker\\Provider\\fr_FR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php', + 'Faker\\Provider\\fr_FR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Payment.php', + 'Faker\\Provider\\fr_FR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Person.php', + 'Faker\\Provider\\fr_FR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php', + 'Faker\\Provider\\hu_HU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Address.php', + 'Faker\\Provider\\hu_HU\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php', + 'Faker\\Provider\\hu_HU\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Person.php', + 'Faker\\Provider\\hu_HU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/PhoneNumber.php', + 'Faker\\Provider\\hy_AM\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Address.php', + 'Faker\\Provider\\hy_AM\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Company.php', + 'Faker\\Provider\\hy_AM\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Internet.php', + 'Faker\\Provider\\hy_AM\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Person.php', + 'Faker\\Provider\\hy_AM\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/PhoneNumber.php', + 'Faker\\Provider\\id_ID\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php', + 'Faker\\Provider\\id_ID\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Company.php', + 'Faker\\Provider\\id_ID\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Internet.php', + 'Faker\\Provider\\id_ID\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Person.php', + 'Faker\\Provider\\id_ID\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php', + 'Faker\\Provider\\is_IS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Address.php', + 'Faker\\Provider\\is_IS\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php', + 'Faker\\Provider\\is_IS\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php', + 'Faker\\Provider\\is_IS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php', + 'Faker\\Provider\\is_IS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Person.php', + 'Faker\\Provider\\is_IS\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php', + 'Faker\\Provider\\it_IT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Address.php', + 'Faker\\Provider\\it_IT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Company.php', + 'Faker\\Provider\\it_IT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Internet.php', + 'Faker\\Provider\\it_IT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Payment.php', + 'Faker\\Provider\\it_IT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Person.php', + 'Faker\\Provider\\it_IT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/PhoneNumber.php', + 'Faker\\Provider\\it_IT\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Text.php', + 'Faker\\Provider\\ja_JP\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Address.php', + 'Faker\\Provider\\ja_JP\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php', + 'Faker\\Provider\\ja_JP\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Internet.php', + 'Faker\\Provider\\ja_JP\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php', + 'Faker\\Provider\\ja_JP\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php', + 'Faker\\Provider\\ka_GE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Person.php', + 'Faker\\Provider\\kk_KZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Address.php', + 'Faker\\Provider\\kk_KZ\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Color.php', + 'Faker\\Provider\\kk_KZ\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Company.php', + 'Faker\\Provider\\kk_KZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php', + 'Faker\\Provider\\kk_KZ\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Payment.php', + 'Faker\\Provider\\kk_KZ\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Person.php', + 'Faker\\Provider\\kk_KZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php', + 'Faker\\Provider\\kk_KZ\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Text.php', + 'Faker\\Provider\\ko_KR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Address.php', + 'Faker\\Provider\\ko_KR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Company.php', + 'Faker\\Provider\\ko_KR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Internet.php', + 'Faker\\Provider\\ko_KR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php', + 'Faker\\Provider\\ko_KR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/PhoneNumber.php', + 'Faker\\Provider\\lv_LV\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Address.php', + 'Faker\\Provider\\lv_LV\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Internet.php', + 'Faker\\Provider\\lv_LV\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Payment.php', + 'Faker\\Provider\\lv_LV\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Person.php', + 'Faker\\Provider\\lv_LV\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php', + 'Faker\\Provider\\me_ME\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Address.php', + 'Faker\\Provider\\me_ME\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php', + 'Faker\\Provider\\me_ME\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Payment.php', + 'Faker\\Provider\\me_ME\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Person.php', + 'Faker\\Provider\\me_ME\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/PhoneNumber.php', + 'Faker\\Provider\\ne_NP\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php', + 'Faker\\Provider\\ne_NP\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Internet.php', + 'Faker\\Provider\\ne_NP\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Person.php', + 'Faker\\Provider\\ne_NP\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/PhoneNumber.php', + 'Faker\\Provider\\nl_BE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Address.php', + 'Faker\\Provider\\nl_BE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Company.php', + 'Faker\\Provider\\nl_BE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Internet.php', + 'Faker\\Provider\\nl_BE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Payment.php', + 'Faker\\Provider\\nl_BE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Person.php', + 'Faker\\Provider\\nl_BE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php', + 'Faker\\Provider\\nl_NL\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Address.php', + 'Faker\\Provider\\nl_NL\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Color.php', + 'Faker\\Provider\\nl_NL\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Company.php', + 'Faker\\Provider\\nl_NL\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php', + 'Faker\\Provider\\nl_NL\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Payment.php', + 'Faker\\Provider\\nl_NL\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Person.php', + 'Faker\\Provider\\nl_NL\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php', + 'Faker\\Provider\\no_NO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/no_NO/Address.php', + 'Faker\\Provider\\no_NO\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/no_NO/Company.php', + 'Faker\\Provider\\no_NO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/no_NO/Person.php', + 'Faker\\Provider\\no_NO\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/no_NO/PhoneNumber.php', + 'Faker\\Provider\\pl_PL\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Address.php', + 'Faker\\Provider\\pl_PL\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Company.php', + 'Faker\\Provider\\pl_PL\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Internet.php', + 'Faker\\Provider\\pl_PL\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Payment.php', + 'Faker\\Provider\\pl_PL\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php', + 'Faker\\Provider\\pl_PL\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php', + 'Faker\\Provider\\pl_PL\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Text.php', + 'Faker\\Provider\\pt_BR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php', + 'Faker\\Provider\\pt_BR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Company.php', + 'Faker\\Provider\\pt_BR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php', + 'Faker\\Provider\\pt_BR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Payment.php', + 'Faker\\Provider\\pt_BR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php', + 'Faker\\Provider\\pt_BR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php', + 'Faker\\Provider\\pt_PT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php', + 'Faker\\Provider\\pt_PT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Payment.php', + 'Faker\\Provider\\pt_PT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Person.php', + 'Faker\\Provider\\pt_PT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php', + 'Faker\\Provider\\ro_MD\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Address.php', + 'Faker\\Provider\\ro_MD\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Person.php', + 'Faker\\Provider\\ro_MD\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/PhoneNumber.php', + 'Faker\\Provider\\ro_RO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Address.php', + 'Faker\\Provider\\ro_RO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Person.php', + 'Faker\\Provider\\ro_RO\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php', + 'Faker\\Provider\\ru_RU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Address.php', + 'Faker\\Provider\\ru_RU\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php', + 'Faker\\Provider\\ru_RU\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Company.php', + 'Faker\\Provider\\ru_RU\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php', + 'Faker\\Provider\\ru_RU\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Payment.php', + 'Faker\\Provider\\ru_RU\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php', + 'Faker\\Provider\\ru_RU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php', + 'Faker\\Provider\\sk_SK\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Address.php', + 'Faker\\Provider\\sk_SK\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Company.php', + 'Faker\\Provider\\sk_SK\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Internet.php', + 'Faker\\Provider\\sk_SK\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Payment.php', + 'Faker\\Provider\\sk_SK\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Person.php', + 'Faker\\Provider\\sk_SK\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php', + 'Faker\\Provider\\sl_SI\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Address.php', + 'Faker\\Provider\\sl_SI\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Internet.php', + 'Faker\\Provider\\sl_SI\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Payment.php', + 'Faker\\Provider\\sl_SI\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Person.php', + 'Faker\\Provider\\sl_SI\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/PhoneNumber.php', + 'Faker\\Provider\\sr_Cyrl_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Address.php', + 'Faker\\Provider\\sr_Cyrl_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Payment.php', + 'Faker\\Provider\\sr_Cyrl_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Person.php', + 'Faker\\Provider\\sr_Latn_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Address.php', + 'Faker\\Provider\\sr_Latn_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Payment.php', + 'Faker\\Provider\\sr_Latn_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Person.php', + 'Faker\\Provider\\sr_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Address.php', + 'Faker\\Provider\\sr_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Payment.php', + 'Faker\\Provider\\sr_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Person.php', + 'Faker\\Provider\\sv_SE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Address.php', + 'Faker\\Provider\\sv_SE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Company.php', + 'Faker\\Provider\\sv_SE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Person.php', + 'Faker\\Provider\\sv_SE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php', + 'Faker\\Provider\\tr_TR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Address.php', + 'Faker\\Provider\\tr_TR\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Color.php', + 'Faker\\Provider\\tr_TR\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/DateTime.php', + 'Faker\\Provider\\tr_TR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php', + 'Faker\\Provider\\tr_TR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Payment.php', + 'Faker\\Provider\\tr_TR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Person.php', + 'Faker\\Provider\\tr_TR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/PhoneNumber.php', + 'Faker\\Provider\\uk_UA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Address.php', + 'Faker\\Provider\\uk_UA\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php', + 'Faker\\Provider\\uk_UA\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Company.php', + 'Faker\\Provider\\uk_UA\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php', + 'Faker\\Provider\\uk_UA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Person.php', + 'Faker\\Provider\\uk_UA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php', + 'Faker\\Provider\\vi_VN\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Address.php', + 'Faker\\Provider\\vi_VN\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php', + 'Faker\\Provider\\vi_VN\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Internet.php', + 'Faker\\Provider\\vi_VN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Person.php', + 'Faker\\Provider\\vi_VN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php', + 'Faker\\Provider\\zh_CN\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php', + 'Faker\\Provider\\zh_CN\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Company.php', + 'Faker\\Provider\\zh_CN\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php', + 'Faker\\Provider\\zh_CN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Person.php', + 'Faker\\Provider\\zh_CN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/PhoneNumber.php', + 'Faker\\Provider\\zh_TW\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Address.php', + 'Faker\\Provider\\zh_TW\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php', + 'Faker\\Provider\\zh_TW\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Company.php', + 'Faker\\Provider\\zh_TW\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php', + 'Faker\\Provider\\zh_TW\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php', + 'Faker\\Provider\\zh_TW\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php', + 'Faker\\Provider\\zh_TW\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php', + 'Faker\\Provider\\zh_TW\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php', + 'Faker\\Provider\\zh_TW\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Text.php', + 'Faker\\UniqueGenerator' => $vendorDir . '/fzaninotto/faker/src/Faker/UniqueGenerator.php', 'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php', 'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php', 'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php', + 'FreeOrder\\FreeOrder' => $baseDir . '/local/modules/FreeOrder/FreeOrder.php', + 'Front\\Controller\\AddressController' => $baseDir . '/local/modules/Front/Controller/AddressController.php', + 'Front\\Controller\\CartController' => $baseDir . '/local/modules/Front/Controller/CartController.php', + 'Front\\Controller\\ContactController' => $baseDir . '/local/modules/Front/Controller/ContactController.php', + 'Front\\Controller\\CouponController' => $baseDir . '/local/modules/Front/Controller/CouponController.php', + 'Front\\Controller\\CustomerController' => $baseDir . '/local/modules/Front/Controller/CustomerController.php', + 'Front\\Controller\\FeedController' => $baseDir . '/local/modules/Front/Controller/FeedController.php', + 'Front\\Controller\\NewsletterController' => $baseDir . '/local/modules/Front/Controller/NewsletterController.php', + 'Front\\Controller\\OrderController' => $baseDir . '/local/modules/Front/Controller/OrderController.php', + 'Front\\Controller\\SitemapController' => $baseDir . '/local/modules/Front/Controller/SitemapController.php', + 'Front\\Front' => $baseDir . '/local/modules/Front/Front.php', + 'HTML2PDF' => $vendorDir . '/ensepar/html2pdf/HTML2PDF.php', + 'HTML2PDF_exception' => $vendorDir . '/ensepar/html2pdf/_class/exception.class.php', + 'HTML2PDF_locale' => $vendorDir . '/ensepar/html2pdf/_class/locale.class.php', + 'HTML2PDF_myPdf' => $vendorDir . '/ensepar/html2pdf/_class/myPdf.class.php', + 'HTML2PDF_parsingCss' => $vendorDir . '/ensepar/html2pdf/_class/parsingCss.class.php', + 'HTML2PDF_parsingHtml' => $vendorDir . '/ensepar/html2pdf/_class/parsingHtml.class.php', + 'HookAdminHome\\Controller\\HomeController' => $baseDir . '/local/modules/HookAdminHome/Controller/HomeController.php', + 'HookAdminHome\\HookAdminHome' => $baseDir . '/local/modules/HookAdminHome/HookAdminHome.php', + 'HookAdminHome\\Hook\\AdminHook' => $baseDir . '/local/modules/HookAdminHome/Hook/AdminHook.php', + 'HookAnalytics\\Controller\\Configuration' => $baseDir . '/local/modules/HookAnalytics/Controller/Configuration.php', + 'HookAnalytics\\Form\\Configuration' => $baseDir . '/local/modules/HookAnalytics/Form/Configuration.php', + 'HookAnalytics\\HookAnalytics' => $baseDir . '/local/modules/HookAnalytics/HookAnalytics.php', + 'HookAnalytics\\Hook\\FrontHook' => $baseDir . '/local/modules/HookAnalytics/Hook/FrontHook.php', + 'HookCart\\HookCart' => $baseDir . '/local/modules/HookCart/HookCart.php', + 'HookContact\\HookContact' => $baseDir . '/local/modules/HookContact/HookContact.php', + 'HookContact\\Hook\\FrontHook' => $baseDir . '/local/modules/HookContact/Hook/FrontHook.php', + 'HookCurrency\\HookCurrency' => $baseDir . '/local/modules/HookCurrency/HookCurrency.php', + 'HookCustomer\\HookCustomer' => $baseDir . '/local/modules/HookCustomer/HookCustomer.php', + 'HookLang\\HookLang' => $baseDir . '/local/modules/HookLang/HookLang.php', + 'HookLinks\\HookLinks' => $baseDir . '/local/modules/HookLinks/HookLinks.php', + 'HookLinks\\Hook\\FrontHook' => $baseDir . '/local/modules/HookLinks/Hook/FrontHook.php', + 'HookNavigation\\Controller\\HookNavigationConfigController' => $baseDir . '/local/modules/HookNavigation/Controller/HookNavigationConfigController.php', + 'HookNavigation\\Form\\HookNavigationConfigForm' => $baseDir . '/local/modules/HookNavigation/Form/HookNavigationConfigForm.php', + 'HookNavigation\\HookNavigation' => $baseDir . '/local/modules/HookNavigation/HookNavigation.php', + 'HookNavigation\\Hook\\FrontHook' => $baseDir . '/local/modules/HookNavigation/Hook/FrontHook.php', + 'HookNavigation\\Model\\Config\\Base\\HookNavigationConfigValue' => $baseDir . '/local/modules/HookNavigation/Model/Config/Base/HookNavigationConfigValue.php', + 'HookNavigation\\Model\\Config\\HookNavigationConfigValue' => $baseDir . '/local/modules/HookNavigation/Model/Config/HookNavigationConfigValue.php', + 'HookNewsletter\\HookNewsletter' => $baseDir . '/local/modules/HookNewsletter/HookNewsletter.php', + 'HookNewsletter\\Hook\\FrontHook' => $baseDir . '/local/modules/HookNewsletter/Hook/FrontHook.php', + 'HookProductsNew\\HookProductsNew' => $baseDir . '/local/modules/HookProductsNew/HookProductsNew.php', + 'HookProductsOffer\\HookProductsOffer' => $baseDir . '/local/modules/HookProductsOffer/HookProductsOffer.php', + 'HookSearch\\HookSearch' => $baseDir . '/local/modules/HookSearch/HookSearch.php', + 'HookSocial\\Controller\\Configuration' => $baseDir . '/local/modules/HookSocial/Controller/Configuration.php', + 'HookSocial\\Form\\Configuration' => $baseDir . '/local/modules/HookSocial/Form/Configuration.php', + 'HookSocial\\HookSocial' => $baseDir . '/local/modules/HookSocial/HookSocial.php', + 'HookSocial\\Hook\\FrontHook' => $baseDir . '/local/modules/HookSocial/Hook/FrontHook.php', + 'HookTest\\HookTest' => $baseDir . '/local/modules/HookTest/HookTest.php', + 'HookTest\\Hook\\FrontHook' => $baseDir . '/local/modules/HookTest/Hook/FrontHook.php', + 'Imagine\\Draw\\DrawerInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Draw/DrawerInterface.php', + 'Imagine\\Effects\\EffectsInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Effects/EffectsInterface.php', + 'Imagine\\Exception\\Exception' => $vendorDir . '/imagine/imagine/lib/Imagine/Exception/Exception.php', + 'Imagine\\Exception\\InvalidArgumentException' => $vendorDir . '/imagine/imagine/lib/Imagine/Exception/InvalidArgumentException.php', + 'Imagine\\Exception\\NotSupportedException' => $vendorDir . '/imagine/imagine/lib/Imagine/Exception/NotSupportedException.php', + 'Imagine\\Exception\\OutOfBoundsException' => $vendorDir . '/imagine/imagine/lib/Imagine/Exception/OutOfBoundsException.php', + 'Imagine\\Exception\\RuntimeException' => $vendorDir . '/imagine/imagine/lib/Imagine/Exception/RuntimeException.php', + 'Imagine\\Filter\\Advanced\\Border' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Advanced/Border.php', + 'Imagine\\Filter\\Advanced\\Canvas' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Advanced/Canvas.php', + 'Imagine\\Filter\\Advanced\\Grayscale' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Advanced/Grayscale.php', + 'Imagine\\Filter\\Advanced\\OnPixelBased' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Advanced/OnPixelBased.php', + 'Imagine\\Filter\\Advanced\\RelativeResize' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Advanced/RelativeResize.php', + 'Imagine\\Filter\\Basic\\ApplyMask' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/ApplyMask.php', + 'Imagine\\Filter\\Basic\\Autorotate' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Autorotate.php', + 'Imagine\\Filter\\Basic\\Copy' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Copy.php', + 'Imagine\\Filter\\Basic\\Crop' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Crop.php', + 'Imagine\\Filter\\Basic\\Fill' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Fill.php', + 'Imagine\\Filter\\Basic\\FlipHorizontally' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/FlipHorizontally.php', + 'Imagine\\Filter\\Basic\\FlipVertically' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/FlipVertically.php', + 'Imagine\\Filter\\Basic\\Paste' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Paste.php', + 'Imagine\\Filter\\Basic\\Resize' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Resize.php', + 'Imagine\\Filter\\Basic\\Rotate' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Rotate.php', + 'Imagine\\Filter\\Basic\\Save' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Save.php', + 'Imagine\\Filter\\Basic\\Show' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Show.php', + 'Imagine\\Filter\\Basic\\Strip' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Strip.php', + 'Imagine\\Filter\\Basic\\Thumbnail' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/Thumbnail.php', + 'Imagine\\Filter\\Basic\\WebOptimization' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Basic/WebOptimization.php', + 'Imagine\\Filter\\FilterInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/FilterInterface.php', + 'Imagine\\Filter\\ImagineAware' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/ImagineAware.php', + 'Imagine\\Filter\\Transformation' => $vendorDir . '/imagine/imagine/lib/Imagine/Filter/Transformation.php', + 'Imagine\\Gd\\Drawer' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Drawer.php', + 'Imagine\\Gd\\Effects' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Effects.php', + 'Imagine\\Gd\\Font' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Font.php', + 'Imagine\\Gd\\Image' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Image.php', + 'Imagine\\Gd\\Imagine' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Imagine.php', + 'Imagine\\Gd\\Layers' => $vendorDir . '/imagine/imagine/lib/Imagine/Gd/Layers.php', + 'Imagine\\Gmagick\\Drawer' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Drawer.php', + 'Imagine\\Gmagick\\Effects' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Effects.php', + 'Imagine\\Gmagick\\Font' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Font.php', + 'Imagine\\Gmagick\\Image' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Image.php', + 'Imagine\\Gmagick\\Imagine' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Imagine.php', + 'Imagine\\Gmagick\\Layers' => $vendorDir . '/imagine/imagine/lib/Imagine/Gmagick/Layers.php', + 'Imagine\\Image\\AbstractFont' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/AbstractFont.php', + 'Imagine\\Image\\AbstractImage' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/AbstractImage.php', + 'Imagine\\Image\\AbstractImagine' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/AbstractImagine.php', + 'Imagine\\Image\\AbstractLayers' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/AbstractLayers.php', + 'Imagine\\Image\\Box' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Box.php', + 'Imagine\\Image\\BoxInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/BoxInterface.php', + 'Imagine\\Image\\Fill\\FillInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Fill/FillInterface.php', + 'Imagine\\Image\\Fill\\Gradient\\Horizontal' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Fill/Gradient/Horizontal.php', + 'Imagine\\Image\\Fill\\Gradient\\Linear' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Fill/Gradient/Linear.php', + 'Imagine\\Image\\Fill\\Gradient\\Vertical' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Fill/Gradient/Vertical.php', + 'Imagine\\Image\\FontInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/FontInterface.php', + 'Imagine\\Image\\Histogram\\Bucket' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Histogram/Bucket.php', + 'Imagine\\Image\\Histogram\\Range' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Histogram/Range.php', + 'Imagine\\Image\\ImageInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/ImageInterface.php', + 'Imagine\\Image\\ImagineInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/ImagineInterface.php', + 'Imagine\\Image\\LayersInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/LayersInterface.php', + 'Imagine\\Image\\ManipulatorInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/ManipulatorInterface.php', + 'Imagine\\Image\\Metadata\\AbstractMetadataReader' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Metadata/AbstractMetadataReader.php', + 'Imagine\\Image\\Metadata\\DefaultMetadataReader' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Metadata/DefaultMetadataReader.php', + 'Imagine\\Image\\Metadata\\ExifMetadataReader' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Metadata/ExifMetadataReader.php', + 'Imagine\\Image\\Metadata\\MetadataBag' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Metadata/MetadataBag.php', + 'Imagine\\Image\\Metadata\\MetadataReaderInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Metadata/MetadataReaderInterface.php', + 'Imagine\\Image\\Palette\\CMYK' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/CMYK.php', + 'Imagine\\Image\\Palette\\ColorParser' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/ColorParser.php', + 'Imagine\\Image\\Palette\\Color\\CMYK' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/Color/CMYK.php', + 'Imagine\\Image\\Palette\\Color\\ColorInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/Color/ColorInterface.php', + 'Imagine\\Image\\Palette\\Color\\Gray' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/Color/Gray.php', + 'Imagine\\Image\\Palette\\Color\\RGB' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/Color/RGB.php', + 'Imagine\\Image\\Palette\\Grayscale' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/Grayscale.php', + 'Imagine\\Image\\Palette\\PaletteInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/PaletteInterface.php', + 'Imagine\\Image\\Palette\\RGB' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Palette/RGB.php', + 'Imagine\\Image\\Point' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Point.php', + 'Imagine\\Image\\PointInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/PointInterface.php', + 'Imagine\\Image\\Point\\Center' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Point/Center.php', + 'Imagine\\Image\\Profile' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/Profile.php', + 'Imagine\\Image\\ProfileInterface' => $vendorDir . '/imagine/imagine/lib/Imagine/Image/ProfileInterface.php', + 'Imagine\\Imagick\\Drawer' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Drawer.php', + 'Imagine\\Imagick\\Effects' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Effects.php', + 'Imagine\\Imagick\\Font' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Font.php', + 'Imagine\\Imagick\\Image' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Image.php', + 'Imagine\\Imagick\\Imagine' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Imagine.php', + 'Imagine\\Imagick\\Layers' => $vendorDir . '/imagine/imagine/lib/Imagine/Imagick/Layers.php', 'IntlDateFormatter' => $vendorDir . '/symfony/intl/Resources/stubs/IntlDateFormatter.php', + 'JUpload' => $baseDir . '/local/modules/Tinymce/Resources/js/tinymce/filemanager/uploader/jupload.php', + 'Less_Autoloader' => $vendorDir . '/oyejorge/less.php/lib/Less/Autoloader.php', + 'Less_Cache' => $vendorDir . '/oyejorge/less.php/lib/Less/Cache.php', + 'Less_Colors' => $vendorDir . '/oyejorge/less.php/lib/Less/Colors.php', + 'Less_Configurable' => $vendorDir . '/oyejorge/less.php/lib/Less/Configurable.php', + 'Less_Environment' => $vendorDir . '/oyejorge/less.php/lib/Less/Environment.php', + 'Less_Exception_Chunk' => $vendorDir . '/oyejorge/less.php/lib/Less/Exception/Chunk.php', + 'Less_Exception_Compiler' => $vendorDir . '/oyejorge/less.php/lib/Less/Exception/Compiler.php', + 'Less_Exception_Parser' => $vendorDir . '/oyejorge/less.php/lib/Less/Exception/Parser.php', + 'Less_Functions' => $vendorDir . '/oyejorge/less.php/lib/Less/Functions.php', + 'Less_Mime' => $vendorDir . '/oyejorge/less.php/lib/Less/Mime.php', + 'Less_Output' => $vendorDir . '/oyejorge/less.php/lib/Less/Output.php', + 'Less_Output_Mapped' => $vendorDir . '/oyejorge/less.php/lib/Less/Output/Mapped.php', + 'Less_Parser' => $vendorDir . '/oyejorge/less.php/lib/Less/Parser.php', + 'Less_SourceMap_Base64VLQ' => $vendorDir . '/oyejorge/less.php/lib/Less/SourceMap/Base64VLQ.php', + 'Less_SourceMap_Generator' => $vendorDir . '/oyejorge/less.php/lib/Less/SourceMap/Generator.php', + 'Less_Tree' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree.php', + 'Less_Tree_Alpha' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Alpha.php', + 'Less_Tree_Anonymous' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Anonymous.php', + 'Less_Tree_Assignment' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Assignment.php', + 'Less_Tree_Attribute' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Attribute.php', + 'Less_Tree_Call' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Call.php', + 'Less_Tree_Color' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Color.php', + 'Less_Tree_Comment' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Comment.php', + 'Less_Tree_Condition' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Condition.php', + 'Less_Tree_DefaultFunc' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/DefaultFunc.php', + 'Less_Tree_DetachedRuleset' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/DetachedRuleset.php', + 'Less_Tree_Dimension' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Dimension.php', + 'Less_Tree_Directive' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Directive.php', + 'Less_Tree_Element' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Element.php', + 'Less_Tree_Expression' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Expression.php', + 'Less_Tree_Extend' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Extend.php', + 'Less_Tree_Import' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Import.php', + 'Less_Tree_Javascript' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Javascript.php', + 'Less_Tree_Keyword' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Keyword.php', + 'Less_Tree_Media' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Media.php', + 'Less_Tree_Mixin_Call' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Mixin/Call.php', + 'Less_Tree_Mixin_Definition' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php', + 'Less_Tree_NameValue' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/NameValue.php', + 'Less_Tree_Negative' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Negative.php', + 'Less_Tree_Operation' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Operation.php', + 'Less_Tree_Paren' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Paren.php', + 'Less_Tree_Quoted' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Quoted.php', + 'Less_Tree_Rule' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Rule.php', + 'Less_Tree_Ruleset' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Ruleset.php', + 'Less_Tree_RulesetCall' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/RulesetCall.php', + 'Less_Tree_Selector' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Selector.php', + 'Less_Tree_UnicodeDescriptor' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/UnicodeDescriptor.php', + 'Less_Tree_Unit' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Unit.php', + 'Less_Tree_UnitConversions' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/UnitConversions.php', + 'Less_Tree_Url' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Url.php', + 'Less_Tree_Value' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Value.php', + 'Less_Tree_Variable' => $vendorDir . '/oyejorge/less.php/lib/Less/Tree/Variable.php', + 'Less_Version' => $vendorDir . '/oyejorge/less.php/lib/Less/Version.php', + 'Less_Visitor' => $vendorDir . '/oyejorge/less.php/lib/Less/Visitor.php', + 'Less_VisitorReplacing' => $vendorDir . '/oyejorge/less.php/lib/Less/VisitorReplacing.php', + 'Less_Visitor_extendFinder' => $vendorDir . '/oyejorge/less.php/lib/Less/Visitor/extendFinder.php', + 'Less_Visitor_joinSelector' => $vendorDir . '/oyejorge/less.php/lib/Less/Visitor/joinSelector.php', + 'Less_Visitor_processExtends' => $vendorDir . '/oyejorge/less.php/lib/Less/Visitor/processExtends.php', + 'Less_Visitor_toCSS' => $vendorDir . '/oyejorge/less.php/lib/Less/Visitor/toCSS.php', 'Locale' => $vendorDir . '/symfony/intl/Resources/stubs/Locale.php', + 'Michelf\\Markdown' => $vendorDir . '/michelf/php-markdown/Michelf/Markdown.php', + 'Michelf\\MarkdownExtra' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownExtra.php', + 'Michelf\\MarkdownInterface' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownInterface.php', 'NumberFormatter' => $vendorDir . '/symfony/intl/Resources/stubs/NumberFormatter.php', 'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php', 'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', @@ -414,6 +1148,351 @@ return array( 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'ParseError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ParseError.php', + 'Propel\\Common\\Pluralizer\\PluralizerInterface' => $vendorDir . '/propel/propel/src/Propel/Common/Pluralizer/PluralizerInterface.php', + 'Propel\\Common\\Pluralizer\\SimpleEnglishPluralizer' => $vendorDir . '/propel/propel/src/Propel/Common/Pluralizer/SimpleEnglishPluralizer.php', + 'Propel\\Common\\Pluralizer\\StandardEnglishPluralizer' => $vendorDir . '/propel/propel/src/Propel/Common/Pluralizer/StandardEnglishPluralizer.php', + 'Propel\\Generator\\Behavior\\AggregateColumn\\AggregateColumnBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/AggregateColumn/AggregateColumnBehavior.php', + 'Propel\\Generator\\Behavior\\AggregateColumn\\AggregateColumnRelationBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/AggregateColumn/AggregateColumnRelationBehavior.php', + 'Propel\\Generator\\Behavior\\Archivable\\ArchivableBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Archivable/ArchivableBehavior.php', + 'Propel\\Generator\\Behavior\\Archivable\\ArchivableBehaviorObjectBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Archivable/ArchivableBehaviorObjectBuilderModifier.php', + 'Propel\\Generator\\Behavior\\Archivable\\ArchivableBehaviorQueryBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Archivable/ArchivableBehaviorQueryBuilderModifier.php', + 'Propel\\Generator\\Behavior\\AutoAddPk\\AutoAddPkBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/AutoAddPk/AutoAddPkBehavior.php', + 'Propel\\Generator\\Behavior\\ConcreteInheritance\\ConcreteInheritanceBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/ConcreteInheritance/ConcreteInheritanceBehavior.php', + 'Propel\\Generator\\Behavior\\ConcreteInheritance\\ConcreteInheritanceParentBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/ConcreteInheritance/ConcreteInheritanceParentBehavior.php', + 'Propel\\Generator\\Behavior\\Delegate\\DelegateBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Delegate/DelegateBehavior.php', + 'Propel\\Generator\\Behavior\\I18n\\I18nBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/I18n/I18nBehavior.php', + 'Propel\\Generator\\Behavior\\I18n\\I18nBehaviorObjectBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/I18n/I18nBehaviorObjectBuilderModifier.php', + 'Propel\\Generator\\Behavior\\I18n\\I18nBehaviorQueryBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/I18n/I18nBehaviorQueryBuilderModifier.php', + 'Propel\\Generator\\Behavior\\NestedSet\\NestedSetBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/NestedSet/NestedSetBehavior.php', + 'Propel\\Generator\\Behavior\\NestedSet\\NestedSetBehaviorObjectBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/NestedSet/NestedSetBehaviorObjectBuilderModifier.php', + 'Propel\\Generator\\Behavior\\NestedSet\\NestedSetBehaviorQueryBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/NestedSet/NestedSetBehaviorQueryBuilderModifier.php', + 'Propel\\Generator\\Behavior\\QueryCache\\QueryCacheBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/QueryCache/QueryCacheBehavior.php', + 'Propel\\Generator\\Behavior\\Sluggable\\SluggableBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Sluggable/SluggableBehavior.php', + 'Propel\\Generator\\Behavior\\Sortable\\SortableBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Sortable/SortableBehavior.php', + 'Propel\\Generator\\Behavior\\Sortable\\SortableBehaviorObjectBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Sortable/SortableBehaviorObjectBuilderModifier.php', + 'Propel\\Generator\\Behavior\\Sortable\\SortableBehaviorQueryBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Sortable/SortableBehaviorQueryBuilderModifier.php', + 'Propel\\Generator\\Behavior\\Sortable\\SortableBehaviorTableMapBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Sortable/SortableBehaviorTableMapBuilderModifier.php', + 'Propel\\Generator\\Behavior\\Timestampable\\TimestampableBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Timestampable/TimestampableBehavior.php', + 'Propel\\Generator\\Behavior\\Validate\\ValidateBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Validate/ValidateBehavior.php', + 'Propel\\Generator\\Behavior\\Versionable\\VersionableBehavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Versionable/VersionableBehavior.php', + 'Propel\\Generator\\Behavior\\Versionable\\VersionableBehaviorObjectBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Versionable/VersionableBehaviorObjectBuilderModifier.php', + 'Propel\\Generator\\Behavior\\Versionable\\VersionableBehaviorQueryBuilderModifier' => $vendorDir . '/propel/propel/src/Propel/Generator/Behavior/Versionable/VersionableBehaviorQueryBuilderModifier.php', + 'Propel\\Generator\\Builder\\DataModelBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/DataModelBuilder.php', + 'Propel\\Generator\\Builder\\Om\\AbstractOMBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/AbstractOMBuilder.php', + 'Propel\\Generator\\Builder\\Om\\AbstractObjectBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/AbstractObjectBuilder.php', + 'Propel\\Generator\\Builder\\Om\\ClassTools' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/ClassTools.php', + 'Propel\\Generator\\Builder\\Om\\ExtensionObjectBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/ExtensionObjectBuilder.php', + 'Propel\\Generator\\Builder\\Om\\ExtensionQueryBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/ExtensionQueryBuilder.php', + 'Propel\\Generator\\Builder\\Om\\ExtensionQueryInheritanceBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/ExtensionQueryInheritanceBuilder.php', + 'Propel\\Generator\\Builder\\Om\\InterfaceBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/InterfaceBuilder.php', + 'Propel\\Generator\\Builder\\Om\\MultiExtendObjectBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/MultiExtendObjectBuilder.php', + 'Propel\\Generator\\Builder\\Om\\ObjectBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/ObjectBuilder.php', + 'Propel\\Generator\\Builder\\Om\\QueryBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/QueryBuilder.php', + 'Propel\\Generator\\Builder\\Om\\QueryInheritanceBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/QueryInheritanceBuilder.php', + 'Propel\\Generator\\Builder\\Om\\TableMapBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Om/TableMapBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\DataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/DataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Mssql\\MssqlDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Mssql/MssqlDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Mysql\\MysqlDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Mysql/MysqlDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Oracle\\OracleDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Oracle/OracleDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Pgsql\\PgsqlDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Pgsql/PgsqlDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Sqlite\\SqliteDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Sqlite/SqliteDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Sql\\Sqlsrv\\SqlsrvDataSQLBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Sql/Sqlsrv/SqlsrvDataSQLBuilder.php', + 'Propel\\Generator\\Builder\\Util\\ColumnValue' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Util/ColumnValue.php', + 'Propel\\Generator\\Builder\\Util\\DataRow' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Util/DataRow.php', + 'Propel\\Generator\\Builder\\Util\\PropelTemplate' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Util/PropelTemplate.php', + 'Propel\\Generator\\Builder\\Util\\SchemaReader' => $vendorDir . '/propel/propel/src/Propel/Generator/Builder/Util/SchemaReader.php', + 'Propel\\Generator\\Command\\AbstractCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/AbstractCommand.php', + 'Propel\\Generator\\Command\\ConfigConvertXmlCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/ConfigConvertXmlCommand.php', + 'Propel\\Generator\\Command\\DatabaseReverseCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/DatabaseReverseCommand.php', + 'Propel\\Generator\\Command\\GraphvizGenerateCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/GraphvizGenerateCommand.php', + 'Propel\\Generator\\Command\\MigrationDiffCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/MigrationDiffCommand.php', + 'Propel\\Generator\\Command\\MigrationDownCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/MigrationDownCommand.php', + 'Propel\\Generator\\Command\\MigrationMigrateCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/MigrationMigrateCommand.php', + 'Propel\\Generator\\Command\\MigrationStatusCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/MigrationStatusCommand.php', + 'Propel\\Generator\\Command\\MigrationUpCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/MigrationUpCommand.php', + 'Propel\\Generator\\Command\\ModelBuildCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/ModelBuildCommand.php', + 'Propel\\Generator\\Command\\SqlBuildCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/SqlBuildCommand.php', + 'Propel\\Generator\\Command\\SqlInsertCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/SqlInsertCommand.php', + 'Propel\\Generator\\Command\\TestPrepareCommand' => $vendorDir . '/propel/propel/src/Propel/Generator/Command/TestPrepareCommand.php', + 'Propel\\Generator\\Config\\ArrayToPhpConverter' => $vendorDir . '/propel/propel/src/Propel/Generator/Config/ArrayToPhpConverter.php', + 'Propel\\Generator\\Config\\GeneratorConfig' => $vendorDir . '/propel/propel/src/Propel/Generator/Config/GeneratorConfig.php', + 'Propel\\Generator\\Config\\GeneratorConfigInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Config/GeneratorConfigInterface.php', + 'Propel\\Generator\\Config\\QuickGeneratorConfig' => $vendorDir . '/propel/propel/src/Propel/Generator/Config/QuickGeneratorConfig.php', + 'Propel\\Generator\\Config\\XmlToArrayConverter' => $vendorDir . '/propel/propel/src/Propel/Generator/Config/XmlToArrayConverter.php', + 'Propel\\Generator\\Exception\\BehaviorNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/BehaviorNotFoundException.php', + 'Propel\\Generator\\Exception\\BuildException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/BuildException.php', + 'Propel\\Generator\\Exception\\ClassNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/ClassNotFoundException.php', + 'Propel\\Generator\\Exception\\ConstraintNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/ConstraintNotFoundException.php', + 'Propel\\Generator\\Exception\\DiffException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/DiffException.php', + 'Propel\\Generator\\Exception\\EngineException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/EngineException.php', + 'Propel\\Generator\\Exception\\ExceptionInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/ExceptionInterface.php', + 'Propel\\Generator\\Exception\\InvalidArgumentException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/InvalidArgumentException.php', + 'Propel\\Generator\\Exception\\LogicException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/LogicException.php', + 'Propel\\Generator\\Exception\\RuntimeException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/RuntimeException.php', + 'Propel\\Generator\\Exception\\SchemaException' => $vendorDir . '/propel/propel/src/Propel/Generator/Exception/SchemaException.php', + 'Propel\\Generator\\Manager\\AbstractManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/AbstractManager.php', + 'Propel\\Generator\\Manager\\GraphvizManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/GraphvizManager.php', + 'Propel\\Generator\\Manager\\MigrationManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/MigrationManager.php', + 'Propel\\Generator\\Manager\\ModelManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/ModelManager.php', + 'Propel\\Generator\\Manager\\ReverseManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/ReverseManager.php', + 'Propel\\Generator\\Manager\\SqlManager' => $vendorDir . '/propel/propel/src/Propel/Generator/Manager/SqlManager.php', + 'Propel\\Generator\\Model\\Behavior' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Behavior.php', + 'Propel\\Generator\\Model\\Column' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Column.php', + 'Propel\\Generator\\Model\\ColumnDefaultValue' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/ColumnDefaultValue.php', + 'Propel\\Generator\\Model\\ConstraintNameGenerator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/ConstraintNameGenerator.php', + 'Propel\\Generator\\Model\\Database' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Database.php', + 'Propel\\Generator\\Model\\Diff\\ColumnComparator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/ColumnComparator.php', + 'Propel\\Generator\\Model\\Diff\\ColumnDiff' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/ColumnDiff.php', + 'Propel\\Generator\\Model\\Diff\\DatabaseComparator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/DatabaseComparator.php', + 'Propel\\Generator\\Model\\Diff\\DatabaseDiff' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/DatabaseDiff.php', + 'Propel\\Generator\\Model\\Diff\\ForeignKeyComparator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/ForeignKeyComparator.php', + 'Propel\\Generator\\Model\\Diff\\IndexComparator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/IndexComparator.php', + 'Propel\\Generator\\Model\\Diff\\TableComparator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/TableComparator.php', + 'Propel\\Generator\\Model\\Diff\\TableDiff' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Diff/TableDiff.php', + 'Propel\\Generator\\Model\\Domain' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Domain.php', + 'Propel\\Generator\\Model\\ForeignKey' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/ForeignKey.php', + 'Propel\\Generator\\Model\\IdMethod' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/IdMethod.php', + 'Propel\\Generator\\Model\\IdMethodParameter' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/IdMethodParameter.php', + 'Propel\\Generator\\Model\\Index' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Index.php', + 'Propel\\Generator\\Model\\Inheritance' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Inheritance.php', + 'Propel\\Generator\\Model\\MappingModel' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/MappingModel.php', + 'Propel\\Generator\\Model\\MappingModelInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/MappingModelInterface.php', + 'Propel\\Generator\\Model\\NameFactory' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/NameFactory.php', + 'Propel\\Generator\\Model\\NameGeneratorInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/NameGeneratorInterface.php', + 'Propel\\Generator\\Model\\PhpNameGenerator' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/PhpNameGenerator.php', + 'Propel\\Generator\\Model\\PropelTypes' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/PropelTypes.php', + 'Propel\\Generator\\Model\\Schema' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Schema.php', + 'Propel\\Generator\\Model\\ScopedMappingModel' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/ScopedMappingModel.php', + 'Propel\\Generator\\Model\\Table' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Table.php', + 'Propel\\Generator\\Model\\Unique' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/Unique.php', + 'Propel\\Generator\\Model\\VendorInfo' => $vendorDir . '/propel/propel/src/Propel/Generator/Model/VendorInfo.php', + 'Propel\\Generator\\Platform\\DefaultPlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/DefaultPlatform.php', + 'Propel\\Generator\\Platform\\MssqlPlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/MssqlPlatform.php', + 'Propel\\Generator\\Platform\\MysqlPlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/MysqlPlatform.php', + 'Propel\\Generator\\Platform\\OraclePlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/OraclePlatform.php', + 'Propel\\Generator\\Platform\\PgsqlPlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/PgsqlPlatform.php', + 'Propel\\Generator\\Platform\\PlatformInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/PlatformInterface.php', + 'Propel\\Generator\\Platform\\SqlitePlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/SqlitePlatform.php', + 'Propel\\Generator\\Platform\\SqlsrvPlatform' => $vendorDir . '/propel/propel/src/Propel/Generator/Platform/SqlsrvPlatform.php', + 'Propel\\Generator\\Reverse\\AbstractSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/AbstractSchemaParser.php', + 'Propel\\Generator\\Reverse\\MssqlSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/MssqlSchemaParser.php', + 'Propel\\Generator\\Reverse\\MysqlSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/MysqlSchemaParser.php', + 'Propel\\Generator\\Reverse\\OracleSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/OracleSchemaParser.php', + 'Propel\\Generator\\Reverse\\PgsqlSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/PgsqlSchemaParser.php', + 'Propel\\Generator\\Reverse\\SchemaParserInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/SchemaParserInterface.php', + 'Propel\\Generator\\Reverse\\SqliteSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/SqliteSchemaParser.php', + 'Propel\\Generator\\Reverse\\SqlsrvSchemaParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Reverse/SqlsrvSchemaParser.php', + 'Propel\\Generator\\Schema\\Dumper\\DumperInterface' => $vendorDir . '/propel/propel/src/Propel/Generator/Schema/Dumper/DumperInterface.php', + 'Propel\\Generator\\Schema\\Dumper\\XmlDumper' => $vendorDir . '/propel/propel/src/Propel/Generator/Schema/Dumper/XmlDumper.php', + 'Propel\\Generator\\Util\\PhpParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Util/PhpParser.php', + 'Propel\\Generator\\Util\\QuickBuilder' => $vendorDir . '/propel/propel/src/Propel/Generator/Util/QuickBuilder.php', + 'Propel\\Generator\\Util\\SchemaValidator' => $vendorDir . '/propel/propel/src/Propel/Generator/Util/SchemaValidator.php', + 'Propel\\Generator\\Util\\SqlParser' => $vendorDir . '/propel/propel/src/Propel/Generator/Util/SqlParser.php', + 'Propel\\Runtime\\ActiveQuery\\BaseModelCriteria' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/BaseModelCriteria.php', + 'Propel\\Runtime\\ActiveQuery\\Criteria' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criteria.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\AbstractCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/AbstractCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\AbstractModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/AbstractModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\BasicCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/BasicCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\BasicModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/BasicModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\CustomCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/CustomCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\Exception\\InvalidClauseException' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/Exception/InvalidClauseException.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\Exception\\InvalidValueException' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/Exception/InvalidValueException.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\InCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/InCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\InModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/InModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\LikeCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/LikeCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\LikeModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/LikeModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\RawCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/RawCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\RawModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/RawModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Criterion\\SeveralModelCriterion' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Criterion/SeveralModelCriterion.php', + 'Propel\\Runtime\\ActiveQuery\\Exception\\UnknownColumnException' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Exception/UnknownColumnException.php', + 'Propel\\Runtime\\ActiveQuery\\Exception\\UnknownModelException' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Exception/UnknownModelException.php', + 'Propel\\Runtime\\ActiveQuery\\Exception\\UnknownRelationException' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Exception/UnknownRelationException.php', + 'Propel\\Runtime\\ActiveQuery\\InstancePoolTrait' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/InstancePoolTrait.php', + 'Propel\\Runtime\\ActiveQuery\\Join' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/Join.php', + 'Propel\\Runtime\\ActiveQuery\\ModelCriteria' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/ModelCriteria.php', + 'Propel\\Runtime\\ActiveQuery\\ModelJoin' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/ModelJoin.php', + 'Propel\\Runtime\\ActiveQuery\\ModelWith' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/ModelWith.php', + 'Propel\\Runtime\\ActiveQuery\\PropelQuery' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveQuery/PropelQuery.php', + 'Propel\\Runtime\\ActiveRecord\\ActiveRecordInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveRecord/ActiveRecordInterface.php', + 'Propel\\Runtime\\ActiveRecord\\NestedSetRecursiveIterator' => $vendorDir . '/propel/propel/src/Propel/Runtime/ActiveRecord/NestedSetRecursiveIterator.php', + 'Propel\\Runtime\\Adapter\\AdapterFactory' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/AdapterFactory.php', + 'Propel\\Runtime\\Adapter\\AdapterInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/AdapterInterface.php', + 'Propel\\Runtime\\Adapter\\Exception\\AdapterException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Exception/AdapterException.php', + 'Propel\\Runtime\\Adapter\\Exception\\ColumnNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Exception/ColumnNotFoundException.php', + 'Propel\\Runtime\\Adapter\\Exception\\MalformedClauseException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Exception/MalformedClauseException.php', + 'Propel\\Runtime\\Adapter\\Exception\\UnsupportedEncodingException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Exception/UnsupportedEncodingException.php', + 'Propel\\Runtime\\Adapter\\MSSQL\\MssqlDebugPDO' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/MSSQL/MssqlDebugPDO.php', + 'Propel\\Runtime\\Adapter\\MSSQL\\MssqlPropelPDO' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/MSSQL/MssqlPropelPDO.php', + 'Propel\\Runtime\\Adapter\\Pdo\\MssqlAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/MssqlAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\MysqlAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/MysqlAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\OracleAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/OracleAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\PdoAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/PdoAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\PdoStatement' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/PdoStatement.php', + 'Propel\\Runtime\\Adapter\\Pdo\\PgsqlAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/PgsqlAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\SqliteAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/SqliteAdapter.php', + 'Propel\\Runtime\\Adapter\\Pdo\\SqlsrvAdapter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/Pdo/SqlsrvAdapter.php', + 'Propel\\Runtime\\Adapter\\SqlAdapterInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Adapter/SqlAdapterInterface.php', + 'Propel\\Runtime\\Collection\\ArrayCollection' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/ArrayCollection.php', + 'Propel\\Runtime\\Collection\\Collection' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/Collection.php', + 'Propel\\Runtime\\Collection\\Exception\\ModelNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/Exception/ModelNotFoundException.php', + 'Propel\\Runtime\\Collection\\Exception\\ReadOnlyModelException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/Exception/ReadOnlyModelException.php', + 'Propel\\Runtime\\Collection\\Exception\\UnsupportedRelationException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/Exception/UnsupportedRelationException.php', + 'Propel\\Runtime\\Collection\\ObjectCollection' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/ObjectCollection.php', + 'Propel\\Runtime\\Collection\\OnDemandCollection' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/OnDemandCollection.php', + 'Propel\\Runtime\\Collection\\OnDemandIterator' => $vendorDir . '/propel/propel/src/Propel/Runtime/Collection/OnDemandIterator.php', + 'Propel\\Runtime\\Connection\\ConnectionFactory' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionFactory.php', + 'Propel\\Runtime\\Connection\\ConnectionInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionInterface.php', + 'Propel\\Runtime\\Connection\\ConnectionManagerInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerInterface.php', + 'Propel\\Runtime\\Connection\\ConnectionManagerMasterSlave' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerMasterSlave.php', + 'Propel\\Runtime\\Connection\\ConnectionManagerSingle' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionManagerSingle.php', + 'Propel\\Runtime\\Connection\\ConnectionWrapper' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ConnectionWrapper.php', + 'Propel\\Runtime\\Connection\\DebugPDO' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/DebugPDO.php', + 'Propel\\Runtime\\Connection\\Exception\\ConnectionException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/Exception/ConnectionException.php', + 'Propel\\Runtime\\Connection\\Exception\\RollbackException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/Exception/RollbackException.php', + 'Propel\\Runtime\\Connection\\PdoConnection' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php', + 'Propel\\Runtime\\Connection\\ProfilerConnectionWrapper' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ProfilerConnectionWrapper.php', + 'Propel\\Runtime\\Connection\\ProfilerStatementWrapper' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/ProfilerStatementWrapper.php', + 'Propel\\Runtime\\Connection\\PropelPDO' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/PropelPDO.php', + 'Propel\\Runtime\\Connection\\SqlConnectionInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/SqlConnectionInterface.php', + 'Propel\\Runtime\\Connection\\StatementInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/StatementInterface.php', + 'Propel\\Runtime\\Connection\\StatementWrapper' => $vendorDir . '/propel/propel/src/Propel/Runtime/Connection/StatementWrapper.php', + 'Propel\\Runtime\\DataFetcher\\AbstractDataFetcher' => $vendorDir . '/propel/propel/src/Propel/Runtime/DataFetcher/AbstractDataFetcher.php', + 'Propel\\Runtime\\DataFetcher\\ArrayDataFetcher' => $vendorDir . '/propel/propel/src/Propel/Runtime/DataFetcher/ArrayDataFetcher.php', + 'Propel\\Runtime\\DataFetcher\\DataFetcherInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/DataFetcher/DataFetcherInterface.php', + 'Propel\\Runtime\\DataFetcher\\PDODataFetcher' => $vendorDir . '/propel/propel/src/Propel/Runtime/DataFetcher/PDODataFetcher.php', + 'Propel\\Runtime\\Exception\\BadMethodCallException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/BadMethodCallException.php', + 'Propel\\Runtime\\Exception\\ClassNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/ClassNotFoundException.php', + 'Propel\\Runtime\\Exception\\ExceptionInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/ExceptionInterface.php', + 'Propel\\Runtime\\Exception\\FileNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/FileNotFoundException.php', + 'Propel\\Runtime\\Exception\\InvalidArgumentException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/InvalidArgumentException.php', + 'Propel\\Runtime\\Exception\\LogicException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/LogicException.php', + 'Propel\\Runtime\\Exception\\PropelException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/PropelException.php', + 'Propel\\Runtime\\Exception\\RuntimeException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/RuntimeException.php', + 'Propel\\Runtime\\Exception\\UnexpectedValueException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Exception/UnexpectedValueException.php', + 'Propel\\Runtime\\Formatter\\AbstractFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/AbstractFormatter.php', + 'Propel\\Runtime\\Formatter\\ArrayFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/ArrayFormatter.php', + 'Propel\\Runtime\\Formatter\\ObjectFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/ObjectFormatter.php', + 'Propel\\Runtime\\Formatter\\OnDemandFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/OnDemandFormatter.php', + 'Propel\\Runtime\\Formatter\\SimpleArrayFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/SimpleArrayFormatter.php', + 'Propel\\Runtime\\Formatter\\StatementFormatter' => $vendorDir . '/propel/propel/src/Propel/Runtime/Formatter/StatementFormatter.php', + 'Propel\\Runtime\\Map\\ColumnMap' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/ColumnMap.php', + 'Propel\\Runtime\\Map\\DatabaseMap' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/DatabaseMap.php', + 'Propel\\Runtime\\Map\\Exception\\ColumnNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/Exception/ColumnNotFoundException.php', + 'Propel\\Runtime\\Map\\Exception\\ForeignKeyNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/Exception/ForeignKeyNotFoundException.php', + 'Propel\\Runtime\\Map\\Exception\\RelationNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/Exception/RelationNotFoundException.php', + 'Propel\\Runtime\\Map\\Exception\\TableNotFoundException' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/Exception/TableNotFoundException.php', + 'Propel\\Runtime\\Map\\RelationMap' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/RelationMap.php', + 'Propel\\Runtime\\Map\\TableMap' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/TableMap.php', + 'Propel\\Runtime\\Map\\TableMapTrait' => $vendorDir . '/propel/propel/src/Propel/Runtime/Map/TableMapTrait.php', + 'Propel\\Runtime\\Parser\\AbstractParser' => $vendorDir . '/propel/propel/src/Propel/Runtime/Parser/AbstractParser.php', + 'Propel\\Runtime\\Parser\\CsvParser' => $vendorDir . '/propel/propel/src/Propel/Runtime/Parser/CsvParser.php', + 'Propel\\Runtime\\Parser\\JsonParser' => $vendorDir . '/propel/propel/src/Propel/Runtime/Parser/JsonParser.php', + 'Propel\\Runtime\\Parser\\XmlParser' => $vendorDir . '/propel/propel/src/Propel/Runtime/Parser/XmlParser.php', + 'Propel\\Runtime\\Parser\\YamlParser' => $vendorDir . '/propel/propel/src/Propel/Runtime/Parser/YamlParser.php', + 'Propel\\Runtime\\Propel' => $vendorDir . '/propel/propel/src/Propel/Runtime/Propel.php', + 'Propel\\Runtime\\ServiceContainer\\ServiceContainerInterface' => $vendorDir . '/propel/propel/src/Propel/Runtime/ServiceContainer/ServiceContainerInterface.php', + 'Propel\\Runtime\\ServiceContainer\\StandardServiceContainer' => $vendorDir . '/propel/propel/src/Propel/Runtime/ServiceContainer/StandardServiceContainer.php', + 'Propel\\Runtime\\Util\\Profiler' => $vendorDir . '/propel/propel/src/Propel/Runtime/Util/Profiler.php', + 'Propel\\Runtime\\Util\\PropelColumnTypes' => $vendorDir . '/propel/propel/src/Propel/Runtime/Util/PropelColumnTypes.php', + 'Propel\\Runtime\\Util\\PropelConditionalProxy' => $vendorDir . '/propel/propel/src/Propel/Runtime/Util/PropelConditionalProxy.php', + 'Propel\\Runtime\\Util\\PropelDateTime' => $vendorDir . '/propel/propel/src/Propel/Runtime/Util/PropelDateTime.php', + 'Propel\\Runtime\\Util\\PropelModelPager' => $vendorDir . '/propel/propel/src/Propel/Runtime/Util/PropelModelPager.php', + 'Propel\\Runtime\\Validator\\Constraints\\Unique' => $vendorDir . '/propel/propel/src/Propel/Runtime/Validator/Constraints/Unique.php', + 'Propel\\Runtime\\Validator\\Constraints\\UniqueValidator' => $vendorDir . '/propel/propel/src/Propel/Runtime/Validator/Constraints/UniqueValidator.php', + 'Prophecy\\Argument' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument.php', + 'Prophecy\\Argument\\ArgumentsWildcard' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php', + 'Prophecy\\Argument\\Token\\AnyValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php', + 'Prophecy\\Argument\\Token\\AnyValuesToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php', + 'Prophecy\\Argument\\Token\\ArrayCountToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php', + 'Prophecy\\Argument\\Token\\ArrayEntryToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php', + 'Prophecy\\Argument\\Token\\ArrayEveryEntryToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php', + 'Prophecy\\Argument\\Token\\CallbackToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php', + 'Prophecy\\Argument\\Token\\ExactValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php', + 'Prophecy\\Argument\\Token\\IdenticalValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php', + 'Prophecy\\Argument\\Token\\LogicalAndToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php', + 'Prophecy\\Argument\\Token\\LogicalNotToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php', + 'Prophecy\\Argument\\Token\\ObjectStateToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php', + 'Prophecy\\Argument\\Token\\StringContainsToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php', + 'Prophecy\\Argument\\Token\\TokenInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php', + 'Prophecy\\Argument\\Token\\TypeToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php', + 'Prophecy\\Call\\Call' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Call/Call.php', + 'Prophecy\\Call\\CallCenter' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Call/CallCenter.php', + 'Prophecy\\Comparator\\ClosureComparator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php', + 'Prophecy\\Comparator\\Factory' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Comparator/Factory.php', + 'Prophecy\\Doubler\\CachedDoubler' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php', + 'Prophecy\\Doubler\\ClassPatch\\ClassPatchInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php', + 'Prophecy\\Doubler\\ClassPatch\\DisableConstructorPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\HhvmExceptionPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\KeywordPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\MagicCallPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\ProphecySubjectPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\ReflectionClassNewInstancePatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php', + 'Prophecy\\Doubler\\ClassPatch\\SplFileInfoPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php', + 'Prophecy\\Doubler\\ClassPatch\\TraversablePatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php', + 'Prophecy\\Doubler\\DoubleInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php', + 'Prophecy\\Doubler\\Doubler' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php', + 'Prophecy\\Doubler\\Generator\\ClassCodeGenerator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php', + 'Prophecy\\Doubler\\Generator\\ClassCreator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php', + 'Prophecy\\Doubler\\Generator\\ClassMirror' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php', + 'Prophecy\\Doubler\\Generator\\Node\\ArgumentNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php', + 'Prophecy\\Doubler\\Generator\\Node\\ClassNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php', + 'Prophecy\\Doubler\\Generator\\Node\\MethodNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php', + 'Prophecy\\Doubler\\Generator\\ReflectionInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php', + 'Prophecy\\Doubler\\LazyDouble' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php', + 'Prophecy\\Doubler\\NameGenerator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php', + 'Prophecy\\Exception\\Call\\UnexpectedCallException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php', + 'Prophecy\\Exception\\Doubler\\ClassCreatorException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php', + 'Prophecy\\Exception\\Doubler\\ClassMirrorException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php', + 'Prophecy\\Exception\\Doubler\\ClassNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php', + 'Prophecy\\Exception\\Doubler\\DoubleException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php', + 'Prophecy\\Exception\\Doubler\\DoublerException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php', + 'Prophecy\\Exception\\Doubler\\InterfaceNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php', + 'Prophecy\\Exception\\Doubler\\MethodNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php', + 'Prophecy\\Exception\\Doubler\\ReturnByReferenceException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php', + 'Prophecy\\Exception\\Exception' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Exception.php', + 'Prophecy\\Exception\\InvalidArgumentException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php', + 'Prophecy\\Exception\\Prediction\\AggregateException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php', + 'Prophecy\\Exception\\Prediction\\FailedPredictionException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php', + 'Prophecy\\Exception\\Prediction\\NoCallsException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php', + 'Prophecy\\Exception\\Prediction\\PredictionException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php', + 'Prophecy\\Exception\\Prediction\\UnexpectedCallsCountException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php', + 'Prophecy\\Exception\\Prediction\\UnexpectedCallsException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php', + 'Prophecy\\Exception\\Prophecy\\MethodProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php', + 'Prophecy\\Exception\\Prophecy\\ObjectProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php', + 'Prophecy\\Exception\\Prophecy\\ProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php', + 'Prophecy\\Prediction\\CallPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php', + 'Prophecy\\Prediction\\CallTimesPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php', + 'Prophecy\\Prediction\\CallbackPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php', + 'Prophecy\\Prediction\\NoCallsPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php', + 'Prophecy\\Prediction\\PredictionInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php', + 'Prophecy\\Promise\\CallbackPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php', + 'Prophecy\\Promise\\PromiseInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php', + 'Prophecy\\Promise\\ReturnArgumentPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php', + 'Prophecy\\Promise\\ReturnPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php', + 'Prophecy\\Promise\\ThrowPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php', + 'Prophecy\\Prophecy\\MethodProphecy' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php', + 'Prophecy\\Prophecy\\ObjectProphecy' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php', + 'Prophecy\\Prophecy\\ProphecyInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php', + 'Prophecy\\Prophecy\\ProphecySubjectInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php', + 'Prophecy\\Prophecy\\Revealer' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php', + 'Prophecy\\Prophecy\\RevealerInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php', + 'Prophecy\\Prophet' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophet.php', + 'Prophecy\\Util\\ExportUtil' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php', + 'Prophecy\\Util\\StringUtil' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Util/StringUtil.php', + 'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php', + 'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php', + 'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php', + 'Psr\\Cache\\InvalidArgumentException' => $vendorDir . '/psr/cache/src/InvalidArgumentException.php', + 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', + 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', + 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', + 'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php', + 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php', + 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', + 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', + 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', 'QRcode' => $vendorDir . '/ensepar/tcpdf/qrcode.php', 'RecursiveCallbackFilterIterator' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/RecursiveCallbackFilterIterator.php', 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php', @@ -453,15 +1532,3531 @@ return array( 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', 'SessionHandlerInterface' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/SessionHandlerInterface.php', + 'SimplePie' => $vendorDir . '/simplepie/simplepie/library/SimplePie.php', + 'SimplePie_Author' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Author.php', + 'SimplePie_Cache' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache.php', + 'SimplePie_Cache_Base' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Base.php', + 'SimplePie_Cache_DB' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/DB.php', + 'SimplePie_Cache_File' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/File.php', + 'SimplePie_Cache_Memcache' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/Memcache.php', + 'SimplePie_Cache_MySQL' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Cache/MySQL.php', + 'SimplePie_Caption' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Caption.php', + 'SimplePie_Category' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Category.php', + 'SimplePie_Content_Type_Sniffer' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php', + 'SimplePie_Copyright' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Copyright.php', + 'SimplePie_Core' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Core.php', + 'SimplePie_Credit' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Credit.php', + 'SimplePie_Decode_HTML_Entities' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php', + 'SimplePie_Enclosure' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Enclosure.php', + 'SimplePie_Exception' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Exception.php', + 'SimplePie_File' => $vendorDir . '/simplepie/simplepie/library/SimplePie/File.php', + 'SimplePie_HTTP_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/HTTP/Parser.php', + 'SimplePie_IRI' => $vendorDir . '/simplepie/simplepie/library/SimplePie/IRI.php', + 'SimplePie_Item' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Item.php', + 'SimplePie_Locator' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Locator.php', + 'SimplePie_Misc' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Misc.php', + 'SimplePie_Net_IPv6' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Net/IPv6.php', + 'SimplePie_Parse_Date' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Parse/Date.php', + 'SimplePie_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Parser.php', + 'SimplePie_Rating' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Rating.php', + 'SimplePie_Registry' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Registry.php', + 'SimplePie_Restriction' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Restriction.php', + 'SimplePie_Sanitize' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Sanitize.php', + 'SimplePie_Source' => $vendorDir . '/simplepie/simplepie/library/SimplePie/Source.php', + 'SimplePie_XML_Declaration_Parser' => $vendorDir . '/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php', + 'SimplePie_gzdecode' => $vendorDir . '/simplepie/simplepie/library/SimplePie/gzdecode.php', 'Smarty' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php', 'SmartyBC' => $vendorDir . '/smarty/smarty/libs/SmartyBC.class.php', 'SmartyCompilerException' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php', 'SmartyException' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php', 'Smarty_Security' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_security.php', + 'Stack\\Builder' => $vendorDir . '/stack/builder/src/Stack/Builder.php', + 'Stack\\StackedHttpKernel' => $vendorDir . '/stack/builder/src/Stack/StackedHttpKernel.php', + 'Symfony\\Cmf\\Component\\Routing\\Candidates\\Candidates' => $vendorDir . '/symfony-cmf/routing/Candidates/Candidates.php', + 'Symfony\\Cmf\\Component\\Routing\\Candidates\\CandidatesInterface' => $vendorDir . '/symfony-cmf/routing/Candidates/CandidatesInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\ChainRouteCollection' => $vendorDir . '/symfony-cmf/routing/ChainRouteCollection.php', + 'Symfony\\Cmf\\Component\\Routing\\ChainRouter' => $vendorDir . '/symfony-cmf/routing/ChainRouter.php', + 'Symfony\\Cmf\\Component\\Routing\\ChainRouterInterface' => $vendorDir . '/symfony-cmf/routing/ChainRouterInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\ChainedRouterInterface' => $vendorDir . '/symfony-cmf/routing/ChainedRouterInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\ContentAwareGenerator' => $vendorDir . '/symfony-cmf/routing/ContentAwareGenerator.php', + 'Symfony\\Cmf\\Component\\Routing\\ContentRepositoryInterface' => $vendorDir . '/symfony-cmf/routing/ContentRepositoryInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\DependencyInjection\\Compiler\\RegisterRouteEnhancersPass' => $vendorDir . '/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRouteEnhancersPass.php', + 'Symfony\\Cmf\\Component\\Routing\\DependencyInjection\\Compiler\\RegisterRoutersPass' => $vendorDir . '/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRoutersPass.php', + 'Symfony\\Cmf\\Component\\Routing\\DynamicRouter' => $vendorDir . '/symfony-cmf/routing/DynamicRouter.php', + 'Symfony\\Cmf\\Component\\Routing\\Enhancer\\FieldByClassEnhancer' => $vendorDir . '/symfony-cmf/routing/Enhancer/FieldByClassEnhancer.php', + 'Symfony\\Cmf\\Component\\Routing\\Enhancer\\FieldMapEnhancer' => $vendorDir . '/symfony-cmf/routing/Enhancer/FieldMapEnhancer.php', + 'Symfony\\Cmf\\Component\\Routing\\Enhancer\\FieldPresenceEnhancer' => $vendorDir . '/symfony-cmf/routing/Enhancer/FieldPresenceEnhancer.php', + 'Symfony\\Cmf\\Component\\Routing\\Enhancer\\RouteContentEnhancer' => $vendorDir . '/symfony-cmf/routing/Enhancer/RouteContentEnhancer.php', + 'Symfony\\Cmf\\Component\\Routing\\Enhancer\\RouteEnhancerInterface' => $vendorDir . '/symfony-cmf/routing/Enhancer/RouteEnhancerInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\Event\\Events' => $vendorDir . '/symfony-cmf/routing/Event/Events.php', + 'Symfony\\Cmf\\Component\\Routing\\Event\\RouterMatchEvent' => $vendorDir . '/symfony-cmf/routing/Event/RouterMatchEvent.php', + 'Symfony\\Cmf\\Component\\Routing\\LazyRouteCollection' => $vendorDir . '/symfony-cmf/routing/LazyRouteCollection.php', + 'Symfony\\Cmf\\Component\\Routing\\LazyRouteCollectionTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/LazyRouteCollectionTest.php', + 'Symfony\\Cmf\\Component\\Routing\\NestedMatcher\\FinalMatcherInterface' => $vendorDir . '/symfony-cmf/routing/NestedMatcher/FinalMatcherInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\NestedMatcher\\NestedMatcher' => $vendorDir . '/symfony-cmf/routing/NestedMatcher/NestedMatcher.php', + 'Symfony\\Cmf\\Component\\Routing\\NestedMatcher\\RouteFilterInterface' => $vendorDir . '/symfony-cmf/routing/NestedMatcher/RouteFilterInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\NestedMatcher\\UrlMatcher' => $vendorDir . '/symfony-cmf/routing/NestedMatcher/UrlMatcher.php', + 'Symfony\\Cmf\\Component\\Routing\\PagedRouteCollection' => $vendorDir . '/symfony-cmf/routing/PagedRouteCollection.php', + 'Symfony\\Cmf\\Component\\Routing\\PagedRouteCollectionTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/PagedRouteCollectionTest.php', + 'Symfony\\Cmf\\Component\\Routing\\PagedRouteProviderInterface' => $vendorDir . '/symfony-cmf/routing/PagedRouteProviderInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\ProviderBasedGenerator' => $vendorDir . '/symfony-cmf/routing/ProviderBasedGenerator.php', + 'Symfony\\Cmf\\Component\\Routing\\RedirectRouteInterface' => $vendorDir . '/symfony-cmf/routing/RedirectRouteInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\RouteObjectInterface' => $vendorDir . '/symfony-cmf/routing/RouteObjectInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\RouteProviderInterface' => $vendorDir . '/symfony-cmf/routing/RouteProviderInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\RouteReferrersInterface' => $vendorDir . '/symfony-cmf/routing/RouteReferrersInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\RouteReferrersReadInterface' => $vendorDir . '/symfony-cmf/routing/RouteReferrersReadInterface.php', + 'Symfony\\Cmf\\Component\\Routing\\Test\\CmfUnitTestCase' => $vendorDir . '/symfony-cmf/routing/Test/CmfUnitTestCase.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Candidates\\CandidatesTest' => $vendorDir . '/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\DependencyInjection\\Compiler\\RegisterRouteEnhancersPassTest' => $vendorDir . '/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRouteEnhancersPassTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\FieldByClassEnhancerTest' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/FieldByClassEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\FieldPresenceEnhancerTest' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/FieldPresenceEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\RouteContentEnhancerTest' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\RouteObject' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/RouteObject.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\TargetDocument' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Enhancer\\UnknownDocument' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Mapper\\FieldMapEnhancerTest' => $vendorDir . '/symfony-cmf/routing/Tests/Enhancer/FieldMapEnhancerTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\NestedMatcher\\NestedMatcherTest' => $vendorDir . '/symfony-cmf/routing/Tests/NestedMatcher/NestedMatcherTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\NestedMatcher\\UrlMatcherTest' => $vendorDir . '/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\ChainRouterTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\ContentAwareGeneratorTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\DynamicRouterTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/DynamicRouterTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\ProviderBasedGeneratorTest' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\RequestMatcher' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\RouteAware' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\RouteMock' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/RouteMock.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\RouteObject' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\TestableContentAwareGenerator' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\TestableProviderBasedGenerator' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\VersatileRouter' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php', + 'Symfony\\Cmf\\Component\\Routing\\Tests\\Routing\\WarmableRouterMock' => $vendorDir . '/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php', + 'Symfony\\Cmf\\Component\\Routing\\VersatileGeneratorInterface' => $vendorDir . '/symfony-cmf/routing/VersatileGeneratorInterface.php', + 'Symfony\\Component\\BrowserKit\\Client' => $vendorDir . '/symfony/browser-kit/Client.php', + 'Symfony\\Component\\BrowserKit\\Cookie' => $vendorDir . '/symfony/browser-kit/Cookie.php', + 'Symfony\\Component\\BrowserKit\\CookieJar' => $vendorDir . '/symfony/browser-kit/CookieJar.php', + 'Symfony\\Component\\BrowserKit\\History' => $vendorDir . '/symfony/browser-kit/History.php', + 'Symfony\\Component\\BrowserKit\\Request' => $vendorDir . '/symfony/browser-kit/Request.php', + 'Symfony\\Component\\BrowserKit\\Response' => $vendorDir . '/symfony/browser-kit/Response.php', + 'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisAdapter.php', + 'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php', + 'Symfony\\Component\\Cache\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php', + 'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.php', + 'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/cache/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\ClassLoader\\ApcClassLoader' => $vendorDir . '/symfony/class-loader/ApcClassLoader.php', + 'Symfony\\Component\\ClassLoader\\ApcUniversalClassLoader' => $vendorDir . '/symfony/class-loader/ApcUniversalClassLoader.php', + 'Symfony\\Component\\ClassLoader\\ClassCollectionLoader' => $vendorDir . '/symfony/class-loader/ClassCollectionLoader.php', + 'Symfony\\Component\\ClassLoader\\ClassLoader' => $vendorDir . '/symfony/class-loader/ClassLoader.php', + 'Symfony\\Component\\ClassLoader\\ClassMapGenerator' => $vendorDir . '/symfony/class-loader/ClassMapGenerator.php', + 'Symfony\\Component\\ClassLoader\\DebugClassLoader' => $vendorDir . '/symfony/class-loader/DebugClassLoader.php', + 'Symfony\\Component\\ClassLoader\\DebugUniversalClassLoader' => $vendorDir . '/symfony/class-loader/DebugUniversalClassLoader.php', + 'Symfony\\Component\\ClassLoader\\MapClassLoader' => $vendorDir . '/symfony/class-loader/MapClassLoader.php', + 'Symfony\\Component\\ClassLoader\\Psr4ClassLoader' => $vendorDir . '/symfony/class-loader/Psr4ClassLoader.php', + 'Symfony\\Component\\ClassLoader\\UniversalClassLoader' => $vendorDir . '/symfony/class-loader/UniversalClassLoader.php', + 'Symfony\\Component\\ClassLoader\\WinCacheClassLoader' => $vendorDir . '/symfony/class-loader/WinCacheClassLoader.php', + 'Symfony\\Component\\ClassLoader\\XcacheClassLoader' => $vendorDir . '/symfony/class-loader/XcacheClassLoader.php', + 'Symfony\\Component\\Config\\ConfigCache' => $vendorDir . '/symfony/config/ConfigCache.php', + 'Symfony\\Component\\Config\\ConfigCacheFactory' => $vendorDir . '/symfony/config/ConfigCacheFactory.php', + 'Symfony\\Component\\Config\\ConfigCacheFactoryInterface' => $vendorDir . '/symfony/config/ConfigCacheFactoryInterface.php', + 'Symfony\\Component\\Config\\ConfigCacheInterface' => $vendorDir . '/symfony/config/ConfigCacheInterface.php', + 'Symfony\\Component\\Config\\Definition\\ArrayNode' => $vendorDir . '/symfony/config/Definition/ArrayNode.php', + 'Symfony\\Component\\Config\\Definition\\BaseNode' => $vendorDir . '/symfony/config/Definition/BaseNode.php', + 'Symfony\\Component\\Config\\Definition\\BooleanNode' => $vendorDir . '/symfony/config/Definition/BooleanNode.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\ArrayNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/ArrayNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\BooleanNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/BooleanNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\EnumNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/EnumNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\ExprBuilder' => $vendorDir . '/symfony/config/Definition/Builder/ExprBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\FloatNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/FloatNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\IntegerNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/IntegerNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\MergeBuilder' => $vendorDir . '/symfony/config/Definition/Builder/MergeBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\NodeBuilder' => $vendorDir . '/symfony/config/Definition/Builder/NodeBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\NodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/NodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\NodeParentInterface' => $vendorDir . '/symfony/config/Definition/Builder/NodeParentInterface.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\NormalizationBuilder' => $vendorDir . '/symfony/config/Definition/Builder/NormalizationBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\NumericNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/NumericNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\ParentNodeDefinitionInterface' => $vendorDir . '/symfony/config/Definition/Builder/ParentNodeDefinitionInterface.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\ScalarNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/ScalarNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\TreeBuilder' => $vendorDir . '/symfony/config/Definition/Builder/TreeBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\ValidationBuilder' => $vendorDir . '/symfony/config/Definition/Builder/ValidationBuilder.php', + 'Symfony\\Component\\Config\\Definition\\Builder\\VariableNodeDefinition' => $vendorDir . '/symfony/config/Definition/Builder/VariableNodeDefinition.php', + 'Symfony\\Component\\Config\\Definition\\ConfigurationInterface' => $vendorDir . '/symfony/config/Definition/ConfigurationInterface.php', + 'Symfony\\Component\\Config\\Definition\\Dumper\\XmlReferenceDumper' => $vendorDir . '/symfony/config/Definition/Dumper/XmlReferenceDumper.php', + 'Symfony\\Component\\Config\\Definition\\Dumper\\YamlReferenceDumper' => $vendorDir . '/symfony/config/Definition/Dumper/YamlReferenceDumper.php', + 'Symfony\\Component\\Config\\Definition\\EnumNode' => $vendorDir . '/symfony/config/Definition/EnumNode.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\DuplicateKeyException' => $vendorDir . '/symfony/config/Definition/Exception/DuplicateKeyException.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\Exception' => $vendorDir . '/symfony/config/Definition/Exception/Exception.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\ForbiddenOverwriteException' => $vendorDir . '/symfony/config/Definition/Exception/ForbiddenOverwriteException.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\InvalidConfigurationException' => $vendorDir . '/symfony/config/Definition/Exception/InvalidConfigurationException.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\InvalidDefinitionException' => $vendorDir . '/symfony/config/Definition/Exception/InvalidDefinitionException.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\InvalidTypeException' => $vendorDir . '/symfony/config/Definition/Exception/InvalidTypeException.php', + 'Symfony\\Component\\Config\\Definition\\Exception\\UnsetKeyException' => $vendorDir . '/symfony/config/Definition/Exception/UnsetKeyException.php', + 'Symfony\\Component\\Config\\Definition\\FloatNode' => $vendorDir . '/symfony/config/Definition/FloatNode.php', + 'Symfony\\Component\\Config\\Definition\\IntegerNode' => $vendorDir . '/symfony/config/Definition/IntegerNode.php', + 'Symfony\\Component\\Config\\Definition\\NodeInterface' => $vendorDir . '/symfony/config/Definition/NodeInterface.php', + 'Symfony\\Component\\Config\\Definition\\NumericNode' => $vendorDir . '/symfony/config/Definition/NumericNode.php', + 'Symfony\\Component\\Config\\Definition\\Processor' => $vendorDir . '/symfony/config/Definition/Processor.php', + 'Symfony\\Component\\Config\\Definition\\PrototypeNodeInterface' => $vendorDir . '/symfony/config/Definition/PrototypeNodeInterface.php', + 'Symfony\\Component\\Config\\Definition\\PrototypedArrayNode' => $vendorDir . '/symfony/config/Definition/PrototypedArrayNode.php', + 'Symfony\\Component\\Config\\Definition\\ReferenceDumper' => $vendorDir . '/symfony/config/Definition/ReferenceDumper.php', + 'Symfony\\Component\\Config\\Definition\\ScalarNode' => $vendorDir . '/symfony/config/Definition/ScalarNode.php', + 'Symfony\\Component\\Config\\Definition\\VariableNode' => $vendorDir . '/symfony/config/Definition/VariableNode.php', + 'Symfony\\Component\\Config\\Exception\\FileLoaderImportCircularReferenceException' => $vendorDir . '/symfony/config/Exception/FileLoaderImportCircularReferenceException.php', + 'Symfony\\Component\\Config\\Exception\\FileLoaderLoadException' => $vendorDir . '/symfony/config/Exception/FileLoaderLoadException.php', + 'Symfony\\Component\\Config\\FileLocator' => $vendorDir . '/symfony/config/FileLocator.php', + 'Symfony\\Component\\Config\\FileLocatorInterface' => $vendorDir . '/symfony/config/FileLocatorInterface.php', + 'Symfony\\Component\\Config\\Loader\\DelegatingLoader' => $vendorDir . '/symfony/config/Loader/DelegatingLoader.php', + 'Symfony\\Component\\Config\\Loader\\FileLoader' => $vendorDir . '/symfony/config/Loader/FileLoader.php', + 'Symfony\\Component\\Config\\Loader\\Loader' => $vendorDir . '/symfony/config/Loader/Loader.php', + 'Symfony\\Component\\Config\\Loader\\LoaderInterface' => $vendorDir . '/symfony/config/Loader/LoaderInterface.php', + 'Symfony\\Component\\Config\\Loader\\LoaderResolver' => $vendorDir . '/symfony/config/Loader/LoaderResolver.php', + 'Symfony\\Component\\Config\\Loader\\LoaderResolverInterface' => $vendorDir . '/symfony/config/Loader/LoaderResolverInterface.php', + 'Symfony\\Component\\Config\\ResourceCheckerConfigCache' => $vendorDir . '/symfony/config/ResourceCheckerConfigCache.php', + 'Symfony\\Component\\Config\\ResourceCheckerConfigCacheFactory' => $vendorDir . '/symfony/config/ResourceCheckerConfigCacheFactory.php', + 'Symfony\\Component\\Config\\ResourceCheckerInterface' => $vendorDir . '/symfony/config/ResourceCheckerInterface.php', + 'Symfony\\Component\\Config\\Resource\\BCResourceInterfaceChecker' => $vendorDir . '/symfony/config/Resource/BCResourceInterfaceChecker.php', + 'Symfony\\Component\\Config\\Resource\\DirectoryResource' => $vendorDir . '/symfony/config/Resource/DirectoryResource.php', + 'Symfony\\Component\\Config\\Resource\\FileExistenceResource' => $vendorDir . '/symfony/config/Resource/FileExistenceResource.php', + 'Symfony\\Component\\Config\\Resource\\FileResource' => $vendorDir . '/symfony/config/Resource/FileResource.php', + 'Symfony\\Component\\Config\\Resource\\ResourceInterface' => $vendorDir . '/symfony/config/Resource/ResourceInterface.php', + 'Symfony\\Component\\Config\\Resource\\SelfCheckingResourceChecker' => $vendorDir . '/symfony/config/Resource/SelfCheckingResourceChecker.php', + 'Symfony\\Component\\Config\\Resource\\SelfCheckingResourceInterface' => $vendorDir . '/symfony/config/Resource/SelfCheckingResourceInterface.php', + 'Symfony\\Component\\Config\\Util\\XmlUtils' => $vendorDir . '/symfony/config/Util/XmlUtils.php', + 'Symfony\\Component\\Console\\Application' => $vendorDir . '/symfony/console/Application.php', + 'Symfony\\Component\\Console\\Command\\Command' => $vendorDir . '/symfony/console/Command/Command.php', + 'Symfony\\Component\\Console\\Command\\HelpCommand' => $vendorDir . '/symfony/console/Command/HelpCommand.php', + 'Symfony\\Component\\Console\\Command\\ListCommand' => $vendorDir . '/symfony/console/Command/ListCommand.php', + 'Symfony\\Component\\Console\\ConsoleEvents' => $vendorDir . '/symfony/console/ConsoleEvents.php', + 'Symfony\\Component\\Console\\Descriptor\\ApplicationDescription' => $vendorDir . '/symfony/console/Descriptor/ApplicationDescription.php', + 'Symfony\\Component\\Console\\Descriptor\\Descriptor' => $vendorDir . '/symfony/console/Descriptor/Descriptor.php', + 'Symfony\\Component\\Console\\Descriptor\\DescriptorInterface' => $vendorDir . '/symfony/console/Descriptor/DescriptorInterface.php', + 'Symfony\\Component\\Console\\Descriptor\\JsonDescriptor' => $vendorDir . '/symfony/console/Descriptor/JsonDescriptor.php', + 'Symfony\\Component\\Console\\Descriptor\\MarkdownDescriptor' => $vendorDir . '/symfony/console/Descriptor/MarkdownDescriptor.php', + 'Symfony\\Component\\Console\\Descriptor\\TextDescriptor' => $vendorDir . '/symfony/console/Descriptor/TextDescriptor.php', + 'Symfony\\Component\\Console\\Descriptor\\XmlDescriptor' => $vendorDir . '/symfony/console/Descriptor/XmlDescriptor.php', + 'Symfony\\Component\\Console\\Event\\ConsoleCommandEvent' => $vendorDir . '/symfony/console/Event/ConsoleCommandEvent.php', + 'Symfony\\Component\\Console\\Event\\ConsoleEvent' => $vendorDir . '/symfony/console/Event/ConsoleEvent.php', + 'Symfony\\Component\\Console\\Event\\ConsoleExceptionEvent' => $vendorDir . '/symfony/console/Event/ConsoleExceptionEvent.php', + 'Symfony\\Component\\Console\\Event\\ConsoleTerminateEvent' => $vendorDir . '/symfony/console/Event/ConsoleTerminateEvent.php', + 'Symfony\\Component\\Console\\Exception\\CommandNotFoundException' => $vendorDir . '/symfony/console/Exception/CommandNotFoundException.php', + 'Symfony\\Component\\Console\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/console/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Console\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/console/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Console\\Exception\\InvalidOptionException' => $vendorDir . '/symfony/console/Exception/InvalidOptionException.php', + 'Symfony\\Component\\Console\\Exception\\LogicException' => $vendorDir . '/symfony/console/Exception/LogicException.php', + 'Symfony\\Component\\Console\\Exception\\RuntimeException' => $vendorDir . '/symfony/console/Exception/RuntimeException.php', + 'Symfony\\Component\\Console\\Formatter\\OutputFormatter' => $vendorDir . '/symfony/console/Formatter/OutputFormatter.php', + 'Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface' => $vendorDir . '/symfony/console/Formatter/OutputFormatterInterface.php', + 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyle' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyle.php', + 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleInterface' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleInterface.php', + 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleStack.php', + 'Symfony\\Component\\Console\\Helper\\DebugFormatterHelper' => $vendorDir . '/symfony/console/Helper/DebugFormatterHelper.php', + 'Symfony\\Component\\Console\\Helper\\DescriptorHelper' => $vendorDir . '/symfony/console/Helper/DescriptorHelper.php', + 'Symfony\\Component\\Console\\Helper\\DialogHelper' => $vendorDir . '/symfony/console/Helper/DialogHelper.php', + 'Symfony\\Component\\Console\\Helper\\FormatterHelper' => $vendorDir . '/symfony/console/Helper/FormatterHelper.php', + 'Symfony\\Component\\Console\\Helper\\Helper' => $vendorDir . '/symfony/console/Helper/Helper.php', + 'Symfony\\Component\\Console\\Helper\\HelperInterface' => $vendorDir . '/symfony/console/Helper/HelperInterface.php', + 'Symfony\\Component\\Console\\Helper\\HelperSet' => $vendorDir . '/symfony/console/Helper/HelperSet.php', + 'Symfony\\Component\\Console\\Helper\\InputAwareHelper' => $vendorDir . '/symfony/console/Helper/InputAwareHelper.php', + 'Symfony\\Component\\Console\\Helper\\ProcessHelper' => $vendorDir . '/symfony/console/Helper/ProcessHelper.php', + 'Symfony\\Component\\Console\\Helper\\ProgressBar' => $vendorDir . '/symfony/console/Helper/ProgressBar.php', + 'Symfony\\Component\\Console\\Helper\\ProgressHelper' => $vendorDir . '/symfony/console/Helper/ProgressHelper.php', + 'Symfony\\Component\\Console\\Helper\\ProgressIndicator' => $vendorDir . '/symfony/console/Helper/ProgressIndicator.php', + 'Symfony\\Component\\Console\\Helper\\QuestionHelper' => $vendorDir . '/symfony/console/Helper/QuestionHelper.php', + 'Symfony\\Component\\Console\\Helper\\SymfonyQuestionHelper' => $vendorDir . '/symfony/console/Helper/SymfonyQuestionHelper.php', + 'Symfony\\Component\\Console\\Helper\\Table' => $vendorDir . '/symfony/console/Helper/Table.php', + 'Symfony\\Component\\Console\\Helper\\TableCell' => $vendorDir . '/symfony/console/Helper/TableCell.php', + 'Symfony\\Component\\Console\\Helper\\TableHelper' => $vendorDir . '/symfony/console/Helper/TableHelper.php', + 'Symfony\\Component\\Console\\Helper\\TableSeparator' => $vendorDir . '/symfony/console/Helper/TableSeparator.php', + 'Symfony\\Component\\Console\\Helper\\TableStyle' => $vendorDir . '/symfony/console/Helper/TableStyle.php', + 'Symfony\\Component\\Console\\Input\\ArgvInput' => $vendorDir . '/symfony/console/Input/ArgvInput.php', + 'Symfony\\Component\\Console\\Input\\ArrayInput' => $vendorDir . '/symfony/console/Input/ArrayInput.php', + 'Symfony\\Component\\Console\\Input\\Input' => $vendorDir . '/symfony/console/Input/Input.php', + 'Symfony\\Component\\Console\\Input\\InputArgument' => $vendorDir . '/symfony/console/Input/InputArgument.php', + 'Symfony\\Component\\Console\\Input\\InputAwareInterface' => $vendorDir . '/symfony/console/Input/InputAwareInterface.php', + 'Symfony\\Component\\Console\\Input\\InputDefinition' => $vendorDir . '/symfony/console/Input/InputDefinition.php', + 'Symfony\\Component\\Console\\Input\\InputInterface' => $vendorDir . '/symfony/console/Input/InputInterface.php', + 'Symfony\\Component\\Console\\Input\\InputOption' => $vendorDir . '/symfony/console/Input/InputOption.php', + 'Symfony\\Component\\Console\\Input\\StringInput' => $vendorDir . '/symfony/console/Input/StringInput.php', + 'Symfony\\Component\\Console\\Logger\\ConsoleLogger' => $vendorDir . '/symfony/console/Logger/ConsoleLogger.php', + 'Symfony\\Component\\Console\\Output\\BufferedOutput' => $vendorDir . '/symfony/console/Output/BufferedOutput.php', + 'Symfony\\Component\\Console\\Output\\ConsoleOutput' => $vendorDir . '/symfony/console/Output/ConsoleOutput.php', + 'Symfony\\Component\\Console\\Output\\ConsoleOutputInterface' => $vendorDir . '/symfony/console/Output/ConsoleOutputInterface.php', + 'Symfony\\Component\\Console\\Output\\NullOutput' => $vendorDir . '/symfony/console/Output/NullOutput.php', + 'Symfony\\Component\\Console\\Output\\Output' => $vendorDir . '/symfony/console/Output/Output.php', + 'Symfony\\Component\\Console\\Output\\OutputInterface' => $vendorDir . '/symfony/console/Output/OutputInterface.php', + 'Symfony\\Component\\Console\\Output\\StreamOutput' => $vendorDir . '/symfony/console/Output/StreamOutput.php', + 'Symfony\\Component\\Console\\Question\\ChoiceQuestion' => $vendorDir . '/symfony/console/Question/ChoiceQuestion.php', + 'Symfony\\Component\\Console\\Question\\ConfirmationQuestion' => $vendorDir . '/symfony/console/Question/ConfirmationQuestion.php', + 'Symfony\\Component\\Console\\Question\\Question' => $vendorDir . '/symfony/console/Question/Question.php', + 'Symfony\\Component\\Console\\Shell' => $vendorDir . '/symfony/console/Shell.php', + 'Symfony\\Component\\Console\\Style\\OutputStyle' => $vendorDir . '/symfony/console/Style/OutputStyle.php', + 'Symfony\\Component\\Console\\Style\\StyleInterface' => $vendorDir . '/symfony/console/Style/StyleInterface.php', + 'Symfony\\Component\\Console\\Style\\SymfonyStyle' => $vendorDir . '/symfony/console/Style/SymfonyStyle.php', + 'Symfony\\Component\\Console\\Tester\\ApplicationTester' => $vendorDir . '/symfony/console/Tester/ApplicationTester.php', + 'Symfony\\Component\\Console\\Tester\\CommandTester' => $vendorDir . '/symfony/console/Tester/CommandTester.php', + 'Symfony\\Component\\Debug\\BufferingLogger' => $vendorDir . '/symfony/debug/BufferingLogger.php', + 'Symfony\\Component\\Debug\\Debug' => $vendorDir . '/symfony/debug/Debug.php', + 'Symfony\\Component\\Debug\\DebugClassLoader' => $vendorDir . '/symfony/debug/DebugClassLoader.php', + 'Symfony\\Component\\Debug\\ErrorHandler' => $vendorDir . '/symfony/debug/ErrorHandler.php', + 'Symfony\\Component\\Debug\\ErrorHandlerCanary' => $vendorDir . '/symfony/debug/ErrorHandler.php', + 'Symfony\\Component\\Debug\\ExceptionHandler' => $vendorDir . '/symfony/debug/ExceptionHandler.php', + 'Symfony\\Component\\Debug\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/debug/Exception/ClassNotFoundException.php', + 'Symfony\\Component\\Debug\\Exception\\ContextErrorException' => $vendorDir . '/symfony/debug/Exception/ContextErrorException.php', + 'Symfony\\Component\\Debug\\Exception\\DummyException' => $vendorDir . '/symfony/debug/Exception/DummyException.php', + 'Symfony\\Component\\Debug\\Exception\\FatalErrorException' => $vendorDir . '/symfony/debug/Exception/FatalErrorException.php', + 'Symfony\\Component\\Debug\\Exception\\FatalThrowableError' => $vendorDir . '/symfony/debug/Exception/FatalThrowableError.php', + 'Symfony\\Component\\Debug\\Exception\\FlattenException' => $vendorDir . '/symfony/debug/Exception/FlattenException.php', + 'Symfony\\Component\\Debug\\Exception\\OutOfMemoryException' => $vendorDir . '/symfony/debug/Exception/OutOfMemoryException.php', + 'Symfony\\Component\\Debug\\Exception\\UndefinedFunctionException' => $vendorDir . '/symfony/debug/Exception/UndefinedFunctionException.php', + 'Symfony\\Component\\Debug\\Exception\\UndefinedMethodException' => $vendorDir . '/symfony/debug/Exception/UndefinedMethodException.php', + 'Symfony\\Component\\Debug\\FatalErrorHandler\\ClassNotFoundFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php', + 'Symfony\\Component\\Debug\\FatalErrorHandler\\FatalErrorHandlerInterface' => $vendorDir . '/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php', + 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedFunctionFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php', + 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedMethodFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php', + 'Symfony\\Component\\DependencyInjection\\Alias' => $vendorDir . '/symfony/dependency-injection/Alias.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\AnalyzeServiceReferencesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\AutoAliasServicePass' => $vendorDir . '/symfony/dependency-injection/Compiler/AutoAliasServicePass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\AutowirePass' => $vendorDir . '/symfony/dependency-injection/Compiler/AutowirePass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\CheckCircularReferencesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\CheckDefinitionValidityPass' => $vendorDir . '/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\CheckExceptionOnInvalidReferenceBehaviorPass' => $vendorDir . '/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\CheckReferenceValidityPass' => $vendorDir . '/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\Compiler' => $vendorDir . '/symfony/dependency-injection/Compiler/Compiler.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\CompilerPassInterface' => $vendorDir . '/symfony/dependency-injection/Compiler/CompilerPassInterface.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\DecoratorServicePass' => $vendorDir . '/symfony/dependency-injection/Compiler/DecoratorServicePass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ExtensionCompilerPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ExtensionCompilerPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\InlineServiceDefinitionsPass' => $vendorDir . '/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\LoggingFormatter' => $vendorDir . '/symfony/dependency-injection/Compiler/LoggingFormatter.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\MergeExtensionConfigurationPass' => $vendorDir . '/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\PassConfig' => $vendorDir . '/symfony/dependency-injection/Compiler/PassConfig.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\RemoveAbstractDefinitionsPass' => $vendorDir . '/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\RemovePrivateAliasesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\RemoveUnusedDefinitionsPass' => $vendorDir . '/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\RepeatablePassInterface' => $vendorDir . '/symfony/dependency-injection/Compiler/RepeatablePassInterface.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\RepeatedPass' => $vendorDir . '/symfony/dependency-injection/Compiler/RepeatedPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ReplaceAliasByActualDefinitionPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ResolveDefinitionTemplatesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ResolveInvalidReferencesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ResolveParameterPlaceHoldersPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ResolveReferencesToAliasesPass' => $vendorDir . '/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ServiceReferenceGraph' => $vendorDir . '/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ServiceReferenceGraphEdge' => $vendorDir . '/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php', + 'Symfony\\Component\\DependencyInjection\\Compiler\\ServiceReferenceGraphNode' => $vendorDir . '/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php', + 'Symfony\\Component\\DependencyInjection\\Container' => $vendorDir . '/symfony/dependency-injection/Container.php', + 'Symfony\\Component\\DependencyInjection\\ContainerAware' => $vendorDir . '/symfony/dependency-injection/ContainerAware.php', + 'Symfony\\Component\\DependencyInjection\\ContainerAwareInterface' => $vendorDir . '/symfony/dependency-injection/ContainerAwareInterface.php', + 'Symfony\\Component\\DependencyInjection\\ContainerAwareTrait' => $vendorDir . '/symfony/dependency-injection/ContainerAwareTrait.php', + 'Symfony\\Component\\DependencyInjection\\ContainerBuilder' => $vendorDir . '/symfony/dependency-injection/ContainerBuilder.php', + 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => $vendorDir . '/symfony/dependency-injection/ContainerInterface.php', + 'Symfony\\Component\\DependencyInjection\\Definition' => $vendorDir . '/symfony/dependency-injection/Definition.php', + 'Symfony\\Component\\DependencyInjection\\DefinitionDecorator' => $vendorDir . '/symfony/dependency-injection/DefinitionDecorator.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\Dumper' => $vendorDir . '/symfony/dependency-injection/Dumper/Dumper.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\DumperInterface' => $vendorDir . '/symfony/dependency-injection/Dumper/DumperInterface.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\GraphvizDumper' => $vendorDir . '/symfony/dependency-injection/Dumper/GraphvizDumper.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\PhpDumper' => $vendorDir . '/symfony/dependency-injection/Dumper/PhpDumper.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\XmlDumper' => $vendorDir . '/symfony/dependency-injection/Dumper/XmlDumper.php', + 'Symfony\\Component\\DependencyInjection\\Dumper\\YamlDumper' => $vendorDir . '/symfony/dependency-injection/Dumper/YamlDumper.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\BadMethodCallException' => $vendorDir . '/symfony/dependency-injection/Exception/BadMethodCallException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/dependency-injection/Exception/ExceptionInterface.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\InactiveScopeException' => $vendorDir . '/symfony/dependency-injection/Exception/InactiveScopeException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/dependency-injection/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\LogicException' => $vendorDir . '/symfony/dependency-injection/Exception/LogicException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\OutOfBoundsException' => $vendorDir . '/symfony/dependency-injection/Exception/OutOfBoundsException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ParameterCircularReferenceException' => $vendorDir . '/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ParameterNotFoundException' => $vendorDir . '/symfony/dependency-injection/Exception/ParameterNotFoundException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\RuntimeException' => $vendorDir . '/symfony/dependency-injection/Exception/RuntimeException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ScopeCrossingInjectionException' => $vendorDir . '/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ScopeWideningInjectionException' => $vendorDir . '/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ServiceCircularReferenceException' => $vendorDir . '/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php', + 'Symfony\\Component\\DependencyInjection\\Exception\\ServiceNotFoundException' => $vendorDir . '/symfony/dependency-injection/Exception/ServiceNotFoundException.php', + 'Symfony\\Component\\DependencyInjection\\ExpressionLanguage' => $vendorDir . '/symfony/dependency-injection/ExpressionLanguage.php', + 'Symfony\\Component\\DependencyInjection\\ExpressionLanguageProvider' => $vendorDir . '/symfony/dependency-injection/ExpressionLanguageProvider.php', + 'Symfony\\Component\\DependencyInjection\\Extension\\ConfigurationExtensionInterface' => $vendorDir . '/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php', + 'Symfony\\Component\\DependencyInjection\\Extension\\Extension' => $vendorDir . '/symfony/dependency-injection/Extension/Extension.php', + 'Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface' => $vendorDir . '/symfony/dependency-injection/Extension/ExtensionInterface.php', + 'Symfony\\Component\\DependencyInjection\\Extension\\PrependExtensionInterface' => $vendorDir . '/symfony/dependency-injection/Extension/PrependExtensionInterface.php', + 'Symfony\\Component\\DependencyInjection\\IntrospectableContainerInterface' => $vendorDir . '/symfony/dependency-injection/IntrospectableContainerInterface.php', + 'Symfony\\Component\\DependencyInjection\\LazyProxy\\Instantiator\\InstantiatorInterface' => $vendorDir . '/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php', + 'Symfony\\Component\\DependencyInjection\\LazyProxy\\Instantiator\\RealServiceInstantiator' => $vendorDir . '/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php', + 'Symfony\\Component\\DependencyInjection\\LazyProxy\\PhpDumper\\DumperInterface' => $vendorDir . '/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php', + 'Symfony\\Component\\DependencyInjection\\LazyProxy\\PhpDumper\\NullDumper' => $vendorDir . '/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\ClosureLoader' => $vendorDir . '/symfony/dependency-injection/Loader/ClosureLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\DirectoryLoader' => $vendorDir . '/symfony/dependency-injection/Loader/DirectoryLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\FileLoader' => $vendorDir . '/symfony/dependency-injection/Loader/FileLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\IniFileLoader' => $vendorDir . '/symfony/dependency-injection/Loader/IniFileLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\PhpFileLoader' => $vendorDir . '/symfony/dependency-injection/Loader/PhpFileLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\XmlFileLoader' => $vendorDir . '/symfony/dependency-injection/Loader/XmlFileLoader.php', + 'Symfony\\Component\\DependencyInjection\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/dependency-injection/Loader/YamlFileLoader.php', + 'Symfony\\Component\\DependencyInjection\\Parameter' => $vendorDir . '/symfony/dependency-injection/Parameter.php', + 'Symfony\\Component\\DependencyInjection\\ParameterBag\\FrozenParameterBag' => $vendorDir . '/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php', + 'Symfony\\Component\\DependencyInjection\\ParameterBag\\ParameterBag' => $vendorDir . '/symfony/dependency-injection/ParameterBag/ParameterBag.php', + 'Symfony\\Component\\DependencyInjection\\ParameterBag\\ParameterBagInterface' => $vendorDir . '/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php', + 'Symfony\\Component\\DependencyInjection\\Reference' => $vendorDir . '/symfony/dependency-injection/Reference.php', + 'Symfony\\Component\\DependencyInjection\\ResettableContainerInterface' => $vendorDir . '/symfony/dependency-injection/ResettableContainerInterface.php', + 'Symfony\\Component\\DependencyInjection\\Scope' => $vendorDir . '/symfony/dependency-injection/Scope.php', + 'Symfony\\Component\\DependencyInjection\\ScopeInterface' => $vendorDir . '/symfony/dependency-injection/ScopeInterface.php', + 'Symfony\\Component\\DependencyInjection\\SimpleXMLElement' => $vendorDir . '/symfony/dependency-injection/SimpleXMLElement.php', + 'Symfony\\Component\\DependencyInjection\\TaggedContainerInterface' => $vendorDir . '/symfony/dependency-injection/TaggedContainerInterface.php', + 'Symfony\\Component\\DependencyInjection\\Variable' => $vendorDir . '/symfony/dependency-injection/Variable.php', + 'Symfony\\Component\\DomCrawler\\Crawler' => $vendorDir . '/symfony/dom-crawler/Crawler.php', + 'Symfony\\Component\\DomCrawler\\Field\\ChoiceFormField' => $vendorDir . '/symfony/dom-crawler/Field/ChoiceFormField.php', + 'Symfony\\Component\\DomCrawler\\Field\\FileFormField' => $vendorDir . '/symfony/dom-crawler/Field/FileFormField.php', + 'Symfony\\Component\\DomCrawler\\Field\\FormField' => $vendorDir . '/symfony/dom-crawler/Field/FormField.php', + 'Symfony\\Component\\DomCrawler\\Field\\InputFormField' => $vendorDir . '/symfony/dom-crawler/Field/InputFormField.php', + 'Symfony\\Component\\DomCrawler\\Field\\TextareaFormField' => $vendorDir . '/symfony/dom-crawler/Field/TextareaFormField.php', + 'Symfony\\Component\\DomCrawler\\Form' => $vendorDir . '/symfony/dom-crawler/Form.php', + 'Symfony\\Component\\DomCrawler\\FormFieldRegistry' => $vendorDir . '/symfony/dom-crawler/FormFieldRegistry.php', + 'Symfony\\Component\\DomCrawler\\Link' => $vendorDir . '/symfony/dom-crawler/Link.php', + 'Symfony\\Component\\EventDispatcher\\ContainerAwareEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/ContainerAwareEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener' => $vendorDir . '/symfony/event-dispatcher/Debug/WrappedListener.php', + 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\RegisterListenersPass' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', + 'Symfony\\Component\\EventDispatcher\\Event' => $vendorDir . '/symfony/event-dispatcher/Event.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcher' => $vendorDir . '/symfony/event-dispatcher/EventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher/EventDispatcherInterface.php', + 'Symfony\\Component\\EventDispatcher\\EventSubscriberInterface' => $vendorDir . '/symfony/event-dispatcher/EventSubscriberInterface.php', + 'Symfony\\Component\\EventDispatcher\\GenericEvent' => $vendorDir . '/symfony/event-dispatcher/GenericEvent.php', + 'Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/ImmutableEventDispatcher.php', + 'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php', + 'Symfony\\Component\\ExpressionLanguage\\Expression' => $vendorDir . '/symfony/expression-language/Expression.php', + 'Symfony\\Component\\ExpressionLanguage\\ExpressionFunction' => $vendorDir . '/symfony/expression-language/ExpressionFunction.php', + 'Symfony\\Component\\ExpressionLanguage\\ExpressionFunctionProviderInterface' => $vendorDir . '/symfony/expression-language/ExpressionFunctionProviderInterface.php', + 'Symfony\\Component\\ExpressionLanguage\\ExpressionLanguage' => $vendorDir . '/symfony/expression-language/ExpressionLanguage.php', + 'Symfony\\Component\\ExpressionLanguage\\Lexer' => $vendorDir . '/symfony/expression-language/Lexer.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\ArgumentsNode' => $vendorDir . '/symfony/expression-language/Node/ArgumentsNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\ArrayNode' => $vendorDir . '/symfony/expression-language/Node/ArrayNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\BinaryNode' => $vendorDir . '/symfony/expression-language/Node/BinaryNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\ConditionalNode' => $vendorDir . '/symfony/expression-language/Node/ConditionalNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\ConstantNode' => $vendorDir . '/symfony/expression-language/Node/ConstantNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\FunctionNode' => $vendorDir . '/symfony/expression-language/Node/FunctionNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\GetAttrNode' => $vendorDir . '/symfony/expression-language/Node/GetAttrNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\NameNode' => $vendorDir . '/symfony/expression-language/Node/NameNode.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\Node' => $vendorDir . '/symfony/expression-language/Node/Node.php', + 'Symfony\\Component\\ExpressionLanguage\\Node\\UnaryNode' => $vendorDir . '/symfony/expression-language/Node/UnaryNode.php', + 'Symfony\\Component\\ExpressionLanguage\\ParsedExpression' => $vendorDir . '/symfony/expression-language/ParsedExpression.php', + 'Symfony\\Component\\ExpressionLanguage\\Parser' => $vendorDir . '/symfony/expression-language/Parser.php', + 'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ArrayParserCache' => $vendorDir . '/symfony/expression-language/ParserCache/ArrayParserCache.php', + 'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ParserCacheInterface' => $vendorDir . '/symfony/expression-language/ParserCache/ParserCacheInterface.php', + 'Symfony\\Component\\ExpressionLanguage\\SerializedParsedExpression' => $vendorDir . '/symfony/expression-language/SerializedParsedExpression.php', + 'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php', + 'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php', + 'Symfony\\Component\\ExpressionLanguage\\TokenStream' => $vendorDir . '/symfony/expression-language/TokenStream.php', + 'Symfony\\Component\\Filesystem\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/filesystem/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Filesystem\\Exception\\FileNotFoundException' => $vendorDir . '/symfony/filesystem/Exception/FileNotFoundException.php', + 'Symfony\\Component\\Filesystem\\Exception\\IOException' => $vendorDir . '/symfony/filesystem/Exception/IOException.php', + 'Symfony\\Component\\Filesystem\\Exception\\IOExceptionInterface' => $vendorDir . '/symfony/filesystem/Exception/IOExceptionInterface.php', + 'Symfony\\Component\\Filesystem\\Filesystem' => $vendorDir . '/symfony/filesystem/Filesystem.php', + 'Symfony\\Component\\Filesystem\\LockHandler' => $vendorDir . '/symfony/filesystem/LockHandler.php', + 'Symfony\\Component\\Finder\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/finder/Adapter/AbstractAdapter.php', + 'Symfony\\Component\\Finder\\Adapter\\AbstractFindAdapter' => $vendorDir . '/symfony/finder/Adapter/AbstractFindAdapter.php', + 'Symfony\\Component\\Finder\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/finder/Adapter/AdapterInterface.php', + 'Symfony\\Component\\Finder\\Adapter\\BsdFindAdapter' => $vendorDir . '/symfony/finder/Adapter/BsdFindAdapter.php', + 'Symfony\\Component\\Finder\\Adapter\\GnuFindAdapter' => $vendorDir . '/symfony/finder/Adapter/GnuFindAdapter.php', + 'Symfony\\Component\\Finder\\Adapter\\PhpAdapter' => $vendorDir . '/symfony/finder/Adapter/PhpAdapter.php', + 'Symfony\\Component\\Finder\\Comparator\\Comparator' => $vendorDir . '/symfony/finder/Comparator/Comparator.php', + 'Symfony\\Component\\Finder\\Comparator\\DateComparator' => $vendorDir . '/symfony/finder/Comparator/DateComparator.php', + 'Symfony\\Component\\Finder\\Comparator\\NumberComparator' => $vendorDir . '/symfony/finder/Comparator/NumberComparator.php', + 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/finder/Exception/AccessDeniedException.php', + 'Symfony\\Component\\Finder\\Exception\\AdapterFailureException' => $vendorDir . '/symfony/finder/Exception/AdapterFailureException.php', + 'Symfony\\Component\\Finder\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/finder/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Finder\\Exception\\OperationNotPermitedException' => $vendorDir . '/symfony/finder/Exception/OperationNotPermitedException.php', + 'Symfony\\Component\\Finder\\Exception\\ShellCommandFailureException' => $vendorDir . '/symfony/finder/Exception/ShellCommandFailureException.php', + 'Symfony\\Component\\Finder\\Expression\\Expression' => $vendorDir . '/symfony/finder/Expression/Expression.php', + 'Symfony\\Component\\Finder\\Expression\\Glob' => $vendorDir . '/symfony/finder/Expression/Glob.php', + 'Symfony\\Component\\Finder\\Expression\\Regex' => $vendorDir . '/symfony/finder/Expression/Regex.php', + 'Symfony\\Component\\Finder\\Expression\\ValueInterface' => $vendorDir . '/symfony/finder/Expression/ValueInterface.php', + 'Symfony\\Component\\Finder\\Finder' => $vendorDir . '/symfony/finder/Finder.php', + 'Symfony\\Component\\Finder\\Glob' => $vendorDir . '/symfony/finder/Glob.php', + 'Symfony\\Component\\Finder\\Iterator\\CustomFilterIterator' => $vendorDir . '/symfony/finder/Iterator/CustomFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DateRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DateRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DepthRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DepthRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\ExcludeDirectoryFilterIterator' => $vendorDir . '/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilePathsIterator' => $vendorDir . '/symfony/finder/Iterator/FilePathsIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FileTypeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FileTypeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilecontentFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilecontentFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilenameFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilenameFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' => $vendorDir . '/symfony/finder/Iterator/MultiplePcreFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\PathFilterIterator' => $vendorDir . '/symfony/finder/Iterator/PathFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\RecursiveDirectoryIterator' => $vendorDir . '/symfony/finder/Iterator/RecursiveDirectoryIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SizeRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/SizeRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => $vendorDir . '/symfony/finder/Iterator/SortableIterator.php', + 'Symfony\\Component\\Finder\\Shell\\Command' => $vendorDir . '/symfony/finder/Shell/Command.php', + 'Symfony\\Component\\Finder\\Shell\\Shell' => $vendorDir . '/symfony/finder/Shell/Shell.php', + 'Symfony\\Component\\Finder\\SplFileInfo' => $vendorDir . '/symfony/finder/SplFileInfo.php', + 'Symfony\\Component\\Form\\AbstractExtension' => $vendorDir . '/symfony/form/AbstractExtension.php', + 'Symfony\\Component\\Form\\AbstractRendererEngine' => $vendorDir . '/symfony/form/AbstractRendererEngine.php', + 'Symfony\\Component\\Form\\AbstractType' => $vendorDir . '/symfony/form/AbstractType.php', + 'Symfony\\Component\\Form\\AbstractTypeExtension' => $vendorDir . '/symfony/form/AbstractTypeExtension.php', + 'Symfony\\Component\\Form\\Button' => $vendorDir . '/symfony/form/Button.php', + 'Symfony\\Component\\Form\\ButtonBuilder' => $vendorDir . '/symfony/form/ButtonBuilder.php', + 'Symfony\\Component\\Form\\ButtonTypeInterface' => $vendorDir . '/symfony/form/ButtonTypeInterface.php', + 'Symfony\\Component\\Form\\CallbackTransformer' => $vendorDir . '/symfony/form/CallbackTransformer.php', + 'Symfony\\Component\\Form\\ChoiceList\\ArrayChoiceList' => $vendorDir . '/symfony/form/ChoiceList/ArrayChoiceList.php', + 'Symfony\\Component\\Form\\ChoiceList\\ArrayKeyChoiceList' => $vendorDir . '/symfony/form/ChoiceList/ArrayKeyChoiceList.php', + 'Symfony\\Component\\Form\\ChoiceList\\ChoiceListInterface' => $vendorDir . '/symfony/form/ChoiceList/ChoiceListInterface.php', + 'Symfony\\Component\\Form\\ChoiceList\\Factory\\CachingFactoryDecorator' => $vendorDir . '/symfony/form/ChoiceList/Factory/CachingFactoryDecorator.php', + 'Symfony\\Component\\Form\\ChoiceList\\Factory\\ChoiceListFactoryInterface' => $vendorDir . '/symfony/form/ChoiceList/Factory/ChoiceListFactoryInterface.php', + 'Symfony\\Component\\Form\\ChoiceList\\Factory\\DefaultChoiceListFactory' => $vendorDir . '/symfony/form/ChoiceList/Factory/DefaultChoiceListFactory.php', + 'Symfony\\Component\\Form\\ChoiceList\\Factory\\PropertyAccessDecorator' => $vendorDir . '/symfony/form/ChoiceList/Factory/PropertyAccessDecorator.php', + 'Symfony\\Component\\Form\\ChoiceList\\LazyChoiceList' => $vendorDir . '/symfony/form/ChoiceList/LazyChoiceList.php', + 'Symfony\\Component\\Form\\ChoiceList\\LegacyChoiceListAdapter' => $vendorDir . '/symfony/form/ChoiceList/LegacyChoiceListAdapter.php', + 'Symfony\\Component\\Form\\ChoiceList\\Loader\\ChoiceLoaderInterface' => $vendorDir . '/symfony/form/ChoiceList/Loader/ChoiceLoaderInterface.php', + 'Symfony\\Component\\Form\\ChoiceList\\View\\ChoiceGroupView' => $vendorDir . '/symfony/form/ChoiceList/View/ChoiceGroupView.php', + 'Symfony\\Component\\Form\\ChoiceList\\View\\ChoiceListView' => $vendorDir . '/symfony/form/ChoiceList/View/ChoiceListView.php', + 'Symfony\\Component\\Form\\ChoiceList\\View\\ChoiceView' => $vendorDir . '/symfony/form/ChoiceList/View/ChoiceView.php', + 'Symfony\\Component\\Form\\ClickableInterface' => $vendorDir . '/symfony/form/ClickableInterface.php', + 'Symfony\\Component\\Form\\DataMapperInterface' => $vendorDir . '/symfony/form/DataMapperInterface.php', + 'Symfony\\Component\\Form\\DataTransformerInterface' => $vendorDir . '/symfony/form/DataTransformerInterface.php', + 'Symfony\\Component\\Form\\Deprecated\\FormEvents' => $vendorDir . '/symfony/form/Deprecated/FormEvents.php', + 'Symfony\\Component\\Form\\Exception\\AlreadyBoundException' => $vendorDir . '/symfony/form/Exception/AlreadyBoundException.php', + 'Symfony\\Component\\Form\\Exception\\AlreadySubmittedException' => $vendorDir . '/symfony/form/Exception/AlreadySubmittedException.php', + 'Symfony\\Component\\Form\\Exception\\BadMethodCallException' => $vendorDir . '/symfony/form/Exception/BadMethodCallException.php', + 'Symfony\\Component\\Form\\Exception\\ErrorMappingException' => $vendorDir . '/symfony/form/Exception/ErrorMappingException.php', + 'Symfony\\Component\\Form\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/form/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Form\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/form/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Form\\Exception\\InvalidConfigurationException' => $vendorDir . '/symfony/form/Exception/InvalidConfigurationException.php', + 'Symfony\\Component\\Form\\Exception\\LogicException' => $vendorDir . '/symfony/form/Exception/LogicException.php', + 'Symfony\\Component\\Form\\Exception\\OutOfBoundsException' => $vendorDir . '/symfony/form/Exception/OutOfBoundsException.php', + 'Symfony\\Component\\Form\\Exception\\RuntimeException' => $vendorDir . '/symfony/form/Exception/RuntimeException.php', + 'Symfony\\Component\\Form\\Exception\\StringCastException' => $vendorDir . '/symfony/form/Exception/StringCastException.php', + 'Symfony\\Component\\Form\\Exception\\TransformationFailedException' => $vendorDir . '/symfony/form/Exception/TransformationFailedException.php', + 'Symfony\\Component\\Form\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/form/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\ChoiceList' => $vendorDir . '/symfony/form/Extension/Core/ChoiceList/ChoiceList.php', + 'Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\ChoiceListInterface' => $vendorDir . '/symfony/form/Extension/Core/ChoiceList/ChoiceListInterface.php', + 'Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\LazyChoiceList' => $vendorDir . '/symfony/form/Extension/Core/ChoiceList/LazyChoiceList.php', + 'Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\ObjectChoiceList' => $vendorDir . '/symfony/form/Extension/Core/ChoiceList/ObjectChoiceList.php', + 'Symfony\\Component\\Form\\Extension\\Core\\ChoiceList\\SimpleChoiceList' => $vendorDir . '/symfony/form/Extension/Core/ChoiceList/SimpleChoiceList.php', + 'Symfony\\Component\\Form\\Extension\\Core\\CoreExtension' => $vendorDir . '/symfony/form/Extension/Core/CoreExtension.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataMapper\\CheckboxListMapper' => $vendorDir . '/symfony/form/Extension/Core/DataMapper/CheckboxListMapper.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataMapper\\PropertyPathMapper' => $vendorDir . '/symfony/form/Extension/Core/DataMapper/PropertyPathMapper.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataMapper\\RadioListMapper' => $vendorDir . '/symfony/form/Extension/Core/DataMapper/RadioListMapper.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ArrayToPartsTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\BaseDateTimeTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\BooleanToStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/BooleanToStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ChoiceToBooleanArrayTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ChoiceToBooleanArrayTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ChoiceToValueTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ChoicesToBooleanArrayTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ChoicesToBooleanArrayTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ChoicesToValuesTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DataTransformerChain' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DataTransformerChain.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DateTimeToArrayTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DateTimeToLocalizedStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DateTimeToRfc3339Transformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DateTimeToRfc3339Transformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DateTimeToStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\DateTimeToTimestampTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\IntegerToLocalizedStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\MoneyToLocalizedStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\NumberToLocalizedStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\PercentToLocalizedStringTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\DataTransformer\\ValueToDuplicatesTransformer' => $vendorDir . '/symfony/form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\FixCheckboxInputListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/FixCheckboxInputListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\FixRadioInputListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/FixRadioInputListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\FixUrlProtocolListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/FixUrlProtocolListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\MergeCollectionListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/MergeCollectionListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\ResizeFormListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/ResizeFormListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\EventListener\\TrimListener' => $vendorDir . '/symfony/form/Extension/Core/EventListener/TrimListener.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\BaseType' => $vendorDir . '/symfony/form/Extension/Core/Type/BaseType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\BirthdayType' => $vendorDir . '/symfony/form/Extension/Core/Type/BirthdayType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ButtonType' => $vendorDir . '/symfony/form/Extension/Core/Type/ButtonType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CheckboxType' => $vendorDir . '/symfony/form/Extension/Core/Type/CheckboxType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ChoiceType' => $vendorDir . '/symfony/form/Extension/Core/Type/ChoiceType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CollectionType' => $vendorDir . '/symfony/form/Extension/Core/Type/CollectionType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CountryType' => $vendorDir . '/symfony/form/Extension/Core/Type/CountryType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CurrencyType' => $vendorDir . '/symfony/form/Extension/Core/Type/CurrencyType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\DateTimeType' => $vendorDir . '/symfony/form/Extension/Core/Type/DateTimeType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\DateType' => $vendorDir . '/symfony/form/Extension/Core/Type/DateType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\EmailType' => $vendorDir . '/symfony/form/Extension/Core/Type/EmailType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\FileType' => $vendorDir . '/symfony/form/Extension/Core/Type/FileType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\FormType' => $vendorDir . '/symfony/form/Extension/Core/Type/FormType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\HiddenType' => $vendorDir . '/symfony/form/Extension/Core/Type/HiddenType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\IntegerType' => $vendorDir . '/symfony/form/Extension/Core/Type/IntegerType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\LanguageType' => $vendorDir . '/symfony/form/Extension/Core/Type/LanguageType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\LocaleType' => $vendorDir . '/symfony/form/Extension/Core/Type/LocaleType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\MoneyType' => $vendorDir . '/symfony/form/Extension/Core/Type/MoneyType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\NumberType' => $vendorDir . '/symfony/form/Extension/Core/Type/NumberType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\PasswordType' => $vendorDir . '/symfony/form/Extension/Core/Type/PasswordType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\PercentType' => $vendorDir . '/symfony/form/Extension/Core/Type/PercentType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\RadioType' => $vendorDir . '/symfony/form/Extension/Core/Type/RadioType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\RangeType' => $vendorDir . '/symfony/form/Extension/Core/Type/RangeType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\RepeatedType' => $vendorDir . '/symfony/form/Extension/Core/Type/RepeatedType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ResetType' => $vendorDir . '/symfony/form/Extension/Core/Type/ResetType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SearchType' => $vendorDir . '/symfony/form/Extension/Core/Type/SearchType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType' => $vendorDir . '/symfony/form/Extension/Core/Type/SubmitType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType' => $vendorDir . '/symfony/form/Extension/Core/Type/TextType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextareaType' => $vendorDir . '/symfony/form/Extension/Core/Type/TextareaType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TimeType' => $vendorDir . '/symfony/form/Extension/Core/Type/TimeType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TimezoneType' => $vendorDir . '/symfony/form/Extension/Core/Type/TimezoneType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\Type\\UrlType' => $vendorDir . '/symfony/form/Extension/Core/Type/UrlType.php', + 'Symfony\\Component\\Form\\Extension\\Core\\View\\ChoiceView' => $vendorDir . '/symfony/form/ChoiceList/View/ChoiceView.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfExtension' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfExtension.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\CsrfProviderAdapter' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfProvider/CsrfProviderAdapter.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\CsrfProviderInterface' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfProvider/CsrfProviderInterface.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\CsrfTokenManagerAdapter' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfProvider/CsrfTokenManagerAdapter.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\DefaultCsrfProvider' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfProvider/DefaultCsrfProvider.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\SessionCsrfProvider' => $vendorDir . '/symfony/form/Extension/Csrf/CsrfProvider/SessionCsrfProvider.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\EventListener\\CsrfValidationListener' => $vendorDir . '/symfony/form/Extension/Csrf/EventListener/CsrfValidationListener.php', + 'Symfony\\Component\\Form\\Extension\\Csrf\\Type\\FormTypeCsrfExtension' => $vendorDir . '/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\DataCollectorExtension' => $vendorDir . '/symfony/form/Extension/DataCollector/DataCollectorExtension.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\EventListener\\DataCollectorListener' => $vendorDir . '/symfony/form/Extension/DataCollector/EventListener/DataCollectorListener.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\FormDataCollector' => $vendorDir . '/symfony/form/Extension/DataCollector/FormDataCollector.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\FormDataCollectorInterface' => $vendorDir . '/symfony/form/Extension/DataCollector/FormDataCollectorInterface.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\FormDataExtractor' => $vendorDir . '/symfony/form/Extension/DataCollector/FormDataExtractor.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\FormDataExtractorInterface' => $vendorDir . '/symfony/form/Extension/DataCollector/FormDataExtractorInterface.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\Proxy\\ResolvedTypeDataCollectorProxy' => $vendorDir . '/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\Proxy\\ResolvedTypeFactoryDataCollectorProxy' => $vendorDir . '/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php', + 'Symfony\\Component\\Form\\Extension\\DataCollector\\Type\\DataCollectorTypeExtension' => $vendorDir . '/symfony/form/Extension/DataCollector/Type/DataCollectorTypeExtension.php', + 'Symfony\\Component\\Form\\Extension\\DependencyInjection\\DependencyInjectionExtension' => $vendorDir . '/symfony/form/Extension/DependencyInjection/DependencyInjectionExtension.php', + 'Symfony\\Component\\Form\\Extension\\HttpFoundation\\EventListener\\BindRequestListener' => $vendorDir . '/symfony/form/Extension/HttpFoundation/EventListener/BindRequestListener.php', + 'Symfony\\Component\\Form\\Extension\\HttpFoundation\\HttpFoundationExtension' => $vendorDir . '/symfony/form/Extension/HttpFoundation/HttpFoundationExtension.php', + 'Symfony\\Component\\Form\\Extension\\HttpFoundation\\HttpFoundationRequestHandler' => $vendorDir . '/symfony/form/Extension/HttpFoundation/HttpFoundationRequestHandler.php', + 'Symfony\\Component\\Form\\Extension\\HttpFoundation\\Type\\FormTypeHttpFoundationExtension' => $vendorDir . '/symfony/form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php', + 'Symfony\\Component\\Form\\Extension\\Templating\\TemplatingExtension' => $vendorDir . '/symfony/form/Extension/Templating/TemplatingExtension.php', + 'Symfony\\Component\\Form\\Extension\\Templating\\TemplatingRendererEngine' => $vendorDir . '/symfony/form/Extension/Templating/TemplatingRendererEngine.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Constraints\\Form' => $vendorDir . '/symfony/form/Extension/Validator/Constraints/Form.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Constraints\\FormValidator' => $vendorDir . '/symfony/form/Extension/Validator/Constraints/FormValidator.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\EventListener\\ValidationListener' => $vendorDir . '/symfony/form/Extension/Validator/EventListener/ValidationListener.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Type\\BaseValidatorExtension' => $vendorDir . '/symfony/form/Extension/Validator/Type/BaseValidatorExtension.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Type\\FormTypeValidatorExtension' => $vendorDir . '/symfony/form/Extension/Validator/Type/FormTypeValidatorExtension.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Type\\RepeatedTypeValidatorExtension' => $vendorDir . '/symfony/form/Extension/Validator/Type/RepeatedTypeValidatorExtension.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Type\\SubmitTypeValidatorExtension' => $vendorDir . '/symfony/form/Extension/Validator/Type/SubmitTypeValidatorExtension.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\Util\\ServerParams' => $vendorDir . '/symfony/form/Extension/Validator/Util/ServerParams.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ValidatorExtension' => $vendorDir . '/symfony/form/Extension/Validator/ValidatorExtension.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ValidatorTypeGuesser' => $vendorDir . '/symfony/form/Extension/Validator/ValidatorTypeGuesser.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\MappingRule' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/MappingRule.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\RelativePath' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/RelativePath.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\ViolationMapper' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/ViolationMapper.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\ViolationMapperInterface' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/ViolationMapperInterface.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\ViolationPath' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/ViolationPath.php', + 'Symfony\\Component\\Form\\Extension\\Validator\\ViolationMapper\\ViolationPathIterator' => $vendorDir . '/symfony/form/Extension/Validator/ViolationMapper/ViolationPathIterator.php', + 'Symfony\\Component\\Form\\Form' => $vendorDir . '/symfony/form/Form.php', + 'Symfony\\Component\\Form\\FormBuilder' => $vendorDir . '/symfony/form/FormBuilder.php', + 'Symfony\\Component\\Form\\FormBuilderInterface' => $vendorDir . '/symfony/form/FormBuilderInterface.php', + 'Symfony\\Component\\Form\\FormConfigBuilder' => $vendorDir . '/symfony/form/FormConfigBuilder.php', + 'Symfony\\Component\\Form\\FormConfigBuilderInterface' => $vendorDir . '/symfony/form/FormConfigBuilderInterface.php', + 'Symfony\\Component\\Form\\FormConfigInterface' => $vendorDir . '/symfony/form/FormConfigInterface.php', + 'Symfony\\Component\\Form\\FormError' => $vendorDir . '/symfony/form/FormError.php', + 'Symfony\\Component\\Form\\FormErrorIterator' => $vendorDir . '/symfony/form/FormErrorIterator.php', + 'Symfony\\Component\\Form\\FormEvent' => $vendorDir . '/symfony/form/FormEvent.php', + 'Symfony\\Component\\Form\\FormEvents' => $vendorDir . '/symfony/form/FormEvents.php', + 'Symfony\\Component\\Form\\FormExtensionInterface' => $vendorDir . '/symfony/form/FormExtensionInterface.php', + 'Symfony\\Component\\Form\\FormFactory' => $vendorDir . '/symfony/form/FormFactory.php', + 'Symfony\\Component\\Form\\FormFactoryBuilder' => $vendorDir . '/symfony/form/FormFactoryBuilder.php', + 'Symfony\\Component\\Form\\FormFactoryBuilderInterface' => $vendorDir . '/symfony/form/FormFactoryBuilderInterface.php', + 'Symfony\\Component\\Form\\FormFactoryInterface' => $vendorDir . '/symfony/form/FormFactoryInterface.php', + 'Symfony\\Component\\Form\\FormInterface' => $vendorDir . '/symfony/form/FormInterface.php', + 'Symfony\\Component\\Form\\FormRegistry' => $vendorDir . '/symfony/form/FormRegistry.php', + 'Symfony\\Component\\Form\\FormRegistryInterface' => $vendorDir . '/symfony/form/FormRegistryInterface.php', + 'Symfony\\Component\\Form\\FormRenderer' => $vendorDir . '/symfony/form/FormRenderer.php', + 'Symfony\\Component\\Form\\FormRendererEngineInterface' => $vendorDir . '/symfony/form/FormRendererEngineInterface.php', + 'Symfony\\Component\\Form\\FormRendererInterface' => $vendorDir . '/symfony/form/FormRendererInterface.php', + 'Symfony\\Component\\Form\\FormTypeExtensionInterface' => $vendorDir . '/symfony/form/FormTypeExtensionInterface.php', + 'Symfony\\Component\\Form\\FormTypeGuesserChain' => $vendorDir . '/symfony/form/FormTypeGuesserChain.php', + 'Symfony\\Component\\Form\\FormTypeGuesserInterface' => $vendorDir . '/symfony/form/FormTypeGuesserInterface.php', + 'Symfony\\Component\\Form\\FormTypeInterface' => $vendorDir . '/symfony/form/FormTypeInterface.php', + 'Symfony\\Component\\Form\\FormView' => $vendorDir . '/symfony/form/FormView.php', + 'Symfony\\Component\\Form\\Forms' => $vendorDir . '/symfony/form/Forms.php', + 'Symfony\\Component\\Form\\Guess\\Guess' => $vendorDir . '/symfony/form/Guess/Guess.php', + 'Symfony\\Component\\Form\\Guess\\TypeGuess' => $vendorDir . '/symfony/form/Guess/TypeGuess.php', + 'Symfony\\Component\\Form\\Guess\\ValueGuess' => $vendorDir . '/symfony/form/Guess/ValueGuess.php', + 'Symfony\\Component\\Form\\NativeRequestHandler' => $vendorDir . '/symfony/form/NativeRequestHandler.php', + 'Symfony\\Component\\Form\\PreloadedExtension' => $vendorDir . '/symfony/form/PreloadedExtension.php', + 'Symfony\\Component\\Form\\RequestHandlerInterface' => $vendorDir . '/symfony/form/RequestHandlerInterface.php', + 'Symfony\\Component\\Form\\ResolvedFormType' => $vendorDir . '/symfony/form/ResolvedFormType.php', + 'Symfony\\Component\\Form\\ResolvedFormTypeFactory' => $vendorDir . '/symfony/form/ResolvedFormTypeFactory.php', + 'Symfony\\Component\\Form\\ResolvedFormTypeFactoryInterface' => $vendorDir . '/symfony/form/ResolvedFormTypeFactoryInterface.php', + 'Symfony\\Component\\Form\\ResolvedFormTypeInterface' => $vendorDir . '/symfony/form/ResolvedFormTypeInterface.php', + 'Symfony\\Component\\Form\\ReversedTransformer' => $vendorDir . '/symfony/form/ReversedTransformer.php', + 'Symfony\\Component\\Form\\SubmitButton' => $vendorDir . '/symfony/form/SubmitButton.php', + 'Symfony\\Component\\Form\\SubmitButtonBuilder' => $vendorDir . '/symfony/form/SubmitButtonBuilder.php', + 'Symfony\\Component\\Form\\SubmitButtonTypeInterface' => $vendorDir . '/symfony/form/SubmitButtonTypeInterface.php', + 'Symfony\\Component\\Form\\Test\\DeprecationErrorHandler' => $vendorDir . '/symfony/form/Test/DeprecationErrorHandler.php', + 'Symfony\\Component\\Form\\Test\\FormBuilderInterface' => $vendorDir . '/symfony/form/Test/FormBuilderInterface.php', + 'Symfony\\Component\\Form\\Test\\FormIntegrationTestCase' => $vendorDir . '/symfony/form/Test/FormIntegrationTestCase.php', + 'Symfony\\Component\\Form\\Test\\FormInterface' => $vendorDir . '/symfony/form/Test/FormInterface.php', + 'Symfony\\Component\\Form\\Test\\FormPerformanceTestCase' => $vendorDir . '/symfony/form/Test/FormPerformanceTestCase.php', + 'Symfony\\Component\\Form\\Test\\TypeTestCase' => $vendorDir . '/symfony/form/Test/TypeTestCase.php', + 'Symfony\\Component\\Form\\Util\\FormUtil' => $vendorDir . '/symfony/form/Util/FormUtil.php', + 'Symfony\\Component\\Form\\Util\\InheritDataAwareIterator' => $vendorDir . '/symfony/form/Util/InheritDataAwareIterator.php', + 'Symfony\\Component\\Form\\Util\\OrderedHashMap' => $vendorDir . '/symfony/form/Util/OrderedHashMap.php', + 'Symfony\\Component\\Form\\Util\\OrderedHashMapIterator' => $vendorDir . '/symfony/form/Util/OrderedHashMapIterator.php', + 'Symfony\\Component\\Form\\Util\\ServerParams' => $vendorDir . '/symfony/form/Util/ServerParams.php', + 'Symfony\\Component\\Form\\Util\\StringUtil' => $vendorDir . '/symfony/form/Util/StringUtil.php', + 'Symfony\\Component\\Form\\Util\\VirtualFormAwareIterator' => $vendorDir . '/symfony/form/Util/VirtualFormAwareIterator.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeader' => $vendorDir . '/symfony/http-foundation/AcceptHeader.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeaderItem' => $vendorDir . '/symfony/http-foundation/AcceptHeaderItem.php', + 'Symfony\\Component\\HttpFoundation\\ApacheRequest' => $vendorDir . '/symfony/http-foundation/ApacheRequest.php', + 'Symfony\\Component\\HttpFoundation\\BinaryFileResponse' => $vendorDir . '/symfony/http-foundation/BinaryFileResponse.php', + 'Symfony\\Component\\HttpFoundation\\Cookie' => $vendorDir . '/symfony/http-foundation/Cookie.php', + 'Symfony\\Component\\HttpFoundation\\ExpressionRequestMatcher' => $vendorDir . '/symfony/http-foundation/ExpressionRequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/http-foundation/File/Exception/AccessDeniedException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileNotFoundException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/http-foundation/File/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UploadException' => $vendorDir . '/symfony/http-foundation/File/Exception/UploadException.php', + 'Symfony\\Component\\HttpFoundation\\File\\File' => $vendorDir . '/symfony/http-foundation/File/File.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/ExtensionGuesser.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesserInterface' => $vendorDir . '/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileBinaryMimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileinfoMimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeExtensionGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php', + 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php', + 'Symfony\\Component\\HttpFoundation\\File\\UploadedFile' => $vendorDir . '/symfony/http-foundation/File/UploadedFile.php', + 'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\IpUtils' => $vendorDir . '/symfony/http-foundation/IpUtils.php', + 'Symfony\\Component\\HttpFoundation\\JsonResponse' => $vendorDir . '/symfony/http-foundation/JsonResponse.php', + 'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php', + 'Symfony\\Component\\HttpFoundation\\RedirectResponse' => $vendorDir . '/symfony/http-foundation/RedirectResponse.php', + 'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcher' => $vendorDir . '/symfony/http-foundation/RequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcherInterface' => $vendorDir . '/symfony/http-foundation/RequestMatcherInterface.php', + 'Symfony\\Component\\HttpFoundation\\RequestStack' => $vendorDir . '/symfony/http-foundation/RequestStack.php', + 'Symfony\\Component\\HttpFoundation\\Response' => $vendorDir . '/symfony/http-foundation/Response.php', + 'Symfony\\Component\\HttpFoundation\\ResponseHeaderBag' => $vendorDir . '/symfony/http-foundation/ResponseHeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\NamespacedAttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\AutoExpireFlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Session' => $vendorDir . '/symfony/http-foundation/Session/Session.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\LegacyPdoSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcacheSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MongoDbSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NullSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\WriteCheckSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MetadataBag' => $vendorDir . '/symfony/http-foundation/Session/Storage/MetadataBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockArraySessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/NativeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\NativeProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageInterface' => $vendorDir . '/symfony/http-foundation/Session/Storage/SessionStorageInterface.php', + 'Symfony\\Component\\HttpFoundation\\StreamedResponse' => $vendorDir . '/symfony/http-foundation/StreamedResponse.php', + 'Symfony\\Component\\HttpKernel\\Bundle\\Bundle' => $vendorDir . '/symfony/http-kernel/Bundle/Bundle.php', + 'Symfony\\Component\\HttpKernel\\Bundle\\BundleInterface' => $vendorDir . '/symfony/http-kernel/Bundle/BundleInterface.php', + 'Symfony\\Component\\HttpKernel\\CacheClearer\\CacheClearerInterface' => $vendorDir . '/symfony/http-kernel/CacheClearer/CacheClearerInterface.php', + 'Symfony\\Component\\HttpKernel\\CacheClearer\\ChainCacheClearer' => $vendorDir . '/symfony/http-kernel/CacheClearer/ChainCacheClearer.php', + 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmer' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmer.php', + 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerAggregate' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php', + 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerInterface' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php', + 'Symfony\\Component\\HttpKernel\\CacheWarmer\\WarmableInterface' => $vendorDir . '/symfony/http-kernel/CacheWarmer/WarmableInterface.php', + 'Symfony\\Component\\HttpKernel\\Client' => $vendorDir . '/symfony/http-kernel/Client.php', + 'Symfony\\Component\\HttpKernel\\Config\\EnvParametersResource' => $vendorDir . '/symfony/http-kernel/Config/EnvParametersResource.php', + 'Symfony\\Component\\HttpKernel\\Config\\FileLocator' => $vendorDir . '/symfony/http-kernel/Config/FileLocator.php', + 'Symfony\\Component\\HttpKernel\\Controller\\ControllerReference' => $vendorDir . '/symfony/http-kernel/Controller/ControllerReference.php', + 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolver' => $vendorDir . '/symfony/http-kernel/Controller/ControllerResolver.php', + 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface' => $vendorDir . '/symfony/http-kernel/Controller/ControllerResolverInterface.php', + 'Symfony\\Component\\HttpKernel\\Controller\\TraceableControllerResolver' => $vendorDir . '/symfony/http-kernel/Controller/TraceableControllerResolver.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\AjaxDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/AjaxDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\ConfigDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/ConfigDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/DataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollectorInterface' => $vendorDir . '/symfony/http-kernel/DataCollector/DataCollectorInterface.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\DumpDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/DumpDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\EventDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/EventDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\ExceptionDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/ExceptionDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\LateDataCollectorInterface' => $vendorDir . '/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\LoggerDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/LoggerDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\MemoryDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/MemoryDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/RequestDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\RouterDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/RouterDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\TimeDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/TimeDataCollector.php', + 'Symfony\\Component\\HttpKernel\\DataCollector\\Util\\ValueExporter' => $vendorDir . '/symfony/http-kernel/DataCollector/Util/ValueExporter.php', + 'Symfony\\Component\\HttpKernel\\Debug\\ErrorHandler' => $vendorDir . '/symfony/http-kernel/Debug/ErrorHandler.php', + 'Symfony\\Component\\HttpKernel\\Debug\\ExceptionHandler' => $vendorDir . '/symfony/http-kernel/Debug/ExceptionHandler.php', + 'Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher' => $vendorDir . '/symfony/http-kernel/Debug/TraceableEventDispatcher.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\AddClassesToCachePass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ConfigurableExtension' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ContainerAwareHttpKernel' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\Extension' => $vendorDir . '/symfony/http-kernel/DependencyInjection/Extension.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\FragmentRendererPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\LazyLoadingFragmentHandler' => $vendorDir . '/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\MergeExtensionConfigurationPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php', + 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RegisterListenersPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\AddRequestFormatsListener' => $vendorDir . '/symfony/http-kernel/EventListener/AddRequestFormatsListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener' => $vendorDir . '/symfony/http-kernel/EventListener/DebugHandlersListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\DumpListener' => $vendorDir . '/symfony/http-kernel/EventListener/DumpListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\ErrorsLoggerListener' => $vendorDir . '/symfony/http-kernel/EventListener/ErrorsLoggerListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\EsiListener' => $vendorDir . '/symfony/http-kernel/EventListener/EsiListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\ExceptionListener' => $vendorDir . '/symfony/http-kernel/EventListener/ExceptionListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener' => $vendorDir . '/symfony/http-kernel/EventListener/FragmentListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener' => $vendorDir . '/symfony/http-kernel/EventListener/LocaleListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener' => $vendorDir . '/symfony/http-kernel/EventListener/ProfilerListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener' => $vendorDir . '/symfony/http-kernel/EventListener/ResponseListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\RouterListener' => $vendorDir . '/symfony/http-kernel/EventListener/RouterListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\SaveSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/SaveSessionListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\SessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/SessionListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\StreamedResponseListener' => $vendorDir . '/symfony/http-kernel/EventListener/StreamedResponseListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\SurrogateListener' => $vendorDir . '/symfony/http-kernel/EventListener/SurrogateListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\TestSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/TestSessionListener.php', + 'Symfony\\Component\\HttpKernel\\EventListener\\TranslatorListener' => $vendorDir . '/symfony/http-kernel/EventListener/TranslatorListener.php', + 'Symfony\\Component\\HttpKernel\\Event\\FilterControllerEvent' => $vendorDir . '/symfony/http-kernel/Event/FilterControllerEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\FilterResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/FilterResponseEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\FinishRequestEvent' => $vendorDir . '/symfony/http-kernel/Event/FinishRequestEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForExceptionEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseForExceptionEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\KernelEvent' => $vendorDir . '/symfony/http-kernel/Event/KernelEvent.php', + 'Symfony\\Component\\HttpKernel\\Event\\PostResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/PostResponseEvent.php', + 'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/AccessDeniedHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException' => $vendorDir . '/symfony/http-kernel/Exception/BadRequestHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\ConflictHttpException' => $vendorDir . '/symfony/http-kernel/Exception/ConflictHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\GoneHttpException' => $vendorDir . '/symfony/http-kernel/Exception/GoneHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\HttpException' => $vendorDir . '/symfony/http-kernel/Exception/HttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\HttpExceptionInterface' => $vendorDir . '/symfony/http-kernel/Exception/HttpExceptionInterface.php', + 'Symfony\\Component\\HttpKernel\\Exception\\LengthRequiredHttpException' => $vendorDir . '/symfony/http-kernel/Exception/LengthRequiredHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\NotAcceptableHttpException' => $vendorDir . '/symfony/http-kernel/Exception/NotAcceptableHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException' => $vendorDir . '/symfony/http-kernel/Exception/NotFoundHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionFailedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/PreconditionFailedHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionRequiredHttpException' => $vendorDir . '/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException' => $vendorDir . '/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\TooManyRequestsHttpException' => $vendorDir . '/symfony/http-kernel/Exception/TooManyRequestsHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\UnauthorizedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnauthorizedHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\UnprocessableEntityHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php', + 'Symfony\\Component\\HttpKernel\\Exception\\UnsupportedMediaTypeHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\AbstractSurrogateFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\EsiFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/EsiFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentHandler' => $vendorDir . '/symfony/http-kernel/Fragment/FragmentHandler.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentRendererInterface' => $vendorDir . '/symfony/http-kernel/Fragment/FragmentRendererInterface.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\HIncludeFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\InlineFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/InlineFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\RoutableFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\Fragment\\SsiFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/SsiFragmentRenderer.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\Esi' => $vendorDir . '/symfony/http-kernel/HttpCache/Esi.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\EsiResponseCacheStrategy' => $vendorDir . '/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\EsiResponseCacheStrategyInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache' => $vendorDir . '/symfony/http-kernel/HttpCache/HttpCache.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategy' => $vendorDir . '/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategyInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\Ssi' => $vendorDir . '/symfony/http-kernel/HttpCache/Ssi.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\Store' => $vendorDir . '/symfony/http-kernel/HttpCache/Store.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/StoreInterface.php', + 'Symfony\\Component\\HttpKernel\\HttpCache\\SurrogateInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/SurrogateInterface.php', + 'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/HttpKernel.php', + 'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/HttpKernelInterface.php', + 'Symfony\\Component\\HttpKernel\\Kernel' => $vendorDir . '/symfony/http-kernel/Kernel.php', + 'Symfony\\Component\\HttpKernel\\KernelEvents' => $vendorDir . '/symfony/http-kernel/KernelEvents.php', + 'Symfony\\Component\\HttpKernel\\KernelInterface' => $vendorDir . '/symfony/http-kernel/KernelInterface.php', + 'Symfony\\Component\\HttpKernel\\Log\\DebugLoggerInterface' => $vendorDir . '/symfony/http-kernel/Log/DebugLoggerInterface.php', + 'Symfony\\Component\\HttpKernel\\Log\\LoggerInterface' => $vendorDir . '/symfony/http-kernel/Log/LoggerInterface.php', + 'Symfony\\Component\\HttpKernel\\Log\\NullLogger' => $vendorDir . '/symfony/http-kernel/Log/NullLogger.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\BaseMemcacheProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\FileProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/FileProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\MemcacheProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\MemcachedProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\MongoDbProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\MysqlProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/MysqlProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\PdoProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/PdoProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\Profile' => $vendorDir . '/symfony/http-kernel/Profiler/Profile.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\Profiler' => $vendorDir . '/symfony/http-kernel/Profiler/Profiler.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\ProfilerStorageInterface' => $vendorDir . '/symfony/http-kernel/Profiler/ProfilerStorageInterface.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\RedisProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/RedisProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\Profiler\\SqliteProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/SqliteProfilerStorage.php', + 'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/TerminableInterface.php', + 'Symfony\\Component\\HttpKernel\\UriSigner' => $vendorDir . '/symfony/http-kernel/UriSigner.php', + 'Symfony\\Component\\Icu\\IcuCurrencyBundle' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/IcuCurrencyBundle.php', + 'Symfony\\Component\\Icu\\IcuData' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/IcuData.php', + 'Symfony\\Component\\Icu\\IcuLanguageBundle' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/IcuLanguageBundle.php', + 'Symfony\\Component\\Icu\\IcuLocaleBundle' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/IcuLocaleBundle.php', + 'Symfony\\Component\\Icu\\IcuRegionBundle' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/IcuRegionBundle.php', + 'Symfony\\Component\\Icu\\Tests\\IcuIntegrationTest' => $vendorDir . '/symfony/icu/Symfony/Component/Icu/Tests/IcuIntegrationTest.php', + 'Symfony\\Component\\Intl\\Collator\\Collator' => $vendorDir . '/symfony/intl/Collator/Collator.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Compiler\\BundleCompilerInterface' => $vendorDir . '/symfony/intl/Data/Bundle/Compiler/BundleCompilerInterface.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Compiler\\GenrbCompiler' => $vendorDir . '/symfony/intl/Data/Bundle/Compiler/GenrbCompiler.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\BufferedBundleReader' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/BufferedBundleReader.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\BundleEntryReader' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/BundleEntryReader.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\BundleEntryReaderInterface' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/BundleEntryReaderInterface.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\BundleReaderInterface' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/BundleReaderInterface.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\IntlBundleReader' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/IntlBundleReader.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\JsonBundleReader' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/JsonBundleReader.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Reader\\PhpBundleReader' => $vendorDir . '/symfony/intl/Data/Bundle/Reader/PhpBundleReader.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Writer\\BundleWriterInterface' => $vendorDir . '/symfony/intl/Data/Bundle/Writer/BundleWriterInterface.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Writer\\JsonBundleWriter' => $vendorDir . '/symfony/intl/Data/Bundle/Writer/JsonBundleWriter.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Writer\\PhpBundleWriter' => $vendorDir . '/symfony/intl/Data/Bundle/Writer/PhpBundleWriter.php', + 'Symfony\\Component\\Intl\\Data\\Bundle\\Writer\\TextBundleWriter' => $vendorDir . '/symfony/intl/Data/Bundle/Writer/TextBundleWriter.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\AbstractDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/AbstractDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\CurrencyDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/CurrencyDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\GeneratorConfig' => $vendorDir . '/symfony/intl/Data/Generator/GeneratorConfig.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\LanguageDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/LanguageDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\LocaleDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/LocaleDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\RegionDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/RegionDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Generator\\ScriptDataGenerator' => $vendorDir . '/symfony/intl/Data/Generator/ScriptDataGenerator.php', + 'Symfony\\Component\\Intl\\Data\\Provider\\CurrencyDataProvider' => $vendorDir . '/symfony/intl/Data/Provider/CurrencyDataProvider.php', + 'Symfony\\Component\\Intl\\Data\\Provider\\LanguageDataProvider' => $vendorDir . '/symfony/intl/Data/Provider/LanguageDataProvider.php', + 'Symfony\\Component\\Intl\\Data\\Provider\\LocaleDataProvider' => $vendorDir . '/symfony/intl/Data/Provider/LocaleDataProvider.php', + 'Symfony\\Component\\Intl\\Data\\Provider\\RegionDataProvider' => $vendorDir . '/symfony/intl/Data/Provider/RegionDataProvider.php', + 'Symfony\\Component\\Intl\\Data\\Provider\\ScriptDataProvider' => $vendorDir . '/symfony/intl/Data/Provider/ScriptDataProvider.php', + 'Symfony\\Component\\Intl\\Data\\Util\\ArrayAccessibleResourceBundle' => $vendorDir . '/symfony/intl/Data/Util/ArrayAccessibleResourceBundle.php', + 'Symfony\\Component\\Intl\\Data\\Util\\LocaleScanner' => $vendorDir . '/symfony/intl/Data/Util/LocaleScanner.php', + 'Symfony\\Component\\Intl\\Data\\Util\\RecursiveArrayAccess' => $vendorDir . '/symfony/intl/Data/Util/RecursiveArrayAccess.php', + 'Symfony\\Component\\Intl\\Data\\Util\\RingBuffer' => $vendorDir . '/symfony/intl/Data/Util/RingBuffer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\AmPmTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/AmPmTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\DayOfWeekTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/DayOfWeekTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\DayOfYearTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/DayOfYearTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\DayTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/DayTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\FullTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/FullTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\Hour1200Transformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/Hour1200Transformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\Hour1201Transformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/Hour1201Transformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\Hour2400Transformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/Hour2400Transformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\Hour2401Transformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/Hour2401Transformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\HourTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/HourTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\MinuteTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/MinuteTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\MonthTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/MonthTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\QuarterTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/QuarterTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\SecondTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/SecondTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\TimeZoneTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/TimeZoneTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\Transformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/Transformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\DateFormat\\YearTransformer' => $vendorDir . '/symfony/intl/DateFormatter/DateFormat/YearTransformer.php', + 'Symfony\\Component\\Intl\\DateFormatter\\IntlDateFormatter' => $vendorDir . '/symfony/intl/DateFormatter/IntlDateFormatter.php', + 'Symfony\\Component\\Intl\\Exception\\BadMethodCallException' => $vendorDir . '/symfony/intl/Exception/BadMethodCallException.php', + 'Symfony\\Component\\Intl\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/intl/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Intl\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/intl/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Intl\\Exception\\MethodArgumentNotImplementedException' => $vendorDir . '/symfony/intl/Exception/MethodArgumentNotImplementedException.php', + 'Symfony\\Component\\Intl\\Exception\\MethodArgumentValueNotImplementedException' => $vendorDir . '/symfony/intl/Exception/MethodArgumentValueNotImplementedException.php', + 'Symfony\\Component\\Intl\\Exception\\MethodNotImplementedException' => $vendorDir . '/symfony/intl/Exception/MethodNotImplementedException.php', + 'Symfony\\Component\\Intl\\Exception\\MissingResourceException' => $vendorDir . '/symfony/intl/Exception/MissingResourceException.php', + 'Symfony\\Component\\Intl\\Exception\\NotImplementedException' => $vendorDir . '/symfony/intl/Exception/NotImplementedException.php', + 'Symfony\\Component\\Intl\\Exception\\OutOfBoundsException' => $vendorDir . '/symfony/intl/Exception/OutOfBoundsException.php', + 'Symfony\\Component\\Intl\\Exception\\ResourceBundleNotFoundException' => $vendorDir . '/symfony/intl/Exception/ResourceBundleNotFoundException.php', + 'Symfony\\Component\\Intl\\Exception\\RuntimeException' => $vendorDir . '/symfony/intl/Exception/RuntimeException.php', + 'Symfony\\Component\\Intl\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/intl/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\Intl\\Globals\\IntlGlobals' => $vendorDir . '/symfony/intl/Globals/IntlGlobals.php', + 'Symfony\\Component\\Intl\\Intl' => $vendorDir . '/symfony/intl/Intl.php', + 'Symfony\\Component\\Intl\\Locale' => $vendorDir . '/symfony/intl/Locale.php', + 'Symfony\\Component\\Intl\\Locale\\Locale' => $vendorDir . '/symfony/intl/Locale/Locale.php', + 'Symfony\\Component\\Intl\\NumberFormatter\\NumberFormatter' => $vendorDir . '/symfony/intl/NumberFormatter/NumberFormatter.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\CurrencyBundle' => $vendorDir . '/symfony/intl/ResourceBundle/CurrencyBundle.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\CurrencyBundleInterface' => $vendorDir . '/symfony/intl/ResourceBundle/CurrencyBundleInterface.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\LanguageBundle' => $vendorDir . '/symfony/intl/ResourceBundle/LanguageBundle.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\LanguageBundleInterface' => $vendorDir . '/symfony/intl/ResourceBundle/LanguageBundleInterface.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\LocaleBundle' => $vendorDir . '/symfony/intl/ResourceBundle/LocaleBundle.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\LocaleBundleInterface' => $vendorDir . '/symfony/intl/ResourceBundle/LocaleBundleInterface.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\RegionBundle' => $vendorDir . '/symfony/intl/ResourceBundle/RegionBundle.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\RegionBundleInterface' => $vendorDir . '/symfony/intl/ResourceBundle/RegionBundleInterface.php', + 'Symfony\\Component\\Intl\\ResourceBundle\\ResourceBundleInterface' => $vendorDir . '/symfony/intl/ResourceBundle/ResourceBundleInterface.php', + 'Symfony\\Component\\Intl\\Util\\IcuVersion' => $vendorDir . '/symfony/intl/Util/IcuVersion.php', + 'Symfony\\Component\\Intl\\Util\\IntlTestHelper' => $vendorDir . '/symfony/intl/Util/IntlTestHelper.php', + 'Symfony\\Component\\Intl\\Util\\SvnCommit' => $vendorDir . '/symfony/intl/Util/SvnCommit.php', + 'Symfony\\Component\\Intl\\Util\\SvnRepository' => $vendorDir . '/symfony/intl/Util/SvnRepository.php', + 'Symfony\\Component\\Intl\\Util\\Version' => $vendorDir . '/symfony/intl/Util/Version.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\AccessException' => $vendorDir . '/symfony/options-resolver/Exception/AccessException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/options-resolver/Exception/ExceptionInterface.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/options-resolver/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\InvalidOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/InvalidOptionsException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\MissingOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/MissingOptionsException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\NoSuchOptionException' => $vendorDir . '/symfony/options-resolver/Exception/NoSuchOptionException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\OptionDefinitionException' => $vendorDir . '/symfony/options-resolver/Exception/OptionDefinitionException.php', + 'Symfony\\Component\\OptionsResolver\\Exception\\UndefinedOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/UndefinedOptionsException.php', + 'Symfony\\Component\\OptionsResolver\\Options' => $vendorDir . '/symfony/options-resolver/Options.php', + 'Symfony\\Component\\OptionsResolver\\OptionsResolver' => $vendorDir . '/symfony/options-resolver/OptionsResolver.php', + 'Symfony\\Component\\OptionsResolver\\OptionsResolverInterface' => $vendorDir . '/symfony/options-resolver/OptionsResolverInterface.php', + 'Symfony\\Component\\Process\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/process/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Process\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/process/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Process\\Exception\\LogicException' => $vendorDir . '/symfony/process/Exception/LogicException.php', + 'Symfony\\Component\\Process\\Exception\\ProcessFailedException' => $vendorDir . '/symfony/process/Exception/ProcessFailedException.php', + 'Symfony\\Component\\Process\\Exception\\ProcessTimedOutException' => $vendorDir . '/symfony/process/Exception/ProcessTimedOutException.php', + 'Symfony\\Component\\Process\\Exception\\RuntimeException' => $vendorDir . '/symfony/process/Exception/RuntimeException.php', + 'Symfony\\Component\\Process\\ExecutableFinder' => $vendorDir . '/symfony/process/ExecutableFinder.php', + 'Symfony\\Component\\Process\\PhpExecutableFinder' => $vendorDir . '/symfony/process/PhpExecutableFinder.php', + 'Symfony\\Component\\Process\\PhpProcess' => $vendorDir . '/symfony/process/PhpProcess.php', + 'Symfony\\Component\\Process\\Pipes\\AbstractPipes' => $vendorDir . '/symfony/process/Pipes/AbstractPipes.php', + 'Symfony\\Component\\Process\\Pipes\\PipesInterface' => $vendorDir . '/symfony/process/Pipes/PipesInterface.php', + 'Symfony\\Component\\Process\\Pipes\\UnixPipes' => $vendorDir . '/symfony/process/Pipes/UnixPipes.php', + 'Symfony\\Component\\Process\\Pipes\\WindowsPipes' => $vendorDir . '/symfony/process/Pipes/WindowsPipes.php', + 'Symfony\\Component\\Process\\Process' => $vendorDir . '/symfony/process/Process.php', + 'Symfony\\Component\\Process\\ProcessBuilder' => $vendorDir . '/symfony/process/ProcessBuilder.php', + 'Symfony\\Component\\Process\\ProcessUtils' => $vendorDir . '/symfony/process/ProcessUtils.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\AccessException' => $vendorDir . '/symfony/property-access/Exception/AccessException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/property-access/Exception/ExceptionInterface.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/property-access/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\InvalidPropertyPathException' => $vendorDir . '/symfony/property-access/Exception/InvalidPropertyPathException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\NoSuchIndexException' => $vendorDir . '/symfony/property-access/Exception/NoSuchIndexException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\NoSuchPropertyException' => $vendorDir . '/symfony/property-access/Exception/NoSuchPropertyException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\OutOfBoundsException' => $vendorDir . '/symfony/property-access/Exception/OutOfBoundsException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\RuntimeException' => $vendorDir . '/symfony/property-access/Exception/RuntimeException.php', + 'Symfony\\Component\\PropertyAccess\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/property-access/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\PropertyAccess\\PropertyAccess' => $vendorDir . '/symfony/property-access/PropertyAccess.php', + 'Symfony\\Component\\PropertyAccess\\PropertyAccessor' => $vendorDir . '/symfony/property-access/PropertyAccessor.php', + 'Symfony\\Component\\PropertyAccess\\PropertyAccessorBuilder' => $vendorDir . '/symfony/property-access/PropertyAccessorBuilder.php', + 'Symfony\\Component\\PropertyAccess\\PropertyAccessorInterface' => $vendorDir . '/symfony/property-access/PropertyAccessorInterface.php', + 'Symfony\\Component\\PropertyAccess\\PropertyPath' => $vendorDir . '/symfony/property-access/PropertyPath.php', + 'Symfony\\Component\\PropertyAccess\\PropertyPathBuilder' => $vendorDir . '/symfony/property-access/PropertyPathBuilder.php', + 'Symfony\\Component\\PropertyAccess\\PropertyPathInterface' => $vendorDir . '/symfony/property-access/PropertyPathInterface.php', + 'Symfony\\Component\\PropertyAccess\\PropertyPathIterator' => $vendorDir . '/symfony/property-access/PropertyPathIterator.php', + 'Symfony\\Component\\PropertyAccess\\PropertyPathIteratorInterface' => $vendorDir . '/symfony/property-access/PropertyPathIteratorInterface.php', + 'Symfony\\Component\\PropertyAccess\\StringUtil' => $vendorDir . '/symfony/property-access/StringUtil.php', + 'Symfony\\Component\\Routing\\Annotation\\Route' => $vendorDir . '/symfony/routing/Annotation/Route.php', + 'Symfony\\Component\\Routing\\CompiledRoute' => $vendorDir . '/symfony/routing/CompiledRoute.php', + 'Symfony\\Component\\Routing\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/routing/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Routing\\Exception\\InvalidParameterException' => $vendorDir . '/symfony/routing/Exception/InvalidParameterException.php', + 'Symfony\\Component\\Routing\\Exception\\MethodNotAllowedException' => $vendorDir . '/symfony/routing/Exception/MethodNotAllowedException.php', + 'Symfony\\Component\\Routing\\Exception\\MissingMandatoryParametersException' => $vendorDir . '/symfony/routing/Exception/MissingMandatoryParametersException.php', + 'Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException' => $vendorDir . '/symfony/routing/Exception/ResourceNotFoundException.php', + 'Symfony\\Component\\Routing\\Exception\\RouteNotFoundException' => $vendorDir . '/symfony/routing/Exception/RouteNotFoundException.php', + 'Symfony\\Component\\Routing\\Generator\\ConfigurableRequirementsInterface' => $vendorDir . '/symfony/routing/Generator/ConfigurableRequirementsInterface.php', + 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumper' => $vendorDir . '/symfony/routing/Generator/Dumper/GeneratorDumper.php', + 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumperInterface' => $vendorDir . '/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php', + 'Symfony\\Component\\Routing\\Generator\\Dumper\\PhpGeneratorDumper' => $vendorDir . '/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php', + 'Symfony\\Component\\Routing\\Generator\\UrlGenerator' => $vendorDir . '/symfony/routing/Generator/UrlGenerator.php', + 'Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface' => $vendorDir . '/symfony/routing/Generator/UrlGeneratorInterface.php', + 'Symfony\\Component\\Routing\\Loader\\AnnotationClassLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationClassLoader.php', + 'Symfony\\Component\\Routing\\Loader\\AnnotationDirectoryLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationDirectoryLoader.php', + 'Symfony\\Component\\Routing\\Loader\\AnnotationFileLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationFileLoader.php', + 'Symfony\\Component\\Routing\\Loader\\ClosureLoader' => $vendorDir . '/symfony/routing/Loader/ClosureLoader.php', + 'Symfony\\Component\\Routing\\Loader\\DependencyInjection\\ServiceRouterLoader' => $vendorDir . '/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php', + 'Symfony\\Component\\Routing\\Loader\\DirectoryLoader' => $vendorDir . '/symfony/routing/Loader/DirectoryLoader.php', + 'Symfony\\Component\\Routing\\Loader\\ObjectRouteLoader' => $vendorDir . '/symfony/routing/Loader/ObjectRouteLoader.php', + 'Symfony\\Component\\Routing\\Loader\\PhpFileLoader' => $vendorDir . '/symfony/routing/Loader/PhpFileLoader.php', + 'Symfony\\Component\\Routing\\Loader\\XmlFileLoader' => $vendorDir . '/symfony/routing/Loader/XmlFileLoader.php', + 'Symfony\\Component\\Routing\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/routing/Loader/YamlFileLoader.php', + 'Symfony\\Component\\Routing\\Matcher\\ApacheUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/ApacheUrlMatcher.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\ApacheMatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\DumperCollection' => $vendorDir . '/symfony/routing/Matcher/Dumper/DumperCollection.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\DumperPrefixCollection' => $vendorDir . '/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\DumperRoute' => $vendorDir . '/symfony/routing/Matcher/Dumper/DumperRoute.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumper.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumperInterface' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php', + 'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php', + 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcher.php', + 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php', + 'Symfony\\Component\\Routing\\Matcher\\RequestMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/RequestMatcherInterface.php', + 'Symfony\\Component\\Routing\\Matcher\\TraceableUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/TraceableUrlMatcher.php', + 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher' => $vendorDir . '/symfony/routing/Matcher/UrlMatcher.php', + 'Symfony\\Component\\Routing\\Matcher\\UrlMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/UrlMatcherInterface.php', + 'Symfony\\Component\\Routing\\RequestContext' => $vendorDir . '/symfony/routing/RequestContext.php', + 'Symfony\\Component\\Routing\\RequestContextAwareInterface' => $vendorDir . '/symfony/routing/RequestContextAwareInterface.php', + 'Symfony\\Component\\Routing\\Route' => $vendorDir . '/symfony/routing/Route.php', + 'Symfony\\Component\\Routing\\RouteCollection' => $vendorDir . '/symfony/routing/RouteCollection.php', + 'Symfony\\Component\\Routing\\RouteCollectionBuilder' => $vendorDir . '/symfony/routing/RouteCollectionBuilder.php', + 'Symfony\\Component\\Routing\\RouteCompiler' => $vendorDir . '/symfony/routing/RouteCompiler.php', + 'Symfony\\Component\\Routing\\RouteCompilerInterface' => $vendorDir . '/symfony/routing/RouteCompilerInterface.php', + 'Symfony\\Component\\Routing\\Router' => $vendorDir . '/symfony/routing/Router.php', + 'Symfony\\Component\\Routing\\RouterInterface' => $vendorDir . '/symfony/routing/RouterInterface.php', + 'Symfony\\Component\\Security\\Acl\\Dbal\\AclProvider' => $vendorDir . '/symfony/security-acl/Dbal/AclProvider.php', + 'Symfony\\Component\\Security\\Acl\\Dbal\\MutableAclProvider' => $vendorDir . '/symfony/security-acl/Dbal/MutableAclProvider.php', + 'Symfony\\Component\\Security\\Acl\\Dbal\\Schema' => $vendorDir . '/symfony/security-acl/Dbal/Schema.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\Acl' => $vendorDir . '/symfony/security-acl/Domain/Acl.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\AclCollectionCache' => $vendorDir . '/symfony/security-acl/Domain/AclCollectionCache.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\AuditLogger' => $vendorDir . '/symfony/security-acl/Domain/AuditLogger.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\DoctrineAclCache' => $vendorDir . '/symfony/security-acl/Domain/DoctrineAclCache.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\Entry' => $vendorDir . '/symfony/security-acl/Domain/Entry.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\FieldEntry' => $vendorDir . '/symfony/security-acl/Domain/FieldEntry.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\ObjectIdentity' => $vendorDir . '/symfony/security-acl/Domain/ObjectIdentity.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\ObjectIdentityRetrievalStrategy' => $vendorDir . '/symfony/security-acl/Domain/ObjectIdentityRetrievalStrategy.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\PermissionGrantingStrategy' => $vendorDir . '/symfony/security-acl/Domain/PermissionGrantingStrategy.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\RoleSecurityIdentity' => $vendorDir . '/symfony/security-acl/Domain/RoleSecurityIdentity.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\SecurityIdentityRetrievalStrategy' => $vendorDir . '/symfony/security-acl/Domain/SecurityIdentityRetrievalStrategy.php', + 'Symfony\\Component\\Security\\Acl\\Domain\\UserSecurityIdentity' => $vendorDir . '/symfony/security-acl/Domain/UserSecurityIdentity.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\AclAlreadyExistsException' => $vendorDir . '/symfony/security-acl/Exception/AclAlreadyExistsException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\AclNotFoundException' => $vendorDir . '/symfony/security-acl/Exception/AclNotFoundException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\ConcurrentModificationException' => $vendorDir . '/symfony/security-acl/Exception/ConcurrentModificationException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\Exception' => $vendorDir . '/symfony/security-acl/Exception/Exception.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\InvalidDomainObjectException' => $vendorDir . '/symfony/security-acl/Exception/InvalidDomainObjectException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\NoAceFoundException' => $vendorDir . '/symfony/security-acl/Exception/NoAceFoundException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\NotAllAclsFoundException' => $vendorDir . '/symfony/security-acl/Exception/NotAllAclsFoundException.php', + 'Symfony\\Component\\Security\\Acl\\Exception\\SidNotLoadedException' => $vendorDir . '/symfony/security-acl/Exception/SidNotLoadedException.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AclCacheInterface' => $vendorDir . '/symfony/security-acl/Model/AclCacheInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AclInterface' => $vendorDir . '/symfony/security-acl/Model/AclInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AclProviderInterface' => $vendorDir . '/symfony/security-acl/Model/AclProviderInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AuditLoggerInterface' => $vendorDir . '/symfony/security-acl/Model/AuditLoggerInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AuditableAclInterface' => $vendorDir . '/symfony/security-acl/Model/AuditableAclInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\AuditableEntryInterface' => $vendorDir . '/symfony/security-acl/Model/AuditableEntryInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\DomainObjectInterface' => $vendorDir . '/symfony/security-acl/Model/DomainObjectInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\EntryInterface' => $vendorDir . '/symfony/security-acl/Model/EntryInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\FieldEntryInterface' => $vendorDir . '/symfony/security-acl/Model/FieldEntryInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\MutableAclInterface' => $vendorDir . '/symfony/security-acl/Model/MutableAclInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\MutableAclProviderInterface' => $vendorDir . '/symfony/security-acl/Model/MutableAclProviderInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\ObjectIdentityInterface' => $vendorDir . '/symfony/security-acl/Model/ObjectIdentityInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\ObjectIdentityRetrievalStrategyInterface' => $vendorDir . '/symfony/security-acl/Model/ObjectIdentityRetrievalStrategyInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\PermissionGrantingStrategyInterface' => $vendorDir . '/symfony/security-acl/Model/PermissionGrantingStrategyInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\SecurityIdentityInterface' => $vendorDir . '/symfony/security-acl/Model/SecurityIdentityInterface.php', + 'Symfony\\Component\\Security\\Acl\\Model\\SecurityIdentityRetrievalStrategyInterface' => $vendorDir . '/symfony/security-acl/Model/SecurityIdentityRetrievalStrategyInterface.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\AbstractMaskBuilder' => $vendorDir . '/symfony/security-acl/Permission/AbstractMaskBuilder.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\BasicPermissionMap' => $vendorDir . '/symfony/security-acl/Permission/BasicPermissionMap.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\MaskBuilder' => $vendorDir . '/symfony/security-acl/Permission/MaskBuilder.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\MaskBuilderInterface' => $vendorDir . '/symfony/security-acl/Permission/MaskBuilderInterface.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\MaskBuilderRetrievalInterface' => $vendorDir . '/symfony/security-acl/Permission/MaskBuilderRetrievalInterface.php', + 'Symfony\\Component\\Security\\Acl\\Permission\\PermissionMapInterface' => $vendorDir . '/symfony/security-acl/Permission/PermissionMapInterface.php', + 'Symfony\\Component\\Security\\Acl\\Util\\ClassUtils' => $vendorDir . '/symfony/security-acl/Util/ClassUtils.php', + 'Symfony\\Component\\Security\\Acl\\Voter\\AclVoter' => $vendorDir . '/symfony/security-acl/Voter/AclVoter.php', + 'Symfony\\Component\\Security\\Acl\\Voter\\FieldVote' => $vendorDir . '/symfony/security-acl/Voter/FieldVote.php', + 'Symfony\\Component\\Security\\Core\\AuthenticationEvents' => $vendorDir . '/symfony/security/Core/AuthenticationEvents.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\AuthenticationManagerInterface' => $vendorDir . '/symfony/security/Core/Authentication/AuthenticationManagerInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\AuthenticationProviderManager' => $vendorDir . '/symfony/security/Core/Authentication/AuthenticationProviderManager.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\AuthenticationTrustResolver' => $vendorDir . '/symfony/security/Core/Authentication/AuthenticationTrustResolver.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\AuthenticationTrustResolverInterface' => $vendorDir . '/symfony/security/Core/Authentication/AuthenticationTrustResolverInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\AnonymousAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/AnonymousAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\AuthenticationProviderInterface' => $vendorDir . '/symfony/security/Core/Authentication/Provider/AuthenticationProviderInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\DaoAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/DaoAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\LdapBindAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/LdapBindAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\PreAuthenticatedAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/PreAuthenticatedAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\RememberMeAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/RememberMeAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\SimpleAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/SimpleAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Provider\\UserAuthenticationProvider' => $vendorDir . '/symfony/security/Core/Authentication/Provider/UserAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\RememberMe\\InMemoryTokenProvider' => $vendorDir . '/symfony/security/Core/Authentication/RememberMe/InMemoryTokenProvider.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\RememberMe\\PersistentToken' => $vendorDir . '/symfony/security/Core/Authentication/RememberMe/PersistentToken.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\RememberMe\\PersistentTokenInterface' => $vendorDir . '/symfony/security/Core/Authentication/RememberMe/PersistentTokenInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\RememberMe\\TokenProviderInterface' => $vendorDir . '/symfony/security/Core/Authentication/RememberMe/TokenProviderInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\SimpleAuthenticatorInterface' => $vendorDir . '/symfony/security/Core/Authentication/SimpleAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\SimpleFormAuthenticatorInterface' => $vendorDir . '/symfony/security/Core/Authentication/SimpleFormAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\SimplePreAuthenticatorInterface' => $vendorDir . '/symfony/security/Core/Authentication/SimplePreAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AbstractToken' => $vendorDir . '/symfony/security/Core/Authentication/Token/AbstractToken.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AnonymousToken' => $vendorDir . '/symfony/security/Core/Authentication/Token/AnonymousToken.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\PreAuthenticatedToken' => $vendorDir . '/symfony/security/Core/Authentication/Token/PreAuthenticatedToken.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\RememberMeToken' => $vendorDir . '/symfony/security/Core/Authentication/Token/RememberMeToken.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\Storage\\TokenStorage' => $vendorDir . '/symfony/security/Core/Authentication/Token/Storage/TokenStorage.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\Storage\\TokenStorageInterface' => $vendorDir . '/symfony/security/Core/Authentication/Token/Storage/TokenStorageInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface' => $vendorDir . '/symfony/security/Core/Authentication/Token/TokenInterface.php', + 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken' => $vendorDir . '/symfony/security/Core/Authentication/Token/UsernamePasswordToken.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\AccessDecisionManager' => $vendorDir . '/symfony/security/Core/Authorization/AccessDecisionManager.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\AccessDecisionManagerInterface' => $vendorDir . '/symfony/security/Core/Authorization/AccessDecisionManagerInterface.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\AuthorizationChecker' => $vendorDir . '/symfony/security/Core/Authorization/AuthorizationChecker.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\AuthorizationCheckerInterface' => $vendorDir . '/symfony/security/Core/Authorization/AuthorizationCheckerInterface.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\ExpressionLanguage' => $vendorDir . '/symfony/security/Core/Authorization/ExpressionLanguage.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\ExpressionLanguageProvider' => $vendorDir . '/symfony/security/Core/Authorization/ExpressionLanguageProvider.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\AbstractVoter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/AbstractVoter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\AuthenticatedVoter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/AuthenticatedVoter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\ExpressionVoter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/ExpressionVoter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\RoleHierarchyVoter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/RoleHierarchyVoter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\RoleVoter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/RoleVoter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\Voter' => $vendorDir . '/symfony/security/Core/Authorization/Voter/Voter.php', + 'Symfony\\Component\\Security\\Core\\Authorization\\Voter\\VoterInterface' => $vendorDir . '/symfony/security/Core/Authorization/Voter/VoterInterface.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\BCryptPasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/BCryptPasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\BasePasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/BasePasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\EncoderAwareInterface' => $vendorDir . '/symfony/security/Core/Encoder/EncoderAwareInterface.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\EncoderFactory' => $vendorDir . '/symfony/security/Core/Encoder/EncoderFactory.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\EncoderFactoryInterface' => $vendorDir . '/symfony/security/Core/Encoder/EncoderFactoryInterface.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\MessageDigestPasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/MessageDigestPasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\PasswordEncoderInterface' => $vendorDir . '/symfony/security/Core/Encoder/PasswordEncoderInterface.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\Pbkdf2PasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/Pbkdf2PasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\PlaintextPasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/PlaintextPasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\UserPasswordEncoder' => $vendorDir . '/symfony/security/Core/Encoder/UserPasswordEncoder.php', + 'Symfony\\Component\\Security\\Core\\Encoder\\UserPasswordEncoderInterface' => $vendorDir . '/symfony/security/Core/Encoder/UserPasswordEncoderInterface.php', + 'Symfony\\Component\\Security\\Core\\Event\\AuthenticationEvent' => $vendorDir . '/symfony/security/Core/Event/AuthenticationEvent.php', + 'Symfony\\Component\\Security\\Core\\Event\\AuthenticationFailureEvent' => $vendorDir . '/symfony/security/Core/Event/AuthenticationFailureEvent.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/security/Core/Exception/AccessDeniedException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AccountExpiredException' => $vendorDir . '/symfony/security/Core/Exception/AccountExpiredException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AccountStatusException' => $vendorDir . '/symfony/security/Core/Exception/AccountStatusException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AuthenticationCredentialsNotFoundException' => $vendorDir . '/symfony/security/Core/Exception/AuthenticationCredentialsNotFoundException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AuthenticationException' => $vendorDir . '/symfony/security/Core/Exception/AuthenticationException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AuthenticationExpiredException' => $vendorDir . '/symfony/security/Core/Exception/AuthenticationExpiredException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\AuthenticationServiceException' => $vendorDir . '/symfony/security/Core/Exception/AuthenticationServiceException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\BadCredentialsException' => $vendorDir . '/symfony/security/Core/Exception/BadCredentialsException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\CookieTheftException' => $vendorDir . '/symfony/security/Core/Exception/CookieTheftException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\CredentialsExpiredException' => $vendorDir . '/symfony/security/Core/Exception/CredentialsExpiredException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\CustomUserMessageAuthenticationException' => $vendorDir . '/symfony/security/Core/Exception/CustomUserMessageAuthenticationException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\DisabledException' => $vendorDir . '/symfony/security/Core/Exception/DisabledException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/security/Core/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Security\\Core\\Exception\\InsufficientAuthenticationException' => $vendorDir . '/symfony/security/Core/Exception/InsufficientAuthenticationException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/security/Core/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\InvalidCsrfTokenException' => $vendorDir . '/symfony/security/Core/Exception/InvalidCsrfTokenException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\LockedException' => $vendorDir . '/symfony/security/Core/Exception/LockedException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\LogoutException' => $vendorDir . '/symfony/security/Core/Exception/LogoutException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\NonceExpiredException' => $vendorDir . '/symfony/security/Core/Exception/NonceExpiredException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\ProviderNotFoundException' => $vendorDir . '/symfony/security/Core/Exception/ProviderNotFoundException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\RuntimeException' => $vendorDir . '/symfony/security/Core/Exception/RuntimeException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\SessionUnavailableException' => $vendorDir . '/symfony/security/Core/Exception/SessionUnavailableException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\TokenNotFoundException' => $vendorDir . '/symfony/security/Core/Exception/TokenNotFoundException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\UnsupportedUserException' => $vendorDir . '/symfony/security/Core/Exception/UnsupportedUserException.php', + 'Symfony\\Component\\Security\\Core\\Exception\\UsernameNotFoundException' => $vendorDir . '/symfony/security/Core/Exception/UsernameNotFoundException.php', + 'Symfony\\Component\\Security\\Core\\Role\\Role' => $vendorDir . '/symfony/security/Core/Role/Role.php', + 'Symfony\\Component\\Security\\Core\\Role\\RoleHierarchy' => $vendorDir . '/symfony/security/Core/Role/RoleHierarchy.php', + 'Symfony\\Component\\Security\\Core\\Role\\RoleHierarchyInterface' => $vendorDir . '/symfony/security/Core/Role/RoleHierarchyInterface.php', + 'Symfony\\Component\\Security\\Core\\Role\\RoleInterface' => $vendorDir . '/symfony/security/Core/Role/RoleInterface.php', + 'Symfony\\Component\\Security\\Core\\Role\\SwitchUserRole' => $vendorDir . '/symfony/security/Core/Role/SwitchUserRole.php', + 'Symfony\\Component\\Security\\Core\\Security' => $vendorDir . '/symfony/security/Core/Security.php', + 'Symfony\\Component\\Security\\Core\\SecurityContext' => $vendorDir . '/symfony/security/Core/SecurityContext.php', + 'Symfony\\Component\\Security\\Core\\SecurityContextInterface' => $vendorDir . '/symfony/security/Core/SecurityContextInterface.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\AuthenticationProviderManagerTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/AuthenticationProviderManagerTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\AuthenticationTrustResolverTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/AuthenticationTrustResolverTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\AnonymousAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/AnonymousAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\DaoAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/DaoAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\LdapBindAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/LdapBindAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\PreAuthenticatedAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/PreAuthenticatedAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\RememberMeAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/RememberMeAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Provider\\UserAuthenticationProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Provider/UserAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\RememberMe\\InMemoryTokenProviderTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/RememberMe/InMemoryTokenProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\RememberMe\\PersistentTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/RememberMe/PersistentTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\AbstractTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/AbstractTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\AnonymousTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/AnonymousTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\ConcreteToken' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/AbstractTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\PreAuthenticatedTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/PreAuthenticatedTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\RememberMeTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/RememberMeTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\Storage\\TokenStorageTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/Storage/TokenStorageTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\TestUser' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/AbstractTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authentication\\Token\\UsernamePasswordTokenTest' => $vendorDir . '/symfony/security/Core/Tests/Authentication/Token/UsernamePasswordTokenTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\AccessDecisionManagerTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/AccessDecisionManagerTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\AuthorizationCheckerTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/AuthorizationCheckerTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\ExpressionLanguageTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/ExpressionLanguageTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\AbstractVoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/AbstractVoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\AuthenticatedVoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/AuthenticatedVoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\ExpressionVoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/ExpressionVoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\Fixtures\\MyVoter' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/Fixtures/MyVoter.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\RoleHierarchyVoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/RoleHierarchyVoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\RoleVoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/RoleVoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\VoterTest' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/VoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Authorization\\Voter\\VoterTest_Voter' => $vendorDir . '/symfony/security/Core/Tests/Authorization/Voter/VoterTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\BCryptPasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/BCryptPasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\BasePasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/BasePasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\EncAwareUser' => $vendorDir . '/symfony/security/Core/Tests/Encoder/EncoderFactoryTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\EncoderFactoryTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/EncoderFactoryTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\MessageDigestPasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/MessageDigestPasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\PasswordEncoder' => $vendorDir . '/symfony/security/Core/Tests/Encoder/BasePasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\Pbkdf2PasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/Pbkdf2PasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\PlaintextPasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/PlaintextPasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\SomeChildUser' => $vendorDir . '/symfony/security/Core/Tests/Encoder/EncoderFactoryTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\SomeUser' => $vendorDir . '/symfony/security/Core/Tests/Encoder/EncoderFactoryTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Encoder\\UserPasswordEncoderTest' => $vendorDir . '/symfony/security/Core/Tests/Encoder/UserPasswordEncoderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Exception\\CustomUserMessageAuthenticationExceptionTest' => $vendorDir . '/symfony/security/Core/Tests/Exception/CustomUserMessageAuthenticationExceptionTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Exception\\UsernameNotFoundExceptionTest' => $vendorDir . '/symfony/security/Core/Tests/Exception/UsernameNotFoundExceptionTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\LegacySecurityContextTest' => $vendorDir . '/symfony/security/Core/Tests/LegacySecurityContextTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Role\\RoleHierarchyTest' => $vendorDir . '/symfony/security/Core/Tests/Role/RoleHierarchyTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Role\\RoleTest' => $vendorDir . '/symfony/security/Core/Tests/Role/RoleTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Role\\SwitchUserRoleTest' => $vendorDir . '/symfony/security/Core/Tests/Role/SwitchUserRoleTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\User\\ChainUserProviderTest' => $vendorDir . '/symfony/security/Core/Tests/User/ChainUserProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\User\\InMemoryUserProviderTest' => $vendorDir . '/symfony/security/Core/Tests/User/InMemoryUserProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\User\\LdapUserProviderTest' => $vendorDir . '/symfony/security/Core/Tests/User/LdapUserProviderTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\User\\UserCheckerTest' => $vendorDir . '/symfony/security/Core/Tests/User/UserCheckerTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\User\\UserTest' => $vendorDir . '/symfony/security/Core/Tests/User/UserTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Util\\ClassUtilsTest' => $vendorDir . '/symfony/security/Core/Tests/Util/ClassUtilsTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Util\\StringUtilsTest' => $vendorDir . '/symfony/security/Core/Tests/Util/StringUtilsTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Util\\TestObject' => $vendorDir . '/symfony/security/Core/Tests/Util/ClassUtilsTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Validator\\Constraints\\LegacyUserPasswordValidatorTest' => $vendorDir . '/symfony/security/Core/Tests/Validator/Constraints/LegacyUserPasswordValidatorTest.php', + 'Symfony\\Component\\Security\\Core\\Tests\\Validator\\Constraints\\UserPasswordValidatorTest' => $vendorDir . '/symfony/security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php', + 'Symfony\\Component\\Security\\Core\\User\\AdvancedUserInterface' => $vendorDir . '/symfony/security/Core/User/AdvancedUserInterface.php', + 'Symfony\\Component\\Security\\Core\\User\\ChainUserProvider' => $vendorDir . '/symfony/security/Core/User/ChainUserProvider.php', + 'Symfony\\Component\\Security\\Core\\User\\EquatableInterface' => $vendorDir . '/symfony/security/Core/User/EquatableInterface.php', + 'Symfony\\Component\\Security\\Core\\User\\InMemoryUserProvider' => $vendorDir . '/symfony/security/Core/User/InMemoryUserProvider.php', + 'Symfony\\Component\\Security\\Core\\User\\LdapUserProvider' => $vendorDir . '/symfony/security/Core/User/LdapUserProvider.php', + 'Symfony\\Component\\Security\\Core\\User\\User' => $vendorDir . '/symfony/security/Core/User/User.php', + 'Symfony\\Component\\Security\\Core\\User\\UserChecker' => $vendorDir . '/symfony/security/Core/User/UserChecker.php', + 'Symfony\\Component\\Security\\Core\\User\\UserCheckerInterface' => $vendorDir . '/symfony/security/Core/User/UserCheckerInterface.php', + 'Symfony\\Component\\Security\\Core\\User\\UserInterface' => $vendorDir . '/symfony/security/Core/User/UserInterface.php', + 'Symfony\\Component\\Security\\Core\\User\\UserProviderInterface' => $vendorDir . '/symfony/security/Core/User/UserProviderInterface.php', + 'Symfony\\Component\\Security\\Core\\Util\\ClassUtils' => $vendorDir . '/symfony/security/Core/Util/ClassUtils.php', + 'Symfony\\Component\\Security\\Core\\Util\\SecureRandom' => $vendorDir . '/symfony/security/Core/Util/SecureRandom.php', + 'Symfony\\Component\\Security\\Core\\Util\\SecureRandomInterface' => $vendorDir . '/symfony/security/Core/Util/SecureRandomInterface.php', + 'Symfony\\Component\\Security\\Core\\Util\\StringUtils' => $vendorDir . '/symfony/security/Core/Util/StringUtils.php', + 'Symfony\\Component\\Security\\Core\\Validator\\Constraints\\UserPassword' => $vendorDir . '/symfony/security/Core/Validator/Constraints/UserPassword.php', + 'Symfony\\Component\\Security\\Core\\Validator\\Constraints\\UserPasswordValidator' => $vendorDir . '/symfony/security/Core/Validator/Constraints/UserPasswordValidator.php', + 'Symfony\\Component\\Security\\Csrf\\CsrfToken' => $vendorDir . '/symfony/security/Csrf/CsrfToken.php', + 'Symfony\\Component\\Security\\Csrf\\CsrfTokenManager' => $vendorDir . '/symfony/security/Csrf/CsrfTokenManager.php', + 'Symfony\\Component\\Security\\Csrf\\CsrfTokenManagerInterface' => $vendorDir . '/symfony/security/Csrf/CsrfTokenManagerInterface.php', + 'Symfony\\Component\\Security\\Csrf\\Exception\\TokenNotFoundException' => $vendorDir . '/symfony/security/Csrf/Exception/TokenNotFoundException.php', + 'Symfony\\Component\\Security\\Csrf\\Tests\\CsrfTokenManagerTest' => $vendorDir . '/symfony/security/Csrf/Tests/CsrfTokenManagerTest.php', + 'Symfony\\Component\\Security\\Csrf\\Tests\\TokenGenerator\\UriSafeTokenGeneratorTest' => $vendorDir . '/symfony/security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php', + 'Symfony\\Component\\Security\\Csrf\\Tests\\TokenStorage\\NativeSessionTokenStorageTest' => $vendorDir . '/symfony/security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php', + 'Symfony\\Component\\Security\\Csrf\\Tests\\TokenStorage\\SessionTokenStorageTest' => $vendorDir . '/symfony/security/Csrf/Tests/TokenStorage/SessionTokenStorageTest.php', + 'Symfony\\Component\\Security\\Csrf\\TokenGenerator\\TokenGeneratorInterface' => $vendorDir . '/symfony/security/Csrf/TokenGenerator/TokenGeneratorInterface.php', + 'Symfony\\Component\\Security\\Csrf\\TokenGenerator\\UriSafeTokenGenerator' => $vendorDir . '/symfony/security/Csrf/TokenGenerator/UriSafeTokenGenerator.php', + 'Symfony\\Component\\Security\\Csrf\\TokenStorage\\NativeSessionTokenStorage' => $vendorDir . '/symfony/security/Csrf/TokenStorage/NativeSessionTokenStorage.php', + 'Symfony\\Component\\Security\\Csrf\\TokenStorage\\SessionTokenStorage' => $vendorDir . '/symfony/security/Csrf/TokenStorage/SessionTokenStorage.php', + 'Symfony\\Component\\Security\\Csrf\\TokenStorage\\TokenStorageInterface' => $vendorDir . '/symfony/security/Csrf/TokenStorage/TokenStorageInterface.php', + 'Symfony\\Component\\Security\\Guard\\AbstractGuardAuthenticator' => $vendorDir . '/symfony/security/Guard/AbstractGuardAuthenticator.php', + 'Symfony\\Component\\Security\\Guard\\Authenticator\\AbstractFormLoginAuthenticator' => $vendorDir . '/symfony/security/Guard/Authenticator/AbstractFormLoginAuthenticator.php', + 'Symfony\\Component\\Security\\Guard\\Firewall\\GuardAuthenticationListener' => $vendorDir . '/symfony/security/Guard/Firewall/GuardAuthenticationListener.php', + 'Symfony\\Component\\Security\\Guard\\GuardAuthenticatorHandler' => $vendorDir . '/symfony/security/Guard/GuardAuthenticatorHandler.php', + 'Symfony\\Component\\Security\\Guard\\GuardAuthenticatorInterface' => $vendorDir . '/symfony/security/Guard/GuardAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Guard\\Provider\\GuardAuthenticationProvider' => $vendorDir . '/symfony/security/Guard/Provider/GuardAuthenticationProvider.php', + 'Symfony\\Component\\Security\\Guard\\Tests\\Firewall\\GuardAuthenticationListenerTest' => $vendorDir . '/symfony/security/Guard/Tests/Firewall/GuardAuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Guard\\Tests\\GuardAuthenticatorHandlerTest' => $vendorDir . '/symfony/security/Guard/Tests/GuardAuthenticatorHandlerTest.php', + 'Symfony\\Component\\Security\\Guard\\Tests\\Provider\\GuardAuthenticationProviderTest' => $vendorDir . '/symfony/security/Guard/Tests/Provider/GuardAuthenticationProviderTest.php', + 'Symfony\\Component\\Security\\Guard\\Token\\GuardTokenInterface' => $vendorDir . '/symfony/security/Guard/Token/GuardTokenInterface.php', + 'Symfony\\Component\\Security\\Guard\\Token\\PostAuthenticationGuardToken' => $vendorDir . '/symfony/security/Guard/Token/PostAuthenticationGuardToken.php', + 'Symfony\\Component\\Security\\Guard\\Token\\PreAuthenticationGuardToken' => $vendorDir . '/symfony/security/Guard/Token/PreAuthenticationGuardToken.php', + 'Symfony\\Component\\Security\\Http\\AccessMap' => $vendorDir . '/symfony/security/Http/AccessMap.php', + 'Symfony\\Component\\Security\\Http\\AccessMapInterface' => $vendorDir . '/symfony/security/Http/AccessMapInterface.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\AuthenticationFailureHandlerInterface' => $vendorDir . '/symfony/security/Http/Authentication/AuthenticationFailureHandlerInterface.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\AuthenticationSuccessHandlerInterface' => $vendorDir . '/symfony/security/Http/Authentication/AuthenticationSuccessHandlerInterface.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\AuthenticationUtils' => $vendorDir . '/symfony/security/Http/Authentication/AuthenticationUtils.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\CustomAuthenticationFailureHandler' => $vendorDir . '/symfony/security/Http/Authentication/CustomAuthenticationFailureHandler.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\CustomAuthenticationSuccessHandler' => $vendorDir . '/symfony/security/Http/Authentication/CustomAuthenticationSuccessHandler.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\DefaultAuthenticationFailureHandler' => $vendorDir . '/symfony/security/Http/Authentication/DefaultAuthenticationFailureHandler.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\DefaultAuthenticationSuccessHandler' => $vendorDir . '/symfony/security/Http/Authentication/DefaultAuthenticationSuccessHandler.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\SimpleAuthenticationHandler' => $vendorDir . '/symfony/security/Http/Authentication/SimpleAuthenticationHandler.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\SimpleFormAuthenticatorInterface' => $vendorDir . '/symfony/security/Http/Authentication/SimpleFormAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Http\\Authentication\\SimplePreAuthenticatorInterface' => $vendorDir . '/symfony/security/Http/Authentication/SimplePreAuthenticatorInterface.php', + 'Symfony\\Component\\Security\\Http\\Authorization\\AccessDeniedHandlerInterface' => $vendorDir . '/symfony/security/Http/Authorization/AccessDeniedHandlerInterface.php', + 'Symfony\\Component\\Security\\Http\\EntryPoint\\AuthenticationEntryPointInterface' => $vendorDir . '/symfony/security/Http/EntryPoint/AuthenticationEntryPointInterface.php', + 'Symfony\\Component\\Security\\Http\\EntryPoint\\BasicAuthenticationEntryPoint' => $vendorDir . '/symfony/security/Http/EntryPoint/BasicAuthenticationEntryPoint.php', + 'Symfony\\Component\\Security\\Http\\EntryPoint\\DigestAuthenticationEntryPoint' => $vendorDir . '/symfony/security/Http/EntryPoint/DigestAuthenticationEntryPoint.php', + 'Symfony\\Component\\Security\\Http\\EntryPoint\\FormAuthenticationEntryPoint' => $vendorDir . '/symfony/security/Http/EntryPoint/FormAuthenticationEntryPoint.php', + 'Symfony\\Component\\Security\\Http\\EntryPoint\\RetryAuthenticationEntryPoint' => $vendorDir . '/symfony/security/Http/EntryPoint/RetryAuthenticationEntryPoint.php', + 'Symfony\\Component\\Security\\Http\\Event\\InteractiveLoginEvent' => $vendorDir . '/symfony/security/Http/Event/InteractiveLoginEvent.php', + 'Symfony\\Component\\Security\\Http\\Event\\SwitchUserEvent' => $vendorDir . '/symfony/security/Http/Event/SwitchUserEvent.php', + 'Symfony\\Component\\Security\\Http\\Firewall' => $vendorDir . '/symfony/security/Http/Firewall.php', + 'Symfony\\Component\\Security\\Http\\FirewallMap' => $vendorDir . '/symfony/security/Http/FirewallMap.php', + 'Symfony\\Component\\Security\\Http\\FirewallMapInterface' => $vendorDir . '/symfony/security/Http/FirewallMapInterface.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\AbstractAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/AbstractAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\AbstractPreAuthenticatedListener' => $vendorDir . '/symfony/security/Http/Firewall/AbstractPreAuthenticatedListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\AccessListener' => $vendorDir . '/symfony/security/Http/Firewall/AccessListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\AnonymousAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/AnonymousAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\BasicAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/BasicAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\ChannelListener' => $vendorDir . '/symfony/security/Http/Firewall/ChannelListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\ContextListener' => $vendorDir . '/symfony/security/Http/Firewall/ContextListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\DigestAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/DigestAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\DigestData' => $vendorDir . '/symfony/security/Http/Firewall/DigestAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\ExceptionListener' => $vendorDir . '/symfony/security/Http/Firewall/ExceptionListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\ListenerInterface' => $vendorDir . '/symfony/security/Http/Firewall/ListenerInterface.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\LogoutListener' => $vendorDir . '/symfony/security/Http/Firewall/LogoutListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\RememberMeListener' => $vendorDir . '/symfony/security/Http/Firewall/RememberMeListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\RemoteUserAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/RemoteUserAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\SimpleFormAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/SimpleFormAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\SimplePreAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/SimplePreAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\SwitchUserListener' => $vendorDir . '/symfony/security/Http/Firewall/SwitchUserListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\UsernamePasswordFormAuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/UsernamePasswordFormAuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\Firewall\\X509AuthenticationListener' => $vendorDir . '/symfony/security/Http/Firewall/X509AuthenticationListener.php', + 'Symfony\\Component\\Security\\Http\\HttpUtils' => $vendorDir . '/symfony/security/Http/HttpUtils.php', + 'Symfony\\Component\\Security\\Http\\Logout\\CookieClearingLogoutHandler' => $vendorDir . '/symfony/security/Http/Logout/CookieClearingLogoutHandler.php', + 'Symfony\\Component\\Security\\Http\\Logout\\DefaultLogoutSuccessHandler' => $vendorDir . '/symfony/security/Http/Logout/DefaultLogoutSuccessHandler.php', + 'Symfony\\Component\\Security\\Http\\Logout\\LogoutHandlerInterface' => $vendorDir . '/symfony/security/Http/Logout/LogoutHandlerInterface.php', + 'Symfony\\Component\\Security\\Http\\Logout\\LogoutSuccessHandlerInterface' => $vendorDir . '/symfony/security/Http/Logout/LogoutSuccessHandlerInterface.php', + 'Symfony\\Component\\Security\\Http\\Logout\\LogoutUrlGenerator' => $vendorDir . '/symfony/security/Http/Logout/LogoutUrlGenerator.php', + 'Symfony\\Component\\Security\\Http\\Logout\\SessionLogoutHandler' => $vendorDir . '/symfony/security/Http/Logout/SessionLogoutHandler.php', + 'Symfony\\Component\\Security\\Http\\ParameterBagUtils' => $vendorDir . '/symfony/security/Http/ParameterBagUtils.php', + 'Symfony\\Component\\Security\\Http\\RememberMe\\AbstractRememberMeServices' => $vendorDir . '/symfony/security/Http/RememberMe/AbstractRememberMeServices.php', + 'Symfony\\Component\\Security\\Http\\RememberMe\\PersistentTokenBasedRememberMeServices' => $vendorDir . '/symfony/security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php', + 'Symfony\\Component\\Security\\Http\\RememberMe\\RememberMeServicesInterface' => $vendorDir . '/symfony/security/Http/RememberMe/RememberMeServicesInterface.php', + 'Symfony\\Component\\Security\\Http\\RememberMe\\ResponseListener' => $vendorDir . '/symfony/security/Http/RememberMe/ResponseListener.php', + 'Symfony\\Component\\Security\\Http\\RememberMe\\TokenBasedRememberMeServices' => $vendorDir . '/symfony/security/Http/RememberMe/TokenBasedRememberMeServices.php', + 'Symfony\\Component\\Security\\Http\\SecurityEvents' => $vendorDir . '/symfony/security/Http/SecurityEvents.php', + 'Symfony\\Component\\Security\\Http\\Session\\SessionAuthenticationStrategy' => $vendorDir . '/symfony/security/Http/Session/SessionAuthenticationStrategy.php', + 'Symfony\\Component\\Security\\Http\\Session\\SessionAuthenticationStrategyInterface' => $vendorDir . '/symfony/security/Http/Session/SessionAuthenticationStrategyInterface.php', + 'Symfony\\Component\\Security\\Http\\Tests\\AccessMapTest' => $vendorDir . '/symfony/security/Http/Tests/AccessMapTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Authentication\\DefaultAuthenticationFailureHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Authentication\\DefaultAuthenticationSuccessHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\EntryPoint\\BasicAuthenticationEntryPointTest' => $vendorDir . '/symfony/security/Http/Tests/EntryPoint/BasicAuthenticationEntryPointTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\EntryPoint\\DigestAuthenticationEntryPointTest' => $vendorDir . '/symfony/security/Http/Tests/EntryPoint/DigestAuthenticationEntryPointTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\EntryPoint\\FormAuthenticationEntryPointTest' => $vendorDir . '/symfony/security/Http/Tests/EntryPoint/FormAuthenticationEntryPointTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\EntryPoint\\RetryAuthenticationEntryPointTest' => $vendorDir . '/symfony/security/Http/Tests/EntryPoint/RetryAuthenticationEntryPointTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\FirewallMapTest' => $vendorDir . '/symfony/security/Http/Tests/FirewallMapTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\FirewallTest' => $vendorDir . '/symfony/security/Http/Tests/FirewallTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\AbstractPreAuthenticatedListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/AbstractPreAuthenticatedListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\AccessListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/AccessListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\AnonymousAuthenticationListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/AnonymousAuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\BasicAuthenticationListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/BasicAuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\ChannelListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/ChannelListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\ContextListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/ContextListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\DigestDataTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/DigestDataTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\ExceptionListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/ExceptionListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\LogoutListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/LogoutListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\RememberMeListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/RememberMeListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\RemoteUserAuthenticationListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/RemoteUserAuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\SimplePreAuthenticationListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/SimplePreAuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\SwitchUserListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/SwitchUserListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Firewall\\X509AuthenticationListenerTest' => $vendorDir . '/symfony/security/Http/Tests/Firewall/X509AuthenticationListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\HttpUtilsTest' => $vendorDir . '/symfony/security/Http/Tests/HttpUtilsTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Logout\\CookieClearingLogoutHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Logout/CookieClearingLogoutHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Logout\\DefaultLogoutSuccessHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Logout/DefaultLogoutSuccessHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Logout\\SessionLogoutHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Logout/SessionLogoutHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\RememberMe\\AbstractRememberMeServicesTest' => $vendorDir . '/symfony/security/Http/Tests/RememberMe/AbstractRememberMeServicesTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\RememberMe\\PersistentTokenBasedRememberMeServicesTest' => $vendorDir . '/symfony/security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\RememberMe\\ResponseListenerTest' => $vendorDir . '/symfony/security/Http/Tests/RememberMe/ResponseListenerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\RememberMe\\TokenBasedRememberMeServicesTest' => $vendorDir . '/symfony/security/Http/Tests/RememberMe/TokenBasedRememberMeServicesTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\Session\\SessionAuthenticationStrategyTest' => $vendorDir . '/symfony/security/Http/Tests/Session/SessionAuthenticationStrategyTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\SimpleAuthenticationHandlerTest' => $vendorDir . '/symfony/security/Http/Tests/Authentication/SimpleAuthenticationHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\TestFailureHandlerInterface' => $vendorDir . '/symfony/security/Http/Tests/Authentication/SimpleAuthenticationHandlerTest.php', + 'Symfony\\Component\\Security\\Http\\Tests\\TestSuccessHandlerInterface' => $vendorDir . '/symfony/security/Http/Tests/Authentication/SimpleAuthenticationHandlerTest.php', + 'Symfony\\Component\\Serializer\\Annotation\\Groups' => $vendorDir . '/symfony/serializer/Annotation/Groups.php', + 'Symfony\\Component\\Serializer\\Encoder\\ChainDecoder' => $vendorDir . '/symfony/serializer/Encoder/ChainDecoder.php', + 'Symfony\\Component\\Serializer\\Encoder\\ChainEncoder' => $vendorDir . '/symfony/serializer/Encoder/ChainEncoder.php', + 'Symfony\\Component\\Serializer\\Encoder\\DecoderInterface' => $vendorDir . '/symfony/serializer/Encoder/DecoderInterface.php', + 'Symfony\\Component\\Serializer\\Encoder\\EncoderInterface' => $vendorDir . '/symfony/serializer/Encoder/EncoderInterface.php', + 'Symfony\\Component\\Serializer\\Encoder\\JsonDecode' => $vendorDir . '/symfony/serializer/Encoder/JsonDecode.php', + 'Symfony\\Component\\Serializer\\Encoder\\JsonEncode' => $vendorDir . '/symfony/serializer/Encoder/JsonEncode.php', + 'Symfony\\Component\\Serializer\\Encoder\\JsonEncoder' => $vendorDir . '/symfony/serializer/Encoder/JsonEncoder.php', + 'Symfony\\Component\\Serializer\\Encoder\\NormalizationAwareInterface' => $vendorDir . '/symfony/serializer/Encoder/NormalizationAwareInterface.php', + 'Symfony\\Component\\Serializer\\Encoder\\SerializerAwareEncoder' => $vendorDir . '/symfony/serializer/Encoder/SerializerAwareEncoder.php', + 'Symfony\\Component\\Serializer\\Encoder\\XmlEncoder' => $vendorDir . '/symfony/serializer/Encoder/XmlEncoder.php', + 'Symfony\\Component\\Serializer\\Exception\\BadMethodCallException' => $vendorDir . '/symfony/serializer/Exception/BadMethodCallException.php', + 'Symfony\\Component\\Serializer\\Exception\\CircularReferenceException' => $vendorDir . '/symfony/serializer/Exception/CircularReferenceException.php', + 'Symfony\\Component\\Serializer\\Exception\\Exception' => $vendorDir . '/symfony/serializer/Exception/Exception.php', + 'Symfony\\Component\\Serializer\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/serializer/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Serializer\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/serializer/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Serializer\\Exception\\LogicException' => $vendorDir . '/symfony/serializer/Exception/LogicException.php', + 'Symfony\\Component\\Serializer\\Exception\\MappingException' => $vendorDir . '/symfony/serializer/Exception/MappingException.php', + 'Symfony\\Component\\Serializer\\Exception\\RuntimeException' => $vendorDir . '/symfony/serializer/Exception/RuntimeException.php', + 'Symfony\\Component\\Serializer\\Exception\\UnexpectedValueException' => $vendorDir . '/symfony/serializer/Exception/UnexpectedValueException.php', + 'Symfony\\Component\\Serializer\\Exception\\UnsupportedException' => $vendorDir . '/symfony/serializer/Exception/UnsupportedException.php', + 'Symfony\\Component\\Serializer\\Mapping\\AttributeMetadata' => $vendorDir . '/symfony/serializer/Mapping/AttributeMetadata.php', + 'Symfony\\Component\\Serializer\\Mapping\\AttributeMetadataInterface' => $vendorDir . '/symfony/serializer/Mapping/AttributeMetadataInterface.php', + 'Symfony\\Component\\Serializer\\Mapping\\ClassMetadata' => $vendorDir . '/symfony/serializer/Mapping/ClassMetadata.php', + 'Symfony\\Component\\Serializer\\Mapping\\ClassMetadataInterface' => $vendorDir . '/symfony/serializer/Mapping/ClassMetadataInterface.php', + 'Symfony\\Component\\Serializer\\Mapping\\Factory\\ClassMetadataFactory' => $vendorDir . '/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php', + 'Symfony\\Component\\Serializer\\Mapping\\Factory\\ClassMetadataFactoryInterface' => $vendorDir . '/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\AnnotationLoader' => $vendorDir . '/symfony/serializer/Mapping/Loader/AnnotationLoader.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\FileLoader' => $vendorDir . '/symfony/serializer/Mapping/Loader/FileLoader.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\LoaderChain' => $vendorDir . '/symfony/serializer/Mapping/Loader/LoaderChain.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\LoaderInterface' => $vendorDir . '/symfony/serializer/Mapping/Loader/LoaderInterface.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\XmlFileLoader' => $vendorDir . '/symfony/serializer/Mapping/Loader/XmlFileLoader.php', + 'Symfony\\Component\\Serializer\\Mapping\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/serializer/Mapping/Loader/YamlFileLoader.php', + 'Symfony\\Component\\Serializer\\NameConverter\\CamelCaseToSnakeCaseNameConverter' => $vendorDir . '/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php', + 'Symfony\\Component\\Serializer\\NameConverter\\NameConverterInterface' => $vendorDir . '/symfony/serializer/NameConverter/NameConverterInterface.php', + 'Symfony\\Component\\Serializer\\Normalizer\\AbstractNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/AbstractNormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\ArrayDenormalizer' => $vendorDir . '/symfony/serializer/Normalizer/ArrayDenormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\CustomNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/CustomNormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\DenormalizableInterface' => $vendorDir . '/symfony/serializer/Normalizer/DenormalizableInterface.php', + 'Symfony\\Component\\Serializer\\Normalizer\\DenormalizerInterface' => $vendorDir . '/symfony/serializer/Normalizer/DenormalizerInterface.php', + 'Symfony\\Component\\Serializer\\Normalizer\\GetSetMethodNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/GetSetMethodNormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\NormalizableInterface' => $vendorDir . '/symfony/serializer/Normalizer/NormalizableInterface.php', + 'Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface' => $vendorDir . '/symfony/serializer/Normalizer/NormalizerInterface.php', + 'Symfony\\Component\\Serializer\\Normalizer\\ObjectNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/ObjectNormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\PropertyNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/PropertyNormalizer.php', + 'Symfony\\Component\\Serializer\\Normalizer\\SerializerAwareNormalizer' => $vendorDir . '/symfony/serializer/Normalizer/SerializerAwareNormalizer.php', + 'Symfony\\Component\\Serializer\\Serializer' => $vendorDir . '/symfony/serializer/Serializer.php', + 'Symfony\\Component\\Serializer\\SerializerAwareInterface' => $vendorDir . '/symfony/serializer/SerializerAwareInterface.php', + 'Symfony\\Component\\Serializer\\SerializerInterface' => $vendorDir . '/symfony/serializer/SerializerInterface.php', + 'Symfony\\Component\\Translation\\Catalogue\\AbstractOperation' => $vendorDir . '/symfony/translation/Catalogue/AbstractOperation.php', + 'Symfony\\Component\\Translation\\Catalogue\\DiffOperation' => $vendorDir . '/symfony/translation/Catalogue/DiffOperation.php', + 'Symfony\\Component\\Translation\\Catalogue\\MergeOperation' => $vendorDir . '/symfony/translation/Catalogue/MergeOperation.php', + 'Symfony\\Component\\Translation\\Catalogue\\OperationInterface' => $vendorDir . '/symfony/translation/Catalogue/OperationInterface.php', + 'Symfony\\Component\\Translation\\Catalogue\\TargetOperation' => $vendorDir . '/symfony/translation/Catalogue/TargetOperation.php', + 'Symfony\\Component\\Translation\\DataCollectorTranslator' => $vendorDir . '/symfony/translation/DataCollectorTranslator.php', + 'Symfony\\Component\\Translation\\DataCollector\\TranslationDataCollector' => $vendorDir . '/symfony/translation/DataCollector/TranslationDataCollector.php', + 'Symfony\\Component\\Translation\\Dumper\\CsvFileDumper' => $vendorDir . '/symfony/translation/Dumper/CsvFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\DumperInterface' => $vendorDir . '/symfony/translation/Dumper/DumperInterface.php', + 'Symfony\\Component\\Translation\\Dumper\\FileDumper' => $vendorDir . '/symfony/translation/Dumper/FileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\IcuResFileDumper' => $vendorDir . '/symfony/translation/Dumper/IcuResFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\IniFileDumper' => $vendorDir . '/symfony/translation/Dumper/IniFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\JsonFileDumper' => $vendorDir . '/symfony/translation/Dumper/JsonFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\MoFileDumper' => $vendorDir . '/symfony/translation/Dumper/MoFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\PhpFileDumper' => $vendorDir . '/symfony/translation/Dumper/PhpFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\PoFileDumper' => $vendorDir . '/symfony/translation/Dumper/PoFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\QtFileDumper' => $vendorDir . '/symfony/translation/Dumper/QtFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\XliffFileDumper' => $vendorDir . '/symfony/translation/Dumper/XliffFileDumper.php', + 'Symfony\\Component\\Translation\\Dumper\\YamlFileDumper' => $vendorDir . '/symfony/translation/Dumper/YamlFileDumper.php', + 'Symfony\\Component\\Translation\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/translation/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Translation\\Exception\\InvalidResourceException' => $vendorDir . '/symfony/translation/Exception/InvalidResourceException.php', + 'Symfony\\Component\\Translation\\Exception\\NotFoundResourceException' => $vendorDir . '/symfony/translation/Exception/NotFoundResourceException.php', + 'Symfony\\Component\\Translation\\Extractor\\AbstractFileExtractor' => $vendorDir . '/symfony/translation/Extractor/AbstractFileExtractor.php', + 'Symfony\\Component\\Translation\\Extractor\\ChainExtractor' => $vendorDir . '/symfony/translation/Extractor/ChainExtractor.php', + 'Symfony\\Component\\Translation\\Extractor\\ExtractorInterface' => $vendorDir . '/symfony/translation/Extractor/ExtractorInterface.php', + 'Symfony\\Component\\Translation\\IdentityTranslator' => $vendorDir . '/symfony/translation/IdentityTranslator.php', + 'Symfony\\Component\\Translation\\Interval' => $vendorDir . '/symfony/translation/Interval.php', + 'Symfony\\Component\\Translation\\Loader\\ArrayLoader' => $vendorDir . '/symfony/translation/Loader/ArrayLoader.php', + 'Symfony\\Component\\Translation\\Loader\\CsvFileLoader' => $vendorDir . '/symfony/translation/Loader/CsvFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\FileLoader' => $vendorDir . '/symfony/translation/Loader/FileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\IcuDatFileLoader' => $vendorDir . '/symfony/translation/Loader/IcuDatFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\IcuResFileLoader' => $vendorDir . '/symfony/translation/Loader/IcuResFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\IniFileLoader' => $vendorDir . '/symfony/translation/Loader/IniFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\JsonFileLoader' => $vendorDir . '/symfony/translation/Loader/JsonFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\LoaderInterface' => $vendorDir . '/symfony/translation/Loader/LoaderInterface.php', + 'Symfony\\Component\\Translation\\Loader\\MoFileLoader' => $vendorDir . '/symfony/translation/Loader/MoFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\PhpFileLoader' => $vendorDir . '/symfony/translation/Loader/PhpFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\PoFileLoader' => $vendorDir . '/symfony/translation/Loader/PoFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\QtFileLoader' => $vendorDir . '/symfony/translation/Loader/QtFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\XliffFileLoader' => $vendorDir . '/symfony/translation/Loader/XliffFileLoader.php', + 'Symfony\\Component\\Translation\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/translation/Loader/YamlFileLoader.php', + 'Symfony\\Component\\Translation\\LoggingTranslator' => $vendorDir . '/symfony/translation/LoggingTranslator.php', + 'Symfony\\Component\\Translation\\MessageCatalogue' => $vendorDir . '/symfony/translation/MessageCatalogue.php', + 'Symfony\\Component\\Translation\\MessageCatalogueInterface' => $vendorDir . '/symfony/translation/MessageCatalogueInterface.php', + 'Symfony\\Component\\Translation\\MessageSelector' => $vendorDir . '/symfony/translation/MessageSelector.php', + 'Symfony\\Component\\Translation\\MetadataAwareInterface' => $vendorDir . '/symfony/translation/MetadataAwareInterface.php', + 'Symfony\\Component\\Translation\\PluralizationRules' => $vendorDir . '/symfony/translation/PluralizationRules.php', + 'Symfony\\Component\\Translation\\Translator' => $vendorDir . '/symfony/translation/Translator.php', + 'Symfony\\Component\\Translation\\TranslatorBagInterface' => $vendorDir . '/symfony/translation/TranslatorBagInterface.php', + 'Symfony\\Component\\Translation\\TranslatorInterface' => $vendorDir . '/symfony/translation/TranslatorInterface.php', + 'Symfony\\Component\\Translation\\Util\\ArrayConverter' => $vendorDir . '/symfony/translation/Util/ArrayConverter.php', + 'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php', + 'Symfony\\Component\\Validator\\ClassBasedInterface' => $vendorDir . '/symfony/validator/ClassBasedInterface.php', + 'Symfony\\Component\\Validator\\Constraint' => $vendorDir . '/symfony/validator/Constraint.php', + 'Symfony\\Component\\Validator\\ConstraintValidator' => $vendorDir . '/symfony/validator/ConstraintValidator.php', + 'Symfony\\Component\\Validator\\ConstraintValidatorFactory' => $vendorDir . '/symfony/validator/ConstraintValidatorFactory.php', + 'Symfony\\Component\\Validator\\ConstraintValidatorFactoryInterface' => $vendorDir . '/symfony/validator/ConstraintValidatorFactoryInterface.php', + 'Symfony\\Component\\Validator\\ConstraintValidatorInterface' => $vendorDir . '/symfony/validator/ConstraintValidatorInterface.php', + 'Symfony\\Component\\Validator\\ConstraintViolation' => $vendorDir . '/symfony/validator/ConstraintViolation.php', + 'Symfony\\Component\\Validator\\ConstraintViolationInterface' => $vendorDir . '/symfony/validator/ConstraintViolationInterface.php', + 'Symfony\\Component\\Validator\\ConstraintViolationList' => $vendorDir . '/symfony/validator/ConstraintViolationList.php', + 'Symfony\\Component\\Validator\\ConstraintViolationListInterface' => $vendorDir . '/symfony/validator/ConstraintViolationListInterface.php', + 'Symfony\\Component\\Validator\\Constraints\\AbstractComparison' => $vendorDir . '/symfony/validator/Constraints/AbstractComparison.php', + 'Symfony\\Component\\Validator\\Constraints\\AbstractComparisonValidator' => $vendorDir . '/symfony/validator/Constraints/AbstractComparisonValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\All' => $vendorDir . '/symfony/validator/Constraints/All.php', + 'Symfony\\Component\\Validator\\Constraints\\AllValidator' => $vendorDir . '/symfony/validator/Constraints/AllValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Bic' => $vendorDir . '/symfony/validator/Constraints/Bic.php', + 'Symfony\\Component\\Validator\\Constraints\\BicValidator' => $vendorDir . '/symfony/validator/Constraints/BicValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Blank' => $vendorDir . '/symfony/validator/Constraints/Blank.php', + 'Symfony\\Component\\Validator\\Constraints\\BlankValidator' => $vendorDir . '/symfony/validator/Constraints/BlankValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Callback' => $vendorDir . '/symfony/validator/Constraints/Callback.php', + 'Symfony\\Component\\Validator\\Constraints\\CallbackValidator' => $vendorDir . '/symfony/validator/Constraints/CallbackValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\CardScheme' => $vendorDir . '/symfony/validator/Constraints/CardScheme.php', + 'Symfony\\Component\\Validator\\Constraints\\CardSchemeValidator' => $vendorDir . '/symfony/validator/Constraints/CardSchemeValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Choice' => $vendorDir . '/symfony/validator/Constraints/Choice.php', + 'Symfony\\Component\\Validator\\Constraints\\ChoiceValidator' => $vendorDir . '/symfony/validator/Constraints/ChoiceValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Collection' => $vendorDir . '/symfony/validator/Constraints/Collection.php', + 'Symfony\\Component\\Validator\\Constraints\\CollectionValidator' => $vendorDir . '/symfony/validator/Constraints/CollectionValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Collection\\Optional' => $vendorDir . '/symfony/validator/Constraints/Collection/Optional.php', + 'Symfony\\Component\\Validator\\Constraints\\Collection\\Required' => $vendorDir . '/symfony/validator/Constraints/Collection/Required.php', + 'Symfony\\Component\\Validator\\Constraints\\Composite' => $vendorDir . '/symfony/validator/Constraints/Composite.php', + 'Symfony\\Component\\Validator\\Constraints\\Count' => $vendorDir . '/symfony/validator/Constraints/Count.php', + 'Symfony\\Component\\Validator\\Constraints\\CountValidator' => $vendorDir . '/symfony/validator/Constraints/CountValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Country' => $vendorDir . '/symfony/validator/Constraints/Country.php', + 'Symfony\\Component\\Validator\\Constraints\\CountryValidator' => $vendorDir . '/symfony/validator/Constraints/CountryValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Currency' => $vendorDir . '/symfony/validator/Constraints/Currency.php', + 'Symfony\\Component\\Validator\\Constraints\\CurrencyValidator' => $vendorDir . '/symfony/validator/Constraints/CurrencyValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Date' => $vendorDir . '/symfony/validator/Constraints/Date.php', + 'Symfony\\Component\\Validator\\Constraints\\DateTime' => $vendorDir . '/symfony/validator/Constraints/DateTime.php', + 'Symfony\\Component\\Validator\\Constraints\\DateTimeValidator' => $vendorDir . '/symfony/validator/Constraints/DateTimeValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\DateValidator' => $vendorDir . '/symfony/validator/Constraints/DateValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Email' => $vendorDir . '/symfony/validator/Constraints/Email.php', + 'Symfony\\Component\\Validator\\Constraints\\EmailValidator' => $vendorDir . '/symfony/validator/Constraints/EmailValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\EqualTo' => $vendorDir . '/symfony/validator/Constraints/EqualTo.php', + 'Symfony\\Component\\Validator\\Constraints\\EqualToValidator' => $vendorDir . '/symfony/validator/Constraints/EqualToValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Existence' => $vendorDir . '/symfony/validator/Constraints/Existence.php', + 'Symfony\\Component\\Validator\\Constraints\\Expression' => $vendorDir . '/symfony/validator/Constraints/Expression.php', + 'Symfony\\Component\\Validator\\Constraints\\ExpressionValidator' => $vendorDir . '/symfony/validator/Constraints/ExpressionValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\False' => $vendorDir . '/symfony/validator/Constraints/False.php', + 'Symfony\\Component\\Validator\\Constraints\\FalseValidator' => $vendorDir . '/symfony/validator/Constraints/FalseValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\File' => $vendorDir . '/symfony/validator/Constraints/File.php', + 'Symfony\\Component\\Validator\\Constraints\\FileValidator' => $vendorDir . '/symfony/validator/Constraints/FileValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\GreaterThan' => $vendorDir . '/symfony/validator/Constraints/GreaterThan.php', + 'Symfony\\Component\\Validator\\Constraints\\GreaterThanOrEqual' => $vendorDir . '/symfony/validator/Constraints/GreaterThanOrEqual.php', + 'Symfony\\Component\\Validator\\Constraints\\GreaterThanOrEqualValidator' => $vendorDir . '/symfony/validator/Constraints/GreaterThanOrEqualValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\GreaterThanValidator' => $vendorDir . '/symfony/validator/Constraints/GreaterThanValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\GroupSequence' => $vendorDir . '/symfony/validator/Constraints/GroupSequence.php', + 'Symfony\\Component\\Validator\\Constraints\\GroupSequenceProvider' => $vendorDir . '/symfony/validator/Constraints/GroupSequenceProvider.php', + 'Symfony\\Component\\Validator\\Constraints\\Iban' => $vendorDir . '/symfony/validator/Constraints/Iban.php', + 'Symfony\\Component\\Validator\\Constraints\\IbanValidator' => $vendorDir . '/symfony/validator/Constraints/IbanValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\IdenticalTo' => $vendorDir . '/symfony/validator/Constraints/IdenticalTo.php', + 'Symfony\\Component\\Validator\\Constraints\\IdenticalToValidator' => $vendorDir . '/symfony/validator/Constraints/IdenticalToValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Image' => $vendorDir . '/symfony/validator/Constraints/Image.php', + 'Symfony\\Component\\Validator\\Constraints\\ImageValidator' => $vendorDir . '/symfony/validator/Constraints/ImageValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Ip' => $vendorDir . '/symfony/validator/Constraints/Ip.php', + 'Symfony\\Component\\Validator\\Constraints\\IpValidator' => $vendorDir . '/symfony/validator/Constraints/IpValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\IsFalse' => $vendorDir . '/symfony/validator/Constraints/IsFalse.php', + 'Symfony\\Component\\Validator\\Constraints\\IsFalseValidator' => $vendorDir . '/symfony/validator/Constraints/IsFalseValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\IsNull' => $vendorDir . '/symfony/validator/Constraints/IsNull.php', + 'Symfony\\Component\\Validator\\Constraints\\IsNullValidator' => $vendorDir . '/symfony/validator/Constraints/IsNullValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\IsTrue' => $vendorDir . '/symfony/validator/Constraints/IsTrue.php', + 'Symfony\\Component\\Validator\\Constraints\\IsTrueValidator' => $vendorDir . '/symfony/validator/Constraints/IsTrueValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Isbn' => $vendorDir . '/symfony/validator/Constraints/Isbn.php', + 'Symfony\\Component\\Validator\\Constraints\\IsbnValidator' => $vendorDir . '/symfony/validator/Constraints/IsbnValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Issn' => $vendorDir . '/symfony/validator/Constraints/Issn.php', + 'Symfony\\Component\\Validator\\Constraints\\IssnValidator' => $vendorDir . '/symfony/validator/Constraints/IssnValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Language' => $vendorDir . '/symfony/validator/Constraints/Language.php', + 'Symfony\\Component\\Validator\\Constraints\\LanguageValidator' => $vendorDir . '/symfony/validator/Constraints/LanguageValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Length' => $vendorDir . '/symfony/validator/Constraints/Length.php', + 'Symfony\\Component\\Validator\\Constraints\\LengthValidator' => $vendorDir . '/symfony/validator/Constraints/LengthValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\LessThan' => $vendorDir . '/symfony/validator/Constraints/LessThan.php', + 'Symfony\\Component\\Validator\\Constraints\\LessThanOrEqual' => $vendorDir . '/symfony/validator/Constraints/LessThanOrEqual.php', + 'Symfony\\Component\\Validator\\Constraints\\LessThanOrEqualValidator' => $vendorDir . '/symfony/validator/Constraints/LessThanOrEqualValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\LessThanValidator' => $vendorDir . '/symfony/validator/Constraints/LessThanValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Locale' => $vendorDir . '/symfony/validator/Constraints/Locale.php', + 'Symfony\\Component\\Validator\\Constraints\\LocaleValidator' => $vendorDir . '/symfony/validator/Constraints/LocaleValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Luhn' => $vendorDir . '/symfony/validator/Constraints/Luhn.php', + 'Symfony\\Component\\Validator\\Constraints\\LuhnValidator' => $vendorDir . '/symfony/validator/Constraints/LuhnValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\NotBlank' => $vendorDir . '/symfony/validator/Constraints/NotBlank.php', + 'Symfony\\Component\\Validator\\Constraints\\NotBlankValidator' => $vendorDir . '/symfony/validator/Constraints/NotBlankValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\NotEqualTo' => $vendorDir . '/symfony/validator/Constraints/NotEqualTo.php', + 'Symfony\\Component\\Validator\\Constraints\\NotEqualToValidator' => $vendorDir . '/symfony/validator/Constraints/NotEqualToValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\NotIdenticalTo' => $vendorDir . '/symfony/validator/Constraints/NotIdenticalTo.php', + 'Symfony\\Component\\Validator\\Constraints\\NotIdenticalToValidator' => $vendorDir . '/symfony/validator/Constraints/NotIdenticalToValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\NotNull' => $vendorDir . '/symfony/validator/Constraints/NotNull.php', + 'Symfony\\Component\\Validator\\Constraints\\NotNullValidator' => $vendorDir . '/symfony/validator/Constraints/NotNullValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Null' => $vendorDir . '/symfony/validator/Constraints/Null.php', + 'Symfony\\Component\\Validator\\Constraints\\NullValidator' => $vendorDir . '/symfony/validator/Constraints/NullValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Optional' => $vendorDir . '/symfony/validator/Constraints/Optional.php', + 'Symfony\\Component\\Validator\\Constraints\\Range' => $vendorDir . '/symfony/validator/Constraints/Range.php', + 'Symfony\\Component\\Validator\\Constraints\\RangeValidator' => $vendorDir . '/symfony/validator/Constraints/RangeValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Regex' => $vendorDir . '/symfony/validator/Constraints/Regex.php', + 'Symfony\\Component\\Validator\\Constraints\\RegexValidator' => $vendorDir . '/symfony/validator/Constraints/RegexValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Required' => $vendorDir . '/symfony/validator/Constraints/Required.php', + 'Symfony\\Component\\Validator\\Constraints\\Time' => $vendorDir . '/symfony/validator/Constraints/Time.php', + 'Symfony\\Component\\Validator\\Constraints\\TimeValidator' => $vendorDir . '/symfony/validator/Constraints/TimeValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Traverse' => $vendorDir . '/symfony/validator/Constraints/Traverse.php', + 'Symfony\\Component\\Validator\\Constraints\\True' => $vendorDir . '/symfony/validator/Constraints/True.php', + 'Symfony\\Component\\Validator\\Constraints\\TrueValidator' => $vendorDir . '/symfony/validator/Constraints/TrueValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Type' => $vendorDir . '/symfony/validator/Constraints/Type.php', + 'Symfony\\Component\\Validator\\Constraints\\TypeValidator' => $vendorDir . '/symfony/validator/Constraints/TypeValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Url' => $vendorDir . '/symfony/validator/Constraints/Url.php', + 'Symfony\\Component\\Validator\\Constraints\\UrlValidator' => $vendorDir . '/symfony/validator/Constraints/UrlValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Uuid' => $vendorDir . '/symfony/validator/Constraints/Uuid.php', + 'Symfony\\Component\\Validator\\Constraints\\UuidValidator' => $vendorDir . '/symfony/validator/Constraints/UuidValidator.php', + 'Symfony\\Component\\Validator\\Constraints\\Valid' => $vendorDir . '/symfony/validator/Constraints/Valid.php', + 'Symfony\\Component\\Validator\\Context\\ExecutionContext' => $vendorDir . '/symfony/validator/Context/ExecutionContext.php', + 'Symfony\\Component\\Validator\\Context\\ExecutionContextFactory' => $vendorDir . '/symfony/validator/Context/ExecutionContextFactory.php', + 'Symfony\\Component\\Validator\\Context\\ExecutionContextFactoryInterface' => $vendorDir . '/symfony/validator/Context/ExecutionContextFactoryInterface.php', + 'Symfony\\Component\\Validator\\Context\\ExecutionContextInterface' => $vendorDir . '/symfony/validator/Context/ExecutionContextInterface.php', + 'Symfony\\Component\\Validator\\Context\\LegacyExecutionContext' => $vendorDir . '/symfony/validator/Context/LegacyExecutionContext.php', + 'Symfony\\Component\\Validator\\Context\\LegacyExecutionContextFactory' => $vendorDir . '/symfony/validator/Context/LegacyExecutionContextFactory.php', + 'Symfony\\Component\\Validator\\DefaultTranslator' => $vendorDir . '/symfony/validator/DefaultTranslator.php', + 'Symfony\\Component\\Validator\\Exception\\BadMethodCallException' => $vendorDir . '/symfony/validator/Exception/BadMethodCallException.php', + 'Symfony\\Component\\Validator\\Exception\\ConstraintDefinitionException' => $vendorDir . '/symfony/validator/Exception/ConstraintDefinitionException.php', + 'Symfony\\Component\\Validator\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/validator/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Validator\\Exception\\GroupDefinitionException' => $vendorDir . '/symfony/validator/Exception/GroupDefinitionException.php', + 'Symfony\\Component\\Validator\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/validator/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Validator\\Exception\\InvalidOptionsException' => $vendorDir . '/symfony/validator/Exception/InvalidOptionsException.php', + 'Symfony\\Component\\Validator\\Exception\\MappingException' => $vendorDir . '/symfony/validator/Exception/MappingException.php', + 'Symfony\\Component\\Validator\\Exception\\MissingOptionsException' => $vendorDir . '/symfony/validator/Exception/MissingOptionsException.php', + 'Symfony\\Component\\Validator\\Exception\\NoSuchMetadataException' => $vendorDir . '/symfony/validator/Exception/NoSuchMetadataException.php', + 'Symfony\\Component\\Validator\\Exception\\OutOfBoundsException' => $vendorDir . '/symfony/validator/Exception/OutOfBoundsException.php', + 'Symfony\\Component\\Validator\\Exception\\RuntimeException' => $vendorDir . '/symfony/validator/Exception/RuntimeException.php', + 'Symfony\\Component\\Validator\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/validator/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\Validator\\Exception\\UnsupportedMetadataException' => $vendorDir . '/symfony/validator/Exception/UnsupportedMetadataException.php', + 'Symfony\\Component\\Validator\\Exception\\ValidatorException' => $vendorDir . '/symfony/validator/Exception/ValidatorException.php', + 'Symfony\\Component\\Validator\\ExecutionContext' => $vendorDir . '/symfony/validator/ExecutionContext.php', + 'Symfony\\Component\\Validator\\ExecutionContextInterface' => $vendorDir . '/symfony/validator/ExecutionContextInterface.php', + 'Symfony\\Component\\Validator\\GlobalExecutionContextInterface' => $vendorDir . '/symfony/validator/GlobalExecutionContextInterface.php', + 'Symfony\\Component\\Validator\\GroupSequenceProviderInterface' => $vendorDir . '/symfony/validator/GroupSequenceProviderInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\BlackholeMetadataFactory' => $vendorDir . '/symfony/validator/Mapping/BlackholeMetadataFactory.php', + 'Symfony\\Component\\Validator\\Mapping\\Cache\\ApcCache' => $vendorDir . '/symfony/validator/Mapping/Cache/ApcCache.php', + 'Symfony\\Component\\Validator\\Mapping\\Cache\\CacheInterface' => $vendorDir . '/symfony/validator/Mapping/Cache/CacheInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\Cache\\DoctrineCache' => $vendorDir . '/symfony/validator/Mapping/Cache/DoctrineCache.php', + 'Symfony\\Component\\Validator\\Mapping\\CascadingStrategy' => $vendorDir . '/symfony/validator/Mapping/CascadingStrategy.php', + 'Symfony\\Component\\Validator\\Mapping\\ClassMetadata' => $vendorDir . '/symfony/validator/Mapping/ClassMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\ClassMetadataFactory' => $vendorDir . '/symfony/validator/Mapping/ClassMetadataFactory.php', + 'Symfony\\Component\\Validator\\Mapping\\ClassMetadataInterface' => $vendorDir . '/symfony/validator/Mapping/ClassMetadataInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\ElementMetadata' => $vendorDir . '/symfony/validator/Mapping/ElementMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\Factory\\BlackHoleMetadataFactory' => $vendorDir . '/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php', + 'Symfony\\Component\\Validator\\Mapping\\Factory\\LazyLoadingMetadataFactory' => $vendorDir . '/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php', + 'Symfony\\Component\\Validator\\Mapping\\Factory\\MetadataFactoryInterface' => $vendorDir . '/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\GenericMetadata' => $vendorDir . '/symfony/validator/Mapping/GenericMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\GetterMetadata' => $vendorDir . '/symfony/validator/Mapping/GetterMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\AbstractLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/AbstractLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\AnnotationLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/AnnotationLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\FileLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/FileLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\FilesLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/FilesLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\LoaderChain' => $vendorDir . '/symfony/validator/Mapping/Loader/LoaderChain.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\LoaderInterface' => $vendorDir . '/symfony/validator/Mapping/Loader/LoaderInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\StaticMethodLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/StaticMethodLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\XmlFileLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/XmlFileLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\XmlFilesLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/XmlFilesLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/YamlFileLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\Loader\\YamlFilesLoader' => $vendorDir . '/symfony/validator/Mapping/Loader/YamlFilesLoader.php', + 'Symfony\\Component\\Validator\\Mapping\\MemberMetadata' => $vendorDir . '/symfony/validator/Mapping/MemberMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\MetadataInterface' => $vendorDir . '/symfony/validator/Mapping/MetadataInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\PropertyMetadata' => $vendorDir . '/symfony/validator/Mapping/PropertyMetadata.php', + 'Symfony\\Component\\Validator\\Mapping\\PropertyMetadataInterface' => $vendorDir . '/symfony/validator/Mapping/PropertyMetadataInterface.php', + 'Symfony\\Component\\Validator\\Mapping\\TraversalStrategy' => $vendorDir . '/symfony/validator/Mapping/TraversalStrategy.php', + 'Symfony\\Component\\Validator\\MetadataFactoryInterface' => $vendorDir . '/symfony/validator/MetadataFactoryInterface.php', + 'Symfony\\Component\\Validator\\MetadataInterface' => $vendorDir . '/symfony/validator/MetadataInterface.php', + 'Symfony\\Component\\Validator\\ObjectInitializerInterface' => $vendorDir . '/symfony/validator/ObjectInitializerInterface.php', + 'Symfony\\Component\\Validator\\PropertyMetadataContainerInterface' => $vendorDir . '/symfony/validator/PropertyMetadataContainerInterface.php', + 'Symfony\\Component\\Validator\\PropertyMetadataInterface' => $vendorDir . '/symfony/validator/PropertyMetadataInterface.php', + 'Symfony\\Component\\Validator\\Util\\PropertyPath' => $vendorDir . '/symfony/validator/Util/PropertyPath.php', + 'Symfony\\Component\\Validator\\Validation' => $vendorDir . '/symfony/validator/Validation.php', + 'Symfony\\Component\\Validator\\ValidationVisitor' => $vendorDir . '/symfony/validator/ValidationVisitor.php', + 'Symfony\\Component\\Validator\\ValidationVisitorInterface' => $vendorDir . '/symfony/validator/ValidationVisitorInterface.php', + 'Symfony\\Component\\Validator\\Validator' => $vendorDir . '/symfony/validator/Validator.php', + 'Symfony\\Component\\Validator\\ValidatorBuilder' => $vendorDir . '/symfony/validator/ValidatorBuilder.php', + 'Symfony\\Component\\Validator\\ValidatorBuilderInterface' => $vendorDir . '/symfony/validator/ValidatorBuilderInterface.php', + 'Symfony\\Component\\Validator\\ValidatorInterface' => $vendorDir . '/symfony/validator/ValidatorInterface.php', + 'Symfony\\Component\\Validator\\Validator\\ContextualValidatorInterface' => $vendorDir . '/symfony/validator/Validator/ContextualValidatorInterface.php', + 'Symfony\\Component\\Validator\\Validator\\LegacyValidator' => $vendorDir . '/symfony/validator/Validator/LegacyValidator.php', + 'Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator' => $vendorDir . '/symfony/validator/Validator/RecursiveContextualValidator.php', + 'Symfony\\Component\\Validator\\Validator\\RecursiveValidator' => $vendorDir . '/symfony/validator/Validator/RecursiveValidator.php', + 'Symfony\\Component\\Validator\\Validator\\ValidatorInterface' => $vendorDir . '/symfony/validator/Validator/ValidatorInterface.php', + 'Symfony\\Component\\Validator\\Violation\\ConstraintViolationBuilder' => $vendorDir . '/symfony/validator/Violation/ConstraintViolationBuilder.php', + 'Symfony\\Component\\Validator\\Violation\\ConstraintViolationBuilderInterface' => $vendorDir . '/symfony/validator/Violation/ConstraintViolationBuilderInterface.php', + 'Symfony\\Component\\Validator\\Violation\\LegacyConstraintViolationBuilder' => $vendorDir . '/symfony/validator/Violation/LegacyConstraintViolationBuilder.php', + 'Symfony\\Component\\Yaml\\Dumper' => $vendorDir . '/symfony/yaml/Dumper.php', + 'Symfony\\Component\\Yaml\\Escaper' => $vendorDir . '/symfony/yaml/Escaper.php', + 'Symfony\\Component\\Yaml\\Exception\\DumpException' => $vendorDir . '/symfony/yaml/Exception/DumpException.php', + 'Symfony\\Component\\Yaml\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/yaml/Exception/ExceptionInterface.php', + 'Symfony\\Component\\Yaml\\Exception\\ParseException' => $vendorDir . '/symfony/yaml/Exception/ParseException.php', + 'Symfony\\Component\\Yaml\\Exception\\RuntimeException' => $vendorDir . '/symfony/yaml/Exception/RuntimeException.php', + 'Symfony\\Component\\Yaml\\Inline' => $vendorDir . '/symfony/yaml/Inline.php', + 'Symfony\\Component\\Yaml\\Parser' => $vendorDir . '/symfony/yaml/Parser.php', + 'Symfony\\Component\\Yaml\\Unescaper' => $vendorDir . '/symfony/yaml/Unescaper.php', + 'Symfony\\Component\\Yaml\\Yaml' => $vendorDir . '/symfony/yaml/Yaml.php', + 'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php', + 'Symfony\\Polyfill\\Php54\\Php54' => $vendorDir . '/symfony/polyfill-php54/Php54.php', + 'Symfony\\Polyfill\\Php55\\Php55' => $vendorDir . '/symfony/polyfill-php55/Php55.php', + 'Symfony\\Polyfill\\Php55\\Php55ArrayColumn' => $vendorDir . '/symfony/polyfill-php55/Php55ArrayColumn.php', + 'Symfony\\Polyfill\\Php56\\Php56' => $vendorDir . '/symfony/polyfill-php56/Php56.php', + 'Symfony\\Polyfill\\Php70\\Php70' => $vendorDir . '/symfony/polyfill-php70/Php70.php', + 'Symfony\\Polyfill\\Util\\Binary' => $vendorDir . '/symfony/polyfill-util/Binary.php', + 'Symfony\\Polyfill\\Util\\BinaryNoFuncOverload' => $vendorDir . '/symfony/polyfill-util/BinaryNoFuncOverload.php', + 'Symfony\\Polyfill\\Util\\BinaryOnFuncOverload' => $vendorDir . '/symfony/polyfill-util/BinaryOnFuncOverload.php', + 'Symfony\\Polyfill\\Util\\TestListener' => $vendorDir . '/symfony/polyfill-util/TestListener.php', 'TCPDF' => $vendorDir . '/ensepar/tcpdf/tcpdf.php', 'TCPDF2DBarcode' => $vendorDir . '/ensepar/tcpdf/2dbarcodes.php', 'TCPDFBarcode' => $vendorDir . '/ensepar/tcpdf/barcodes.php', 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php', + 'TheliaMigrateCountry\\Controller\\MigrateController' => $baseDir . '/local/modules/TheliaMigrateCountry/Controller/MigrateController.php', + 'TheliaMigrateCountry\\EventListeners\\MigrateCountryListener' => $baseDir . '/local/modules/TheliaMigrateCountry/EventListeners/MigrateCountryListener.php', + 'TheliaMigrateCountry\\Events\\MigrateCountryEvent' => $baseDir . '/local/modules/TheliaMigrateCountry/Events/MigrateCountryEvent.php', + 'TheliaMigrateCountry\\Events\\MigrateCountryEvents' => $baseDir . '/local/modules/TheliaMigrateCountry/Events/MigrateCountryEvents.php', + 'TheliaMigrateCountry\\Form\\CountryStateMigrationForm' => $baseDir . '/local/modules/TheliaMigrateCountry/Form/CountryStateMigrationForm.php', + 'TheliaMigrateCountry\\Form\\Type\\CountryStateMigrationType' => $baseDir . '/local/modules/TheliaMigrateCountry/Form/Type/CountryStateMigrationType.php', + 'TheliaMigrateCountry\\TheliaMigrateCountry' => $baseDir . '/local/modules/TheliaMigrateCountry/TheliaMigrateCountry.php', + 'TheliaSmarty\\Compiler\\RegisterParserPluginPass' => $baseDir . '/local/modules/TheliaSmarty/Compiler/RegisterParserPluginPass.php', + 'TheliaSmarty\\Template\\AbstractSmartyPlugin' => $baseDir . '/local/modules/TheliaSmarty/Template/AbstractSmartyPlugin.php', + 'TheliaSmarty\\Template\\Assets\\SmartyAssetsManager' => $baseDir . '/local/modules/TheliaSmarty/Template/Assets/SmartyAssetsManager.php', + 'TheliaSmarty\\Template\\Assets\\SmartyAssetsResolver' => $baseDir . '/local/modules/TheliaSmarty/Template/Assets/SmartyAssetsResolver.php', + 'TheliaSmarty\\Template\\Exception\\SmartyPluginException' => $baseDir . '/local/modules/TheliaSmarty/Template/Exception/SmartyPluginException.php', + 'TheliaSmarty\\Template\\Plugins\\AdminUtilities' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/AdminUtilities.php', + 'TheliaSmarty\\Template\\Plugins\\Assets' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Assets.php', + 'TheliaSmarty\\Template\\Plugins\\Cache' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Cache.php', + 'TheliaSmarty\\Template\\Plugins\\CartPostage' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/CartPostage.php', + 'TheliaSmarty\\Template\\Plugins\\DataAccessFunctions' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/DataAccessFunctions.php', + 'TheliaSmarty\\Template\\Plugins\\Esi' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Esi.php', + 'TheliaSmarty\\Template\\Plugins\\FlashMessage' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/FlashMessage.php', + 'TheliaSmarty\\Template\\Plugins\\Form' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Form.php', + 'TheliaSmarty\\Template\\Plugins\\Format' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Format.php', + 'TheliaSmarty\\Template\\Plugins\\Hook' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Hook.php', + 'TheliaSmarty\\Template\\Plugins\\Module' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Module.php', + 'TheliaSmarty\\Template\\Plugins\\Render' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Render.php', + 'TheliaSmarty\\Template\\Plugins\\Security' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Security.php', + 'TheliaSmarty\\Template\\Plugins\\TheliaLoop' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/TheliaLoop.php', + 'TheliaSmarty\\Template\\Plugins\\Translation' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Translation.php', + 'TheliaSmarty\\Template\\Plugins\\Type' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/Type.php', + 'TheliaSmarty\\Template\\Plugins\\UrlGenerator' => $baseDir . '/local/modules/TheliaSmarty/Template/Plugins/UrlGenerator.php', + 'TheliaSmarty\\Template\\SmartyHelper' => $baseDir . '/local/modules/TheliaSmarty/Template/SmartyHelper.php', + 'TheliaSmarty\\Template\\SmartyParser' => $baseDir . '/local/modules/TheliaSmarty/Template/SmartyParser.php', + 'TheliaSmarty\\Template\\SmartyPluginDescriptor' => $baseDir . '/local/modules/TheliaSmarty/Template/SmartyPluginDescriptor.php', + 'TheliaSmarty\\Tests\\Template\\Plugin\\Controller\\TestController' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/Plugin/Controller/TestController.php', + 'TheliaSmarty\\Tests\\Template\\Plugin\\FormTest' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/Plugin/FormTest.php', + 'TheliaSmarty\\Tests\\Template\\Plugin\\FormatTest' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/Plugin/FormatTest.php', + 'TheliaSmarty\\Tests\\Template\\Plugin\\RenderTest' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/Plugin/RenderTest.php', + 'TheliaSmarty\\Tests\\Template\\Plugin\\SmartyPluginTestCase' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/Plugin/SmartyPluginTestCase.php', + 'TheliaSmarty\\Tests\\Template\\SmartyHelperTest' => $baseDir . '/local/modules/TheliaSmarty/Tests/Template/SmartyHelperTest.php', + 'TheliaSmarty\\TheliaSmarty' => $baseDir . '/local/modules/TheliaSmarty/TheliaSmarty.php', + 'Thelia\\Action\\Address' => $baseDir . '/core/lib/Thelia/Action/Address.php', + 'Thelia\\Action\\Administrator' => $baseDir . '/core/lib/Thelia/Action/Administrator.php', + 'Thelia\\Action\\Api' => $baseDir . '/core/lib/Thelia/Action/Api.php', + 'Thelia\\Action\\Area' => $baseDir . '/core/lib/Thelia/Action/Area.php', + 'Thelia\\Action\\Attribute' => $baseDir . '/core/lib/Thelia/Action/Attribute.php', + 'Thelia\\Action\\AttributeAv' => $baseDir . '/core/lib/Thelia/Action/AttributeAv.php', + 'Thelia\\Action\\BaseAction' => $baseDir . '/core/lib/Thelia/Action/BaseAction.php', + 'Thelia\\Action\\BaseCachedFile' => $baseDir . '/core/lib/Thelia/Action/BaseCachedFile.php', + 'Thelia\\Action\\Brand' => $baseDir . '/core/lib/Thelia/Action/Brand.php', + 'Thelia\\Action\\Cache' => $baseDir . '/core/lib/Thelia/Action/Cache.php', + 'Thelia\\Action\\Cart' => $baseDir . '/core/lib/Thelia/Action/Cart.php', + 'Thelia\\Action\\Category' => $baseDir . '/core/lib/Thelia/Action/Category.php', + 'Thelia\\Action\\Config' => $baseDir . '/core/lib/Thelia/Action/Config.php', + 'Thelia\\Action\\Content' => $baseDir . '/core/lib/Thelia/Action/Content.php', + 'Thelia\\Action\\Country' => $baseDir . '/core/lib/Thelia/Action/Country.php', + 'Thelia\\Action\\Coupon' => $baseDir . '/core/lib/Thelia/Action/Coupon.php', + 'Thelia\\Action\\Currency' => $baseDir . '/core/lib/Thelia/Action/Currency.php', + 'Thelia\\Action\\Customer' => $baseDir . '/core/lib/Thelia/Action/Customer.php', + 'Thelia\\Action\\CustomerTitle' => $baseDir . '/core/lib/Thelia/Action/CustomerTitle.php', + 'Thelia\\Action\\Delivery' => $baseDir . '/core/lib/Thelia/Action/Delivery.php', + 'Thelia\\Action\\Document' => $baseDir . '/core/lib/Thelia/Action/Document.php', + 'Thelia\\Action\\Export' => $baseDir . '/core/lib/Thelia/Action/Export.php', + 'Thelia\\Action\\Feature' => $baseDir . '/core/lib/Thelia/Action/Feature.php', + 'Thelia\\Action\\FeatureAv' => $baseDir . '/core/lib/Thelia/Action/FeatureAv.php', + 'Thelia\\Action\\File' => $baseDir . '/core/lib/Thelia/Action/File.php', + 'Thelia\\Action\\Folder' => $baseDir . '/core/lib/Thelia/Action/Folder.php', + 'Thelia\\Action\\Hook' => $baseDir . '/core/lib/Thelia/Action/Hook.php', + 'Thelia\\Action\\HttpException' => $baseDir . '/core/lib/Thelia/Action/HttpException.php', + 'Thelia\\Action\\Image' => $baseDir . '/core/lib/Thelia/Action/Image.php', + 'Thelia\\Action\\Import' => $baseDir . '/core/lib/Thelia/Action/Import.php', + 'Thelia\\Action\\Lang' => $baseDir . '/core/lib/Thelia/Action/Lang.php', + 'Thelia\\Action\\MailingSystem' => $baseDir . '/core/lib/Thelia/Action/MailingSystem.php', + 'Thelia\\Action\\Message' => $baseDir . '/core/lib/Thelia/Action/Message.php', + 'Thelia\\Action\\MetaData' => $baseDir . '/core/lib/Thelia/Action/MetaData.php', + 'Thelia\\Action\\Module' => $baseDir . '/core/lib/Thelia/Action/Module.php', + 'Thelia\\Action\\ModuleHook' => $baseDir . '/core/lib/Thelia/Action/ModuleHook.php', + 'Thelia\\Action\\Newsletter' => $baseDir . '/core/lib/Thelia/Action/Newsletter.php', + 'Thelia\\Action\\Order' => $baseDir . '/core/lib/Thelia/Action/Order.php', + 'Thelia\\Action\\OrderStatus' => $baseDir . '/core/lib/Thelia/Action/OrderStatus.php', + 'Thelia\\Action\\Payment' => $baseDir . '/core/lib/Thelia/Action/Payment.php', + 'Thelia\\Action\\Pdf' => $baseDir . '/core/lib/Thelia/Action/Pdf.php', + 'Thelia\\Action\\Product' => $baseDir . '/core/lib/Thelia/Action/Product.php', + 'Thelia\\Action\\ProductSaleElement' => $baseDir . '/core/lib/Thelia/Action/ProductSaleElement.php', + 'Thelia\\Action\\Profile' => $baseDir . '/core/lib/Thelia/Action/Profile.php', + 'Thelia\\Action\\RedirectException' => $baseDir . '/core/lib/Thelia/Action/RedirectException.php', + 'Thelia\\Action\\Sale' => $baseDir . '/core/lib/Thelia/Action/Sale.php', + 'Thelia\\Action\\ShippingZone' => $baseDir . '/core/lib/Thelia/Action/ShippingZone.php', + 'Thelia\\Action\\State' => $baseDir . '/core/lib/Thelia/Action/State.php', + 'Thelia\\Action\\Tax' => $baseDir . '/core/lib/Thelia/Action/Tax.php', + 'Thelia\\Action\\TaxRule' => $baseDir . '/core/lib/Thelia/Action/TaxRule.php', + 'Thelia\\Action\\Template' => $baseDir . '/core/lib/Thelia/Action/Template.php', + 'Thelia\\Action\\Translation' => $baseDir . '/core/lib/Thelia/Action/Translation.php', + 'Thelia\\Cart\\CartTrait' => $baseDir . '/core/lib/Thelia/Cart/CartTrait.php', + 'Thelia\\Command\\AdminUpdatePasswordCommand' => $baseDir . '/core/lib/Thelia/Command/AdminUpdatePasswordCommand.php', + 'Thelia\\Command\\BaseModuleGenerate' => $baseDir . '/core/lib/Thelia/Command/BaseModuleGenerate.php', + 'Thelia\\Command\\CacheClear' => $baseDir . '/core/lib/Thelia/Command/CacheClear.php', + 'Thelia\\Command\\ClearImageCache' => $baseDir . '/core/lib/Thelia/Command/ClearImageCache.php', + 'Thelia\\Command\\ConfigCommand' => $baseDir . '/core/lib/Thelia/Command/ConfigCommand.php', + 'Thelia\\Command\\ContainerAwareCommand' => $baseDir . '/core/lib/Thelia/Command/ContainerAwareCommand.php', + 'Thelia\\Command\\CreateAdminUser' => $baseDir . '/core/lib/Thelia/Command/CreateAdminUser.php', + 'Thelia\\Command\\ExportCommand' => $baseDir . '/core/lib/Thelia/Command/ExportCommand.php', + 'Thelia\\Command\\GenerateResources' => $baseDir . '/core/lib/Thelia/Command/GenerateResources.php', + 'Thelia\\Command\\GenerateSQLCommand' => $baseDir . '/core/lib/Thelia/Command/GenerateSQLCommand.php', + 'Thelia\\Command\\HookCleanCommand' => $baseDir . '/core/lib/Thelia/Command/HookCleanCommand.php', + 'Thelia\\Command\\ImportCommand' => $baseDir . '/core/lib/Thelia/Command/ImportCommand.php', + 'Thelia\\Command\\Install' => $baseDir . '/core/lib/Thelia/Command/Install.php', + 'Thelia\\Command\\ModuleActivateCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleActivateCommand.php', + 'Thelia\\Command\\ModuleDeactivateCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleDeactivateCommand.php', + 'Thelia\\Command\\ModuleGenerateCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleGenerateCommand.php', + 'Thelia\\Command\\ModuleGenerateModelCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleGenerateModelCommand.php', + 'Thelia\\Command\\ModuleGenerateSqlCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleGenerateSqlCommand.php', + 'Thelia\\Command\\ModuleListCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleListCommand.php', + 'Thelia\\Command\\ModulePositionCommand' => $baseDir . '/core/lib/Thelia/Command/ModulePositionCommand.php', + 'Thelia\\Command\\ModuleRefreshCommand' => $baseDir . '/core/lib/Thelia/Command/ModuleRefreshCommand.php', + 'Thelia\\Command\\Output\\TheliaConsoleOutput' => $baseDir . '/core/lib/Thelia/Command/Output/TheliaConsoleOutput.php', + 'Thelia\\Command\\ReloadDatabaseCommand' => $baseDir . '/core/lib/Thelia/Command/ReloadDatabaseCommand.php', + 'Thelia\\Command\\SaleCheckActivationCommand' => $baseDir . '/core/lib/Thelia/Command/SaleCheckActivationCommand.php', + 'Thelia\\Composer\\TheliaInstaller' => $vendorDir . '/thelia/installer/src/Thelia/Composer/TheliaInstaller.php', + 'Thelia\\Composer\\TheliaInstallerPlugin' => $vendorDir . '/thelia/installer/src/Thelia/Composer/TheliaInstallerPlugin.php', + 'Thelia\\Condition\\ConditionCollection' => $baseDir . '/core/lib/Thelia/Condition/ConditionCollection.php', + 'Thelia\\Condition\\ConditionEvaluator' => $baseDir . '/core/lib/Thelia/Condition/ConditionEvaluator.php', + 'Thelia\\Condition\\ConditionFactory' => $baseDir . '/core/lib/Thelia/Condition/ConditionFactory.php', + 'Thelia\\Condition\\ConditionOrganizer' => $baseDir . '/core/lib/Thelia/Condition/ConditionOrganizer.php', + 'Thelia\\Condition\\ConditionOrganizerInterface' => $baseDir . '/core/lib/Thelia/Condition/ConditionOrganizerInterface.php', + 'Thelia\\Condition\\Implementation\\AbstractMatchCountries' => $baseDir . '/core/lib/Thelia/Condition/Implementation/AbstractMatchCountries.php', + 'Thelia\\Condition\\Implementation\\CartContainsCategories' => $baseDir . '/core/lib/Thelia/Condition/Implementation/CartContainsCategories.php', + 'Thelia\\Condition\\Implementation\\CartContainsProducts' => $baseDir . '/core/lib/Thelia/Condition/Implementation/CartContainsProducts.php', + 'Thelia\\Condition\\Implementation\\ConditionAbstract' => $baseDir . '/core/lib/Thelia/Condition/Implementation/ConditionAbstract.php', + 'Thelia\\Condition\\Implementation\\ConditionInterface' => $baseDir . '/core/lib/Thelia/Condition/Implementation/ConditionInterface.php', + 'Thelia\\Condition\\Implementation\\ForSomeCustomers' => $baseDir . '/core/lib/Thelia/Condition/Implementation/ForSomeCustomers.php', + 'Thelia\\Condition\\Implementation\\MatchBillingCountries' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchBillingCountries.php', + 'Thelia\\Condition\\Implementation\\MatchDeliveryCountries' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchDeliveryCountries.php', + 'Thelia\\Condition\\Implementation\\MatchForEveryone' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchForEveryone.php', + 'Thelia\\Condition\\Implementation\\MatchForTotalAmount' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchForTotalAmount.php', + 'Thelia\\Condition\\Implementation\\MatchForXArticles' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchForXArticles.php', + 'Thelia\\Condition\\Implementation\\MatchForXArticlesIncludeQuantity' => $baseDir . '/core/lib/Thelia/Condition/Implementation/MatchForXArticlesIncludeQuantity.php', + 'Thelia\\Condition\\Implementation\\StartDate' => $baseDir . '/core/lib/Thelia/Condition/Implementation/StartDate.php', + 'Thelia\\Condition\\Operators' => $baseDir . '/core/lib/Thelia/Condition/Operators.php', + 'Thelia\\Condition\\SerializableCondition' => $baseDir . '/core/lib/Thelia/Condition/SerializableCondition.php', + 'Thelia\\Config\\DatabaseConfiguration' => $baseDir . '/core/lib/Thelia/Config/DatabaseConfiguration.php', + 'Thelia\\Config\\DefinePropel' => $baseDir . '/core/lib/Thelia/Config/DefinePropel.php', + 'Thelia\\Controller\\Admin\\AbstractCrudController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AbstractCrudController.php', + 'Thelia\\Controller\\Admin\\AbstractSeoCrudController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AbstractSeoCrudController.php', + 'Thelia\\Controller\\Admin\\AddressController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AddressController.php', + 'Thelia\\Controller\\Admin\\AdminController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AdminController.php', + 'Thelia\\Controller\\Admin\\AdminLogsController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AdminLogsController.php', + 'Thelia\\Controller\\Admin\\AdministratorController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AdministratorController.php', + 'Thelia\\Controller\\Admin\\AdvancedConfigurationController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AdvancedConfigurationController.php', + 'Thelia\\Controller\\Admin\\ApiController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ApiController.php', + 'Thelia\\Controller\\Admin\\AreaController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AreaController.php', + 'Thelia\\Controller\\Admin\\AttributeAvController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AttributeAvController.php', + 'Thelia\\Controller\\Admin\\AttributeController' => $baseDir . '/core/lib/Thelia/Controller/Admin/AttributeController.php', + 'Thelia\\Controller\\Admin\\BaseAdminController' => $baseDir . '/core/lib/Thelia/Controller/Admin/BaseAdminController.php', + 'Thelia\\Controller\\Admin\\BrandController' => $baseDir . '/core/lib/Thelia/Controller/Admin/BrandController.php', + 'Thelia\\Controller\\Admin\\CategoryController' => $baseDir . '/core/lib/Thelia/Controller/Admin/CategoryController.php', + 'Thelia\\Controller\\Admin\\ConfigController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ConfigController.php', + 'Thelia\\Controller\\Admin\\ConfigStoreController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ConfigStoreController.php', + 'Thelia\\Controller\\Admin\\ConfigurationController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ConfigurationController.php', + 'Thelia\\Controller\\Admin\\ContentController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ContentController.php', + 'Thelia\\Controller\\Admin\\CountryController' => $baseDir . '/core/lib/Thelia/Controller/Admin/CountryController.php', + 'Thelia\\Controller\\Admin\\CouponController' => $baseDir . '/core/lib/Thelia/Controller/Admin/CouponController.php', + 'Thelia\\Controller\\Admin\\CurrencyController' => $baseDir . '/core/lib/Thelia/Controller/Admin/CurrencyController.php', + 'Thelia\\Controller\\Admin\\CustomerController' => $baseDir . '/core/lib/Thelia/Controller/Admin/CustomerController.php', + 'Thelia\\Controller\\Admin\\ExportController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ExportController.php', + 'Thelia\\Controller\\Admin\\FeatureAvController' => $baseDir . '/core/lib/Thelia/Controller/Admin/FeatureAvController.php', + 'Thelia\\Controller\\Admin\\FeatureController' => $baseDir . '/core/lib/Thelia/Controller/Admin/FeatureController.php', + 'Thelia\\Controller\\Admin\\FileController' => $baseDir . '/core/lib/Thelia/Controller/Admin/FileController.php', + 'Thelia\\Controller\\Admin\\FolderController' => $baseDir . '/core/lib/Thelia/Controller/Admin/FolderController.php', + 'Thelia\\Controller\\Admin\\HomeController' => $baseDir . '/core/lib/Thelia/Controller/Admin/HomeController.php', + 'Thelia\\Controller\\Admin\\HookController' => $baseDir . '/core/lib/Thelia/Controller/Admin/HookController.php', + 'Thelia\\Controller\\Admin\\ImportController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ImportController.php', + 'Thelia\\Controller\\Admin\\LangController' => $baseDir . '/core/lib/Thelia/Controller/Admin/LangController.php', + 'Thelia\\Controller\\Admin\\LanguageController' => $baseDir . '/core/lib/Thelia/Controller/Admin/LanguageController.php', + 'Thelia\\Controller\\Admin\\MailingSystemController' => $baseDir . '/core/lib/Thelia/Controller/Admin/MailingSystemController.php', + 'Thelia\\Controller\\Admin\\MessageController' => $baseDir . '/core/lib/Thelia/Controller/Admin/MessageController.php', + 'Thelia\\Controller\\Admin\\ModuleController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ModuleController.php', + 'Thelia\\Controller\\Admin\\ModuleHookController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ModuleHookController.php', + 'Thelia\\Controller\\Admin\\OrderController' => $baseDir . '/core/lib/Thelia/Controller/Admin/OrderController.php', + 'Thelia\\Controller\\Admin\\OrderStatusController' => $baseDir . '/core/lib/Thelia/Controller/Admin/OrderStatusController.php', + 'Thelia\\Controller\\Admin\\ProductController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ProductController.php', + 'Thelia\\Controller\\Admin\\ProfileController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ProfileController.php', + 'Thelia\\Controller\\Admin\\SaleController' => $baseDir . '/core/lib/Thelia/Controller/Admin/SaleController.php', + 'Thelia\\Controller\\Admin\\SessionController' => $baseDir . '/core/lib/Thelia/Controller/Admin/SessionController.php', + 'Thelia\\Controller\\Admin\\ShippingZoneController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ShippingZoneController.php', + 'Thelia\\Controller\\Admin\\StateController' => $baseDir . '/core/lib/Thelia/Controller/Admin/StateController.php', + 'Thelia\\Controller\\Admin\\SystemLogController' => $baseDir . '/core/lib/Thelia/Controller/Admin/SystemLogController.php', + 'Thelia\\Controller\\Admin\\TaxController' => $baseDir . '/core/lib/Thelia/Controller/Admin/TaxController.php', + 'Thelia\\Controller\\Admin\\TaxRuleController' => $baseDir . '/core/lib/Thelia/Controller/Admin/TaxRuleController.php', + 'Thelia\\Controller\\Admin\\TemplateController' => $baseDir . '/core/lib/Thelia/Controller/Admin/TemplateController.php', + 'Thelia\\Controller\\Admin\\ToolsController' => $baseDir . '/core/lib/Thelia/Controller/Admin/ToolsController.php', + 'Thelia\\Controller\\Admin\\TranslationsController' => $baseDir . '/core/lib/Thelia/Controller/Admin/TranslationsController.php', + 'Thelia\\Controller\\Api\\AbstractCrudApiController' => $baseDir . '/core/lib/Thelia/Controller/Api/AbstractCrudApiController.php', + 'Thelia\\Controller\\Api\\AttributeAvController' => $baseDir . '/core/lib/Thelia/Controller/Api/AttributeAvController.php', + 'Thelia\\Controller\\Api\\BaseApiController' => $baseDir . '/core/lib/Thelia/Controller/Api/BaseApiController.php', + 'Thelia\\Controller\\Api\\BrandController' => $baseDir . '/core/lib/Thelia/Controller/Api/BrandController.php', + 'Thelia\\Controller\\Api\\CategoryController' => $baseDir . '/core/lib/Thelia/Controller/Api/CategoryController.php', + 'Thelia\\Controller\\Api\\CountryController' => $baseDir . '/core/lib/Thelia/Controller/Api/CountryController.php', + 'Thelia\\Controller\\Api\\CurrencyController' => $baseDir . '/core/lib/Thelia/Controller/Api/CurrencyController.php', + 'Thelia\\Controller\\Api\\CustomerController' => $baseDir . '/core/lib/Thelia/Controller/Api/CustomerController.php', + 'Thelia\\Controller\\Api\\ImageController' => $baseDir . '/core/lib/Thelia/Controller/Api/ImageController.php', + 'Thelia\\Controller\\Api\\IndexController' => $baseDir . '/core/lib/Thelia/Controller/Api/IndexController.php', + 'Thelia\\Controller\\Api\\LangController' => $baseDir . '/core/lib/Thelia/Controller/Api/LangController.php', + 'Thelia\\Controller\\Api\\ProductController' => $baseDir . '/core/lib/Thelia/Controller/Api/ProductController.php', + 'Thelia\\Controller\\Api\\ProductSaleElementsController' => $baseDir . '/core/lib/Thelia/Controller/Api/ProductSaleElementsController.php', + 'Thelia\\Controller\\Api\\TaxController' => $baseDir . '/core/lib/Thelia/Controller/Api/TaxController.php', + 'Thelia\\Controller\\Api\\TaxRuleController' => $baseDir . '/core/lib/Thelia/Controller/Api/TaxRuleController.php', + 'Thelia\\Controller\\Api\\TitleController' => $baseDir . '/core/lib/Thelia/Controller/Api/TitleController.php', + 'Thelia\\Controller\\BaseController' => $baseDir . '/core/lib/Thelia/Controller/BaseController.php', + 'Thelia\\Controller\\Front\\BaseFrontController' => $baseDir . '/core/lib/Thelia/Controller/Front/BaseFrontController.php', + 'Thelia\\Controller\\Front\\DefaultController' => $baseDir . '/core/lib/Thelia/Controller/Front/DefaultController.php', + 'Thelia\\Core\\Application' => $baseDir . '/core/lib/Thelia/Core/Application.php', + 'Thelia\\Core\\Archiver\\AbstractArchiver' => $baseDir . '/core/lib/Thelia/Core/Archiver/AbstractArchiver.php', + 'Thelia\\Core\\Archiver\\ArchiverInterface' => $baseDir . '/core/lib/Thelia/Core/Archiver/ArchiverInterface.php', + 'Thelia\\Core\\Archiver\\ArchiverManager' => $baseDir . '/core/lib/Thelia/Core/Archiver/ArchiverManager.php', + 'Thelia\\Core\\Archiver\\Archiver\\TarArchiver' => $baseDir . '/core/lib/Thelia/Core/Archiver/Archiver/TarArchiver.php', + 'Thelia\\Core\\Archiver\\Archiver\\TarBz2Archiver' => $baseDir . '/core/lib/Thelia/Core/Archiver/Archiver/TarBz2Archiver.php', + 'Thelia\\Core\\Archiver\\Archiver\\TarGzArchiver' => $baseDir . '/core/lib/Thelia/Core/Archiver/Archiver/TarGzArchiver.php', + 'Thelia\\Core\\Archiver\\Archiver\\ZipArchiver' => $baseDir . '/core/lib/Thelia/Core/Archiver/Archiver/ZipArchiver.php', + 'Thelia\\Core\\Bundle\\TheliaBundle' => $baseDir . '/core/lib/Thelia/Core/Bundle/TheliaBundle.php', + 'Thelia\\Core\\Controller\\ControllerResolver' => $baseDir . '/core/lib/Thelia/Core/Controller/ControllerResolver.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\CurrencyConverterProviderPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/CurrencyConverterProviderPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\FallbackParserPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/FallbackParserPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterArchiverPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterArchiverPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterAssetFilterPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterAssetFilterPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterCouponConditionPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterCouponConditionPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterCouponPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterCouponPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterFormExtensionPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterFormExtensionPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterHookListenersPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterHookListenersPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterRouterPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\RegisterSerializerPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterSerializerPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\StackPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/StackPass.php', + 'Thelia\\Core\\DependencyInjection\\Compiler\\TranslatorPass' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Compiler/TranslatorPass.php', + 'Thelia\\Core\\DependencyInjection\\Loader\\XmlFileLoader' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/Loader/XmlFileLoader.php', + 'Thelia\\Core\\DependencyInjection\\TheliaContainer' => $baseDir . '/core/lib/Thelia/Core/DependencyInjection/TheliaContainer.php', + 'Thelia\\Core\\EventListener\\ControllerListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/ControllerListener.php', + 'Thelia\\Core\\EventListener\\ErrorListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/ErrorListener.php', + 'Thelia\\Core\\EventListener\\RequestListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/RequestListener.php', + 'Thelia\\Core\\EventListener\\ResponseListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/ResponseListener.php', + 'Thelia\\Core\\EventListener\\SessionListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/SessionListener.php', + 'Thelia\\Core\\EventListener\\ViewListener' => $baseDir . '/core/lib/Thelia/Core/EventListener/ViewListener.php', + 'Thelia\\Core\\Event\\AccessoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/AccessoryEvent.php', + 'Thelia\\Core\\Event\\ActionEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ActionEvent.php', + 'Thelia\\Core\\Event\\Address\\AddressCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Address/AddressCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\Address\\AddressEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Address/AddressEvent.php', + 'Thelia\\Core\\Event\\Administrator\\AdministratorEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Administrator/AdministratorEvent.php', + 'Thelia\\Core\\Event\\Administrator\\AdministratorUpdatePasswordEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Administrator/AdministratorUpdatePasswordEvent.php', + 'Thelia\\Core\\Event\\Api\\ApiCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Api/ApiCreateEvent.php', + 'Thelia\\Core\\Event\\Api\\ApiDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Api/ApiDeleteEvent.php', + 'Thelia\\Core\\Event\\Api\\ApiUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Api/ApiUpdateEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaAddCountryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaAddCountryEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaRemoveCountryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaRemoveCountryEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php', + 'Thelia\\Core\\Event\\Area\\AreaUpdatePostageEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Area/AreaUpdatePostageEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeAvCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeAvCreateEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeAvDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeAvDeleteEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeAvEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeAvEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeAvUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeAvUpdateEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeCreateEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeDeleteEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeEvent.php', + 'Thelia\\Core\\Event\\Attribute\\AttributeUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Attribute/AttributeUpdateEvent.php', + 'Thelia\\Core\\Event\\Brand\\BrandCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Brand/BrandCreateEvent.php', + 'Thelia\\Core\\Event\\Brand\\BrandDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Brand/BrandDeleteEvent.php', + 'Thelia\\Core\\Event\\Brand\\BrandEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Brand/BrandEvent.php', + 'Thelia\\Core\\Event\\Brand\\BrandToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Brand/BrandToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Brand\\BrandUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Brand/BrandUpdateEvent.php', + 'Thelia\\Core\\Event\\Cache\\CacheEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cache/CacheEvent.php', + 'Thelia\\Core\\Event\\CachedFileEvent' => $baseDir . '/core/lib/Thelia/Core/Event/CachedFileEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartCreateEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartDuplicationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartDuplicationEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartItemDuplicationItem' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartItemDuplicationItem.php', + 'Thelia\\Core\\Event\\Cart\\CartItemEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartItemEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartPersistEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartPersistEvent.php', + 'Thelia\\Core\\Event\\Cart\\CartRestoreEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Cart/CartRestoreEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryAddContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryAddContentEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryAssociatedContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryAssociatedContentEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryCreateEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryDeleteContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryDeleteContentEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryDeleteEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Category\\CategoryUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Category/CategoryUpdateEvent.php', + 'Thelia\\Core\\Event\\Config\\ConfigCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Config/ConfigCreateEvent.php', + 'Thelia\\Core\\Event\\Config\\ConfigDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Config/ConfigDeleteEvent.php', + 'Thelia\\Core\\Event\\Config\\ConfigEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Config/ConfigEvent.php', + 'Thelia\\Core\\Event\\Config\\ConfigUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Config/ConfigUpdateEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentAddFolderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentAddFolderEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentCreateEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentDeleteEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentRemoveFolderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentRemoveFolderEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Content\\ContentUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Content/ContentUpdateEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryCreateEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryDeleteEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryToggleDefaultEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryToggleDefaultEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Country\\CountryUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Country/CountryUpdateEvent.php', + 'Thelia\\Core\\Event\\Coupon\\CouponConsumeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Coupon/CouponConsumeEvent.php', + 'Thelia\\Core\\Event\\Coupon\\CouponCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Coupon/CouponCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\Coupon\\CouponDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Coupon/CouponDeleteEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyChangeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyChangeEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyCreateEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyDeleteEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyUpdateEvent.php', + 'Thelia\\Core\\Event\\Currency\\CurrencyUpdateRateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Currency/CurrencyUpdateRateEvent.php', + 'Thelia\\Core\\Event\\CustomerTitle\\CustomerTitleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/CustomerTitle/CustomerTitleEvent.php', + 'Thelia\\Core\\Event\\Customer\\CustomerCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Customer/CustomerCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\Customer\\CustomerEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Customer/CustomerEvent.php', + 'Thelia\\Core\\Event\\Customer\\CustomerLoginEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Customer/CustomerLoginEvent.php', + 'Thelia\\Core\\Event\\DefaultActionEvent' => $baseDir . '/core/lib/Thelia/Core/Event/DefaultActionEvent.php', + 'Thelia\\Core\\Event\\Delivery\\DeliveryPostageEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Delivery/DeliveryPostageEvent.php', + 'Thelia\\Core\\Event\\Document\\DocumentCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Document/DocumentCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\Document\\DocumentDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Document/DocumentDeleteEvent.php', + 'Thelia\\Core\\Event\\Document\\DocumentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Document/DocumentEvent.php', + 'Thelia\\Core\\Event\\ExportEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ExportEvent.php', + 'Thelia\\Core\\Event\\FeatureProduct\\FeatureProductDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/FeatureProduct/FeatureProductDeleteEvent.php', + 'Thelia\\Core\\Event\\FeatureProduct\\FeatureProductEvent' => $baseDir . '/core/lib/Thelia/Core/Event/FeatureProduct/FeatureProductEvent.php', + 'Thelia\\Core\\Event\\FeatureProduct\\FeatureProductUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/FeatureProduct/FeatureProductUpdateEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureAvCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureAvCreateEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureAvDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureAvDeleteEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureAvEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureAvEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureAvUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureAvUpdateEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureCreateEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureDeleteEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureEvent.php', + 'Thelia\\Core\\Event\\Feature\\FeatureUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Feature/FeatureUpdateEvent.php', + 'Thelia\\Core\\Event\\File\\FileCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/File/FileCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\File\\FileDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/File/FileDeleteEvent.php', + 'Thelia\\Core\\Event\\File\\FileToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/File/FileToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Folder\\FolderCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Folder/FolderCreateEvent.php', + 'Thelia\\Core\\Event\\Folder\\FolderDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Folder/FolderDeleteEvent.php', + 'Thelia\\Core\\Event\\Folder\\FolderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Folder/FolderEvent.php', + 'Thelia\\Core\\Event\\Folder\\FolderToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Folder/FolderToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Folder\\FolderUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Folder/FolderUpdateEvent.php', + 'Thelia\\Core\\Event\\GenerateRewrittenUrlEvent' => $baseDir . '/core/lib/Thelia/Core/Event/GenerateRewrittenUrlEvent.php', + 'Thelia\\Core\\Event\\Hook\\BaseHookRenderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/BaseHookRenderEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookCreateAllEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookCreateAllEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookCreateEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookDeactivationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookDeactivationEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookDeleteEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookRenderBlockEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookRenderBlockEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookRenderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookRenderEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookToggleActivationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookToggleActivationEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookToggleNativeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookToggleNativeEvent.php', + 'Thelia\\Core\\Event\\Hook\\HookUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/HookUpdateEvent.php', + 'Thelia\\Core\\Event\\Hook\\ModuleHookCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/ModuleHookCreateEvent.php', + 'Thelia\\Core\\Event\\Hook\\ModuleHookDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/ModuleHookDeleteEvent.php', + 'Thelia\\Core\\Event\\Hook\\ModuleHookEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/ModuleHookEvent.php', + 'Thelia\\Core\\Event\\Hook\\ModuleHookToggleActivationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/ModuleHookToggleActivationEvent.php', + 'Thelia\\Core\\Event\\Hook\\ModuleHookUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Hook/ModuleHookUpdateEvent.php', + 'Thelia\\Core\\Event\\Image\\ImageCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Image/ImageCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\Image\\ImageDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Image/ImageDeleteEvent.php', + 'Thelia\\Core\\Event\\Image\\ImageEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Image/ImageEvent.php', + 'Thelia\\Core\\Event\\ImportEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ImportEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangCreateEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangDefaultBehaviorEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangDefaultBehaviorEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangDeleteEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangToggleActiveEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangToggleActiveEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangToggleDefaultEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangToggleDefaultEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangToggleVisibleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangToggleVisibleEvent.php', + 'Thelia\\Core\\Event\\Lang\\LangUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Lang/LangUpdateEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsArgDefinitionsEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsArgDefinitionsEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsBuildArrayEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildArrayEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsBuildModelCriteriaEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsBuildModelCriteriaEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsInitializeArgsEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsInitializeArgsEvent.php', + 'Thelia\\Core\\Event\\Loop\\LoopExtendsParseResultsEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Loop/LoopExtendsParseResultsEvent.php', + 'Thelia\\Core\\Event\\LostPasswordEvent' => $baseDir . '/core/lib/Thelia/Core/Event/LostPasswordEvent.php', + 'Thelia\\Core\\Event\\MailTransporterEvent' => $baseDir . '/core/lib/Thelia/Core/Event/MailTransporterEvent.php', + 'Thelia\\Core\\Event\\MailingSystem\\MailingSystemEvent' => $baseDir . '/core/lib/Thelia/Core/Event/MailingSystem/MailingSystemEvent.php', + 'Thelia\\Core\\Event\\Message\\MessageCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Message/MessageCreateEvent.php', + 'Thelia\\Core\\Event\\Message\\MessageDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Message/MessageDeleteEvent.php', + 'Thelia\\Core\\Event\\Message\\MessageEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Message/MessageEvent.php', + 'Thelia\\Core\\Event\\Message\\MessageUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Message/MessageUpdateEvent.php', + 'Thelia\\Core\\Event\\MetaData\\MetaDataCreateOrUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/MetaData/MetaDataCreateOrUpdateEvent.php', + 'Thelia\\Core\\Event\\MetaData\\MetaDataDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/MetaData/MetaDataDeleteEvent.php', + 'Thelia\\Core\\Event\\MetaData\\MetaDataEvent' => $baseDir . '/core/lib/Thelia/Core/Event/MetaData/MetaDataEvent.php', + 'Thelia\\Core\\Event\\Module\\ModuleDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php', + 'Thelia\\Core\\Event\\Module\\ModuleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Module/ModuleEvent.php', + 'Thelia\\Core\\Event\\Module\\ModuleInstallEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Module/ModuleInstallEvent.php', + 'Thelia\\Core\\Event\\Module\\ModuleToggleActivationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php', + 'Thelia\\Core\\Event\\Newsletter\\NewsletterEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Newsletter/NewsletterEvent.php', + 'Thelia\\Core\\Event\\OrderStatus\\OrderStatusCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/OrderStatus/OrderStatusCreateEvent.php', + 'Thelia\\Core\\Event\\OrderStatus\\OrderStatusDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/OrderStatus/OrderStatusDeleteEvent.php', + 'Thelia\\Core\\Event\\OrderStatus\\OrderStatusEvent' => $baseDir . '/core/lib/Thelia/Core/Event/OrderStatus/OrderStatusEvent.php', + 'Thelia\\Core\\Event\\OrderStatus\\OrderStatusUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/OrderStatus/OrderStatusUpdateEvent.php', + 'Thelia\\Core\\Event\\Order\\OrderAddressEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Order/OrderAddressEvent.php', + 'Thelia\\Core\\Event\\Order\\OrderEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Order/OrderEvent.php', + 'Thelia\\Core\\Event\\Order\\OrderManualEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Order/OrderManualEvent.php', + 'Thelia\\Core\\Event\\Order\\OrderPaymentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Order/OrderPaymentEvent.php', + 'Thelia\\Core\\Event\\Order\\OrderProductEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Order/OrderProductEvent.php', + 'Thelia\\Core\\Event\\Payment\\BasePaymentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Payment/BasePaymentEvent.php', + 'Thelia\\Core\\Event\\Payment\\IsValidPaymentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Payment/IsValidPaymentEvent.php', + 'Thelia\\Core\\Event\\Payment\\ManageStockOnCreationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Payment/ManageStockOnCreationEvent.php', + 'Thelia\\Core\\Event\\PdfEvent' => $baseDir . '/core/lib/Thelia/Core/Event/PdfEvent.php', + 'Thelia\\Core\\Event\\ProductSaleElement\\ProductSaleElementCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementCreateEvent.php', + 'Thelia\\Core\\Event\\ProductSaleElement\\ProductSaleElementDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementDeleteEvent.php', + 'Thelia\\Core\\Event\\ProductSaleElement\\ProductSaleElementEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementEvent.php', + 'Thelia\\Core\\Event\\ProductSaleElement\\ProductSaleElementUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ProductSaleElement/ProductSaleElementUpdateEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductAddAccessoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductAddAccessoryEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductAddCategoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductAddCategoryEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductAddContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductAddContentEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductAssociatedContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductAssociatedContentEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductCloneEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductCloneEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductCombinationGenerationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductCombinationGenerationEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductCreateEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductDeleteAccessoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductDeleteAccessoryEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductDeleteCategoryEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductDeleteCategoryEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductDeleteContentEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductDeleteContentEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductDeleteEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductSetTemplateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductSetTemplateEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Product\\ProductUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/ProductUpdateEvent.php', + 'Thelia\\Core\\Event\\Product\\VirtualProductOrderDownloadResponseEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/VirtualProductOrderDownloadResponseEvent.php', + 'Thelia\\Core\\Event\\Product\\VirtualProductOrderHandleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Product/VirtualProductOrderHandleEvent.php', + 'Thelia\\Core\\Event\\Profile\\ProfileEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Profile/ProfileEvent.php', + 'Thelia\\Core\\Event\\Sale\\ProductSaleStatusUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/ProductSaleStatusUpdateEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleActiveStatusCheckEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleActiveStatusCheckEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleClearStatusEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleClearStatusEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleCreateEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleDeleteEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleToggleActivityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleToggleActivityEvent.php', + 'Thelia\\Core\\Event\\Sale\\SaleUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Sale/SaleUpdateEvent.php', + 'Thelia\\Core\\Event\\SessionEvent' => $baseDir . '/core/lib/Thelia/Core/Event/SessionEvent.php', + 'Thelia\\Core\\Event\\ShippingZone\\ShippingZoneAddAreaEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneAddAreaEvent.php', + 'Thelia\\Core\\Event\\ShippingZone\\ShippingZoneRemoveAreaEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneRemoveAreaEvent.php', + 'Thelia\\Core\\Event\\State\\StateCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/State/StateCreateEvent.php', + 'Thelia\\Core\\Event\\State\\StateDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/State/StateDeleteEvent.php', + 'Thelia\\Core\\Event\\State\\StateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/State/StateEvent.php', + 'Thelia\\Core\\Event\\State\\StateToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/State/StateToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\State\\StateUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/State/StateUpdateEvent.php', + 'Thelia\\Core\\Event\\Tax\\TaxEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Tax/TaxEvent.php', + 'Thelia\\Core\\Event\\Tax\\TaxRuleEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Tax/TaxRuleEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateAddAttributeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateAddAttributeEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateAddFeatureEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateAddFeatureEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateCreateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateCreateEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateDeleteAttributeEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateDeleteAttributeEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateDeleteEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateDeleteEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateDeleteFeatureEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateDeleteFeatureEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateDuplicateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateDuplicateEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateEvent.php', + 'Thelia\\Core\\Event\\Template\\TemplateUpdateEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Template/TemplateUpdateEvent.php', + 'Thelia\\Core\\Event\\TheliaEvents' => $baseDir . '/core/lib/Thelia/Core/Event/TheliaEvents.php', + 'Thelia\\Core\\Event\\TheliaFormEvent' => $baseDir . '/core/lib/Thelia/Core/Event/TheliaFormEvent.php', + 'Thelia\\Core\\Event\\ToggleVisibilityEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ToggleVisibilityEvent.php', + 'Thelia\\Core\\Event\\Translation\\TranslationEvent' => $baseDir . '/core/lib/Thelia/Core/Event/Translation/TranslationEvent.php', + 'Thelia\\Core\\Event\\UpdateFilePositionEvent' => $baseDir . '/core/lib/Thelia/Core/Event/UpdateFilePositionEvent.php', + 'Thelia\\Core\\Event\\UpdatePositionEvent' => $baseDir . '/core/lib/Thelia/Core/Event/UpdatePositionEvent.php', + 'Thelia\\Core\\Event\\UpdateSeoEvent' => $baseDir . '/core/lib/Thelia/Core/Event/UpdateSeoEvent.php', + 'Thelia\\Core\\Event\\ViewCheckEvent' => $baseDir . '/core/lib/Thelia/Core/Event/ViewCheckEvent.php', + 'Thelia\\Core\\Form\\TheliaFormFactory' => $baseDir . '/core/lib/Thelia/Core/Form/TheliaFormFactory.php', + 'Thelia\\Core\\Form\\TheliaFormFactoryInterface' => $baseDir . '/core/lib/Thelia/Core/Form/TheliaFormFactoryInterface.php', + 'Thelia\\Core\\Form\\TheliaFormValidator' => $baseDir . '/core/lib/Thelia/Core/Form/TheliaFormValidator.php', + 'Thelia\\Core\\Form\\TheliaFormValidatorInterface' => $baseDir . '/core/lib/Thelia/Core/Form/TheliaFormValidatorInterface.php', + 'Thelia\\Core\\Form\\Type\\AbstractTheliaType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/AbstractTheliaType.php', + 'Thelia\\Core\\Form\\Type\\CustomerTitleI18nType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/CustomerTitleI18nType.php', + 'Thelia\\Core\\Form\\Type\\CustomerTitleType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/CustomerTitleType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AbstractIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AbstractIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AccessoryIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AccessoryIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AddressIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AddressIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AdminIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AdminIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AdminLogIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AdminLogIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ApiIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ApiIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AreaDeliveryModuleIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AreaDeliveryModuleIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AreaIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AreaIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AttributeAvIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AttributeAvIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AttributeIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AttributeIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\AttributeTemplateIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/AttributeTemplateIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\BrandIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/BrandIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CartIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CartIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CartItemIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CartItemIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CategoryAssociatedContentIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CategoryAssociatedContentIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CategoryIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CategoryIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ContentIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ContentIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CountryIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CountryIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CouponIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CouponIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CurrencyIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CurrencyIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CustomerIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CustomerIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\CustomerTitleIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/CustomerTitleIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ExportCategoryIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ExportCategoryIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ExportIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ExportIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FeatureAvIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FeatureAvIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FeatureIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FeatureIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FeatureProductIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FeatureProductIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FeatureTemplateIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FeatureTemplateIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FolderIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FolderIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\FormFirewallIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/FormFirewallIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\HookIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/HookIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ImportCategoryIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ImportCategoryIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ImportIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ImportIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\LangIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/LangIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\MessageIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/MessageIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\MetaDataIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/MetaDataIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ModuleConfigIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ModuleConfigIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ModuleHookIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ModuleHookIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ModuleIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ModuleIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\NewsletterIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/NewsletterIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderAddressIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderAddressIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderCouponIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderCouponIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderProductAttributeCombinationIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderProductAttributeCombinationIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderProductIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderProductIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderProductTaxIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderProductTaxIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\OrderStatusIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/OrderStatusIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ProductAssociatedContentIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ProductAssociatedContentIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ProductIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ProductIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ProductSaleElementsIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ProductSaleElementsIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ProfileIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ProfileIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\ResourceIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/ResourceIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\RewritingUrlIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/RewritingUrlIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\SaleIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/SaleIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\SaleProductIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/SaleProductIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\StateIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/StateIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\TaxIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/TaxIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\TaxRuleIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/TaxRuleIdType.php', + 'Thelia\\Core\\Form\\Type\\Field\\TemplateIdType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/Field/TemplateIdType.php', + 'Thelia\\Core\\Form\\Type\\ImageType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/ImageType.php', + 'Thelia\\Core\\Form\\Type\\ProductSaleElementsType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/ProductSaleElementsType.php', + 'Thelia\\Core\\Form\\Type\\StandardFieldsType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/StandardFieldsType.php', + 'Thelia\\Core\\Form\\Type\\TaxRuleI18nType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/TaxRuleI18nType.php', + 'Thelia\\Core\\Form\\Type\\TaxRuleType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/TaxRuleType.php', + 'Thelia\\Core\\Form\\Type\\TheliaType' => $baseDir . '/core/lib/Thelia/Core/Form/Type/TheliaType.php', + 'Thelia\\Core\\Hook\\BaseHook' => $baseDir . '/core/lib/Thelia/Core/Hook/BaseHook.php', + 'Thelia\\Core\\Hook\\DefaultHook' => $baseDir . '/core/lib/Thelia/Core/Hook/DefaultHook.php', + 'Thelia\\Core\\Hook\\Fragment' => $baseDir . '/core/lib/Thelia/Core/Hook/Fragment.php', + 'Thelia\\Core\\Hook\\FragmentBag' => $baseDir . '/core/lib/Thelia/Core/Hook/FragmentBag.php', + 'Thelia\\Core\\Hook\\HookDefinition' => $baseDir . '/core/lib/Thelia/Core/Hook/HookDefinition.php', + 'Thelia\\Core\\Hook\\HookHelper' => $baseDir . '/core/lib/Thelia/Core/Hook/HookHelper.php', + 'Thelia\\Core\\HttpFoundation\\JsonResponse' => $baseDir . '/core/lib/Thelia/Core/HttpFoundation/JsonResponse.php', + 'Thelia\\Core\\HttpFoundation\\Request' => $baseDir . '/core/lib/Thelia/Core/HttpFoundation/Request.php', + 'Thelia\\Core\\HttpFoundation\\Response' => $baseDir . '/core/lib/Thelia/Core/HttpFoundation/Response.php', + 'Thelia\\Core\\HttpFoundation\\Session\\Session' => $baseDir . '/core/lib/Thelia/Core/HttpFoundation/Session/Session.php', + 'Thelia\\Core\\HttpKernel\\Client' => $baseDir . '/core/lib/Thelia/Core/HttpKernel/Client.php', + 'Thelia\\Core\\HttpKernel\\Exception\\NotFountHttpException' => $baseDir . '/core/lib/Thelia/Core/HttpKernel/Exception/NotFountHttpException.php', + 'Thelia\\Core\\HttpKernel\\Exception\\RedirectException' => $baseDir . '/core/lib/Thelia/Core/HttpKernel/Exception/RedirectException.php', + 'Thelia\\Core\\HttpKernel\\Fragment\\InlineFragmentRenderer' => $baseDir . '/core/lib/Thelia/Core/HttpKernel/Fragment/InlineFragmentRenderer.php', + 'Thelia\\Core\\HttpKernel\\HttpCache\\HttpCache' => $baseDir . '/core/lib/Thelia/Core/HttpKernel/HttpCache/HttpCache.php', + 'Thelia\\Core\\Routing\\RewritingRouter' => $baseDir . '/core/lib/Thelia/Core/Routing/RewritingRouter.php', + 'Thelia\\Core\\Security\\AccessManager' => $baseDir . '/core/lib/Thelia/Core/Security/AccessManager.php', + 'Thelia\\Core\\Security\\Authentication\\AdminTokenAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/AdminTokenAuthenticator.php', + 'Thelia\\Core\\Security\\Authentication\\AdminUsernamePasswordFormAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/AdminUsernamePasswordFormAuthenticator.php', + 'Thelia\\Core\\Security\\Authentication\\AuthenticatorInterface' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/AuthenticatorInterface.php', + 'Thelia\\Core\\Security\\Authentication\\CustomerTokenAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/CustomerTokenAuthenticator.php', + 'Thelia\\Core\\Security\\Authentication\\CustomerUsernamePasswordFormAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/CustomerUsernamePasswordFormAuthenticator.php', + 'Thelia\\Core\\Security\\Authentication\\TokenAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/TokenAuthenticator.php', + 'Thelia\\Core\\Security\\Authentication\\UsernamePasswordFormAuthenticator' => $baseDir . '/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php', + 'Thelia\\Core\\Security\\Exception\\AuthenticationException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/AuthenticationException.php', + 'Thelia\\Core\\Security\\Exception\\AuthorizationException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/AuthorizationException.php', + 'Thelia\\Core\\Security\\Exception\\CustomerNotConfirmedException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/CustomerNotConfirmedException.php', + 'Thelia\\Core\\Security\\Exception\\ResourceException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/ResourceException.php', + 'Thelia\\Core\\Security\\Exception\\TokenAuthenticationException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/TokenAuthenticationException.php', + 'Thelia\\Core\\Security\\Exception\\UsernameNotFoundException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/UsernameNotFoundException.php', + 'Thelia\\Core\\Security\\Exception\\WrongPasswordException' => $baseDir . '/core/lib/Thelia/Core/Security/Exception/WrongPasswordException.php', + 'Thelia\\Core\\Security\\Resource\\AdminResources' => $baseDir . '/core/lib/Thelia/Core/Security/Resource/AdminResources.php', + 'Thelia\\Core\\Security\\Role\\Role' => $baseDir . '/core/lib/Thelia/Core/Security/Role/Role.php', + 'Thelia\\Core\\Security\\Role\\RoleInterface' => $baseDir . '/core/lib/Thelia/Core/Security/Role/RoleInterface.php', + 'Thelia\\Core\\Security\\SecurityContext' => $baseDir . '/core/lib/Thelia/Core/Security/SecurityContext.php', + 'Thelia\\Core\\Security\\Token\\CookieTokenProvider' => $baseDir . '/core/lib/Thelia/Core/Security/Token/CookieTokenProvider.php', + 'Thelia\\Core\\Security\\Token\\TokenProvider' => $baseDir . '/core/lib/Thelia/Core/Security/Token/TokenProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\AdminTokenUserProvider' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/AdminTokenUserProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\AdminUserProvider' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/AdminUserProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\CustomerTokenUserProvider' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/CustomerTokenUserProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\CustomerUserProvider' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/CustomerUserProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\TokenUserProvider' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/TokenUserProvider.php', + 'Thelia\\Core\\Security\\UserProvider\\UserProviderInterface' => $baseDir . '/core/lib/Thelia/Core/Security/UserProvider/UserProviderInterface.php', + 'Thelia\\Core\\Security\\User\\UserInterface' => $baseDir . '/core/lib/Thelia/Core/Security/User/UserInterface.php', + 'Thelia\\Core\\Security\\User\\UserPermissionsTrait' => $baseDir . '/core/lib/Thelia/Core/Security/User/UserPermissionsTrait.php', + 'Thelia\\Core\\Serializer\\AbstractSerializer' => $baseDir . '/core/lib/Thelia/Core/Serializer/AbstractSerializer.php', + 'Thelia\\Core\\Serializer\\SerializerInterface' => $baseDir . '/core/lib/Thelia/Core/Serializer/SerializerInterface.php', + 'Thelia\\Core\\Serializer\\SerializerManager' => $baseDir . '/core/lib/Thelia/Core/Serializer/SerializerManager.php', + 'Thelia\\Core\\Serializer\\Serializer\\CSVSerializer' => $baseDir . '/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php', + 'Thelia\\Core\\Serializer\\Serializer\\JSONSerializer' => $baseDir . '/core/lib/Thelia/Core/Serializer/Serializer/JSONSerializer.php', + 'Thelia\\Core\\Serializer\\Serializer\\XMLSerializer' => $baseDir . '/core/lib/Thelia/Core/Serializer/Serializer/XMLSerializer.php', + 'Thelia\\Core\\Serializer\\Serializer\\YAMLSerializer' => $baseDir . '/core/lib/Thelia/Core/Serializer/Serializer/YAMLSerializer.php', + 'Thelia\\Core\\Stack\\ParamInitMiddleware' => $baseDir . '/core/lib/Thelia/Core/Stack/ParamInitMiddleware.php', + 'Thelia\\Core\\Stack\\SessionMiddleware' => $baseDir . '/core/lib/Thelia/Core/Stack/SessionMiddleware.php', + 'Thelia\\Core\\Template\\Assets\\AssetManagerInterface' => $baseDir . '/core/lib/Thelia/Core/Template/Assets/AssetManagerInterface.php', + 'Thelia\\Core\\Template\\Assets\\AssetResolverInterface' => $baseDir . '/core/lib/Thelia/Core/Template/Assets/AssetResolverInterface.php', + 'Thelia\\Core\\Template\\Assets\\AsseticAssetManager' => $baseDir . '/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php', + 'Thelia\\Core\\Template\\Assets\\Filter\\LessDotPhpFilter' => $baseDir . '/core/lib/Thelia/Core/Template/Assets/Filter/LessDotPhpFilter.php', + 'Thelia\\Core\\Template\\Element\\ArraySearchLoopInterface' => $baseDir . '/core/lib/Thelia/Core/Template/Element/ArraySearchLoopInterface.php', + 'Thelia\\Core\\Template\\Element\\BaseI18nLoop' => $baseDir . '/core/lib/Thelia/Core/Template/Element/BaseI18nLoop.php', + 'Thelia\\Core\\Template\\Element\\BaseLoop' => $baseDir . '/core/lib/Thelia/Core/Template/Element/BaseLoop.php', + 'Thelia\\Core\\Template\\Element\\Exception\\ElementNotFoundException' => $baseDir . '/core/lib/Thelia/Core/Template/Element/Exception/ElementNotFoundException.php', + 'Thelia\\Core\\Template\\Element\\Exception\\InvalidElementException' => $baseDir . '/core/lib/Thelia/Core/Template/Element/Exception/InvalidElementException.php', + 'Thelia\\Core\\Template\\Element\\Exception\\LoopException' => $baseDir . '/core/lib/Thelia/Core/Template/Element/Exception/LoopException.php', + 'Thelia\\Core\\Template\\Element\\Exception\\SearchLoopException' => $baseDir . '/core/lib/Thelia/Core/Template/Element/Exception/SearchLoopException.php', + 'Thelia\\Core\\Template\\Element\\FlashMessage' => $baseDir . '/core/lib/Thelia/Core/Template/Element/FlashMessage.php', + 'Thelia\\Core\\Template\\Element\\LoopResult' => $baseDir . '/core/lib/Thelia/Core/Template/Element/LoopResult.php', + 'Thelia\\Core\\Template\\Element\\LoopResultRow' => $baseDir . '/core/lib/Thelia/Core/Template/Element/LoopResultRow.php', + 'Thelia\\Core\\Template\\Element\\PropelSearchLoopInterface' => $baseDir . '/core/lib/Thelia/Core/Template/Element/PropelSearchLoopInterface.php', + 'Thelia\\Core\\Template\\Element\\SearchLoopInterface' => $baseDir . '/core/lib/Thelia/Core/Template/Element/SearchLoopInterface.php', + 'Thelia\\Core\\Template\\Element\\StandardI18nFieldsSearchTrait' => $baseDir . '/core/lib/Thelia/Core/Template/Element/StandardI18nFieldsSearchTrait.php', + 'Thelia\\Core\\Template\\Exception\\ResourceNotFoundException' => $baseDir . '/core/lib/Thelia/Core/Template/Exception/ResourceNotFoundException.php', + 'Thelia\\Core\\Template\\Loop\\Accessory' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Accessory.php', + 'Thelia\\Core\\Template\\Loop\\Address' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Address.php', + 'Thelia\\Core\\Template\\Loop\\Admin' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Admin.php', + 'Thelia\\Core\\Template\\Loop\\Archiver' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Archiver.php', + 'Thelia\\Core\\Template\\Loop\\Area' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Area.php', + 'Thelia\\Core\\Template\\Loop\\Argument\\Argument' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php', + 'Thelia\\Core\\Template\\Loop\\Argument\\ArgumentCollection' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Argument/ArgumentCollection.php', + 'Thelia\\Core\\Template\\Loop\\AssociatedContent' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/AssociatedContent.php', + 'Thelia\\Core\\Template\\Loop\\Attribute' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Attribute.php', + 'Thelia\\Core\\Template\\Loop\\AttributeAvailability' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/AttributeAvailability.php', + 'Thelia\\Core\\Template\\Loop\\AttributeCombination' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/AttributeCombination.php', + 'Thelia\\Core\\Template\\Loop\\Auth' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Auth.php', + 'Thelia\\Core\\Template\\Loop\\BaseSpecificModule' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/BaseSpecificModule.php', + 'Thelia\\Core\\Template\\Loop\\Brand' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Brand.php', + 'Thelia\\Core\\Template\\Loop\\Cart' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Cart.php', + 'Thelia\\Core\\Template\\Loop\\Category' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Category.php', + 'Thelia\\Core\\Template\\Loop\\CategoryPath' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/CategoryPath.php', + 'Thelia\\Core\\Template\\Loop\\CategoryTree' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/CategoryTree.php', + 'Thelia\\Core\\Template\\Loop\\Config' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Config.php', + 'Thelia\\Core\\Template\\Loop\\Content' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Content.php', + 'Thelia\\Core\\Template\\Loop\\Country' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Country.php', + 'Thelia\\Core\\Template\\Loop\\CountryArea' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/CountryArea.php', + 'Thelia\\Core\\Template\\Loop\\Coupon' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Coupon.php', + 'Thelia\\Core\\Template\\Loop\\Currency' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Currency.php', + 'Thelia\\Core\\Template\\Loop\\Customer' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Customer.php', + 'Thelia\\Core\\Template\\Loop\\Delivery' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Delivery.php', + 'Thelia\\Core\\Template\\Loop\\Document' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Document.php', + 'Thelia\\Core\\Template\\Loop\\Export' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Export.php', + 'Thelia\\Core\\Template\\Loop\\ExportCategory' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ExportCategory.php', + 'Thelia\\Core\\Template\\Loop\\Feature' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Feature.php', + 'Thelia\\Core\\Template\\Loop\\FeatureAvailability' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php', + 'Thelia\\Core\\Template\\Loop\\FeatureValue' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/FeatureValue.php', + 'Thelia\\Core\\Template\\Loop\\Feed' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Feed.php', + 'Thelia\\Core\\Template\\Loop\\Folder' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Folder.php', + 'Thelia\\Core\\Template\\Loop\\FolderPath' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/FolderPath.php', + 'Thelia\\Core\\Template\\Loop\\FolderTree' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/FolderTree.php', + 'Thelia\\Core\\Template\\Loop\\Hook' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Hook.php', + 'Thelia\\Core\\Template\\Loop\\Image' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Image.php', + 'Thelia\\Core\\Template\\Loop\\Import' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Import.php', + 'Thelia\\Core\\Template\\Loop\\ImportCategory' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ImportCategory.php', + 'Thelia\\Core\\Template\\Loop\\ImportExportCategory' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ImportExportCategory.php', + 'Thelia\\Core\\Template\\Loop\\ImportExportType' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ImportExportType.php', + 'Thelia\\Core\\Template\\Loop\\Lang' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Lang.php', + 'Thelia\\Core\\Template\\Loop\\Message' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Message.php', + 'Thelia\\Core\\Template\\Loop\\Module' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Module.php', + 'Thelia\\Core\\Template\\Loop\\ModuleConfig' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ModuleConfig.php', + 'Thelia\\Core\\Template\\Loop\\ModuleHook' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ModuleHook.php', + 'Thelia\\Core\\Template\\Loop\\Order' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Order.php', + 'Thelia\\Core\\Template\\Loop\\OrderAddress' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderAddress.php', + 'Thelia\\Core\\Template\\Loop\\OrderCoupon' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php', + 'Thelia\\Core\\Template\\Loop\\OrderProduct' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderProduct.php', + 'Thelia\\Core\\Template\\Loop\\OrderProductAttributeCombination' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderProductAttributeCombination.php', + 'Thelia\\Core\\Template\\Loop\\OrderProductTax' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderProductTax.php', + 'Thelia\\Core\\Template\\Loop\\OrderStatus' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/OrderStatus.php', + 'Thelia\\Core\\Template\\Loop\\Payment' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Payment.php', + 'Thelia\\Core\\Template\\Loop\\Product' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Product.php', + 'Thelia\\Core\\Template\\Loop\\ProductSaleElements' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php', + 'Thelia\\Core\\Template\\Loop\\ProductSaleElementsDocument' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ProductSaleElementsDocument.php', + 'Thelia\\Core\\Template\\Loop\\ProductSaleElementsImage' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ProductSaleElementsImage.php', + 'Thelia\\Core\\Template\\Loop\\ProductTemplate' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/ProductTemplate.php', + 'Thelia\\Core\\Template\\Loop\\Profile' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Profile.php', + 'Thelia\\Core\\Template\\Loop\\Resource' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Resource.php', + 'Thelia\\Core\\Template\\Loop\\Sale' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Sale.php', + 'Thelia\\Core\\Template\\Loop\\Serializer' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Serializer.php', + 'Thelia\\Core\\Template\\Loop\\State' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/State.php', + 'Thelia\\Core\\Template\\Loop\\Tax' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Tax.php', + 'Thelia\\Core\\Template\\Loop\\TaxRule' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/TaxRule.php', + 'Thelia\\Core\\Template\\Loop\\TaxRuleCountry' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/TaxRuleCountry.php', + 'Thelia\\Core\\Template\\Loop\\Template' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Template.php', + 'Thelia\\Core\\Template\\Loop\\Title' => $baseDir . '/core/lib/Thelia/Core/Template/Loop/Title.php', + 'Thelia\\Core\\Template\\ParserContext' => $baseDir . '/core/lib/Thelia/Core/Template/ParserContext.php', + 'Thelia\\Core\\Template\\ParserHelperInterface' => $baseDir . '/core/lib/Thelia/Core/Template/ParserHelperInterface.php', + 'Thelia\\Core\\Template\\ParserInterface' => $baseDir . '/core/lib/Thelia/Core/Template/ParserInterface.php', + 'Thelia\\Core\\Template\\Parser\\ParserAssetResolverFallback' => $baseDir . '/core/lib/Thelia/Core/Template/Parser/ParserAssetResolverFallback.php', + 'Thelia\\Core\\Template\\Parser\\ParserFallback' => $baseDir . '/core/lib/Thelia/Core/Template/Parser/ParserFallback.php', + 'Thelia\\Core\\Template\\Parser\\ParserHelperFallback' => $baseDir . '/core/lib/Thelia/Core/Template/Parser/ParserHelperFallback.php', + 'Thelia\\Core\\Template\\Smarty\\AbstractSmartyPlugin' => $baseDir . '/core/lib/Thelia/Core/Template/Smarty/AbstractSmartyPlugin.php', + 'Thelia\\Core\\Template\\Smarty\\SmartyPluginDescriptor' => $baseDir . '/core/lib/Thelia/Core/Template/Smarty/SmartyPluginDescriptor.php', + 'Thelia\\Core\\Template\\TemplateDefinition' => $baseDir . '/core/lib/Thelia/Core/Template/TemplateDefinition.php', + 'Thelia\\Core\\Template\\TemplateHelperInterface' => $baseDir . '/core/lib/Thelia/Core/Template/TemplateHelperInterface.php', + 'Thelia\\Core\\Template\\TheliaTemplateHelper' => $baseDir . '/core/lib/Thelia/Core/Template/TheliaTemplateHelper.php', + 'Thelia\\Core\\Thelia' => $baseDir . '/core/lib/Thelia/Core/Thelia.php', + 'Thelia\\Core\\TheliaContainerBuilder' => $baseDir . '/core/lib/Thelia/Core/TheliaContainerBuilder.php', + 'Thelia\\Core\\TheliaHttpKernel' => $baseDir . '/core/lib/Thelia/Core/TheliaHttpKernel.php', + 'Thelia\\Core\\TheliaKernelEvents' => $baseDir . '/core/lib/Thelia/Core/TheliaKernelEvents.php', + 'Thelia\\Core\\Translation\\Translator' => $baseDir . '/core/lib/Thelia/Core/Translation/Translator.php', + 'Thelia\\Coupon\\BaseFacade' => $baseDir . '/core/lib/Thelia/Coupon/BaseFacade.php', + 'Thelia\\Coupon\\CouponFactory' => $baseDir . '/core/lib/Thelia/Coupon/CouponFactory.php', + 'Thelia\\Coupon\\CouponManager' => $baseDir . '/core/lib/Thelia/Coupon/CouponManager.php', + 'Thelia\\Coupon\\FacadeInterface' => $baseDir . '/core/lib/Thelia/Coupon/FacadeInterface.php', + 'Thelia\\Coupon\\Type\\AbstractRemove' => $baseDir . '/core/lib/Thelia/Coupon/Type/AbstractRemove.php', + 'Thelia\\Coupon\\Type\\AbstractRemoveOnAttributeValues' => $baseDir . '/core/lib/Thelia/Coupon/Type/AbstractRemoveOnAttributeValues.php', + 'Thelia\\Coupon\\Type\\AbstractRemoveOnCategories' => $baseDir . '/core/lib/Thelia/Coupon/Type/AbstractRemoveOnCategories.php', + 'Thelia\\Coupon\\Type\\AbstractRemoveOnProducts' => $baseDir . '/core/lib/Thelia/Coupon/Type/AbstractRemoveOnProducts.php', + 'Thelia\\Coupon\\Type\\AmountAndPercentageCouponInterface' => $baseDir . '/core/lib/Thelia/Coupon/Type/AmountAndPercentageCouponInterface.php', + 'Thelia\\Coupon\\Type\\AmountCouponTrait' => $baseDir . '/core/lib/Thelia/Coupon/Type/AmountCouponTrait.php', + 'Thelia\\Coupon\\Type\\CouponAbstract' => $baseDir . '/core/lib/Thelia/Coupon/Type/CouponAbstract.php', + 'Thelia\\Coupon\\Type\\CouponInterface' => $baseDir . '/core/lib/Thelia/Coupon/Type/CouponInterface.php', + 'Thelia\\Coupon\\Type\\FreeProduct' => $baseDir . '/core/lib/Thelia/Coupon/Type/FreeProduct.php', + 'Thelia\\Coupon\\Type\\PercentageCouponTrait' => $baseDir . '/core/lib/Thelia/Coupon/Type/PercentageCouponTrait.php', + 'Thelia\\Coupon\\Type\\RemoveAmountOnAttributeValues' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemoveAmountOnAttributeValues.php', + 'Thelia\\Coupon\\Type\\RemoveAmountOnCategories' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemoveAmountOnCategories.php', + 'Thelia\\Coupon\\Type\\RemoveAmountOnProducts' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemoveAmountOnProducts.php', + 'Thelia\\Coupon\\Type\\RemovePercentageOnAttributeValues' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemovePercentageOnAttributeValues.php', + 'Thelia\\Coupon\\Type\\RemovePercentageOnCategories' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemovePercentageOnCategories.php', + 'Thelia\\Coupon\\Type\\RemovePercentageOnProducts' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemovePercentageOnProducts.php', + 'Thelia\\Coupon\\Type\\RemoveXAmount' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemoveXAmount.php', + 'Thelia\\Coupon\\Type\\RemoveXPercent' => $baseDir . '/core/lib/Thelia/Coupon/Type/RemoveXPercent.php', + 'Thelia\\CurrencyConverter\\CurrencyConverter' => $vendorDir . '/thelia/currency-converter/src/CurrencyConverter.php', + 'Thelia\\CurrencyConverter\\Exception\\CurrencyNotFoundException' => $vendorDir . '/thelia/currency-converter/src/Exception/CurrencyNotFoundException.php', + 'Thelia\\CurrencyConverter\\Exception\\MissingProviderException' => $vendorDir . '/thelia/currency-converter/src/Exception/MissingProviderException.php', + 'Thelia\\CurrencyConverter\\Provider\\BaseProvider' => $vendorDir . '/thelia/currency-converter/src/Provider/BaseProvider.php', + 'Thelia\\CurrencyConverter\\Provider\\ECBProvider' => $vendorDir . '/thelia/currency-converter/src/Provider/ECBProvider.php', + 'Thelia\\CurrencyConverter\\Provider\\ProviderInterface' => $vendorDir . '/thelia/currency-converter/src/Provider/ProviderInterface.php', + 'Thelia\\Exception\\AdminAccessDenied' => $baseDir . '/core/lib/Thelia/Exception/AdminAccessDenied.php', + 'Thelia\\Exception\\CouponExpiredException' => $baseDir . '/core/lib/Thelia/Exception/CouponExpiredException.php', + 'Thelia\\Exception\\CouponNoUsageLeftException' => $baseDir . '/core/lib/Thelia/Exception/CouponNoUsageLeftException.php', + 'Thelia\\Exception\\CouponNotReleaseException' => $baseDir . '/core/lib/Thelia/Exception/CouponNotReleaseException.php', + 'Thelia\\Exception\\CustomerException' => $baseDir . '/core/lib/Thelia/Exception/CustomerException.php', + 'Thelia\\Exception\\DocumentException' => $baseDir . '/core/lib/Thelia/Exception/DocumentException.php', + 'Thelia\\Exception\\FileException' => $baseDir . '/core/lib/Thelia/Exception/FileException.php', + 'Thelia\\Exception\\FileNotFoundException' => $baseDir . '/core/lib/Thelia/Exception/FileNotFoundException.php', + 'Thelia\\Exception\\FileNotReadableException' => $baseDir . '/core/lib/Thelia/Exception/FileNotReadableException.php', + 'Thelia\\Exception\\HttpUrlException' => $baseDir . '/core/lib/Thelia/Exception/HttpUrlException.php', + 'Thelia\\Exception\\ImageException' => $baseDir . '/core/lib/Thelia/Exception/ImageException.php', + 'Thelia\\Exception\\InactiveCouponException' => $baseDir . '/core/lib/Thelia/Exception/InactiveCouponException.php', + 'Thelia\\Exception\\InvalidCartException' => $baseDir . '/core/lib/Thelia/Exception/InvalidCartException.php', + 'Thelia\\Exception\\InvalidConditionException' => $baseDir . '/core/lib/Thelia/Exception/InvalidConditionException.php', + 'Thelia\\Exception\\InvalidConditionOperatorException' => $baseDir . '/core/lib/Thelia/Exception/InvalidConditionOperatorException.php', + 'Thelia\\Exception\\InvalidConditionValueException' => $baseDir . '/core/lib/Thelia/Exception/InvalidConditionValueException.php', + 'Thelia\\Exception\\InvalidModuleException' => $baseDir . '/core/lib/Thelia/Exception/InvalidModuleException.php', + 'Thelia\\Exception\\MemberAccessException' => $baseDir . '/core/lib/Thelia/Exception/MemberAccessException.php', + 'Thelia\\Exception\\MissingFacadeException' => $baseDir . '/core/lib/Thelia/Exception/MissingFacadeException.php', + 'Thelia\\Exception\\ModuleException' => $baseDir . '/core/lib/Thelia/Exception/ModuleException.php', + 'Thelia\\Exception\\NotImplementedException' => $baseDir . '/core/lib/Thelia/Exception/NotImplementedException.php', + 'Thelia\\Exception\\OrderException' => $baseDir . '/core/lib/Thelia/Exception/OrderException.php', + 'Thelia\\Exception\\TaxEngineException' => $baseDir . '/core/lib/Thelia/Exception/TaxEngineException.php', + 'Thelia\\Exception\\TheliaProcessException' => $baseDir . '/core/lib/Thelia/Exception/TheliaProcessException.php', + 'Thelia\\Exception\\TypeException' => $baseDir . '/core/lib/Thelia/Exception/TypeException.php', + 'Thelia\\Exception\\UnmatchableConditionException' => $baseDir . '/core/lib/Thelia/Exception/UnmatchableConditionException.php', + 'Thelia\\Exception\\UrlRewritingException' => $baseDir . '/core/lib/Thelia/Exception/UrlRewritingException.php', + 'Thelia\\Files\\Exception\\ProcessFileException' => $baseDir . '/core/lib/Thelia/Files/Exception/ProcessFileException.php', + 'Thelia\\Files\\FileConfiguration' => $baseDir . '/core/lib/Thelia/Files/FileConfiguration.php', + 'Thelia\\Files\\FileManager' => $baseDir . '/core/lib/Thelia/Files/FileManager.php', + 'Thelia\\Files\\FileModelInterface' => $baseDir . '/core/lib/Thelia/Files/FileModelInterface.php', + 'Thelia\\Files\\FileModelParentInterface' => $baseDir . '/core/lib/Thelia/Files/FileModelParentInterface.php', + 'Thelia\\Form\\AddressCountryValidationTrait' => $baseDir . '/core/lib/Thelia/Form/AddressCountryValidationTrait.php', + 'Thelia\\Form\\AddressCreateForm' => $baseDir . '/core/lib/Thelia/Form/AddressCreateForm.php', + 'Thelia\\Form\\AddressUpdateForm' => $baseDir . '/core/lib/Thelia/Form/AddressUpdateForm.php', + 'Thelia\\Form\\AdminCreatePassword' => $baseDir . '/core/lib/Thelia/Form/AdminCreatePassword.php', + 'Thelia\\Form\\AdminLogin' => $baseDir . '/core/lib/Thelia/Form/AdminLogin.php', + 'Thelia\\Form\\AdminLostPassword' => $baseDir . '/core/lib/Thelia/Form/AdminLostPassword.php', + 'Thelia\\Form\\AdministratorCreationForm' => $baseDir . '/core/lib/Thelia/Form/AdministratorCreationForm.php', + 'Thelia\\Form\\AdministratorModificationForm' => $baseDir . '/core/lib/Thelia/Form/AdministratorModificationForm.php', + 'Thelia\\Form\\Api\\ApiCreateForm' => $baseDir . '/core/lib/Thelia/Form/Api/ApiCreateForm.php', + 'Thelia\\Form\\Api\\ApiEmptyForm' => $baseDir . '/core/lib/Thelia/Form/Api/ApiEmptyForm.php', + 'Thelia\\Form\\Api\\ApiUpdateForm' => $baseDir . '/core/lib/Thelia/Form/Api/ApiUpdateForm.php', + 'Thelia\\Form\\Api\\Category\\CategoryCreationForm' => $baseDir . '/core/lib/Thelia/Form/Api/Category/CategoryCreationForm.php', + 'Thelia\\Form\\Api\\Category\\CategoryModificationForm' => $baseDir . '/core/lib/Thelia/Form/Api/Category/CategoryModificationForm.php', + 'Thelia\\Form\\Api\\Customer\\CustomerCreateForm' => $baseDir . '/core/lib/Thelia/Form/Api/Customer/CustomerCreateForm.php', + 'Thelia\\Form\\Api\\Customer\\CustomerLogin' => $baseDir . '/core/lib/Thelia/Form/Api/Customer/CustomerLogin.php', + 'Thelia\\Form\\Api\\Customer\\CustomerUpdateForm' => $baseDir . '/core/lib/Thelia/Form/Api/Customer/CustomerUpdateForm.php', + 'Thelia\\Form\\Api\\ProductSaleElements\\ProductSaleElementsForm' => $baseDir . '/core/lib/Thelia/Form/Api/ProductSaleElements/ProductSaleElementsForm.php', + 'Thelia\\Form\\Api\\Product\\ProductCreationForm' => $baseDir . '/core/lib/Thelia/Form/Api/Product/ProductCreationForm.php', + 'Thelia\\Form\\Api\\Product\\ProductModificationForm' => $baseDir . '/core/lib/Thelia/Form/Api/Product/ProductModificationForm.php', + 'Thelia\\Form\\Area\\AreaCountryForm' => $baseDir . '/core/lib/Thelia/Form/Area/AreaCountryForm.php', + 'Thelia\\Form\\Area\\AreaCreateForm' => $baseDir . '/core/lib/Thelia/Form/Area/AreaCreateForm.php', + 'Thelia\\Form\\Area\\AreaDeleteCountryForm' => $baseDir . '/core/lib/Thelia/Form/Area/AreaDeleteCountryForm.php', + 'Thelia\\Form\\Area\\AreaModificationForm' => $baseDir . '/core/lib/Thelia/Form/Area/AreaModificationForm.php', + 'Thelia\\Form\\Area\\AreaPostageForm' => $baseDir . '/core/lib/Thelia/Form/Area/AreaPostageForm.php', + 'Thelia\\Form\\Area\\CountryListValidationTrait' => $baseDir . '/core/lib/Thelia/Form/Area/CountryListValidationTrait.php', + 'Thelia\\Form\\AttributeAvCreationForm' => $baseDir . '/core/lib/Thelia/Form/AttributeAvCreationForm.php', + 'Thelia\\Form\\AttributeCreationForm' => $baseDir . '/core/lib/Thelia/Form/AttributeCreationForm.php', + 'Thelia\\Form\\AttributeModificationForm' => $baseDir . '/core/lib/Thelia/Form/AttributeModificationForm.php', + 'Thelia\\Form\\BaseForm' => $baseDir . '/core/lib/Thelia/Form/BaseForm.php', + 'Thelia\\Form\\Brand\\BrandCreationForm' => $baseDir . '/core/lib/Thelia/Form/Brand/BrandCreationForm.php', + 'Thelia\\Form\\Brand\\BrandDocumentModification' => $baseDir . '/core/lib/Thelia/Form/Brand/BrandDocumentModification.php', + 'Thelia\\Form\\Brand\\BrandImageModification' => $baseDir . '/core/lib/Thelia/Form/Brand/BrandImageModification.php', + 'Thelia\\Form\\Brand\\BrandModificationForm' => $baseDir . '/core/lib/Thelia/Form/Brand/BrandModificationForm.php', + 'Thelia\\Form\\BruteforceForm' => $baseDir . '/core/lib/Thelia/Form/BruteforceForm.php', + 'Thelia\\Form\\Cache\\AssetsFlushForm' => $baseDir . '/core/lib/Thelia/Form/Cache/AssetsFlushForm.php', + 'Thelia\\Form\\Cache\\CacheFlushForm' => $baseDir . '/core/lib/Thelia/Form/Cache/CacheFlushForm.php', + 'Thelia\\Form\\Cache\\ImagesAndDocumentsCacheFlushForm' => $baseDir . '/core/lib/Thelia/Form/Cache/ImagesAndDocumentsCacheFlushForm.php', + 'Thelia\\Form\\CartAdd' => $baseDir . '/core/lib/Thelia/Form/CartAdd.php', + 'Thelia\\Form\\CategoryCreationForm' => $baseDir . '/core/lib/Thelia/Form/CategoryCreationForm.php', + 'Thelia\\Form\\CategoryDocumentModification' => $baseDir . '/core/lib/Thelia/Form/CategoryDocumentModification.php', + 'Thelia\\Form\\CategoryImageModification' => $baseDir . '/core/lib/Thelia/Form/CategoryImageModification.php', + 'Thelia\\Form\\CategoryModificationForm' => $baseDir . '/core/lib/Thelia/Form/CategoryModificationForm.php', + 'Thelia\\Form\\ConfigCreationForm' => $baseDir . '/core/lib/Thelia/Form/ConfigCreationForm.php', + 'Thelia\\Form\\ConfigModificationForm' => $baseDir . '/core/lib/Thelia/Form/ConfigModificationForm.php', + 'Thelia\\Form\\ConfigStoreForm' => $baseDir . '/core/lib/Thelia/Form/ConfigStoreForm.php', + 'Thelia\\Form\\ContactForm' => $baseDir . '/core/lib/Thelia/Form/ContactForm.php', + 'Thelia\\Form\\ContentCreationForm' => $baseDir . '/core/lib/Thelia/Form/ContentCreationForm.php', + 'Thelia\\Form\\ContentDocumentModification' => $baseDir . '/core/lib/Thelia/Form/ContentDocumentModification.php', + 'Thelia\\Form\\ContentImageModification' => $baseDir . '/core/lib/Thelia/Form/ContentImageModification.php', + 'Thelia\\Form\\ContentModificationForm' => $baseDir . '/core/lib/Thelia/Form/ContentModificationForm.php', + 'Thelia\\Form\\CountryCreationForm' => $baseDir . '/core/lib/Thelia/Form/CountryCreationForm.php', + 'Thelia\\Form\\CountryModificationForm' => $baseDir . '/core/lib/Thelia/Form/CountryModificationForm.php', + 'Thelia\\Form\\CouponCode' => $baseDir . '/core/lib/Thelia/Form/CouponCode.php', + 'Thelia\\Form\\CouponCreationForm' => $baseDir . '/core/lib/Thelia/Form/CouponCreationForm.php', + 'Thelia\\Form\\CurrencyCreationForm' => $baseDir . '/core/lib/Thelia/Form/CurrencyCreationForm.php', + 'Thelia\\Form\\CurrencyModificationForm' => $baseDir . '/core/lib/Thelia/Form/CurrencyModificationForm.php', + 'Thelia\\Form\\CustomerCreateForm' => $baseDir . '/core/lib/Thelia/Form/CustomerCreateForm.php', + 'Thelia\\Form\\CustomerLogin' => $baseDir . '/core/lib/Thelia/Form/CustomerLogin.php', + 'Thelia\\Form\\CustomerLostPasswordForm' => $baseDir . '/core/lib/Thelia/Form/CustomerLostPasswordForm.php', + 'Thelia\\Form\\CustomerPasswordUpdateForm' => $baseDir . '/core/lib/Thelia/Form/CustomerPasswordUpdateForm.php', + 'Thelia\\Form\\CustomerProfileUpdateForm' => $baseDir . '/core/lib/Thelia/Form/CustomerProfileUpdateForm.php', + 'Thelia\\Form\\CustomerUpdateForm' => $baseDir . '/core/lib/Thelia/Form/CustomerUpdateForm.php', + 'Thelia\\Form\\Definition\\AdminForm' => $baseDir . '/core/lib/Thelia/Form/Definition/AdminForm.php', + 'Thelia\\Form\\Definition\\ApiForm' => $baseDir . '/core/lib/Thelia/Form/Definition/ApiForm.php', + 'Thelia\\Form\\Definition\\FrontForm' => $baseDir . '/core/lib/Thelia/Form/Definition/FrontForm.php', + 'Thelia\\Form\\EmptyForm' => $baseDir . '/core/lib/Thelia/Form/EmptyForm.php', + 'Thelia\\Form\\Exception\\FormValidationException' => $baseDir . '/core/lib/Thelia/Form/Exception/FormValidationException.php', + 'Thelia\\Form\\Exception\\ProductNotFoundException' => $baseDir . '/core/lib/Thelia/Form/Exception/ProductNotFoundException.php', + 'Thelia\\Form\\Exception\\StockNotFoundException' => $baseDir . '/core/lib/Thelia/Form/Exception/StockNotFoundException.php', + 'Thelia\\Form\\ExportForm' => $baseDir . '/core/lib/Thelia/Form/ExportForm.php', + 'Thelia\\Form\\FeatureAvCreationForm' => $baseDir . '/core/lib/Thelia/Form/FeatureAvCreationForm.php', + 'Thelia\\Form\\FeatureCreationForm' => $baseDir . '/core/lib/Thelia/Form/FeatureCreationForm.php', + 'Thelia\\Form\\FeatureModificationForm' => $baseDir . '/core/lib/Thelia/Form/FeatureModificationForm.php', + 'Thelia\\Form\\FirewallForm' => $baseDir . '/core/lib/Thelia/Form/FirewallForm.php', + 'Thelia\\Form\\FolderCreationForm' => $baseDir . '/core/lib/Thelia/Form/FolderCreationForm.php', + 'Thelia\\Form\\FolderDocumentModification' => $baseDir . '/core/lib/Thelia/Form/FolderDocumentModification.php', + 'Thelia\\Form\\FolderImageModification' => $baseDir . '/core/lib/Thelia/Form/FolderImageModification.php', + 'Thelia\\Form\\FolderModificationForm' => $baseDir . '/core/lib/Thelia/Form/FolderModificationForm.php', + 'Thelia\\Form\\HookCreationForm' => $baseDir . '/core/lib/Thelia/Form/HookCreationForm.php', + 'Thelia\\Form\\HookModificationForm' => $baseDir . '/core/lib/Thelia/Form/HookModificationForm.php', + 'Thelia\\Form\\Image\\DocumentModification' => $baseDir . '/core/lib/Thelia/Form/Image/DocumentModification.php', + 'Thelia\\Form\\Image\\ImageModification' => $baseDir . '/core/lib/Thelia/Form/Image/ImageModification.php', + 'Thelia\\Form\\ImportForm' => $baseDir . '/core/lib/Thelia/Form/ImportForm.php', + 'Thelia\\Form\\InstallStep3Form' => $baseDir . '/core/lib/Thelia/Form/InstallStep3Form.php', + 'Thelia\\Form\\Lang\\LangCreateForm' => $baseDir . '/core/lib/Thelia/Form/Lang/LangCreateForm.php', + 'Thelia\\Form\\Lang\\LangDefaultBehaviorForm' => $baseDir . '/core/lib/Thelia/Form/Lang/LangDefaultBehaviorForm.php', + 'Thelia\\Form\\Lang\\LangUpdateForm' => $baseDir . '/core/lib/Thelia/Form/Lang/LangUpdateForm.php', + 'Thelia\\Form\\Lang\\LangUrlEvent' => $baseDir . '/core/lib/Thelia/Form/Lang/LangUrlEvent.php', + 'Thelia\\Form\\Lang\\LangUrlForm' => $baseDir . '/core/lib/Thelia/Form/Lang/LangUrlForm.php', + 'Thelia\\Form\\MailingSystemModificationForm' => $baseDir . '/core/lib/Thelia/Form/MailingSystemModificationForm.php', + 'Thelia\\Form\\MessageCreationForm' => $baseDir . '/core/lib/Thelia/Form/MessageCreationForm.php', + 'Thelia\\Form\\MessageModificationForm' => $baseDir . '/core/lib/Thelia/Form/MessageModificationForm.php', + 'Thelia\\Form\\MessageSendSampleForm' => $baseDir . '/core/lib/Thelia/Form/MessageSendSampleForm.php', + 'Thelia\\Form\\ModuleHookCreationForm' => $baseDir . '/core/lib/Thelia/Form/ModuleHookCreationForm.php', + 'Thelia\\Form\\ModuleHookModificationForm' => $baseDir . '/core/lib/Thelia/Form/ModuleHookModificationForm.php', + 'Thelia\\Form\\ModuleImageModification' => $baseDir . '/core/lib/Thelia/Form/ModuleImageModification.php', + 'Thelia\\Form\\ModuleInstallForm' => $baseDir . '/core/lib/Thelia/Form/ModuleInstallForm.php', + 'Thelia\\Form\\ModuleModificationForm' => $baseDir . '/core/lib/Thelia/Form/ModuleModificationForm.php', + 'Thelia\\Form\\NewsletterForm' => $baseDir . '/core/lib/Thelia/Form/NewsletterForm.php', + 'Thelia\\Form\\NewsletterUnsubscribeForm' => $baseDir . '/core/lib/Thelia/Form/NewsletterUnsubscribeForm.php', + 'Thelia\\Form\\OrderDelivery' => $baseDir . '/core/lib/Thelia/Form/OrderDelivery.php', + 'Thelia\\Form\\OrderPayment' => $baseDir . '/core/lib/Thelia/Form/OrderPayment.php', + 'Thelia\\Form\\OrderStatus\\OrderStatusCreationForm' => $baseDir . '/core/lib/Thelia/Form/OrderStatus/OrderStatusCreationForm.php', + 'Thelia\\Form\\OrderStatus\\OrderStatusModificationForm' => $baseDir . '/core/lib/Thelia/Form/OrderStatus/OrderStatusModificationForm.php', + 'Thelia\\Form\\OrderUpdateAddress' => $baseDir . '/core/lib/Thelia/Form/OrderUpdateAddress.php', + 'Thelia\\Form\\ProductCloneForm' => $baseDir . '/core/lib/Thelia/Form/ProductCloneForm.php', + 'Thelia\\Form\\ProductCombinationGenerationForm' => $baseDir . '/core/lib/Thelia/Form/ProductCombinationGenerationForm.php', + 'Thelia\\Form\\ProductCreationForm' => $baseDir . '/core/lib/Thelia/Form/ProductCreationForm.php', + 'Thelia\\Form\\ProductDefaultSaleElementUpdateForm' => $baseDir . '/core/lib/Thelia/Form/ProductDefaultSaleElementUpdateForm.php', + 'Thelia\\Form\\ProductDocumentModification' => $baseDir . '/core/lib/Thelia/Form/ProductDocumentModification.php', + 'Thelia\\Form\\ProductImageModification' => $baseDir . '/core/lib/Thelia/Form/ProductImageModification.php', + 'Thelia\\Form\\ProductModificationForm' => $baseDir . '/core/lib/Thelia/Form/ProductModificationForm.php', + 'Thelia\\Form\\ProductSaleElementUpdateForm' => $baseDir . '/core/lib/Thelia/Form/ProductSaleElementUpdateForm.php', + 'Thelia\\Form\\ProfileCreationForm' => $baseDir . '/core/lib/Thelia/Form/ProfileCreationForm.php', + 'Thelia\\Form\\ProfileModificationForm' => $baseDir . '/core/lib/Thelia/Form/ProfileModificationForm.php', + 'Thelia\\Form\\ProfileUpdateModuleAccessForm' => $baseDir . '/core/lib/Thelia/Form/ProfileUpdateModuleAccessForm.php', + 'Thelia\\Form\\ProfileUpdateResourceAccessForm' => $baseDir . '/core/lib/Thelia/Form/ProfileUpdateResourceAccessForm.php', + 'Thelia\\Form\\Sale\\SaleCreationForm' => $baseDir . '/core/lib/Thelia/Form/Sale/SaleCreationForm.php', + 'Thelia\\Form\\Sale\\SaleModificationForm' => $baseDir . '/core/lib/Thelia/Form/Sale/SaleModificationForm.php', + 'Thelia\\Form\\SeoFieldsTrait' => $baseDir . '/core/lib/Thelia/Form/SeoFieldsTrait.php', + 'Thelia\\Form\\SeoForm' => $baseDir . '/core/lib/Thelia/Form/SeoForm.php', + 'Thelia\\Form\\ShippingZone\\ShippingZoneAddArea' => $baseDir . '/core/lib/Thelia/Form/ShippingZone/ShippingZoneAddArea.php', + 'Thelia\\Form\\ShippingZone\\ShippingZoneRemoveArea' => $baseDir . '/core/lib/Thelia/Form/ShippingZone/ShippingZoneRemoveArea.php', + 'Thelia\\Form\\StandardDescriptionFieldsTrait' => $baseDir . '/core/lib/Thelia/Form/StandardDescriptionFieldsTrait.php', + 'Thelia\\Form\\State\\StateCreationForm' => $baseDir . '/core/lib/Thelia/Form/State/StateCreationForm.php', + 'Thelia\\Form\\State\\StateModificationForm' => $baseDir . '/core/lib/Thelia/Form/State/StateModificationForm.php', + 'Thelia\\Form\\SystemLogConfigurationForm' => $baseDir . '/core/lib/Thelia/Form/SystemLogConfigurationForm.php', + 'Thelia\\Form\\TaxCreationForm' => $baseDir . '/core/lib/Thelia/Form/TaxCreationForm.php', + 'Thelia\\Form\\TaxModificationForm' => $baseDir . '/core/lib/Thelia/Form/TaxModificationForm.php', + 'Thelia\\Form\\TaxRuleCreationForm' => $baseDir . '/core/lib/Thelia/Form/TaxRuleCreationForm.php', + 'Thelia\\Form\\TaxRuleModificationForm' => $baseDir . '/core/lib/Thelia/Form/TaxRuleModificationForm.php', + 'Thelia\\Form\\TaxRuleTaxListUpdateForm' => $baseDir . '/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php', + 'Thelia\\Form\\TemplateCreationForm' => $baseDir . '/core/lib/Thelia/Form/TemplateCreationForm.php', + 'Thelia\\Form\\TemplateModificationForm' => $baseDir . '/core/lib/Thelia/Form/TemplateModificationForm.php', + 'Thelia\\Handler\\ExportHandler' => $baseDir . '/core/lib/Thelia/Handler/ExportHandler.php', + 'Thelia\\Handler\\ImportHandler' => $baseDir . '/core/lib/Thelia/Handler/ImportHandler.php', + 'Thelia\\ImportExport\\AbstractHandler' => $baseDir . '/core/lib/Thelia/ImportExport/AbstractHandler.php', + 'Thelia\\ImportExport\\Export\\AbstractExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/AbstractExport.php', + 'Thelia\\ImportExport\\Export\\ExportHandler' => $baseDir . '/core/lib/Thelia/ImportExport/Export/ExportHandler.php', + 'Thelia\\ImportExport\\Export\\Type\\ContentExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/ContentExport.php', + 'Thelia\\ImportExport\\Export\\Type\\CustomerExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/CustomerExport.php', + 'Thelia\\ImportExport\\Export\\Type\\MailingExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/MailingExport.php', + 'Thelia\\ImportExport\\Export\\Type\\OrderExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/OrderExport.php', + 'Thelia\\ImportExport\\Export\\Type\\ProductPricesExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/ProductPricesExport.php', + 'Thelia\\ImportExport\\Export\\Type\\ProductSEOExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php', + 'Thelia\\ImportExport\\Export\\Type\\ProductTaxedPricesExport' => $baseDir . '/core/lib/Thelia/ImportExport/Export/Type/ProductTaxedPricesExport.php', + 'Thelia\\ImportExport\\Import\\AbstractImport' => $baseDir . '/core/lib/Thelia/ImportExport/Import/AbstractImport.php', + 'Thelia\\ImportExport\\Import\\ImportHandler' => $baseDir . '/core/lib/Thelia/ImportExport/Import/ImportHandler.php', + 'Thelia\\ImportExport\\Import\\Type\\ProductPricesImport' => $baseDir . '/core/lib/Thelia/ImportExport/Import/Type/ProductPricesImport.php', + 'Thelia\\ImportExport\\Import\\Type\\ProductStockImport' => $baseDir . '/core/lib/Thelia/ImportExport/Import/Type/ProductStockImport.php', + 'Thelia\\Install\\BaseInstall' => $baseDir . '/core/lib/Thelia/Install/BaseInstall.php', + 'Thelia\\Install\\CheckDatabaseConnection' => $baseDir . '/core/lib/Thelia/Install/CheckDatabaseConnection.php', + 'Thelia\\Install\\CheckPermission' => $baseDir . '/core/lib/Thelia/Install/CheckPermission.php', + 'Thelia\\Install\\Database' => $baseDir . '/core/lib/Thelia/Install/Database.php', + 'Thelia\\Install\\Exception\\AlreadyInstallException' => $baseDir . '/core/lib/Thelia/Install/Exception/AlreadyInstallException.php', + 'Thelia\\Install\\Exception\\InstallException' => $baseDir . '/core/lib/Thelia/Install/Exception/InstallException.php', + 'Thelia\\Install\\Exception\\UpToDateException' => $baseDir . '/core/lib/Thelia/Install/Exception/UpToDateException.php', + 'Thelia\\Install\\Exception\\UpdateException' => $baseDir . '/core/lib/Thelia/Install/Exception/UpdateException.php', + 'Thelia\\Install\\Update' => $baseDir . '/core/lib/Thelia/Install/Update.php', + 'Thelia\\Log\\AbstractTlogDestination' => $baseDir . '/core/lib/Thelia/Log/AbstractTlogDestination.php', + 'Thelia\\Log\\Destination\\TlogDestinationFile' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationFile.php', + 'Thelia\\Log\\Destination\\TlogDestinationHtml' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationHtml.php', + 'Thelia\\Log\\Destination\\TlogDestinationJavascriptConsole' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationJavascriptConsole.php', + 'Thelia\\Log\\Destination\\TlogDestinationNull' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationNull.php', + 'Thelia\\Log\\Destination\\TlogDestinationPopup' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationPopup.php', + 'Thelia\\Log\\Destination\\TlogDestinationRotatingFile' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationRotatingFile.php', + 'Thelia\\Log\\Destination\\TlogDestinationText' => $baseDir . '/core/lib/Thelia/Log/Destination/TlogDestinationText.php', + 'Thelia\\Log\\Tlog' => $baseDir . '/core/lib/Thelia/Log/Tlog.php', + 'Thelia\\Log\\TlogDestinationConfig' => $baseDir . '/core/lib/Thelia/Log/TlogDestinationConfig.php', + 'Thelia\\Mailer\\MailerFactory' => $baseDir . '/core/lib/Thelia/Mailer/MailerFactory.php', + 'Thelia\\Math\\GCD' => $vendorDir . '/thelia/math-tools/src/GCD.php', + 'Thelia\\Math\\Number' => $vendorDir . '/thelia/math-tools/src/Number.php', + 'Thelia\\Model\\Accessory' => $baseDir . '/core/lib/Thelia/Model/Accessory.php', + 'Thelia\\Model\\AccessoryQuery' => $baseDir . '/core/lib/Thelia/Model/AccessoryQuery.php', + 'Thelia\\Model\\Address' => $baseDir . '/core/lib/Thelia/Model/Address.php', + 'Thelia\\Model\\AddressQuery' => $baseDir . '/core/lib/Thelia/Model/AddressQuery.php', + 'Thelia\\Model\\Admin' => $baseDir . '/core/lib/Thelia/Model/Admin.php', + 'Thelia\\Model\\AdminLog' => $baseDir . '/core/lib/Thelia/Model/AdminLog.php', + 'Thelia\\Model\\AdminLogQuery' => $baseDir . '/core/lib/Thelia/Model/AdminLogQuery.php', + 'Thelia\\Model\\AdminQuery' => $baseDir . '/core/lib/Thelia/Model/AdminQuery.php', + 'Thelia\\Model\\Api' => $baseDir . '/core/lib/Thelia/Model/Api.php', + 'Thelia\\Model\\ApiQuery' => $baseDir . '/core/lib/Thelia/Model/ApiQuery.php', + 'Thelia\\Model\\Area' => $baseDir . '/core/lib/Thelia/Model/Area.php', + 'Thelia\\Model\\AreaDeliveryModule' => $baseDir . '/core/lib/Thelia/Model/AreaDeliveryModule.php', + 'Thelia\\Model\\AreaDeliveryModuleQuery' => $baseDir . '/core/lib/Thelia/Model/AreaDeliveryModuleQuery.php', + 'Thelia\\Model\\AreaQuery' => $baseDir . '/core/lib/Thelia/Model/AreaQuery.php', + 'Thelia\\Model\\Attribute' => $baseDir . '/core/lib/Thelia/Model/Attribute.php', + 'Thelia\\Model\\AttributeAv' => $baseDir . '/core/lib/Thelia/Model/AttributeAv.php', + 'Thelia\\Model\\AttributeAvI18n' => $baseDir . '/core/lib/Thelia/Model/AttributeAvI18n.php', + 'Thelia\\Model\\AttributeAvI18nQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeAvI18nQuery.php', + 'Thelia\\Model\\AttributeAvQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeAvQuery.php', + 'Thelia\\Model\\AttributeCombination' => $baseDir . '/core/lib/Thelia/Model/AttributeCombination.php', + 'Thelia\\Model\\AttributeCombinationQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeCombinationQuery.php', + 'Thelia\\Model\\AttributeI18n' => $baseDir . '/core/lib/Thelia/Model/AttributeI18n.php', + 'Thelia\\Model\\AttributeI18nQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeI18nQuery.php', + 'Thelia\\Model\\AttributeQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeQuery.php', + 'Thelia\\Model\\AttributeTemplate' => $baseDir . '/core/lib/Thelia/Model/AttributeTemplate.php', + 'Thelia\\Model\\AttributeTemplateQuery' => $baseDir . '/core/lib/Thelia/Model/AttributeTemplateQuery.php', + 'Thelia\\Model\\Base\\Accessory' => $baseDir . '/core/lib/Thelia/Model/Base/Accessory.php', + 'Thelia\\Model\\Base\\AccessoryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AccessoryQuery.php', + 'Thelia\\Model\\Base\\Address' => $baseDir . '/core/lib/Thelia/Model/Base/Address.php', + 'Thelia\\Model\\Base\\AddressQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AddressQuery.php', + 'Thelia\\Model\\Base\\Admin' => $baseDir . '/core/lib/Thelia/Model/Base/Admin.php', + 'Thelia\\Model\\Base\\AdminLog' => $baseDir . '/core/lib/Thelia/Model/Base/AdminLog.php', + 'Thelia\\Model\\Base\\AdminLogQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AdminLogQuery.php', + 'Thelia\\Model\\Base\\AdminQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AdminQuery.php', + 'Thelia\\Model\\Base\\Api' => $baseDir . '/core/lib/Thelia/Model/Base/Api.php', + 'Thelia\\Model\\Base\\ApiQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ApiQuery.php', + 'Thelia\\Model\\Base\\Area' => $baseDir . '/core/lib/Thelia/Model/Base/Area.php', + 'Thelia\\Model\\Base\\AreaDeliveryModule' => $baseDir . '/core/lib/Thelia/Model/Base/AreaDeliveryModule.php', + 'Thelia\\Model\\Base\\AreaDeliveryModuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AreaDeliveryModuleQuery.php', + 'Thelia\\Model\\Base\\AreaQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AreaQuery.php', + 'Thelia\\Model\\Base\\Attribute' => $baseDir . '/core/lib/Thelia/Model/Base/Attribute.php', + 'Thelia\\Model\\Base\\AttributeAv' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeAv.php', + 'Thelia\\Model\\Base\\AttributeAvI18n' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeAvI18n.php', + 'Thelia\\Model\\Base\\AttributeAvI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeAvI18nQuery.php', + 'Thelia\\Model\\Base\\AttributeAvQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeAvQuery.php', + 'Thelia\\Model\\Base\\AttributeCombination' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeCombination.php', + 'Thelia\\Model\\Base\\AttributeCombinationQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeCombinationQuery.php', + 'Thelia\\Model\\Base\\AttributeI18n' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeI18n.php', + 'Thelia\\Model\\Base\\AttributeI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeI18nQuery.php', + 'Thelia\\Model\\Base\\AttributeQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeQuery.php', + 'Thelia\\Model\\Base\\AttributeTemplate' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeTemplate.php', + 'Thelia\\Model\\Base\\AttributeTemplateQuery' => $baseDir . '/core/lib/Thelia/Model/Base/AttributeTemplateQuery.php', + 'Thelia\\Model\\Base\\Brand' => $baseDir . '/core/lib/Thelia/Model/Base/Brand.php', + 'Thelia\\Model\\Base\\BrandDocument' => $baseDir . '/core/lib/Thelia/Model/Base/BrandDocument.php', + 'Thelia\\Model\\Base\\BrandDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/BrandDocumentI18n.php', + 'Thelia\\Model\\Base\\BrandDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandDocumentI18nQuery.php', + 'Thelia\\Model\\Base\\BrandDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandDocumentQuery.php', + 'Thelia\\Model\\Base\\BrandI18n' => $baseDir . '/core/lib/Thelia/Model/Base/BrandI18n.php', + 'Thelia\\Model\\Base\\BrandI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandI18nQuery.php', + 'Thelia\\Model\\Base\\BrandImage' => $baseDir . '/core/lib/Thelia/Model/Base/BrandImage.php', + 'Thelia\\Model\\Base\\BrandImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/BrandImageI18n.php', + 'Thelia\\Model\\Base\\BrandImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandImageI18nQuery.php', + 'Thelia\\Model\\Base\\BrandImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandImageQuery.php', + 'Thelia\\Model\\Base\\BrandQuery' => $baseDir . '/core/lib/Thelia/Model/Base/BrandQuery.php', + 'Thelia\\Model\\Base\\Cart' => $baseDir . '/core/lib/Thelia/Model/Base/Cart.php', + 'Thelia\\Model\\Base\\CartItem' => $baseDir . '/core/lib/Thelia/Model/Base/CartItem.php', + 'Thelia\\Model\\Base\\CartItemQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CartItemQuery.php', + 'Thelia\\Model\\Base\\CartQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CartQuery.php', + 'Thelia\\Model\\Base\\Category' => $baseDir . '/core/lib/Thelia/Model/Base/Category.php', + 'Thelia\\Model\\Base\\CategoryAssociatedContent' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryAssociatedContent.php', + 'Thelia\\Model\\Base\\CategoryAssociatedContentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryAssociatedContentQuery.php', + 'Thelia\\Model\\Base\\CategoryDocument' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryDocument.php', + 'Thelia\\Model\\Base\\CategoryDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryDocumentI18n.php', + 'Thelia\\Model\\Base\\CategoryDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryDocumentI18nQuery.php', + 'Thelia\\Model\\Base\\CategoryDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryDocumentQuery.php', + 'Thelia\\Model\\Base\\CategoryI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryI18n.php', + 'Thelia\\Model\\Base\\CategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryI18nQuery.php', + 'Thelia\\Model\\Base\\CategoryImage' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryImage.php', + 'Thelia\\Model\\Base\\CategoryImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryImageI18n.php', + 'Thelia\\Model\\Base\\CategoryImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryImageI18nQuery.php', + 'Thelia\\Model\\Base\\CategoryImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryImageQuery.php', + 'Thelia\\Model\\Base\\CategoryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryQuery.php', + 'Thelia\\Model\\Base\\CategoryVersion' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryVersion.php', + 'Thelia\\Model\\Base\\CategoryVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CategoryVersionQuery.php', + 'Thelia\\Model\\Base\\Config' => $baseDir . '/core/lib/Thelia/Model/Base/Config.php', + 'Thelia\\Model\\Base\\ConfigI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ConfigI18n.php', + 'Thelia\\Model\\Base\\ConfigI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ConfigI18nQuery.php', + 'Thelia\\Model\\Base\\ConfigQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ConfigQuery.php', + 'Thelia\\Model\\Base\\Content' => $baseDir . '/core/lib/Thelia/Model/Base/Content.php', + 'Thelia\\Model\\Base\\ContentDocument' => $baseDir . '/core/lib/Thelia/Model/Base/ContentDocument.php', + 'Thelia\\Model\\Base\\ContentDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ContentDocumentI18n.php', + 'Thelia\\Model\\Base\\ContentDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentDocumentI18nQuery.php', + 'Thelia\\Model\\Base\\ContentDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentDocumentQuery.php', + 'Thelia\\Model\\Base\\ContentFolder' => $baseDir . '/core/lib/Thelia/Model/Base/ContentFolder.php', + 'Thelia\\Model\\Base\\ContentFolderQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentFolderQuery.php', + 'Thelia\\Model\\Base\\ContentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ContentI18n.php', + 'Thelia\\Model\\Base\\ContentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentI18nQuery.php', + 'Thelia\\Model\\Base\\ContentImage' => $baseDir . '/core/lib/Thelia/Model/Base/ContentImage.php', + 'Thelia\\Model\\Base\\ContentImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ContentImageI18n.php', + 'Thelia\\Model\\Base\\ContentImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentImageI18nQuery.php', + 'Thelia\\Model\\Base\\ContentImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentImageQuery.php', + 'Thelia\\Model\\Base\\ContentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentQuery.php', + 'Thelia\\Model\\Base\\ContentVersion' => $baseDir . '/core/lib/Thelia/Model/Base/ContentVersion.php', + 'Thelia\\Model\\Base\\ContentVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ContentVersionQuery.php', + 'Thelia\\Model\\Base\\Country' => $baseDir . '/core/lib/Thelia/Model/Base/Country.php', + 'Thelia\\Model\\Base\\CountryArea' => $baseDir . '/core/lib/Thelia/Model/Base/CountryArea.php', + 'Thelia\\Model\\Base\\CountryAreaQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CountryAreaQuery.php', + 'Thelia\\Model\\Base\\CountryI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CountryI18n.php', + 'Thelia\\Model\\Base\\CountryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CountryI18nQuery.php', + 'Thelia\\Model\\Base\\CountryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CountryQuery.php', + 'Thelia\\Model\\Base\\Coupon' => $baseDir . '/core/lib/Thelia/Model/Base/Coupon.php', + 'Thelia\\Model\\Base\\CouponCountry' => $baseDir . '/core/lib/Thelia/Model/Base/CouponCountry.php', + 'Thelia\\Model\\Base\\CouponCountryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponCountryQuery.php', + 'Thelia\\Model\\Base\\CouponCustomerCount' => $baseDir . '/core/lib/Thelia/Model/Base/CouponCustomerCount.php', + 'Thelia\\Model\\Base\\CouponCustomerCountQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponCustomerCountQuery.php', + 'Thelia\\Model\\Base\\CouponI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CouponI18n.php', + 'Thelia\\Model\\Base\\CouponI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponI18nQuery.php', + 'Thelia\\Model\\Base\\CouponModule' => $baseDir . '/core/lib/Thelia/Model/Base/CouponModule.php', + 'Thelia\\Model\\Base\\CouponModuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponModuleQuery.php', + 'Thelia\\Model\\Base\\CouponQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponQuery.php', + 'Thelia\\Model\\Base\\CouponVersion' => $baseDir . '/core/lib/Thelia/Model/Base/CouponVersion.php', + 'Thelia\\Model\\Base\\CouponVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CouponVersionQuery.php', + 'Thelia\\Model\\Base\\Currency' => $baseDir . '/core/lib/Thelia/Model/Base/Currency.php', + 'Thelia\\Model\\Base\\CurrencyI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CurrencyI18n.php', + 'Thelia\\Model\\Base\\CurrencyI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CurrencyI18nQuery.php', + 'Thelia\\Model\\Base\\CurrencyQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CurrencyQuery.php', + 'Thelia\\Model\\Base\\Customer' => $baseDir . '/core/lib/Thelia/Model/Base/Customer.php', + 'Thelia\\Model\\Base\\CustomerQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerQuery.php', + 'Thelia\\Model\\Base\\CustomerTitle' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerTitle.php', + 'Thelia\\Model\\Base\\CustomerTitleI18n' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerTitleI18n.php', + 'Thelia\\Model\\Base\\CustomerTitleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerTitleI18nQuery.php', + 'Thelia\\Model\\Base\\CustomerTitleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerTitleQuery.php', + 'Thelia\\Model\\Base\\CustomerVersion' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerVersion.php', + 'Thelia\\Model\\Base\\CustomerVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/CustomerVersionQuery.php', + 'Thelia\\Model\\Base\\Export' => $baseDir . '/core/lib/Thelia/Model/Base/Export.php', + 'Thelia\\Model\\Base\\ExportCategory' => $baseDir . '/core/lib/Thelia/Model/Base/ExportCategory.php', + 'Thelia\\Model\\Base\\ExportCategoryI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ExportCategoryI18n.php', + 'Thelia\\Model\\Base\\ExportCategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ExportCategoryI18nQuery.php', + 'Thelia\\Model\\Base\\ExportCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ExportCategoryQuery.php', + 'Thelia\\Model\\Base\\ExportI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ExportI18n.php', + 'Thelia\\Model\\Base\\ExportI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ExportI18nQuery.php', + 'Thelia\\Model\\Base\\ExportQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ExportQuery.php', + 'Thelia\\Model\\Base\\Feature' => $baseDir . '/core/lib/Thelia/Model/Base/Feature.php', + 'Thelia\\Model\\Base\\FeatureAv' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureAv.php', + 'Thelia\\Model\\Base\\FeatureAvI18n' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureAvI18n.php', + 'Thelia\\Model\\Base\\FeatureAvI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureAvI18nQuery.php', + 'Thelia\\Model\\Base\\FeatureAvQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureAvQuery.php', + 'Thelia\\Model\\Base\\FeatureI18n' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureI18n.php', + 'Thelia\\Model\\Base\\FeatureI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureI18nQuery.php', + 'Thelia\\Model\\Base\\FeatureProduct' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureProduct.php', + 'Thelia\\Model\\Base\\FeatureProductQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureProductQuery.php', + 'Thelia\\Model\\Base\\FeatureQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureQuery.php', + 'Thelia\\Model\\Base\\FeatureTemplate' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureTemplate.php', + 'Thelia\\Model\\Base\\FeatureTemplateQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FeatureTemplateQuery.php', + 'Thelia\\Model\\Base\\Folder' => $baseDir . '/core/lib/Thelia/Model/Base/Folder.php', + 'Thelia\\Model\\Base\\FolderDocument' => $baseDir . '/core/lib/Thelia/Model/Base/FolderDocument.php', + 'Thelia\\Model\\Base\\FolderDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/FolderDocumentI18n.php', + 'Thelia\\Model\\Base\\FolderDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderDocumentI18nQuery.php', + 'Thelia\\Model\\Base\\FolderDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderDocumentQuery.php', + 'Thelia\\Model\\Base\\FolderI18n' => $baseDir . '/core/lib/Thelia/Model/Base/FolderI18n.php', + 'Thelia\\Model\\Base\\FolderI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderI18nQuery.php', + 'Thelia\\Model\\Base\\FolderImage' => $baseDir . '/core/lib/Thelia/Model/Base/FolderImage.php', + 'Thelia\\Model\\Base\\FolderImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/FolderImageI18n.php', + 'Thelia\\Model\\Base\\FolderImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderImageI18nQuery.php', + 'Thelia\\Model\\Base\\FolderImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderImageQuery.php', + 'Thelia\\Model\\Base\\FolderQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderQuery.php', + 'Thelia\\Model\\Base\\FolderVersion' => $baseDir . '/core/lib/Thelia/Model/Base/FolderVersion.php', + 'Thelia\\Model\\Base\\FolderVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FolderVersionQuery.php', + 'Thelia\\Model\\Base\\FormFirewall' => $baseDir . '/core/lib/Thelia/Model/Base/FormFirewall.php', + 'Thelia\\Model\\Base\\FormFirewallQuery' => $baseDir . '/core/lib/Thelia/Model/Base/FormFirewallQuery.php', + 'Thelia\\Model\\Base\\Hook' => $baseDir . '/core/lib/Thelia/Model/Base/Hook.php', + 'Thelia\\Model\\Base\\HookI18n' => $baseDir . '/core/lib/Thelia/Model/Base/HookI18n.php', + 'Thelia\\Model\\Base\\HookI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/HookI18nQuery.php', + 'Thelia\\Model\\Base\\HookQuery' => $baseDir . '/core/lib/Thelia/Model/Base/HookQuery.php', + 'Thelia\\Model\\Base\\IgnoredModuleHook' => $baseDir . '/core/lib/Thelia/Model/Base/IgnoredModuleHook.php', + 'Thelia\\Model\\Base\\IgnoredModuleHookQuery' => $baseDir . '/core/lib/Thelia/Model/Base/IgnoredModuleHookQuery.php', + 'Thelia\\Model\\Base\\Import' => $baseDir . '/core/lib/Thelia/Model/Base/Import.php', + 'Thelia\\Model\\Base\\ImportCategory' => $baseDir . '/core/lib/Thelia/Model/Base/ImportCategory.php', + 'Thelia\\Model\\Base\\ImportCategoryI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ImportCategoryI18n.php', + 'Thelia\\Model\\Base\\ImportCategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ImportCategoryI18nQuery.php', + 'Thelia\\Model\\Base\\ImportCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ImportCategoryQuery.php', + 'Thelia\\Model\\Base\\ImportI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ImportI18n.php', + 'Thelia\\Model\\Base\\ImportI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ImportI18nQuery.php', + 'Thelia\\Model\\Base\\ImportQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ImportQuery.php', + 'Thelia\\Model\\Base\\Lang' => $baseDir . '/core/lib/Thelia/Model/Base/Lang.php', + 'Thelia\\Model\\Base\\LangQuery' => $baseDir . '/core/lib/Thelia/Model/Base/LangQuery.php', + 'Thelia\\Model\\Base\\Message' => $baseDir . '/core/lib/Thelia/Model/Base/Message.php', + 'Thelia\\Model\\Base\\MessageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/MessageI18n.php', + 'Thelia\\Model\\Base\\MessageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/MessageI18nQuery.php', + 'Thelia\\Model\\Base\\MessageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/MessageQuery.php', + 'Thelia\\Model\\Base\\MessageVersion' => $baseDir . '/core/lib/Thelia/Model/Base/MessageVersion.php', + 'Thelia\\Model\\Base\\MessageVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/MessageVersionQuery.php', + 'Thelia\\Model\\Base\\MetaData' => $baseDir . '/core/lib/Thelia/Model/Base/MetaData.php', + 'Thelia\\Model\\Base\\MetaDataQuery' => $baseDir . '/core/lib/Thelia/Model/Base/MetaDataQuery.php', + 'Thelia\\Model\\Base\\Module' => $baseDir . '/core/lib/Thelia/Model/Base/Module.php', + 'Thelia\\Model\\Base\\ModuleConfig' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleConfig.php', + 'Thelia\\Model\\Base\\ModuleConfigI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleConfigI18n.php', + 'Thelia\\Model\\Base\\ModuleConfigI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleConfigI18nQuery.php', + 'Thelia\\Model\\Base\\ModuleConfigQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleConfigQuery.php', + 'Thelia\\Model\\Base\\ModuleHook' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleHook.php', + 'Thelia\\Model\\Base\\ModuleHookQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleHookQuery.php', + 'Thelia\\Model\\Base\\ModuleI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleI18n.php', + 'Thelia\\Model\\Base\\ModuleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleI18nQuery.php', + 'Thelia\\Model\\Base\\ModuleImage' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleImage.php', + 'Thelia\\Model\\Base\\ModuleImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleImageI18n.php', + 'Thelia\\Model\\Base\\ModuleImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleImageI18nQuery.php', + 'Thelia\\Model\\Base\\ModuleImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleImageQuery.php', + 'Thelia\\Model\\Base\\ModuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ModuleQuery.php', + 'Thelia\\Model\\Base\\Newsletter' => $baseDir . '/core/lib/Thelia/Model/Base/Newsletter.php', + 'Thelia\\Model\\Base\\NewsletterQuery' => $baseDir . '/core/lib/Thelia/Model/Base/NewsletterQuery.php', + 'Thelia\\Model\\Base\\Order' => $baseDir . '/core/lib/Thelia/Model/Base/Order.php', + 'Thelia\\Model\\Base\\OrderAddress' => $baseDir . '/core/lib/Thelia/Model/Base/OrderAddress.php', + 'Thelia\\Model\\Base\\OrderAddressQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderAddressQuery.php', + 'Thelia\\Model\\Base\\OrderCoupon' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCoupon.php', + 'Thelia\\Model\\Base\\OrderCouponCountry' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCouponCountry.php', + 'Thelia\\Model\\Base\\OrderCouponCountryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCouponCountryQuery.php', + 'Thelia\\Model\\Base\\OrderCouponModule' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCouponModule.php', + 'Thelia\\Model\\Base\\OrderCouponModuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCouponModuleQuery.php', + 'Thelia\\Model\\Base\\OrderCouponQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderCouponQuery.php', + 'Thelia\\Model\\Base\\OrderProduct' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProduct.php', + 'Thelia\\Model\\Base\\OrderProductAttributeCombination' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProductAttributeCombination.php', + 'Thelia\\Model\\Base\\OrderProductAttributeCombinationQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProductAttributeCombinationQuery.php', + 'Thelia\\Model\\Base\\OrderProductQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProductQuery.php', + 'Thelia\\Model\\Base\\OrderProductTax' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProductTax.php', + 'Thelia\\Model\\Base\\OrderProductTaxQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderProductTaxQuery.php', + 'Thelia\\Model\\Base\\OrderQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderQuery.php', + 'Thelia\\Model\\Base\\OrderStatus' => $baseDir . '/core/lib/Thelia/Model/Base/OrderStatus.php', + 'Thelia\\Model\\Base\\OrderStatusI18n' => $baseDir . '/core/lib/Thelia/Model/Base/OrderStatusI18n.php', + 'Thelia\\Model\\Base\\OrderStatusI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderStatusI18nQuery.php', + 'Thelia\\Model\\Base\\OrderStatusQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderStatusQuery.php', + 'Thelia\\Model\\Base\\OrderVersion' => $baseDir . '/core/lib/Thelia/Model/Base/OrderVersion.php', + 'Thelia\\Model\\Base\\OrderVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/OrderVersionQuery.php', + 'Thelia\\Model\\Base\\Product' => $baseDir . '/core/lib/Thelia/Model/Base/Product.php', + 'Thelia\\Model\\Base\\ProductAssociatedContent' => $baseDir . '/core/lib/Thelia/Model/Base/ProductAssociatedContent.php', + 'Thelia\\Model\\Base\\ProductAssociatedContentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductAssociatedContentQuery.php', + 'Thelia\\Model\\Base\\ProductCategory' => $baseDir . '/core/lib/Thelia/Model/Base/ProductCategory.php', + 'Thelia\\Model\\Base\\ProductCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductCategoryQuery.php', + 'Thelia\\Model\\Base\\ProductDocument' => $baseDir . '/core/lib/Thelia/Model/Base/ProductDocument.php', + 'Thelia\\Model\\Base\\ProductDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ProductDocumentI18n.php', + 'Thelia\\Model\\Base\\ProductDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductDocumentI18nQuery.php', + 'Thelia\\Model\\Base\\ProductDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductDocumentQuery.php', + 'Thelia\\Model\\Base\\ProductI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ProductI18n.php', + 'Thelia\\Model\\Base\\ProductI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductI18nQuery.php', + 'Thelia\\Model\\Base\\ProductImage' => $baseDir . '/core/lib/Thelia/Model/Base/ProductImage.php', + 'Thelia\\Model\\Base\\ProductImageI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ProductImageI18n.php', + 'Thelia\\Model\\Base\\ProductImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductImageI18nQuery.php', + 'Thelia\\Model\\Base\\ProductImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductImageQuery.php', + 'Thelia\\Model\\Base\\ProductPrice' => $baseDir . '/core/lib/Thelia/Model/Base/ProductPrice.php', + 'Thelia\\Model\\Base\\ProductPriceQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductPriceQuery.php', + 'Thelia\\Model\\Base\\ProductQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductQuery.php', + 'Thelia\\Model\\Base\\ProductSaleElements' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElements.php', + 'Thelia\\Model\\Base\\ProductSaleElementsProductDocument' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElementsProductDocument.php', + 'Thelia\\Model\\Base\\ProductSaleElementsProductDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElementsProductDocumentQuery.php', + 'Thelia\\Model\\Base\\ProductSaleElementsProductImage' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElementsProductImage.php', + 'Thelia\\Model\\Base\\ProductSaleElementsProductImageQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElementsProductImageQuery.php', + 'Thelia\\Model\\Base\\ProductSaleElementsQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductSaleElementsQuery.php', + 'Thelia\\Model\\Base\\ProductVersion' => $baseDir . '/core/lib/Thelia/Model/Base/ProductVersion.php', + 'Thelia\\Model\\Base\\ProductVersionQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProductVersionQuery.php', + 'Thelia\\Model\\Base\\Profile' => $baseDir . '/core/lib/Thelia/Model/Base/Profile.php', + 'Thelia\\Model\\Base\\ProfileI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileI18n.php', + 'Thelia\\Model\\Base\\ProfileI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileI18nQuery.php', + 'Thelia\\Model\\Base\\ProfileModule' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileModule.php', + 'Thelia\\Model\\Base\\ProfileModuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileModuleQuery.php', + 'Thelia\\Model\\Base\\ProfileQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileQuery.php', + 'Thelia\\Model\\Base\\ProfileResource' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileResource.php', + 'Thelia\\Model\\Base\\ProfileResourceQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ProfileResourceQuery.php', + 'Thelia\\Model\\Base\\Resource' => $baseDir . '/core/lib/Thelia/Model/Base/Resource.php', + 'Thelia\\Model\\Base\\ResourceI18n' => $baseDir . '/core/lib/Thelia/Model/Base/ResourceI18n.php', + 'Thelia\\Model\\Base\\ResourceI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ResourceI18nQuery.php', + 'Thelia\\Model\\Base\\ResourceQuery' => $baseDir . '/core/lib/Thelia/Model/Base/ResourceQuery.php', + 'Thelia\\Model\\Base\\RewritingArgument' => $baseDir . '/core/lib/Thelia/Model/Base/RewritingArgument.php', + 'Thelia\\Model\\Base\\RewritingArgumentQuery' => $baseDir . '/core/lib/Thelia/Model/Base/RewritingArgumentQuery.php', + 'Thelia\\Model\\Base\\RewritingUrl' => $baseDir . '/core/lib/Thelia/Model/Base/RewritingUrl.php', + 'Thelia\\Model\\Base\\RewritingUrlQuery' => $baseDir . '/core/lib/Thelia/Model/Base/RewritingUrlQuery.php', + 'Thelia\\Model\\Base\\Sale' => $baseDir . '/core/lib/Thelia/Model/Base/Sale.php', + 'Thelia\\Model\\Base\\SaleI18n' => $baseDir . '/core/lib/Thelia/Model/Base/SaleI18n.php', + 'Thelia\\Model\\Base\\SaleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/SaleI18nQuery.php', + 'Thelia\\Model\\Base\\SaleOffsetCurrency' => $baseDir . '/core/lib/Thelia/Model/Base/SaleOffsetCurrency.php', + 'Thelia\\Model\\Base\\SaleOffsetCurrencyQuery' => $baseDir . '/core/lib/Thelia/Model/Base/SaleOffsetCurrencyQuery.php', + 'Thelia\\Model\\Base\\SaleProduct' => $baseDir . '/core/lib/Thelia/Model/Base/SaleProduct.php', + 'Thelia\\Model\\Base\\SaleProductQuery' => $baseDir . '/core/lib/Thelia/Model/Base/SaleProductQuery.php', + 'Thelia\\Model\\Base\\SaleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/SaleQuery.php', + 'Thelia\\Model\\Base\\State' => $baseDir . '/core/lib/Thelia/Model/Base/State.php', + 'Thelia\\Model\\Base\\StateI18n' => $baseDir . '/core/lib/Thelia/Model/Base/StateI18n.php', + 'Thelia\\Model\\Base\\StateI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/StateI18nQuery.php', + 'Thelia\\Model\\Base\\StateQuery' => $baseDir . '/core/lib/Thelia/Model/Base/StateQuery.php', + 'Thelia\\Model\\Base\\Tax' => $baseDir . '/core/lib/Thelia/Model/Base/Tax.php', + 'Thelia\\Model\\Base\\TaxI18n' => $baseDir . '/core/lib/Thelia/Model/Base/TaxI18n.php', + 'Thelia\\Model\\Base\\TaxI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TaxI18nQuery.php', + 'Thelia\\Model\\Base\\TaxQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TaxQuery.php', + 'Thelia\\Model\\Base\\TaxRule' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRule.php', + 'Thelia\\Model\\Base\\TaxRuleCountry' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRuleCountry.php', + 'Thelia\\Model\\Base\\TaxRuleCountryQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRuleCountryQuery.php', + 'Thelia\\Model\\Base\\TaxRuleI18n' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRuleI18n.php', + 'Thelia\\Model\\Base\\TaxRuleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRuleI18nQuery.php', + 'Thelia\\Model\\Base\\TaxRuleQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TaxRuleQuery.php', + 'Thelia\\Model\\Base\\Template' => $baseDir . '/core/lib/Thelia/Model/Base/Template.php', + 'Thelia\\Model\\Base\\TemplateI18n' => $baseDir . '/core/lib/Thelia/Model/Base/TemplateI18n.php', + 'Thelia\\Model\\Base\\TemplateI18nQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TemplateI18nQuery.php', + 'Thelia\\Model\\Base\\TemplateQuery' => $baseDir . '/core/lib/Thelia/Model/Base/TemplateQuery.php', + 'Thelia\\Model\\Brand' => $baseDir . '/core/lib/Thelia/Model/Brand.php', + 'Thelia\\Model\\BrandDocument' => $baseDir . '/core/lib/Thelia/Model/BrandDocument.php', + 'Thelia\\Model\\BrandDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/BrandDocumentI18n.php', + 'Thelia\\Model\\BrandDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/BrandDocumentI18nQuery.php', + 'Thelia\\Model\\BrandDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/BrandDocumentQuery.php', + 'Thelia\\Model\\BrandI18n' => $baseDir . '/core/lib/Thelia/Model/BrandI18n.php', + 'Thelia\\Model\\BrandI18nQuery' => $baseDir . '/core/lib/Thelia/Model/BrandI18nQuery.php', + 'Thelia\\Model\\BrandImage' => $baseDir . '/core/lib/Thelia/Model/BrandImage.php', + 'Thelia\\Model\\BrandImageI18n' => $baseDir . '/core/lib/Thelia/Model/BrandImageI18n.php', + 'Thelia\\Model\\BrandImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/BrandImageI18nQuery.php', + 'Thelia\\Model\\BrandImageQuery' => $baseDir . '/core/lib/Thelia/Model/BrandImageQuery.php', + 'Thelia\\Model\\BrandQuery' => $baseDir . '/core/lib/Thelia/Model/BrandQuery.php', + 'Thelia\\Model\\Breadcrumb\\BrandBreadcrumbTrait' => $baseDir . '/core/lib/Thelia/Model/Breadcrumb/BrandBreadcrumbTrait.php', + 'Thelia\\Model\\Breadcrumb\\BreadcrumbInterface' => $baseDir . '/core/lib/Thelia/Model/Breadcrumb/BreadcrumbInterface.php', + 'Thelia\\Model\\Breadcrumb\\CatalogBreadcrumbTrait' => $baseDir . '/core/lib/Thelia/Model/Breadcrumb/CatalogBreadcrumbTrait.php', + 'Thelia\\Model\\Breadcrumb\\FolderBreadcrumbTrait' => $baseDir . '/core/lib/Thelia/Model/Breadcrumb/FolderBreadcrumbTrait.php', + 'Thelia\\Model\\Cart' => $baseDir . '/core/lib/Thelia/Model/Cart.php', + 'Thelia\\Model\\CartItem' => $baseDir . '/core/lib/Thelia/Model/CartItem.php', + 'Thelia\\Model\\CartItemQuery' => $baseDir . '/core/lib/Thelia/Model/CartItemQuery.php', + 'Thelia\\Model\\CartQuery' => $baseDir . '/core/lib/Thelia/Model/CartQuery.php', + 'Thelia\\Model\\Category' => $baseDir . '/core/lib/Thelia/Model/Category.php', + 'Thelia\\Model\\CategoryAssociatedContent' => $baseDir . '/core/lib/Thelia/Model/CategoryAssociatedContent.php', + 'Thelia\\Model\\CategoryAssociatedContentQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryAssociatedContentQuery.php', + 'Thelia\\Model\\CategoryDocument' => $baseDir . '/core/lib/Thelia/Model/CategoryDocument.php', + 'Thelia\\Model\\CategoryDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/CategoryDocumentI18n.php', + 'Thelia\\Model\\CategoryDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryDocumentI18nQuery.php', + 'Thelia\\Model\\CategoryDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryDocumentQuery.php', + 'Thelia\\Model\\CategoryI18n' => $baseDir . '/core/lib/Thelia/Model/CategoryI18n.php', + 'Thelia\\Model\\CategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryI18nQuery.php', + 'Thelia\\Model\\CategoryImage' => $baseDir . '/core/lib/Thelia/Model/CategoryImage.php', + 'Thelia\\Model\\CategoryImageI18n' => $baseDir . '/core/lib/Thelia/Model/CategoryImageI18n.php', + 'Thelia\\Model\\CategoryImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryImageI18nQuery.php', + 'Thelia\\Model\\CategoryImageQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryImageQuery.php', + 'Thelia\\Model\\CategoryQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryQuery.php', + 'Thelia\\Model\\CategoryVersion' => $baseDir . '/core/lib/Thelia/Model/CategoryVersion.php', + 'Thelia\\Model\\CategoryVersionQuery' => $baseDir . '/core/lib/Thelia/Model/CategoryVersionQuery.php', + 'Thelia\\Model\\Config' => $baseDir . '/core/lib/Thelia/Model/Config.php', + 'Thelia\\Model\\ConfigI18n' => $baseDir . '/core/lib/Thelia/Model/ConfigI18n.php', + 'Thelia\\Model\\ConfigI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ConfigI18nQuery.php', + 'Thelia\\Model\\ConfigQuery' => $baseDir . '/core/lib/Thelia/Model/ConfigQuery.php', + 'Thelia\\Model\\Content' => $baseDir . '/core/lib/Thelia/Model/Content.php', + 'Thelia\\Model\\ContentDocument' => $baseDir . '/core/lib/Thelia/Model/ContentDocument.php', + 'Thelia\\Model\\ContentDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/ContentDocumentI18n.php', + 'Thelia\\Model\\ContentDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ContentDocumentI18nQuery.php', + 'Thelia\\Model\\ContentDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/ContentDocumentQuery.php', + 'Thelia\\Model\\ContentFolder' => $baseDir . '/core/lib/Thelia/Model/ContentFolder.php', + 'Thelia\\Model\\ContentFolderQuery' => $baseDir . '/core/lib/Thelia/Model/ContentFolderQuery.php', + 'Thelia\\Model\\ContentI18n' => $baseDir . '/core/lib/Thelia/Model/ContentI18n.php', + 'Thelia\\Model\\ContentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ContentI18nQuery.php', + 'Thelia\\Model\\ContentImage' => $baseDir . '/core/lib/Thelia/Model/ContentImage.php', + 'Thelia\\Model\\ContentImageI18n' => $baseDir . '/core/lib/Thelia/Model/ContentImageI18n.php', + 'Thelia\\Model\\ContentImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ContentImageI18nQuery.php', + 'Thelia\\Model\\ContentImageQuery' => $baseDir . '/core/lib/Thelia/Model/ContentImageQuery.php', + 'Thelia\\Model\\ContentQuery' => $baseDir . '/core/lib/Thelia/Model/ContentQuery.php', + 'Thelia\\Model\\ContentVersion' => $baseDir . '/core/lib/Thelia/Model/ContentVersion.php', + 'Thelia\\Model\\ContentVersionQuery' => $baseDir . '/core/lib/Thelia/Model/ContentVersionQuery.php', + 'Thelia\\Model\\Country' => $baseDir . '/core/lib/Thelia/Model/Country.php', + 'Thelia\\Model\\CountryArea' => $baseDir . '/core/lib/Thelia/Model/CountryArea.php', + 'Thelia\\Model\\CountryAreaQuery' => $baseDir . '/core/lib/Thelia/Model/CountryAreaQuery.php', + 'Thelia\\Model\\CountryI18n' => $baseDir . '/core/lib/Thelia/Model/CountryI18n.php', + 'Thelia\\Model\\CountryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CountryI18nQuery.php', + 'Thelia\\Model\\CountryQuery' => $baseDir . '/core/lib/Thelia/Model/CountryQuery.php', + 'Thelia\\Model\\Coupon' => $baseDir . '/core/lib/Thelia/Model/Coupon.php', + 'Thelia\\Model\\CouponCountry' => $baseDir . '/core/lib/Thelia/Model/CouponCountry.php', + 'Thelia\\Model\\CouponCountryQuery' => $baseDir . '/core/lib/Thelia/Model/CouponCountryQuery.php', + 'Thelia\\Model\\CouponCustomerCount' => $baseDir . '/core/lib/Thelia/Model/CouponCustomerCount.php', + 'Thelia\\Model\\CouponCustomerCountQuery' => $baseDir . '/core/lib/Thelia/Model/CouponCustomerCountQuery.php', + 'Thelia\\Model\\CouponI18n' => $baseDir . '/core/lib/Thelia/Model/CouponI18n.php', + 'Thelia\\Model\\CouponI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CouponI18nQuery.php', + 'Thelia\\Model\\CouponModule' => $baseDir . '/core/lib/Thelia/Model/CouponModule.php', + 'Thelia\\Model\\CouponModuleQuery' => $baseDir . '/core/lib/Thelia/Model/CouponModuleQuery.php', + 'Thelia\\Model\\CouponQuery' => $baseDir . '/core/lib/Thelia/Model/CouponQuery.php', + 'Thelia\\Model\\CouponVersion' => $baseDir . '/core/lib/Thelia/Model/CouponVersion.php', + 'Thelia\\Model\\CouponVersionQuery' => $baseDir . '/core/lib/Thelia/Model/CouponVersionQuery.php', + 'Thelia\\Model\\Currency' => $baseDir . '/core/lib/Thelia/Model/Currency.php', + 'Thelia\\Model\\CurrencyI18n' => $baseDir . '/core/lib/Thelia/Model/CurrencyI18n.php', + 'Thelia\\Model\\CurrencyI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CurrencyI18nQuery.php', + 'Thelia\\Model\\CurrencyQuery' => $baseDir . '/core/lib/Thelia/Model/CurrencyQuery.php', + 'Thelia\\Model\\Customer' => $baseDir . '/core/lib/Thelia/Model/Customer.php', + 'Thelia\\Model\\CustomerQuery' => $baseDir . '/core/lib/Thelia/Model/CustomerQuery.php', + 'Thelia\\Model\\CustomerTitle' => $baseDir . '/core/lib/Thelia/Model/CustomerTitle.php', + 'Thelia\\Model\\CustomerTitleI18n' => $baseDir . '/core/lib/Thelia/Model/CustomerTitleI18n.php', + 'Thelia\\Model\\CustomerTitleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/CustomerTitleI18nQuery.php', + 'Thelia\\Model\\CustomerTitleQuery' => $baseDir . '/core/lib/Thelia/Model/CustomerTitleQuery.php', + 'Thelia\\Model\\CustomerVersion' => $baseDir . '/core/lib/Thelia/Model/CustomerVersion.php', + 'Thelia\\Model\\CustomerVersionQuery' => $baseDir . '/core/lib/Thelia/Model/CustomerVersionQuery.php', + 'Thelia\\Model\\Exception\\InvalidArgumentException' => $baseDir . '/core/lib/Thelia/Model/Exception/InvalidArgumentException.php', + 'Thelia\\Model\\Exception\\ModelException' => $baseDir . '/core/lib/Thelia/Model/Exception/ModelException.php', + 'Thelia\\Model\\Export' => $baseDir . '/core/lib/Thelia/Model/Export.php', + 'Thelia\\Model\\ExportCategory' => $baseDir . '/core/lib/Thelia/Model/ExportCategory.php', + 'Thelia\\Model\\ExportCategoryI18n' => $baseDir . '/core/lib/Thelia/Model/ExportCategoryI18n.php', + 'Thelia\\Model\\ExportCategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ExportCategoryI18nQuery.php', + 'Thelia\\Model\\ExportCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/ExportCategoryQuery.php', + 'Thelia\\Model\\ExportI18n' => $baseDir . '/core/lib/Thelia/Model/ExportI18n.php', + 'Thelia\\Model\\ExportI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ExportI18nQuery.php', + 'Thelia\\Model\\ExportQuery' => $baseDir . '/core/lib/Thelia/Model/ExportQuery.php', + 'Thelia\\Model\\Feature' => $baseDir . '/core/lib/Thelia/Model/Feature.php', + 'Thelia\\Model\\FeatureAv' => $baseDir . '/core/lib/Thelia/Model/FeatureAv.php', + 'Thelia\\Model\\FeatureAvI18n' => $baseDir . '/core/lib/Thelia/Model/FeatureAvI18n.php', + 'Thelia\\Model\\FeatureAvI18nQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureAvI18nQuery.php', + 'Thelia\\Model\\FeatureAvQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureAvQuery.php', + 'Thelia\\Model\\FeatureI18n' => $baseDir . '/core/lib/Thelia/Model/FeatureI18n.php', + 'Thelia\\Model\\FeatureI18nQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureI18nQuery.php', + 'Thelia\\Model\\FeatureProduct' => $baseDir . '/core/lib/Thelia/Model/FeatureProduct.php', + 'Thelia\\Model\\FeatureProductQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureProductQuery.php', + 'Thelia\\Model\\FeatureQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureQuery.php', + 'Thelia\\Model\\FeatureTemplate' => $baseDir . '/core/lib/Thelia/Model/FeatureTemplate.php', + 'Thelia\\Model\\FeatureTemplateQuery' => $baseDir . '/core/lib/Thelia/Model/FeatureTemplateQuery.php', + 'Thelia\\Model\\Folder' => $baseDir . '/core/lib/Thelia/Model/Folder.php', + 'Thelia\\Model\\FolderDocument' => $baseDir . '/core/lib/Thelia/Model/FolderDocument.php', + 'Thelia\\Model\\FolderDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/FolderDocumentI18n.php', + 'Thelia\\Model\\FolderDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/FolderDocumentI18nQuery.php', + 'Thelia\\Model\\FolderDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/FolderDocumentQuery.php', + 'Thelia\\Model\\FolderI18n' => $baseDir . '/core/lib/Thelia/Model/FolderI18n.php', + 'Thelia\\Model\\FolderI18nQuery' => $baseDir . '/core/lib/Thelia/Model/FolderI18nQuery.php', + 'Thelia\\Model\\FolderImage' => $baseDir . '/core/lib/Thelia/Model/FolderImage.php', + 'Thelia\\Model\\FolderImageI18n' => $baseDir . '/core/lib/Thelia/Model/FolderImageI18n.php', + 'Thelia\\Model\\FolderImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/FolderImageI18nQuery.php', + 'Thelia\\Model\\FolderImageQuery' => $baseDir . '/core/lib/Thelia/Model/FolderImageQuery.php', + 'Thelia\\Model\\FolderQuery' => $baseDir . '/core/lib/Thelia/Model/FolderQuery.php', + 'Thelia\\Model\\FolderVersion' => $baseDir . '/core/lib/Thelia/Model/FolderVersion.php', + 'Thelia\\Model\\FolderVersionQuery' => $baseDir . '/core/lib/Thelia/Model/FolderVersionQuery.php', + 'Thelia\\Model\\FormFirewall' => $baseDir . '/core/lib/Thelia/Model/FormFirewall.php', + 'Thelia\\Model\\FormFirewallQuery' => $baseDir . '/core/lib/Thelia/Model/FormFirewallQuery.php', + 'Thelia\\Model\\Hook' => $baseDir . '/core/lib/Thelia/Model/Hook.php', + 'Thelia\\Model\\HookI18n' => $baseDir . '/core/lib/Thelia/Model/HookI18n.php', + 'Thelia\\Model\\HookI18nQuery' => $baseDir . '/core/lib/Thelia/Model/HookI18nQuery.php', + 'Thelia\\Model\\HookQuery' => $baseDir . '/core/lib/Thelia/Model/HookQuery.php', + 'Thelia\\Model\\IgnoredModuleHook' => $baseDir . '/core/lib/Thelia/Model/IgnoredModuleHook.php', + 'Thelia\\Model\\IgnoredModuleHookQuery' => $baseDir . '/core/lib/Thelia/Model/IgnoredModuleHookQuery.php', + 'Thelia\\Model\\Import' => $baseDir . '/core/lib/Thelia/Model/Import.php', + 'Thelia\\Model\\ImportCategory' => $baseDir . '/core/lib/Thelia/Model/ImportCategory.php', + 'Thelia\\Model\\ImportCategoryI18n' => $baseDir . '/core/lib/Thelia/Model/ImportCategoryI18n.php', + 'Thelia\\Model\\ImportCategoryI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ImportCategoryI18nQuery.php', + 'Thelia\\Model\\ImportCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/ImportCategoryQuery.php', + 'Thelia\\Model\\ImportI18n' => $baseDir . '/core/lib/Thelia/Model/ImportI18n.php', + 'Thelia\\Model\\ImportI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ImportI18nQuery.php', + 'Thelia\\Model\\ImportQuery' => $baseDir . '/core/lib/Thelia/Model/ImportQuery.php', + 'Thelia\\Model\\Lang' => $baseDir . '/core/lib/Thelia/Model/Lang.php', + 'Thelia\\Model\\LangQuery' => $baseDir . '/core/lib/Thelia/Model/LangQuery.php', + 'Thelia\\Model\\Map\\AccessoryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AccessoryTableMap.php', + 'Thelia\\Model\\Map\\AddressTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AddressTableMap.php', + 'Thelia\\Model\\Map\\AdminLogTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AdminLogTableMap.php', + 'Thelia\\Model\\Map\\AdminTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AdminTableMap.php', + 'Thelia\\Model\\Map\\ApiTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ApiTableMap.php', + 'Thelia\\Model\\Map\\AreaDeliveryModuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AreaDeliveryModuleTableMap.php', + 'Thelia\\Model\\Map\\AreaTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AreaTableMap.php', + 'Thelia\\Model\\Map\\AttributeAvI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeAvI18nTableMap.php', + 'Thelia\\Model\\Map\\AttributeAvTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeAvTableMap.php', + 'Thelia\\Model\\Map\\AttributeCombinationTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeCombinationTableMap.php', + 'Thelia\\Model\\Map\\AttributeI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeI18nTableMap.php', + 'Thelia\\Model\\Map\\AttributeTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeTableMap.php', + 'Thelia\\Model\\Map\\AttributeTemplateTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/AttributeTemplateTableMap.php', + 'Thelia\\Model\\Map\\BrandDocumentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandDocumentI18nTableMap.php', + 'Thelia\\Model\\Map\\BrandDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandDocumentTableMap.php', + 'Thelia\\Model\\Map\\BrandI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandI18nTableMap.php', + 'Thelia\\Model\\Map\\BrandImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandImageI18nTableMap.php', + 'Thelia\\Model\\Map\\BrandImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandImageTableMap.php', + 'Thelia\\Model\\Map\\BrandTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/BrandTableMap.php', + 'Thelia\\Model\\Map\\CartItemTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CartItemTableMap.php', + 'Thelia\\Model\\Map\\CartTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CartTableMap.php', + 'Thelia\\Model\\Map\\CategoryAssociatedContentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryAssociatedContentTableMap.php', + 'Thelia\\Model\\Map\\CategoryDocumentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryDocumentI18nTableMap.php', + 'Thelia\\Model\\Map\\CategoryDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryDocumentTableMap.php', + 'Thelia\\Model\\Map\\CategoryI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryI18nTableMap.php', + 'Thelia\\Model\\Map\\CategoryImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryImageI18nTableMap.php', + 'Thelia\\Model\\Map\\CategoryImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryImageTableMap.php', + 'Thelia\\Model\\Map\\CategoryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryTableMap.php', + 'Thelia\\Model\\Map\\CategoryVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CategoryVersionTableMap.php', + 'Thelia\\Model\\Map\\ConfigI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ConfigI18nTableMap.php', + 'Thelia\\Model\\Map\\ConfigTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ConfigTableMap.php', + 'Thelia\\Model\\Map\\ContentDocumentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentDocumentI18nTableMap.php', + 'Thelia\\Model\\Map\\ContentDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentDocumentTableMap.php', + 'Thelia\\Model\\Map\\ContentFolderTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentFolderTableMap.php', + 'Thelia\\Model\\Map\\ContentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentI18nTableMap.php', + 'Thelia\\Model\\Map\\ContentImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentImageI18nTableMap.php', + 'Thelia\\Model\\Map\\ContentImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentImageTableMap.php', + 'Thelia\\Model\\Map\\ContentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentTableMap.php', + 'Thelia\\Model\\Map\\ContentVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ContentVersionTableMap.php', + 'Thelia\\Model\\Map\\CountryAreaTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CountryAreaTableMap.php', + 'Thelia\\Model\\Map\\CountryI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CountryI18nTableMap.php', + 'Thelia\\Model\\Map\\CountryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CountryTableMap.php', + 'Thelia\\Model\\Map\\CouponCountryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponCountryTableMap.php', + 'Thelia\\Model\\Map\\CouponCustomerCountTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponCustomerCountTableMap.php', + 'Thelia\\Model\\Map\\CouponI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponI18nTableMap.php', + 'Thelia\\Model\\Map\\CouponModuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponModuleTableMap.php', + 'Thelia\\Model\\Map\\CouponTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponTableMap.php', + 'Thelia\\Model\\Map\\CouponVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CouponVersionTableMap.php', + 'Thelia\\Model\\Map\\CurrencyI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CurrencyI18nTableMap.php', + 'Thelia\\Model\\Map\\CurrencyTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CurrencyTableMap.php', + 'Thelia\\Model\\Map\\CustomerTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CustomerTableMap.php', + 'Thelia\\Model\\Map\\CustomerTitleI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CustomerTitleI18nTableMap.php', + 'Thelia\\Model\\Map\\CustomerTitleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CustomerTitleTableMap.php', + 'Thelia\\Model\\Map\\CustomerVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/CustomerVersionTableMap.php', + 'Thelia\\Model\\Map\\ExportCategoryI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ExportCategoryI18nTableMap.php', + 'Thelia\\Model\\Map\\ExportCategoryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ExportCategoryTableMap.php', + 'Thelia\\Model\\Map\\ExportI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ExportI18nTableMap.php', + 'Thelia\\Model\\Map\\ExportTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ExportTableMap.php', + 'Thelia\\Model\\Map\\FeatureAvI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureAvI18nTableMap.php', + 'Thelia\\Model\\Map\\FeatureAvTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureAvTableMap.php', + 'Thelia\\Model\\Map\\FeatureI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureI18nTableMap.php', + 'Thelia\\Model\\Map\\FeatureProductTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureProductTableMap.php', + 'Thelia\\Model\\Map\\FeatureTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureTableMap.php', + 'Thelia\\Model\\Map\\FeatureTemplateTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FeatureTemplateTableMap.php', + 'Thelia\\Model\\Map\\FolderDocumentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderDocumentI18nTableMap.php', + 'Thelia\\Model\\Map\\FolderDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderDocumentTableMap.php', + 'Thelia\\Model\\Map\\FolderI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderI18nTableMap.php', + 'Thelia\\Model\\Map\\FolderImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderImageI18nTableMap.php', + 'Thelia\\Model\\Map\\FolderImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderImageTableMap.php', + 'Thelia\\Model\\Map\\FolderTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderTableMap.php', + 'Thelia\\Model\\Map\\FolderVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FolderVersionTableMap.php', + 'Thelia\\Model\\Map\\FormFirewallTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/FormFirewallTableMap.php', + 'Thelia\\Model\\Map\\HookI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/HookI18nTableMap.php', + 'Thelia\\Model\\Map\\HookTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/HookTableMap.php', + 'Thelia\\Model\\Map\\IgnoredModuleHookTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/IgnoredModuleHookTableMap.php', + 'Thelia\\Model\\Map\\ImportCategoryI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ImportCategoryI18nTableMap.php', + 'Thelia\\Model\\Map\\ImportCategoryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ImportCategoryTableMap.php', + 'Thelia\\Model\\Map\\ImportI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ImportI18nTableMap.php', + 'Thelia\\Model\\Map\\ImportTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ImportTableMap.php', + 'Thelia\\Model\\Map\\LangTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/LangTableMap.php', + 'Thelia\\Model\\Map\\MessageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/MessageI18nTableMap.php', + 'Thelia\\Model\\Map\\MessageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/MessageTableMap.php', + 'Thelia\\Model\\Map\\MessageVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/MessageVersionTableMap.php', + 'Thelia\\Model\\Map\\MetaDataTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/MetaDataTableMap.php', + 'Thelia\\Model\\Map\\ModuleConfigI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleConfigI18nTableMap.php', + 'Thelia\\Model\\Map\\ModuleConfigTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleConfigTableMap.php', + 'Thelia\\Model\\Map\\ModuleHookTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleHookTableMap.php', + 'Thelia\\Model\\Map\\ModuleI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleI18nTableMap.php', + 'Thelia\\Model\\Map\\ModuleImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleImageI18nTableMap.php', + 'Thelia\\Model\\Map\\ModuleImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleImageTableMap.php', + 'Thelia\\Model\\Map\\ModuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ModuleTableMap.php', + 'Thelia\\Model\\Map\\NewsletterTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/NewsletterTableMap.php', + 'Thelia\\Model\\Map\\OrderAddressTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderAddressTableMap.php', + 'Thelia\\Model\\Map\\OrderCouponCountryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderCouponCountryTableMap.php', + 'Thelia\\Model\\Map\\OrderCouponModuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderCouponModuleTableMap.php', + 'Thelia\\Model\\Map\\OrderCouponTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderCouponTableMap.php', + 'Thelia\\Model\\Map\\OrderProductAttributeCombinationTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderProductAttributeCombinationTableMap.php', + 'Thelia\\Model\\Map\\OrderProductTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderProductTableMap.php', + 'Thelia\\Model\\Map\\OrderProductTaxTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderProductTaxTableMap.php', + 'Thelia\\Model\\Map\\OrderStatusI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderStatusI18nTableMap.php', + 'Thelia\\Model\\Map\\OrderStatusTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderStatusTableMap.php', + 'Thelia\\Model\\Map\\OrderTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderTableMap.php', + 'Thelia\\Model\\Map\\OrderVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/OrderVersionTableMap.php', + 'Thelia\\Model\\Map\\ProductAssociatedContentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductAssociatedContentTableMap.php', + 'Thelia\\Model\\Map\\ProductCategoryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductCategoryTableMap.php', + 'Thelia\\Model\\Map\\ProductDocumentI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductDocumentI18nTableMap.php', + 'Thelia\\Model\\Map\\ProductDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductDocumentTableMap.php', + 'Thelia\\Model\\Map\\ProductI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductI18nTableMap.php', + 'Thelia\\Model\\Map\\ProductImageI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductImageI18nTableMap.php', + 'Thelia\\Model\\Map\\ProductImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductImageTableMap.php', + 'Thelia\\Model\\Map\\ProductPriceTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductPriceTableMap.php', + 'Thelia\\Model\\Map\\ProductSaleElementsProductDocumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductSaleElementsProductDocumentTableMap.php', + 'Thelia\\Model\\Map\\ProductSaleElementsProductImageTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductSaleElementsProductImageTableMap.php', + 'Thelia\\Model\\Map\\ProductSaleElementsTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductSaleElementsTableMap.php', + 'Thelia\\Model\\Map\\ProductTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductTableMap.php', + 'Thelia\\Model\\Map\\ProductVersionTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProductVersionTableMap.php', + 'Thelia\\Model\\Map\\ProfileI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProfileI18nTableMap.php', + 'Thelia\\Model\\Map\\ProfileModuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProfileModuleTableMap.php', + 'Thelia\\Model\\Map\\ProfileResourceTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProfileResourceTableMap.php', + 'Thelia\\Model\\Map\\ProfileTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ProfileTableMap.php', + 'Thelia\\Model\\Map\\ResourceI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ResourceI18nTableMap.php', + 'Thelia\\Model\\Map\\ResourceTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/ResourceTableMap.php', + 'Thelia\\Model\\Map\\RewritingArgumentTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/RewritingArgumentTableMap.php', + 'Thelia\\Model\\Map\\RewritingUrlTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/RewritingUrlTableMap.php', + 'Thelia\\Model\\Map\\SaleI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/SaleI18nTableMap.php', + 'Thelia\\Model\\Map\\SaleOffsetCurrencyTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/SaleOffsetCurrencyTableMap.php', + 'Thelia\\Model\\Map\\SaleProductTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/SaleProductTableMap.php', + 'Thelia\\Model\\Map\\SaleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/SaleTableMap.php', + 'Thelia\\Model\\Map\\StateI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/StateI18nTableMap.php', + 'Thelia\\Model\\Map\\StateTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/StateTableMap.php', + 'Thelia\\Model\\Map\\TaxI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TaxI18nTableMap.php', + 'Thelia\\Model\\Map\\TaxRuleCountryTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TaxRuleCountryTableMap.php', + 'Thelia\\Model\\Map\\TaxRuleI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TaxRuleI18nTableMap.php', + 'Thelia\\Model\\Map\\TaxRuleTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TaxRuleTableMap.php', + 'Thelia\\Model\\Map\\TaxTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TaxTableMap.php', + 'Thelia\\Model\\Map\\TemplateI18nTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TemplateI18nTableMap.php', + 'Thelia\\Model\\Map\\TemplateTableMap' => $baseDir . '/core/lib/Thelia/Model/Map/TemplateTableMap.php', + 'Thelia\\Model\\Message' => $baseDir . '/core/lib/Thelia/Model/Message.php', + 'Thelia\\Model\\MessageI18n' => $baseDir . '/core/lib/Thelia/Model/MessageI18n.php', + 'Thelia\\Model\\MessageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/MessageI18nQuery.php', + 'Thelia\\Model\\MessageQuery' => $baseDir . '/core/lib/Thelia/Model/MessageQuery.php', + 'Thelia\\Model\\MessageVersion' => $baseDir . '/core/lib/Thelia/Model/MessageVersion.php', + 'Thelia\\Model\\MessageVersionQuery' => $baseDir . '/core/lib/Thelia/Model/MessageVersionQuery.php', + 'Thelia\\Model\\MetaData' => $baseDir . '/core/lib/Thelia/Model/MetaData.php', + 'Thelia\\Model\\MetaDataQuery' => $baseDir . '/core/lib/Thelia/Model/MetaDataQuery.php', + 'Thelia\\Model\\Module' => $baseDir . '/core/lib/Thelia/Model/Module.php', + 'Thelia\\Model\\ModuleConfig' => $baseDir . '/core/lib/Thelia/Model/ModuleConfig.php', + 'Thelia\\Model\\ModuleConfigI18n' => $baseDir . '/core/lib/Thelia/Model/ModuleConfigI18n.php', + 'Thelia\\Model\\ModuleConfigI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleConfigI18nQuery.php', + 'Thelia\\Model\\ModuleConfigQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleConfigQuery.php', + 'Thelia\\Model\\ModuleHook' => $baseDir . '/core/lib/Thelia/Model/ModuleHook.php', + 'Thelia\\Model\\ModuleHookQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleHookQuery.php', + 'Thelia\\Model\\ModuleI18n' => $baseDir . '/core/lib/Thelia/Model/ModuleI18n.php', + 'Thelia\\Model\\ModuleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleI18nQuery.php', + 'Thelia\\Model\\ModuleImage' => $baseDir . '/core/lib/Thelia/Model/ModuleImage.php', + 'Thelia\\Model\\ModuleImageI18n' => $baseDir . '/core/lib/Thelia/Model/ModuleImageI18n.php', + 'Thelia\\Model\\ModuleImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleImageI18nQuery.php', + 'Thelia\\Model\\ModuleImageQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleImageQuery.php', + 'Thelia\\Model\\ModuleQuery' => $baseDir . '/core/lib/Thelia/Model/ModuleQuery.php', + 'Thelia\\Model\\Newsletter' => $baseDir . '/core/lib/Thelia/Model/Newsletter.php', + 'Thelia\\Model\\NewsletterQuery' => $baseDir . '/core/lib/Thelia/Model/NewsletterQuery.php', + 'Thelia\\Model\\Order' => $baseDir . '/core/lib/Thelia/Model/Order.php', + 'Thelia\\Model\\OrderAddress' => $baseDir . '/core/lib/Thelia/Model/OrderAddress.php', + 'Thelia\\Model\\OrderAddressQuery' => $baseDir . '/core/lib/Thelia/Model/OrderAddressQuery.php', + 'Thelia\\Model\\OrderCoupon' => $baseDir . '/core/lib/Thelia/Model/OrderCoupon.php', + 'Thelia\\Model\\OrderCouponCountry' => $baseDir . '/core/lib/Thelia/Model/OrderCouponCountry.php', + 'Thelia\\Model\\OrderCouponCountryQuery' => $baseDir . '/core/lib/Thelia/Model/OrderCouponCountryQuery.php', + 'Thelia\\Model\\OrderCouponModule' => $baseDir . '/core/lib/Thelia/Model/OrderCouponModule.php', + 'Thelia\\Model\\OrderCouponModuleQuery' => $baseDir . '/core/lib/Thelia/Model/OrderCouponModuleQuery.php', + 'Thelia\\Model\\OrderCouponQuery' => $baseDir . '/core/lib/Thelia/Model/OrderCouponQuery.php', + 'Thelia\\Model\\OrderFeature' => $baseDir . '/core/lib/Thelia/Model/OrderFeature.php', + 'Thelia\\Model\\OrderFeatureQuery' => $baseDir . '/core/lib/Thelia/Model/OrderFeatureQuery.php', + 'Thelia\\Model\\OrderPostage' => $baseDir . '/core/lib/Thelia/Model/OrderPostage.php', + 'Thelia\\Model\\OrderProduct' => $baseDir . '/core/lib/Thelia/Model/OrderProduct.php', + 'Thelia\\Model\\OrderProductAttributeCombination' => $baseDir . '/core/lib/Thelia/Model/OrderProductAttributeCombination.php', + 'Thelia\\Model\\OrderProductAttributeCombinationQuery' => $baseDir . '/core/lib/Thelia/Model/OrderProductAttributeCombinationQuery.php', + 'Thelia\\Model\\OrderProductQuery' => $baseDir . '/core/lib/Thelia/Model/OrderProductQuery.php', + 'Thelia\\Model\\OrderProductTax' => $baseDir . '/core/lib/Thelia/Model/OrderProductTax.php', + 'Thelia\\Model\\OrderProductTaxQuery' => $baseDir . '/core/lib/Thelia/Model/OrderProductTaxQuery.php', + 'Thelia\\Model\\OrderQuery' => $baseDir . '/core/lib/Thelia/Model/OrderQuery.php', + 'Thelia\\Model\\OrderStatus' => $baseDir . '/core/lib/Thelia/Model/OrderStatus.php', + 'Thelia\\Model\\OrderStatusI18n' => $baseDir . '/core/lib/Thelia/Model/OrderStatusI18n.php', + 'Thelia\\Model\\OrderStatusI18nQuery' => $baseDir . '/core/lib/Thelia/Model/OrderStatusI18nQuery.php', + 'Thelia\\Model\\OrderStatusQuery' => $baseDir . '/core/lib/Thelia/Model/OrderStatusQuery.php', + 'Thelia\\Model\\OrderVersion' => $baseDir . '/core/lib/Thelia/Model/OrderVersion.php', + 'Thelia\\Model\\OrderVersionQuery' => $baseDir . '/core/lib/Thelia/Model/OrderVersionQuery.php', + 'Thelia\\Model\\Product' => $baseDir . '/core/lib/Thelia/Model/Product.php', + 'Thelia\\Model\\ProductAssociatedContent' => $baseDir . '/core/lib/Thelia/Model/ProductAssociatedContent.php', + 'Thelia\\Model\\ProductAssociatedContentQuery' => $baseDir . '/core/lib/Thelia/Model/ProductAssociatedContentQuery.php', + 'Thelia\\Model\\ProductCategory' => $baseDir . '/core/lib/Thelia/Model/ProductCategory.php', + 'Thelia\\Model\\ProductCategoryQuery' => $baseDir . '/core/lib/Thelia/Model/ProductCategoryQuery.php', + 'Thelia\\Model\\ProductDocument' => $baseDir . '/core/lib/Thelia/Model/ProductDocument.php', + 'Thelia\\Model\\ProductDocumentI18n' => $baseDir . '/core/lib/Thelia/Model/ProductDocumentI18n.php', + 'Thelia\\Model\\ProductDocumentI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ProductDocumentI18nQuery.php', + 'Thelia\\Model\\ProductDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/ProductDocumentQuery.php', + 'Thelia\\Model\\ProductI18n' => $baseDir . '/core/lib/Thelia/Model/ProductI18n.php', + 'Thelia\\Model\\ProductI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ProductI18nQuery.php', + 'Thelia\\Model\\ProductImage' => $baseDir . '/core/lib/Thelia/Model/ProductImage.php', + 'Thelia\\Model\\ProductImageI18n' => $baseDir . '/core/lib/Thelia/Model/ProductImageI18n.php', + 'Thelia\\Model\\ProductImageI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ProductImageI18nQuery.php', + 'Thelia\\Model\\ProductImageQuery' => $baseDir . '/core/lib/Thelia/Model/ProductImageQuery.php', + 'Thelia\\Model\\ProductPrice' => $baseDir . '/core/lib/Thelia/Model/ProductPrice.php', + 'Thelia\\Model\\ProductPriceQuery' => $baseDir . '/core/lib/Thelia/Model/ProductPriceQuery.php', + 'Thelia\\Model\\ProductQuery' => $baseDir . '/core/lib/Thelia/Model/ProductQuery.php', + 'Thelia\\Model\\ProductSaleElements' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElements.php', + 'Thelia\\Model\\ProductSaleElementsProductDocument' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElementsProductDocument.php', + 'Thelia\\Model\\ProductSaleElementsProductDocumentQuery' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElementsProductDocumentQuery.php', + 'Thelia\\Model\\ProductSaleElementsProductImage' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElementsProductImage.php', + 'Thelia\\Model\\ProductSaleElementsProductImageQuery' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElementsProductImageQuery.php', + 'Thelia\\Model\\ProductSaleElementsQuery' => $baseDir . '/core/lib/Thelia/Model/ProductSaleElementsQuery.php', + 'Thelia\\Model\\ProductVersion' => $baseDir . '/core/lib/Thelia/Model/ProductVersion.php', + 'Thelia\\Model\\ProductVersionQuery' => $baseDir . '/core/lib/Thelia/Model/ProductVersionQuery.php', + 'Thelia\\Model\\Profile' => $baseDir . '/core/lib/Thelia/Model/Profile.php', + 'Thelia\\Model\\ProfileI18n' => $baseDir . '/core/lib/Thelia/Model/ProfileI18n.php', + 'Thelia\\Model\\ProfileI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ProfileI18nQuery.php', + 'Thelia\\Model\\ProfileModule' => $baseDir . '/core/lib/Thelia/Model/ProfileModule.php', + 'Thelia\\Model\\ProfileModuleQuery' => $baseDir . '/core/lib/Thelia/Model/ProfileModuleQuery.php', + 'Thelia\\Model\\ProfileQuery' => $baseDir . '/core/lib/Thelia/Model/ProfileQuery.php', + 'Thelia\\Model\\ProfileResource' => $baseDir . '/core/lib/Thelia/Model/ProfileResource.php', + 'Thelia\\Model\\ProfileResourceQuery' => $baseDir . '/core/lib/Thelia/Model/ProfileResourceQuery.php', + 'Thelia\\Model\\Resource' => $baseDir . '/core/lib/Thelia/Model/Resource.php', + 'Thelia\\Model\\ResourceI18n' => $baseDir . '/core/lib/Thelia/Model/ResourceI18n.php', + 'Thelia\\Model\\ResourceI18nQuery' => $baseDir . '/core/lib/Thelia/Model/ResourceI18nQuery.php', + 'Thelia\\Model\\ResourceQuery' => $baseDir . '/core/lib/Thelia/Model/ResourceQuery.php', + 'Thelia\\Model\\RewritingArgument' => $baseDir . '/core/lib/Thelia/Model/RewritingArgument.php', + 'Thelia\\Model\\RewritingArgumentQuery' => $baseDir . '/core/lib/Thelia/Model/RewritingArgumentQuery.php', + 'Thelia\\Model\\RewritingUrl' => $baseDir . '/core/lib/Thelia/Model/RewritingUrl.php', + 'Thelia\\Model\\RewritingUrlQuery' => $baseDir . '/core/lib/Thelia/Model/RewritingUrlQuery.php', + 'Thelia\\Model\\Sale' => $baseDir . '/core/lib/Thelia/Model/Sale.php', + 'Thelia\\Model\\SaleI18n' => $baseDir . '/core/lib/Thelia/Model/SaleI18n.php', + 'Thelia\\Model\\SaleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/SaleI18nQuery.php', + 'Thelia\\Model\\SaleOffsetCurrency' => $baseDir . '/core/lib/Thelia/Model/SaleOffsetCurrency.php', + 'Thelia\\Model\\SaleOffsetCurrencyQuery' => $baseDir . '/core/lib/Thelia/Model/SaleOffsetCurrencyQuery.php', + 'Thelia\\Model\\SaleProduct' => $baseDir . '/core/lib/Thelia/Model/SaleProduct.php', + 'Thelia\\Model\\SaleProductQuery' => $baseDir . '/core/lib/Thelia/Model/SaleProductQuery.php', + 'Thelia\\Model\\SaleQuery' => $baseDir . '/core/lib/Thelia/Model/SaleQuery.php', + 'Thelia\\Model\\State' => $baseDir . '/core/lib/Thelia/Model/State.php', + 'Thelia\\Model\\StateI18n' => $baseDir . '/core/lib/Thelia/Model/StateI18n.php', + 'Thelia\\Model\\StateI18nQuery' => $baseDir . '/core/lib/Thelia/Model/StateI18nQuery.php', + 'Thelia\\Model\\StateQuery' => $baseDir . '/core/lib/Thelia/Model/StateQuery.php', + 'Thelia\\Model\\Tax' => $baseDir . '/core/lib/Thelia/Model/Tax.php', + 'Thelia\\Model\\TaxI18n' => $baseDir . '/core/lib/Thelia/Model/TaxI18n.php', + 'Thelia\\Model\\TaxI18nQuery' => $baseDir . '/core/lib/Thelia/Model/TaxI18nQuery.php', + 'Thelia\\Model\\TaxQuery' => $baseDir . '/core/lib/Thelia/Model/TaxQuery.php', + 'Thelia\\Model\\TaxRule' => $baseDir . '/core/lib/Thelia/Model/TaxRule.php', + 'Thelia\\Model\\TaxRuleCountry' => $baseDir . '/core/lib/Thelia/Model/TaxRuleCountry.php', + 'Thelia\\Model\\TaxRuleCountryQuery' => $baseDir . '/core/lib/Thelia/Model/TaxRuleCountryQuery.php', + 'Thelia\\Model\\TaxRuleI18n' => $baseDir . '/core/lib/Thelia/Model/TaxRuleI18n.php', + 'Thelia\\Model\\TaxRuleI18nQuery' => $baseDir . '/core/lib/Thelia/Model/TaxRuleI18nQuery.php', + 'Thelia\\Model\\TaxRuleQuery' => $baseDir . '/core/lib/Thelia/Model/TaxRuleQuery.php', + 'Thelia\\Model\\Template' => $baseDir . '/core/lib/Thelia/Model/Template.php', + 'Thelia\\Model\\TemplateI18n' => $baseDir . '/core/lib/Thelia/Model/TemplateI18n.php', + 'Thelia\\Model\\TemplateI18nQuery' => $baseDir . '/core/lib/Thelia/Model/TemplateI18nQuery.php', + 'Thelia\\Model\\TemplateQuery' => $baseDir . '/core/lib/Thelia/Model/TemplateQuery.php', + 'Thelia\\Model\\Tools\\I18nTimestampableTrait' => $baseDir . '/core/lib/Thelia/Model/Tools/I18nTimestampableTrait.php', + 'Thelia\\Model\\Tools\\ModelCriteriaTools' => $baseDir . '/core/lib/Thelia/Model/Tools/ModelCriteriaTools.php', + 'Thelia\\Model\\Tools\\ModelEventDispatcherTrait' => $baseDir . '/core/lib/Thelia/Model/Tools/ModelEventDispatcherTrait.php', + 'Thelia\\Model\\Tools\\PositionManagementTrait' => $baseDir . '/core/lib/Thelia/Model/Tools/PositionManagementTrait.php', + 'Thelia\\Model\\Tools\\ProductPriceTools' => $baseDir . '/core/lib/Thelia/Model/Tools/ProductPriceTools.php', + 'Thelia\\Model\\Tools\\UrlRewritingTrait' => $baseDir . '/core/lib/Thelia/Model/Tools/UrlRewritingTrait.php', + 'Thelia\\Module\\AbstractAdminResourcesCompiler' => $baseDir . '/core/lib/Thelia/Module/AbstractAdminResourcesCompiler.php', + 'Thelia\\Module\\AbstractDeliveryModule' => $baseDir . '/core/lib/Thelia/Module/AbstractDeliveryModule.php', + 'Thelia\\Module\\AbstractPaymentModule' => $baseDir . '/core/lib/Thelia/Module/AbstractPaymentModule.php', + 'Thelia\\Module\\BaseModule' => $baseDir . '/core/lib/Thelia/Module/BaseModule.php', + 'Thelia\\Module\\BaseModuleInterface' => $baseDir . '/core/lib/Thelia/Module/BaseModuleInterface.php', + 'Thelia\\Module\\BasePaymentModuleController' => $baseDir . '/core/lib/Thelia/Module/BasePaymentModuleController.php', + 'Thelia\\Module\\DeliveryModuleInterface' => $baseDir . '/core/lib/Thelia/Module/DeliveryModuleInterface.php', + 'Thelia\\Module\\Exception\\DeliveryException' => $baseDir . '/core/lib/Thelia/Module/Exception/DeliveryException.php', + 'Thelia\\Module\\Exception\\InvalidXmlDocumentException' => $baseDir . '/core/lib/Thelia/Module/Exception/InvalidXmlDocumentException.php', + 'Thelia\\Module\\ModuleDescriptorValidator' => $baseDir . '/core/lib/Thelia/Module/ModuleDescriptorValidator.php', + 'Thelia\\Module\\ModuleManagement' => $baseDir . '/core/lib/Thelia/Module/ModuleManagement.php', + 'Thelia\\Module\\PaymentModuleInterface' => $baseDir . '/core/lib/Thelia/Module/PaymentModuleInterface.php', + 'Thelia\\Module\\Validator\\ModuleDefinition' => $baseDir . '/core/lib/Thelia/Module/Validator/ModuleDefinition.php', + 'Thelia\\Module\\Validator\\ModuleValidator' => $baseDir . '/core/lib/Thelia/Module/Validator/ModuleValidator.php', + 'Thelia\\Rewriting\\RewritingResolver' => $baseDir . '/core/lib/Thelia/Rewriting/RewritingResolver.php', + 'Thelia\\Rewriting\\RewritingRetriever' => $baseDir . '/core/lib/Thelia/Rewriting/RewritingRetriever.php', + 'Thelia\\TaxEngine\\BaseTaxType' => $baseDir . '/core/lib/Thelia/TaxEngine/BaseTaxType.php', + 'Thelia\\TaxEngine\\Calculator' => $baseDir . '/core/lib/Thelia/TaxEngine/Calculator.php', + 'Thelia\\TaxEngine\\OrderProductTaxCollection' => $baseDir . '/core/lib/Thelia/TaxEngine/OrderProductTaxCollection.php', + 'Thelia\\TaxEngine\\TaxEngine' => $baseDir . '/core/lib/Thelia/TaxEngine/TaxEngine.php', + 'Thelia\\TaxEngine\\TaxTypeRequirementDefinition' => $baseDir . '/core/lib/Thelia/TaxEngine/TaxTypeRequirementDefinition.php', + 'Thelia\\TaxEngine\\TaxType\\FeatureFixAmountTaxType' => $baseDir . '/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php', + 'Thelia\\TaxEngine\\TaxType\\FixAmountTaxType' => $baseDir . '/core/lib/Thelia/TaxEngine/TaxType/FixAmountTaxType.php', + 'Thelia\\TaxEngine\\TaxType\\PricePercentTaxType' => $baseDir . '/core/lib/Thelia/TaxEngine/TaxType/PricePercentTaxType.php', + 'Thelia\\Tests\\Action\\AddressTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/AddressTest.php', + 'Thelia\\Tests\\Action\\AdministratorTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/AdministratorTest.php', + 'Thelia\\Tests\\Action\\AreaTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/AreaTest.php', + 'Thelia\\Tests\\Action\\AttributeAvTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/AttributeAvTest.php', + 'Thelia\\Tests\\Action\\AttributeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/AttributeTest.php', + 'Thelia\\Tests\\Action\\BaseAction' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/BaseAction.php', + 'Thelia\\Tests\\Action\\BrandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/BrandTest.php', + 'Thelia\\Tests\\Action\\CacheTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/CacheTest.php', + 'Thelia\\Tests\\Action\\CategoryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/CategoryTest.php', + 'Thelia\\Tests\\Action\\ConfigTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ConfigTest.php', + 'Thelia\\Tests\\Action\\ContentTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ContentTest.php', + 'Thelia\\Tests\\Action\\CountryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/CountryTest.php', + 'Thelia\\Tests\\Action\\CurrencyTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/CurrencyTest.php', + 'Thelia\\Tests\\Action\\CustomerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/CustomerTest.php', + 'Thelia\\Tests\\Action\\DocumentTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/DocumentTest.php', + 'Thelia\\Tests\\Action\\FeatureAvTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/FeatureAvTest.php', + 'Thelia\\Tests\\Action\\FeatureTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/FeatureTest.php', + 'Thelia\\Tests\\Action\\FolderTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/FolderTest.php', + 'Thelia\\Tests\\Action\\HookTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/HookTest.php', + 'Thelia\\Tests\\Action\\I18nTestTrait' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/I18nTestTrait.php', + 'Thelia\\Tests\\Action\\ImageTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ImageTest.php', + 'Thelia\\Tests\\Action\\LangTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/LangTest.php', + 'Thelia\\Tests\\Action\\MessageTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/MessageTest.php', + 'Thelia\\Tests\\Action\\MetaDataTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/MetaDataTest.php', + 'Thelia\\Tests\\Action\\ModuleHookTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ModuleHookTest.php', + 'Thelia\\Tests\\Action\\NewsletterTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/NewsletterTest.php', + 'Thelia\\Tests\\Action\\OrderStatusTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/OrderStatusTest.php', + 'Thelia\\Tests\\Action\\OrderTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/OrderTest.php', + 'Thelia\\Tests\\Action\\PdfTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/PdfTest.php', + 'Thelia\\Tests\\Action\\ProductTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ProductTest.php', + 'Thelia\\Tests\\Action\\ProfileTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/ProfileTest.php', + 'Thelia\\Tests\\Action\\RewrittenUrlTestTrait' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/RewrittenUrlTestTrait.php', + 'Thelia\\Tests\\Action\\SaleTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/SaleTest.php', + 'Thelia\\Tests\\Action\\StateTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Action/StateTest.php', + 'Thelia\\Tests\\ApiTestCase' => $baseDir . '/tests/phpunit/Thelia/Tests/ApiTestCase.php', + 'Thelia\\Tests\\Api\\ApiSendJsonTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/ApiSendJsonTest.php', + 'Thelia\\Tests\\Api\\AttributeAvControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/AttributeAvControllerTest.php', + 'Thelia\\Tests\\Api\\BrandControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/BrandControllerTest.php', + 'Thelia\\Tests\\Api\\CategoryControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/CategoryControllerTest.php', + 'Thelia\\Tests\\Api\\CountryControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/CountryControllerTest.php', + 'Thelia\\Tests\\Api\\CurrencyControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/CurrencyControllerTest.php', + 'Thelia\\Tests\\Api\\CustomerControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/CustomerControllerTest.php', + 'Thelia\\Tests\\Api\\IndexControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/IndexControllerTest.php', + 'Thelia\\Tests\\Api\\LangControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/LangControllerTest.php', + 'Thelia\\Tests\\Api\\ProductControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/ProductControllerTest.php', + 'Thelia\\Tests\\Api\\ProductImageControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/ProductImageControllerTest.php', + 'Thelia\\Tests\\Api\\ProductSaleElementsControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/ProductSaleElementsControllerTest.php', + 'Thelia\\Tests\\Api\\TaxControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/TaxControllerTest.php', + 'Thelia\\Tests\\Api\\TaxRuleControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/TaxRuleControllerTest.php', + 'Thelia\\Tests\\Api\\TitleControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Api/TitleControllerTest.php', + 'Thelia\\Tests\\Command\\BaseCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/BaseCommandTest.php', + 'Thelia\\Tests\\Command\\CacheClearTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/CacheClearTest.php', + 'Thelia\\Tests\\Command\\ConfigCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/ConfigCommandTest.php', + 'Thelia\\Tests\\Command\\ModuleActivateCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/ModuleActivateCommandTest.php', + 'Thelia\\Tests\\Command\\ModuleDeactivateCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/ModuleDeactivateCommandTest.php', + 'Thelia\\Tests\\Command\\ModuleGenerateCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/ModuleGenerateCommandTest.php', + 'Thelia\\Tests\\Command\\ModuleRefreshCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/ModuleRefreshCommandTest.php', + 'Thelia\\Tests\\Command\\SaleCheckActivationCommandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Command/SaleCheckActivationCommandTest.php', + 'Thelia\\Tests\\Condition\\ConditionEvaluatorTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Condition/ConditionEvaluatorTest.php', + 'Thelia\\Tests\\Condition\\ConditionFactoryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Condition/ConditionFactoryTest.php', + 'Thelia\\Tests\\Condition\\Implementation\\MatchForTotalAmountTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Condition/Implementation/MatchForTotalAmountTest.php', + 'Thelia\\Tests\\Config\\RoutesConfigTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Config/RoutesConfigTest.php', + 'Thelia\\Tests\\ContainerAwareTestCase' => $baseDir . '/tests/phpunit/Thelia/Tests/ContainerAwareTestCase.php', + 'Thelia\\Tests\\Controller\\ControllerTestBase' => $baseDir . '/tests/phpunit/Thelia/Tests/Controller/ControllerTestBase.php', + 'Thelia\\Tests\\Controller\\DefaultControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Controller/DefaultControllerTest.php', + 'Thelia\\Tests\\Controller\\ProductControllerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Controller/ProductControllerTest.php', + 'Thelia\\Tests\\Core\\EventListener\\RequestListenerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/EventListener/RequestListenerTest.php', + 'Thelia\\Tests\\Core\\Event\\ActionEventTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Event/ActionEventTest.php', + 'Thelia\\Tests\\Core\\Event\\FooEvent' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Event/FooEvent.php', + 'Thelia\\Tests\\Core\\Form\\TheliaFormFactoryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Form/TheliaFormFactoryTest.php', + 'Thelia\\Tests\\Core\\Hook\\HookTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Hook/HookTest.php', + 'Thelia\\Tests\\Core\\HttpFoundation\\RequestTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/HttpFoundation/RequestTest.php', + 'Thelia\\Tests\\Core\\HttpFoundation\\Session\\SessionTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php', + 'Thelia\\Tests\\Core\\Routing\\RewritingRouterTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Routing/RewritingRouterTest.php', + 'Thelia\\Tests\\Core\\Template\\Element\\BaseLoopTestor' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AccessoryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AccessoryTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AddressTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AddressTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\Argument\\ArgumentCollectionTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AssociatedContentTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AssociatedContentTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AttributeAvailabilityTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeAvailabilityTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AttributeCombinationTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeCombinationTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\AttributeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\BrandTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/BrandTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\CategoryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/CategoryTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ContentTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ContentTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\CountryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/CountryTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\CurrencyTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/CurrencyTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\CustomerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/CustomerTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\DocumentTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/DocumentTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\FeatureAvailabilityTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureAvailabilityTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\FeatureTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\FeatureValueTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureValueTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\FolderTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/FolderTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\HookTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/HookTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ImageTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ImageTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ModuleConfigTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ModuleConfigTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ModuleHookTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ModuleHookTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ProductSaleElementTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductSaleElementTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\ProductTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\SaleTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/SaleTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\TaxRuleTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/TaxRuleTest.php', + 'Thelia\\Tests\\Core\\Template\\Loop\\TitleTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Core/Template/Loop/TitleTest.php', + 'Thelia\\Tests\\Files\\FileManagerTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Files/FileManagerTest.php', + 'Thelia\\Tests\\Form\\CartAddTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Form/CartAddTest.php', + 'Thelia\\Tests\\Form\\FirewallTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Form/FirewallTest.php', + 'Thelia\\Tests\\Form\\OrderDeliveryTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Form/OrderDeliveryTest.php', + 'Thelia\\Tests\\Log\\TlogTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Log/TlogTest.php', + 'Thelia\\Tests\\Model\\CurrencyTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Model/CurrencyTest.php', + 'Thelia\\Tests\\Model\\MessageTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Model/MessageTest.php', + 'Thelia\\Tests\\Model\\ModuleConfigTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Model/ModuleConfigTest.php', + 'Thelia\\Tests\\Module\\BaseModuleTestor' => $baseDir . '/tests/phpunit/Thelia/Tests/Module/BaseModuleTestor.php', + 'Thelia\\Tests\\Module\\Validator\\ModuleValidatorTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Module/Validator/ModuleValidatorTest.php', + 'Thelia\\Tests\\Resources\\Form\\TestForm' => $baseDir . '/tests/phpunit/Thelia/Tests/Resources/Form/TestForm.php', + 'Thelia\\Tests\\Resources\\Form\\Type\\TestType' => $baseDir . '/tests/phpunit/Thelia/Tests/Resources/Form/Type/TestType.php', + 'Thelia\\Tests\\Rewriting\\BaseRewritingObject' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/BaseRewritingObject.php', + 'Thelia\\Tests\\Rewriting\\CategoryRewritingTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/CategoryRewritingTest.php', + 'Thelia\\Tests\\Rewriting\\ContentRewritingTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/ContentRewritingTest.php', + 'Thelia\\Tests\\Rewriting\\FolderRewritingTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/FolderRewritingTest.php', + 'Thelia\\Tests\\Rewriting\\ProductRewriteTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/ProductRewriteTest.php', + 'Thelia\\Tests\\Rewriting\\RewritingResolverTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/RewritingResolverTest.php', + 'Thelia\\Tests\\Rewriting\\RewritingRetrieverTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Rewriting/RewritingRetrieverTest.php', + 'Thelia\\Tests\\TaxEngine\\CalculatorTest' => $baseDir . '/tests/phpunit/Thelia/Tests/TaxEngine/CalculatorTest.php', + 'Thelia\\Tests\\TestCaseWithURLToolSetup' => $baseDir . '/tests/phpunit/Thelia/Tests/TestCaseWithURLToolSetup.php', + 'Thelia\\Tests\\Tools\\FakeFileDownloader' => $baseDir . '/tests/phpunit/Thelia/Tests/Tools/FakeFileDownloader.php', + 'Thelia\\Tests\\Tools\\FileDownloaderTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Tools/FileDownloaderTest.php', + 'Thelia\\Tests\\Tools\\PasswordTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Tools/PasswordTest.php', + 'Thelia\\Tests\\Tools\\URLTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Tools/URLTest.php', + 'Thelia\\Tests\\Tools\\Version\\Version' => $baseDir . '/tests/phpunit/Thelia/Tests/Tools/Version/Version.php', + 'Thelia\\Tests\\Type\\AlphaNumStringListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/AlphaNumStringListTypeTest.php', + 'Thelia\\Tests\\Type\\AlphaNumStringTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/AlphaNumStringTypeTest.php', + 'Thelia\\Tests\\Type\\AnyListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/AnyListTypeTest.php', + 'Thelia\\Tests\\Type\\AnyTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/AnyTypeTest.php', + 'Thelia\\Tests\\Type\\BooleanTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/BooleanTypeTest.php', + 'Thelia\\Tests\\Type\\EnumListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/EnumListTypeTest.php', + 'Thelia\\Tests\\Type\\EnumTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/EnumTypeTest.php', + 'Thelia\\Tests\\Type\\FloatTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/FloatTypeTest.php', + 'Thelia\\Tests\\Type\\IntListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/IntListTypeTest.php', + 'Thelia\\Tests\\Type\\IntToCombinedIntsListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/IntToCombinedIntsListTypeTest.php', + 'Thelia\\Tests\\Type\\IntToCombinedStringsListTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/IntToCombinedStringsListTypeTest.php', + 'Thelia\\Tests\\Type\\IntTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/IntTypeTest.php', + 'Thelia\\Tests\\Type\\JsonTypeTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/JsonTypeTest.php', + 'Thelia\\Tests\\Type\\TypeCollectionTest' => $baseDir . '/tests/phpunit/Thelia/Tests/Type/TypeCollectionTest.php', + 'Thelia\\Tests\\WebTestCase' => $baseDir . '/tests/phpunit/Thelia/Tests/WebTestCase.php', + 'Thelia\\Tools\\AddressFormat' => $baseDir . '/core/lib/Thelia/Tools/AddressFormat.php', + 'Thelia\\Tools\\DateTimeFormat' => $baseDir . '/core/lib/Thelia/Tools/DateTimeFormat.php', + 'Thelia\\Tools\\FileDownload\\FileDownloader' => $baseDir . '/core/lib/Thelia/Tools/FileDownload/FileDownloader.php', + 'Thelia\\Tools\\FileDownload\\FileDownloaderAwareTrait' => $baseDir . '/core/lib/Thelia/Tools/FileDownload/FileDownloaderAwareTrait.php', + 'Thelia\\Tools\\FileDownload\\FileDownloaderInterface' => $baseDir . '/core/lib/Thelia/Tools/FileDownload/FileDownloaderInterface.php', + 'Thelia\\Tools\\I18n' => $baseDir . '/core/lib/Thelia/Tools/I18n.php', + 'Thelia\\Tools\\Image' => $baseDir . '/core/lib/Thelia/Tools/Image.php', + 'Thelia\\Tools\\MoneyFormat' => $baseDir . '/core/lib/Thelia/Tools/MoneyFormat.php', + 'Thelia\\Tools\\NumberFormat' => $baseDir . '/core/lib/Thelia/Tools/NumberFormat.php', + 'Thelia\\Tools\\Password' => $baseDir . '/core/lib/Thelia/Tools/Password.php', + 'Thelia\\Tools\\RememberMeTrait' => $baseDir . '/core/lib/Thelia/Tools/RememberMeTrait.php', + 'Thelia\\Tools\\Rest\\ResponseRest' => $baseDir . '/core/lib/Thelia/Tools/Rest/ResponseRest.php', + 'Thelia\\Tools\\TokenProvider' => $baseDir . '/core/lib/Thelia/Tools/TokenProvider.php', + 'Thelia\\Tools\\URL' => $baseDir . '/core/lib/Thelia/Tools/URL.php', + 'Thelia\\Tools\\Version\\Constraints\\BaseConstraint' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/BaseConstraint.php', + 'Thelia\\Tools\\Version\\Constraints\\ConstraintEqual' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/ConstraintEqual.php', + 'Thelia\\Tools\\Version\\Constraints\\ConstraintGreater' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/ConstraintGreater.php', + 'Thelia\\Tools\\Version\\Constraints\\ConstraintInterface' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/ConstraintInterface.php', + 'Thelia\\Tools\\Version\\Constraints\\ConstraintLower' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/ConstraintLower.php', + 'Thelia\\Tools\\Version\\Constraints\\ConstraintNearlyEqual' => $baseDir . '/core/lib/Thelia/Tools/Version/Constraints/ConstraintNearlyEqual.php', + 'Thelia\\Tools\\Version\\Version' => $baseDir . '/core/lib/Thelia/Tools/Version/Version.php', + 'Thelia\\Type\\AlphaNumStringListType' => $baseDir . '/core/lib/Thelia/Type/AlphaNumStringListType.php', + 'Thelia\\Type\\AlphaNumStringType' => $baseDir . '/core/lib/Thelia/Type/AlphaNumStringType.php', + 'Thelia\\Type\\AnyListType' => $baseDir . '/core/lib/Thelia/Type/AnyListType.php', + 'Thelia\\Type\\AnyType' => $baseDir . '/core/lib/Thelia/Type/AnyType.php', + 'Thelia\\Type\\BaseType' => $baseDir . '/core/lib/Thelia/Type/BaseType.php', + 'Thelia\\Type\\BooleanOrBothType' => $baseDir . '/core/lib/Thelia/Type/BooleanOrBothType.php', + 'Thelia\\Type\\BooleanType' => $baseDir . '/core/lib/Thelia/Type/BooleanType.php', + 'Thelia\\Type\\EnumListType' => $baseDir . '/core/lib/Thelia/Type/EnumListType.php', + 'Thelia\\Type\\EnumType' => $baseDir . '/core/lib/Thelia/Type/EnumType.php', + 'Thelia\\Type\\FloatToFloatArrayType' => $baseDir . '/core/lib/Thelia/Type/FloatToFloatArrayType.php', + 'Thelia\\Type\\FloatType' => $baseDir . '/core/lib/Thelia/Type/FloatType.php', + 'Thelia\\Type\\IntListType' => $baseDir . '/core/lib/Thelia/Type/IntListType.php', + 'Thelia\\Type\\IntToCombinedIntsListType' => $baseDir . '/core/lib/Thelia/Type/IntToCombinedIntsListType.php', + 'Thelia\\Type\\IntToCombinedStringsListType' => $baseDir . '/core/lib/Thelia/Type/IntToCombinedStringsListType.php', + 'Thelia\\Type\\IntType' => $baseDir . '/core/lib/Thelia/Type/IntType.php', + 'Thelia\\Type\\JsonType' => $baseDir . '/core/lib/Thelia/Type/JsonType.php', + 'Thelia\\Type\\ModelType' => $baseDir . '/core/lib/Thelia/Type/ModelType.php', + 'Thelia\\Type\\ModelValidIdType' => $baseDir . '/core/lib/Thelia/Type/ModelValidIdType.php', + 'Thelia\\Type\\TypeCollection' => $baseDir . '/core/lib/Thelia/Type/TypeCollection.php', + 'Thelia\\Type\\TypeInterface' => $baseDir . '/core/lib/Thelia/Type/TypeInterface.php', + 'Tinymce\\Controller\\ConfigureController' => $baseDir . '/local/modules/Tinymce/Controller/ConfigureController.php', + 'Tinymce\\Form\\ConfigurationForm' => $baseDir . '/local/modules/Tinymce/Form/ConfigurationForm.php', + 'Tinymce\\Hook\\HookManager' => $baseDir . '/local/modules/Tinymce/Hook/HookManager.php', + 'Tinymce\\Smarty\\TinyMCELanguage' => $baseDir . '/local/modules/Tinymce/Smarty/TinyMCELanguage.php', + 'Tinymce\\Tinymce' => $baseDir . '/local/modules/Tinymce/Tinymce.php', 'TypeError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/TypeError.php', + 'VirtualProductControl\\Hook\\VirtualProductHook' => $baseDir . '/local/modules/VirtualProductControl/Hook/VirtualProductHook.php', + 'VirtualProductControl\\VirtualProductControl' => $baseDir . '/local/modules/VirtualProductControl/VirtualProductControl.php', + 'VirtualProductDelivery\\EventListeners\\SendMail' => $baseDir . '/local/modules/VirtualProductDelivery/EventListeners/SendMail.php', + 'VirtualProductDelivery\\EventListeners\\VirtualProductEvents' => $baseDir . '/local/modules/VirtualProductDelivery/EventListeners/VirtualProductEvents.php', + 'VirtualProductDelivery\\Events\\VirtualProductDeliveryEvents' => $baseDir . '/local/modules/VirtualProductDelivery/Events/VirtualProductDeliveryEvents.php', + 'VirtualProductDelivery\\Hook\\HookManager' => $baseDir . '/local/modules/VirtualProductDelivery/Hook/HookManager.php', + 'VirtualProductDelivery\\VirtualProductDelivery' => $baseDir . '/local/modules/VirtualProductDelivery/VirtualProductDelivery.php', + 'imageLib' => $baseDir . '/local/modules/Tinymce/Resources/js/tinymce/filemanager/include/php_image_magician.php', 'lessc' => $vendorDir . '/oyejorge/less.php/lessc.inc.php', + 'phpDocumentor\\Reflection\\DocBlock' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php', + 'phpDocumentor\\Reflection\\DocBlock\\Context' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php', + 'phpDocumentor\\Reflection\\DocBlock\\Description' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php', + 'phpDocumentor\\Reflection\\DocBlock\\Location' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php', + 'phpDocumentor\\Reflection\\DocBlock\\Serializer' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\AuthorTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\CoversTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\DeprecatedTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\ExampleTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\LinkTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\MethodTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\ParamTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\PropertyReadTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\PropertyTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\PropertyWriteTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\ReturnTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\SeeTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\SinceTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\SourceTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\ThrowsTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\UsesTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\VarTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Tag\\VersionTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php', + 'phpDocumentor\\Reflection\\DocBlock\\Type\\Collection' => $vendorDir . '/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php', ); diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php index ee181263..f61a6f99 100644 --- a/core/vendor/composer/autoload_psr4.php +++ b/core/vendor/composer/autoload_psr4.php @@ -40,8 +40,10 @@ return array( 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), 'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'), 'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'), + 'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'), 'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'), 'Symfony\\Cmf\\Component\\Routing\\' => array($vendorDir . '/symfony-cmf/routing'), + 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'), 'Faker\\' => array($vendorDir . '/fzaninotto/faker/src/Faker'), 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), 'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache'), diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php index b6b13f75..7e1730f1 100644 --- a/core/vendor/composer/autoload_real.php +++ b/core/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit707c94b89116dc9a5c149116ae36ff39 +class ComposerAutoloaderInit60933c160e6e784f12d951b85ffd7bf5 { private static $loader; @@ -19,48 +19,37 @@ class ComposerAutoloaderInit707c94b89116dc9a5c149116ae36ff39 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit707c94b89116dc9a5c149116ae36ff39', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit60933c160e6e784f12d951b85ffd7bf5', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit707c94b89116dc9a5c149116ae36ff39', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit60933c160e6e784f12d951b85ffd7bf5', 'loadClassLoader')); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION'); - if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } - call_user_func(\Composer\Autoload\ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); } $loader->register(true); - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } + $includeFiles = require __DIR__ . '/autoload_files.php'; foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire707c94b89116dc9a5c149116ae36ff39($fileIdentifier, $file); + composerRequire60933c160e6e784f12d951b85ffd7bf5($fileIdentifier, $file); } return $loader; } } -function composerRequire707c94b89116dc9a5c149116ae36ff39($fileIdentifier, $file) +function composerRequire60933c160e6e784f12d951b85ffd7bf5($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff --git a/core/vendor/composer/autoload_static.php b/core/vendor/composer/autoload_static.php deleted file mode 100644 index 1eb92cb1..00000000 --- a/core/vendor/composer/autoload_static.php +++ /dev/null @@ -1,822 +0,0 @@ - __DIR__ . '/..' . '/symfony/polyfill-php54/bootstrap.php', - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - 'e40631d46120a9c38ea139981f8dab26' => __DIR__ . '/..' . '/ircmaxell/password-compat/lib/password.php', - 'edc6464955a37aa4d5fbf39d40fb6ee7' => __DIR__ . '/..' . '/symfony/polyfill-php55/bootstrap.php', - '6a47392539ca2329373e0d33e1dba053' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/bootstrap.php', - '5255c38a0faeba867671b61dfda6d864' => __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php', - 'bd9634f2d41831496de0d3dfe4c94881' => __DIR__ . '/..' . '/symfony/polyfill-php56/bootstrap.php', - '023d27dca8066ef29e6739335ea73bad' => __DIR__ . '/..' . '/symfony/polyfill-php70/bootstrap.php', - 'ce89ac35a6c330c55f4710717db9ff78' => __DIR__ . '/..' . '/kriswallsmith/assetic/src/functions.php', - '8cd2fca4db21bffce1ad0612f7caeec4' => __DIR__ . '/..' . '/ramsey/array_column/src/array_column.php', - '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php', - 'ef59a7524a39cf678a351859a6e326b4' => __DIR__ . '/../../..' . '/core/bootstrap.php', - ); - - public static $prefixLengthsPsr4 = array ( - 'T' => - array ( - 'Thelia\\Tests\\' => 13, - 'Thelia\\Math\\' => 12, - 'Thelia\\CurrencyConverter\\' => 25, - 'Thelia\\' => 7, - ), - 'S' => - array ( - 'Symfony\\Polyfill\\Util\\' => 22, - 'Symfony\\Polyfill\\Php70\\' => 23, - 'Symfony\\Polyfill\\Php56\\' => 23, - 'Symfony\\Polyfill\\Php55\\' => 23, - 'Symfony\\Polyfill\\Php54\\' => 23, - 'Symfony\\Polyfill\\Mbstring\\' => 26, - 'Symfony\\Component\\Yaml\\' => 23, - 'Symfony\\Component\\Validator\\' => 28, - 'Symfony\\Component\\Translation\\' => 30, - 'Symfony\\Component\\Serializer\\' => 29, - 'Symfony\\Component\\Security\\Acl\\' => 31, - 'Symfony\\Component\\Security\\' => 27, - 'Symfony\\Component\\Routing\\' => 26, - 'Symfony\\Component\\PropertyAccess\\' => 33, - 'Symfony\\Component\\Process\\' => 26, - 'Symfony\\Component\\OptionsResolver\\' => 34, - 'Symfony\\Component\\Intl\\' => 23, - 'Symfony\\Component\\HttpKernel\\' => 29, - 'Symfony\\Component\\HttpFoundation\\' => 33, - 'Symfony\\Component\\Form\\' => 23, - 'Symfony\\Component\\Finder\\' => 25, - 'Symfony\\Component\\Filesystem\\' => 29, - 'Symfony\\Component\\ExpressionLanguage\\' => 37, - 'Symfony\\Component\\EventDispatcher\\' => 34, - 'Symfony\\Component\\DomCrawler\\' => 29, - 'Symfony\\Component\\DependencyInjection\\' => 38, - 'Symfony\\Component\\Debug\\' => 24, - 'Symfony\\Component\\Console\\' => 26, - 'Symfony\\Component\\Config\\' => 25, - 'Symfony\\Component\\ClassLoader\\' => 30, - 'Symfony\\Component\\BrowserKit\\' => 29, - 'Symfony\\Cmf\\Component\\Routing\\' => 30, - ), - 'F' => - array ( - 'Faker\\' => 6, - ), - 'D' => - array ( - 'Doctrine\\Instantiator\\' => 22, - 'Doctrine\\Common\\Cache\\' => 22, - ), - 'C' => - array ( - 'CommerceGuys\\Enum\\' => 18, - 'CommerceGuys\\Addressing\\' => 24, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'Thelia\\Tests\\' => - array ( - 0 => __DIR__ . '/../../..' . '/tests/phpunit/Thelia/Tests', - ), - 'Thelia\\Math\\' => - array ( - 0 => __DIR__ . '/..' . '/thelia/math-tools/src', - ), - 'Thelia\\CurrencyConverter\\' => - array ( - 0 => __DIR__ . '/..' . '/thelia/currency-converter/src', - ), - 'Thelia\\' => - array ( - 0 => __DIR__ . '/../../..' . '/core/lib/Thelia', - ), - 'Symfony\\Polyfill\\Util\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-util', - ), - 'Symfony\\Polyfill\\Php70\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php70', - ), - 'Symfony\\Polyfill\\Php56\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php56', - ), - 'Symfony\\Polyfill\\Php55\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php55', - ), - 'Symfony\\Polyfill\\Php54\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php54', - ), - 'Symfony\\Polyfill\\Mbstring\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', - ), - 'Symfony\\Component\\Yaml\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/yaml', - ), - 'Symfony\\Component\\Validator\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/validator', - ), - 'Symfony\\Component\\Translation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/translation', - ), - 'Symfony\\Component\\Serializer\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/serializer', - ), - 'Symfony\\Component\\Security\\Acl\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/security-acl', - ), - 'Symfony\\Component\\Security\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/security', - ), - 'Symfony\\Component\\Routing\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/routing', - ), - 'Symfony\\Component\\PropertyAccess\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/property-access', - ), - 'Symfony\\Component\\Process\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/process', - ), - 'Symfony\\Component\\OptionsResolver\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/options-resolver', - ), - 'Symfony\\Component\\Intl\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/intl', - ), - 'Symfony\\Component\\HttpKernel\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/http-kernel', - ), - 'Symfony\\Component\\HttpFoundation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/http-foundation', - ), - 'Symfony\\Component\\Form\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/form', - ), - 'Symfony\\Component\\Finder\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/finder', - ), - 'Symfony\\Component\\Filesystem\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/filesystem', - ), - 'Symfony\\Component\\ExpressionLanguage\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/expression-language', - ), - 'Symfony\\Component\\EventDispatcher\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/event-dispatcher', - ), - 'Symfony\\Component\\DomCrawler\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/dom-crawler', - ), - 'Symfony\\Component\\DependencyInjection\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/dependency-injection', - ), - 'Symfony\\Component\\Debug\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/debug', - ), - 'Symfony\\Component\\Console\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/console', - ), - 'Symfony\\Component\\Config\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/config', - ), - 'Symfony\\Component\\ClassLoader\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/class-loader', - ), - 'Symfony\\Component\\BrowserKit\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/browser-kit', - ), - 'Symfony\\Cmf\\Component\\Routing\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony-cmf/routing', - ), - 'Faker\\' => - array ( - 0 => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker', - ), - 'Doctrine\\Instantiator\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', - ), - 'Doctrine\\Common\\Cache\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/cache/lib/Doctrine/Common/Cache', - ), - 'CommerceGuys\\Enum\\' => - array ( - 0 => __DIR__ . '/..' . '/commerceguys/enum/src', - ), - 'CommerceGuys\\Addressing\\' => - array ( - 0 => __DIR__ . '/..' . '/commerceguys/addressing/src', - ), - ); - - public static $prefixesPsr0 = array ( - 'p' => - array ( - 'phpDocumentor' => - array ( - 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', - ), - ), - 'T' => - array ( - 'Thelia\\Composer' => - array ( - 0 => __DIR__ . '/..' . '/thelia/installer/src', - ), - ), - 'S' => - array ( - 'Symfony\\Component\\Icu\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/icu', - ), - 'Stack' => - array ( - 0 => __DIR__ . '/..' . '/stack/builder/src', - ), - 'SimplePie' => - array ( - 0 => __DIR__ . '/..' . '/simplepie/simplepie/library', - ), - ), - 'P' => - array ( - 'Psr\\Log\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/log', - ), - 'Prophecy\\' => - array ( - 0 => __DIR__ . '/..' . '/phpspec/prophecy/src', - ), - 'Propel' => - array ( - 0 => __DIR__ . '/..' . '/propel/propel/src', - ), - ), - 'M' => - array ( - 'Michelf' => - array ( - 0 => __DIR__ . '/..' . '/michelf/php-markdown', - ), - ), - 'L' => - array ( - 'Less' => - array ( - 0 => __DIR__ . '/..' . '/oyejorge/less.php/lib', - ), - ), - 'I' => - array ( - 'Imagine' => - array ( - 0 => __DIR__ . '/..' . '/imagine/imagine/lib', - ), - ), - 'H' => - array ( - 'HTML2PDF' => - array ( - 0 => __DIR__ . '/..' . '/ensepar/html2pdf', - ), - ), - 'D' => - array ( - 'Doctrine\\Common\\Collections\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/collections/lib', - ), - ), - 'C' => - array ( - 'CssEmbed' => - array ( - 0 => __DIR__ . '/..' . '/ptachoire/cssembed/src', - ), - ), - 'A' => - array ( - 'Assetic' => - array ( - 0 => __DIR__ . '/..' . '/kriswallsmith/assetic/src', - ), - ), - ); - - public static $fallbackDirsPsr0 = array ( - 0 => __DIR__ . '/../../..' . '/local/modules', - ); - - public static $classMap = array ( - 'ArithmeticError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php', - 'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php', - 'CallbackFilterIterator' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/CallbackFilterIterator.php', - 'Collator' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/Collator.php', - 'DivisionByZeroError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php', - 'Error' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/Error.php', - 'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php', - 'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php', - 'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php', - 'IntlDateFormatter' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/IntlDateFormatter.php', - 'Locale' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/Locale.php', - 'NumberFormatter' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/NumberFormatter.php', - 'PHPUnit_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php', - 'PHPUnit_Extensions_GroupTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', - 'PHPUnit_Extensions_PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestCase.php', - 'PHPUnit_Extensions_PhptTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php', - 'PHPUnit_Extensions_RepeatedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/RepeatedTest.php', - 'PHPUnit_Extensions_TestDecorator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TestDecorator.php', - 'PHPUnit_Extensions_TicketListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TicketListener.php', - 'PHPUnit_Framework_Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php', - 'PHPUnit_Framework_AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', - 'PHPUnit_Framework_BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/BaseTestListener.php', - 'PHPUnit_Framework_CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', - 'PHPUnit_Framework_Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint.php', - 'PHPUnit_Framework_Constraint_And' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/And.php', - 'PHPUnit_Framework_Constraint_ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', - 'PHPUnit_Framework_Constraint_ArraySubset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', - 'PHPUnit_Framework_Constraint_Attribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', - 'PHPUnit_Framework_Constraint_Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', - 'PHPUnit_Framework_Constraint_ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', - 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', - 'PHPUnit_Framework_Constraint_Composite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', - 'PHPUnit_Framework_Constraint_Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Count.php', - 'PHPUnit_Framework_Constraint_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', - 'PHPUnit_Framework_Constraint_ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', - 'PHPUnit_Framework_Constraint_ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', - 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php', - 'PHPUnit_Framework_Constraint_FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', - 'PHPUnit_Framework_Constraint_GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', - 'PHPUnit_Framework_Constraint_IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', - 'PHPUnit_Framework_Constraint_IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', - 'PHPUnit_Framework_Constraint_IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', - 'PHPUnit_Framework_Constraint_IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', - 'PHPUnit_Framework_Constraint_IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', - 'PHPUnit_Framework_Constraint_IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', - 'PHPUnit_Framework_Constraint_IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', - 'PHPUnit_Framework_Constraint_IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', - 'PHPUnit_Framework_Constraint_IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', - 'PHPUnit_Framework_Constraint_IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', - 'PHPUnit_Framework_Constraint_JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', - 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php', - 'PHPUnit_Framework_Constraint_LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', - 'PHPUnit_Framework_Constraint_Not' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Not.php', - 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', - 'PHPUnit_Framework_Constraint_Or' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Or.php', - 'PHPUnit_Framework_Constraint_PCREMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php', - 'PHPUnit_Framework_Constraint_SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', - 'PHPUnit_Framework_Constraint_StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', - 'PHPUnit_Framework_Constraint_StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', - 'PHPUnit_Framework_Constraint_StringMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php', - 'PHPUnit_Framework_Constraint_StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', - 'PHPUnit_Framework_Constraint_TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', - 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', - 'PHPUnit_Framework_Constraint_Xor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Xor.php', - 'PHPUnit_Framework_Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error.php', - 'PHPUnit_Framework_Error_Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', - 'PHPUnit_Framework_Error_Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php', - 'PHPUnit_Framework_Error_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php', - 'PHPUnit_Framework_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception.php', - 'PHPUnit_Framework_ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', - 'PHPUnit_Framework_ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', - 'PHPUnit_Framework_IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php', - 'PHPUnit_Framework_IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', - 'PHPUnit_Framework_IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', - 'PHPUnit_Framework_InvalidCoversTargetError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php', - 'PHPUnit_Framework_InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', - 'PHPUnit_Framework_MockObject_BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php', - 'PHPUnit_Framework_MockObject_Builder_Identity' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php', - 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Builder_Match' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php', - 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Namespace' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php', - 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php', - 'PHPUnit_Framework_MockObject_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php', - 'PHPUnit_Framework_MockObject_Generator' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php', - 'PHPUnit_Framework_MockObject_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php', - 'PHPUnit_Framework_MockObject_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Invocation_Object' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php', - 'PHPUnit_Framework_MockObject_Invocation_Static' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php', - 'PHPUnit_Framework_MockObject_Invokable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php', - 'PHPUnit_Framework_MockObject_Matcher' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', - 'PHPUnit_Framework_MockObject_Matcher_MethodName' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', - 'PHPUnit_Framework_MockObject_Matcher_Parameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php', - 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php', - 'PHPUnit_Framework_MockObject_MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php', - 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php', - 'PHPUnit_Framework_MockObject_RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php', - 'PHPUnit_Framework_MockObject_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php', - 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php', - 'PHPUnit_Framework_MockObject_Stub_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php', - 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php', - 'PHPUnit_Framework_MockObject_Stub_Return' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php', - 'PHPUnit_Framework_MockObject_Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php', - 'PHPUnit_Framework_OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/OutputError.php', - 'PHPUnit_Framework_RiskyTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTest.php', - 'PHPUnit_Framework_RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTestError.php', - 'PHPUnit_Framework_SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php', - 'PHPUnit_Framework_SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php', - 'PHPUnit_Framework_SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', - 'PHPUnit_Framework_SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestError.php', - 'PHPUnit_Framework_SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', - 'PHPUnit_Framework_SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SyntheticError.php', - 'PHPUnit_Framework_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php', - 'PHPUnit_Framework_TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php', - 'PHPUnit_Framework_TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php', - 'PHPUnit_Framework_TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php', - 'PHPUnit_Framework_TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php', - 'PHPUnit_Framework_TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php', - 'PHPUnit_Framework_TestSuite_DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php', - 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', - 'PHPUnit_Framework_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Warning.php', - 'PHPUnit_Runner_BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', - 'PHPUnit_Runner_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php', - 'PHPUnit_Runner_Filter_Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php', - 'PHPUnit_Runner_Filter_GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group.php', - 'PHPUnit_Runner_Filter_Group_Exclude' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php', - 'PHPUnit_Runner_Filter_Group_Include' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php', - 'PHPUnit_Runner_Filter_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Test.php', - 'PHPUnit_Runner_StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', - 'PHPUnit_Runner_TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', - 'PHPUnit_Runner_Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php', - 'PHPUnit_TextUI_Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php', - 'PHPUnit_TextUI_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', - 'PHPUnit_TextUI_TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php', - 'PHPUnit_Util_Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php', - 'PHPUnit_Util_Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php', - 'PHPUnit_Util_ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php', - 'PHPUnit_Util_Fileloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Fileloader.php', - 'PHPUnit_Util_Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php', - 'PHPUnit_Util_Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php', - 'PHPUnit_Util_Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php', - 'PHPUnit_Util_GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php', - 'PHPUnit_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', - 'PHPUnit_Util_Log_JSON' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JSON.php', - 'PHPUnit_Util_Log_JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php', - 'PHPUnit_Util_Log_TAP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TAP.php', - 'PHPUnit_Util_PHP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP.php', - 'PHPUnit_Util_PHP_Default' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Default.php', - 'PHPUnit_Util_PHP_Windows' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Windows.php', - 'PHPUnit_Util_Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php', - 'PHPUnit_Util_Regex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Regex.php', - 'PHPUnit_Util_String' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/String.php', - 'PHPUnit_Util_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php', - 'PHPUnit_Util_TestDox_NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', - 'PHPUnit_Util_TestDox_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', - 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php', - 'PHPUnit_Util_TestDox_ResultPrinter_Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php', - 'PHPUnit_Util_TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestSuiteIterator.php', - 'PHPUnit_Util_Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php', - 'PHPUnit_Util_XML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XML.php', - 'PHP_CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php', - 'PHP_CodeCoverage_Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php', - 'PHP_CodeCoverage_Driver_HHVM' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php', - 'PHP_CodeCoverage_Driver_PHPDBG' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php', - 'PHP_CodeCoverage_Driver_Xdebug' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php', - 'PHP_CodeCoverage_Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php', - 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php', - 'PHP_CodeCoverage_Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php', - 'PHP_CodeCoverage_Report_Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php', - 'PHP_CodeCoverage_Report_Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php', - 'PHP_CodeCoverage_Report_Factory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php', - 'PHP_CodeCoverage_Report_HTML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php', - 'PHP_CodeCoverage_Report_HTML_Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php', - 'PHP_CodeCoverage_Report_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php', - 'PHP_CodeCoverage_Report_Node_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php', - 'PHP_CodeCoverage_Report_Node_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php', - 'PHP_CodeCoverage_Report_Node_Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php', - 'PHP_CodeCoverage_Report_PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php', - 'PHP_CodeCoverage_Report_Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php', - 'PHP_CodeCoverage_Report_XML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php', - 'PHP_CodeCoverage_Report_XML_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php', - 'PHP_CodeCoverage_Report_XML_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php', - 'PHP_CodeCoverage_Report_XML_File_Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php', - 'PHP_CodeCoverage_Report_XML_File_Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php', - 'PHP_CodeCoverage_Report_XML_File_Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php', - 'PHP_CodeCoverage_Report_XML_File_Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php', - 'PHP_CodeCoverage_Report_XML_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php', - 'PHP_CodeCoverage_Report_XML_Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php', - 'PHP_CodeCoverage_Report_XML_Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php', - 'PHP_CodeCoverage_Report_XML_Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php', - 'PHP_CodeCoverage_Util' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php', - 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php', - 'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php', - 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScopeAndVisibility' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ABSTRACT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AMPERSAND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AND_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ASYNC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AWAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BACKTICK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BAD_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOL_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BREAK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CALLABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CARET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CASE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CATCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_NAME_CONSTANT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLONE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMA' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMPILER_HALT_OFFSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONCAT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONSTANT_ENCAPSED_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONTINUE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CURLY_OPEN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEFAULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOC_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_QUOTES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELLIPSIS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSEIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EMPTY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENCAPSED_AND_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDDECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDSWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDWHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_END_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENUM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUALS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EVAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXCLAMATION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXTENDS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINALLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNC_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GLOBAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GOTO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_HALT_COMPILER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IMPLEMENTS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INLINE_HTML' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTANCEOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTEADOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INTERFACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ISSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_GREATER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_SMALLER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Includes' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_JOIN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_CP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_OP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LINE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LIST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_XOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_METHOD_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MOD_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MUL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NAMESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NEW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_SEPARATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NUM_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ONUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG_WITH_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PERCENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PIPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRINT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRIVATE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PROTECTED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PUBLIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_QUESTION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_RETURN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SEMICOLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SHAPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SPACESHIP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_START_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STATIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_VARNAME' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Stream' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream.php', - 'PHP_Token_Stream_CachingFactory' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', - 'PHP_Token_THROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TILDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VARIABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHERE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_ATTRIBUTE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CHILDREN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_REQUIRED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TEXT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'ParseError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ParseError.php', - 'QRcode' => __DIR__ . '/..' . '/ensepar/tcpdf/qrcode.php', - 'RecursiveCallbackFilterIterator' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/RecursiveCallbackFilterIterator.php', - 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php', - 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php', - 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php', - 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php', - 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php', - 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php', - 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php', - 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php', - 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php', - 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php', - 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php', - 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php', - 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php', - 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php', - 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php', - 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php', - 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php', - 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php', - 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php', - 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php', - 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php', - 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php', - 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php', - 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php', - 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php', - 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php', - 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/Exception.php', - 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php', - 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/RuntimeException.php', - 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php', - 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php', - 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php', - 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php', - 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', - 'SessionHandlerInterface' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/SessionHandlerInterface.php', - 'Smarty' => __DIR__ . '/..' . '/smarty/smarty/libs/Smarty.class.php', - 'SmartyBC' => __DIR__ . '/..' . '/smarty/smarty/libs/SmartyBC.class.php', - 'SmartyCompilerException' => __DIR__ . '/..' . '/smarty/smarty/libs/Smarty.class.php', - 'SmartyException' => __DIR__ . '/..' . '/smarty/smarty/libs/Smarty.class.php', - 'Smarty_Security' => __DIR__ . '/..' . '/smarty/smarty/libs/sysplugins/smarty_security.php', - 'TCPDF' => __DIR__ . '/..' . '/ensepar/tcpdf/tcpdf.php', - 'TCPDF2DBarcode' => __DIR__ . '/..' . '/ensepar/tcpdf/2dbarcodes.php', - 'TCPDFBarcode' => __DIR__ . '/..' . '/ensepar/tcpdf/barcodes.php', - 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php', - 'TypeError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/TypeError.php', - 'lessc' => __DIR__ . '/..' . '/oyejorge/less.php/lessc.inc.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$prefixesPsr0; - $loader->fallbackDirsPsr0 = ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$fallbackDirsPsr0; - $loader->classMap = ComposerStaticInit707c94b89116dc9a5c149116ae36ff39::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index 27b03422..fa1dcebf 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -349,8 +349,7 @@ "keywords": [ "TCPDF", "pdf" - ], - "abandoned": "tecnickcom/tcpdf" + ] }, { "name": "ensepar/html2pdf", @@ -401,8 +400,7 @@ "html", "html2pdf", "pdf" - ], - "abandoned": "spipu/html2pdf" + ] }, { "name": "imagine/imagine", @@ -2218,6 +2216,122 @@ "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com" }, + { + "name": "psr/cache", + "version": "1.0.0", + "version_normalized": "1.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/9e66031f41fbbdda45ee11e93c45d480ccba3eb3", + "reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2015-12-11 02:52:07", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ] + }, + { + "name": "symfony/cache", + "version": "v3.1.0", + "version_normalized": "3.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "5656882318413f029fcce69ccc865daa16f8d35a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/5656882318413f029fcce69ccc865daa16f8d35a", + "reference": "5656882318413f029fcce69ccc865daa16f8d35a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/cache": "~1.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "predis/predis": "~1.0" + }, + "suggest": { + "symfony/polyfill-apcu": "For using ApcuAdapter on HHVM" + }, + "time": "2016-05-25 07:47:04", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony implementation of PSR-6", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ] + }, { "name": "symfony/class-loader", "version": "v2.8.2", @@ -2815,8 +2929,7 @@ "keywords": [ "icu", "intl" - ], - "abandoned": "symfony/intl" + ] }, { "name": "symfony/polyfill-util", @@ -4383,100 +4496,5 @@ }, "installation-source": "dist", "notification-url": "https://packagist.org/downloads/" - }, - { - "name": "thelia/paypal-module", - "version": "2.0", - "version_normalized": "2.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/Paypal.git", - "reference": "113b1314c11e7e4a41d540698ea39766ec622340" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/Paypal/zipball/113b1314c11e7e4a41d540698ea39766ec622340", - "reference": "113b1314c11e7e4a41d540698ea39766ec622340", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.0" - }, - "time": "2016-01-14 15:33:37", - "type": "thelia-module", - "extra": { - "installer-name": "Paypal" - }, - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL V3" - ], - "authors": [ - { - "name": "Thelia", - "email": "info@thelia.net", - "homepage": "https://github.com/thelia-modules" - } - ], - "description": "Paypal module for Thelia ecommerce solution" - }, - { - "name": "thelia/take-customer-account-module", - "version": "1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/TakeCustomerAccount.git", - "reference": "68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/TakeCustomerAccount/zipball/68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8", - "reference": "68c0aa16fea905c4d4fbb2d9dd9e9ed1700fdee8", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.1" - }, - "time": "2016-02-22 21:26:29", - "type": "thelia-module", - "extra": { - "installer-name": "TakeCustomerAccount" - }, - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ] - }, - { - "name": "thelia/order-creation-module", - "version": "1.4", - "version_normalized": "1.4.0.0", - "source": { - "type": "git", - "url": "https://github.com/thelia-modules/OrderCreation.git", - "reference": "27904242efb0a1fbec92f977949f766176f2d083" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thelia-modules/OrderCreation/zipball/27904242efb0a1fbec92f977949f766176f2d083", - "reference": "27904242efb0a1fbec92f977949f766176f2d083", - "shasum": "" - }, - "require": { - "thelia/installer": "~1.1" - }, - "time": "2015-09-29 15:23:31", - "type": "thelia-module", - "extra": { - "installer-name": "OrderCreation" - }, - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0+" - ] } ] diff --git a/core/vendor/doctrine/instantiator/.travis.install.sh b/core/vendor/doctrine/instantiator/.travis.install.sh old mode 100644 new mode 100755 diff --git a/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Address.php b/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Address.php old mode 100644 new mode 100755 diff --git a/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Internet.php b/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Internet.php old mode 100644 new mode 100755 diff --git a/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Payment.php b/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/Payment.php old mode 100644 new mode 100755 diff --git a/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/PhoneNumber.php b/core/vendor/fzaninotto/faker/src/Faker/Provider/sl_SI/PhoneNumber.php old mode 100644 new mode 100755 diff --git a/core/vendor/fzaninotto/faker/test/Faker/Provider/ja_JP/PersonTest.php b/core/vendor/fzaninotto/faker/test/Faker/Provider/ja_JP/PersonTest.php old mode 100644 new mode 100755 diff --git a/core/vendor/kriswallsmith/assetic/package.json b/core/vendor/kriswallsmith/assetic/package.json old mode 100644 new mode 100755 diff --git a/core/vendor/oyejorge/less.php/bin/lessc b/core/vendor/oyejorge/less.php/bin/lessc old mode 100644 new mode 100755 diff --git a/core/vendor/oyejorge/less.php/lib/Less/Less.php.combine b/core/vendor/oyejorge/less.php/lib/Less/Less.php.combine old mode 100644 new mode 100755 diff --git a/core/vendor/phpunit/phpunit/build/bin/phpab b/core/vendor/phpunit/phpunit/build/bin/phpab old mode 100644 new mode 100755 index 00f803db..80eaec49 --- a/core/vendor/phpunit/phpunit/build/bin/phpab +++ b/core/vendor/phpunit/phpunit/build/bin/phpab @@ -152,7 +152,7 @@ $factory = new \TheSeer\Autoload\Factory(); $factory->getCLI()->run(); exit(0); -__HALT_COMPILER(); ?> +__HALT_COMPILER(); ?> ) phpab.phar8vendor/theseer/directoryscanner/src/directoryscanner.php"\BVA P7vendor/theseer/directoryscanner/src/filesonlyfilter.php \BVAf<vendor/theseer/directoryscanner/src/includeexcludefilter.php^\BVTBl1vendor/theseer/directoryscanner/src/phpfilter.php \BVFA'vendor/zetacomponents/base/src/base.phpY\BV\0vendor/zetacomponents/base/src/base_autoload.phpN\BVH¬Lvendor/zetacomponents/base/src/exceptions/double_class_repository_prefix.phpV\BV6w7vendor/zetacomponents/base/src/exceptions/exception.php\BV CTsAvendor/zetacomponents/base/src/exceptions/extension_not_found.php6\BV~9 <vendor/zetacomponents/base/src/exceptions/file_exception.php-\BV5vendor/zetacomponents/base/src/exceptions/file_io.php\BVO;<vendor/zetacomponents/base/src/exceptions/file_not_found.phpJ\BV,T]DX=vendor/zetacomponents/base/src/exceptions/file_permission.php \BVDg7Ivendor/zetacomponents/base/src/exceptions/functionality_not_supported.php>\BV V&JFvendor/zetacomponents/base/src/exceptions/init_callback_configured.php\BV: Dvendor/zetacomponents/base/src/exceptions/invalid_callback_class.php_\BV @@ -187,7 +187,7 @@ f q-%9?)'aU˜0$"*LB\:DsB'rl,i8Ee݆ XI~^h]'KEEbFG@HOpRC=m_yqe& B~EbEf+G$D@djAB[V݀&鬧I^\i=],n2Lǣ8QB HU gi%T0Mmɨqr-ίדp~w7`prqs޿qzyqv~s~y^8og!eH4DʉO%l!4yl̤%w2m mS]$˒qdL@(p~TA52\M^ًr"8 pdjZk8@5,}U/Q{PFi y!9RƬ!8L̗):t 1=bDUDۃ1Fl=1?aL0R]Ntƛ``M4iMk PDWIv9Veb(I"wCl5[6eY*B\ dOR (79W=Y 0;pqZ3Æ+d|c@d }yq(Obdq6+gaQΧ舕Z<~th ,}nxC/VRljo//|;^E+vDFu&Pמ6ȍyB̕SF‰5=$dфj,+ a0pAfɎ lK4z|o>CqTlooܳm'/Zw2z~zDv-dڲۦacFrX]TCMB˶e"/Lh>=|?, l ~n3bT5El\?=\`='ǻi}G`&Pz @x};I{%8I=ARSӞ7 vmQy0p$JffT@@8`SWv{Tt;Xղn!%=`@tORlwN247E@8Q2)SfmX8D#]G:itF6i9Q,|(A*Z,w띑ւf+k/a+r쉇kN#}18 CWbJ[h|et&$K)Tн':?>Il|뺙pg`ѿF=07Ħjl%TbCZKq.(3TqUL MpkdMFA a&Nh-<@T*3Z;@,C|hۅ`M;:$}&|zQ _xa|%Fd|.q2N##'W@—ʰb*Qqഴ}r.SZ^SR)Z"Qȸ1"r0]8=\AVG#чӫX|O@%ݚlJ{XQ($S aG0 3u52];ЕBcײ| MZ0ܦ%[]6Tz11WpJ4h^{\lAi}t@0%`yIbݰrƯM*T@f \[)sEVU5H4l),yA[O*CkI4r TXLT\A_(2Jm&i/Z H6k4G0~M!|.>?-n<[Lo"|v=]L3zx=?NgC@RCa!(&~j1p4ur%cRޠcRɥZP{zčDŽ_\֙4?E߯5! vǐt j aDT<. Olb`IS+JҲ4Y-ncV03ADX# @@ -566,9 +566,9 @@ h B8 z34%^ vdvH kNd X7 lfZF~^MVM ;ڹH]pǪ`(yA"WԂoDצ`U9#ņT w8xR誰T!Pfggf7}e o'&y&Ev#q `?VɅI ^VEn$4K:˜41^ئqV(џ@H^8 wpMm_/hG zV.D0ԪS =}K[ T)[4fy'cmVѬ8GxZKbvYQ &C&m[,ߺ >СZYX΄ -s}Hcu$t"!\tf[WQRN;qsԺͳ2_-^['uNSkT|P:uAxouMW3lK/%TVMVJK^Wwi&mg6-)?z?DPsAxouMW3lK/%TVMVJK^Wwi&mg6-)?z?DPs Q|\\x=J6UK?m㼤 n(j'%>4r%8,]}ۀ}075NA_f2Eb =)nvڀ#DU|6ɣ|31§t0Hw.{i~m WIsx3 PŇ,o|(Bdꪜ1y;hg lLܵW硲@ K3Q\q<*jlRNeӔ3>[xp6C 9~9 hf`P>p'67&Vnwk$:.u^ߍiVSzV%(?DV'?Gdv73hWnF}WL Y*NF2`) @@ -772,7 +772,7 @@ b D6`R^oZu܍ļ\#v2aDH|ObD b ؊"Q2;$-]Ô H1:`GQ> gct|uu<NFpq/Nx$?:24cAN R\>9 -6N2?=t/'laqk"bK DSLtRI-}Kl5Qiw6Sz=?tg^O/BmCRLF9sojX.AzեIZa&^+L;C1jM XbQ@c1e<1 UK S;?dbfZt%X$ӵ[Ęle n˳Kh. ,1<<Ԅ/؝*"qjL>λL4z|zS ZC/UqNWӦrNbcTE2uG79M܇. #_얃L`BqACX QK`r1VCsY%um) 4ݖ'^U"B+׌۵ c1P:j~:RRhku&e!WF|pw4;>DzzWdgg稕.3MQ}88$*)}:K^cIeVzܰUncQR10o؞86R q|؁Sij SJvҜv\gLT!8^*l:IT`\eIbnnD )lӏt?׵"K!)kl>|L @k!8'~-~xQ5^%J?rxR+dEN'dx+S*|{V+Rכ+vEIbKz6(hT#zYcѵeorF&xJ1`H^|6[J 6rkI$^U2%4i.¹XHpyxd_0dT=M ^j m//R1JWLw\u7Oɵ{mqv0נᛘMX&j,:([?qF6O8aBrS "9y voc0lmp%`urP:yZ,a4su'BE`0^kՒR$:->h Z>(I{73{ǿGQ'W?ԚǏ8<3I("LRE </su'BE`0^kՒR$:->h Z>(I{73{ǿGQ'W?ԚǏ8<3I("LRE </l-R_,OaUP8jj){5 AJΦ+,"O͗= zH߸*Ђwx&ZUCR5`h-:j04zݪ u].'xYw|襬|5Ͳ0d{qԕvvFMbk#av8CNQ 8VvyEAYvg]NTU: b#E S_Bj <Z64=Q4>4*N'g>OՠRh!_e,p]3Bw8TlKՎ]՜EptOtd$c'43z8NȣF:J.c2\UC ^,X 1joDyKU"Q$ &o@@wˏ[_Jf/Ǭ g ?J7|MY4q%9_u~/2J, яDN7PFiȴ04"!T7"a~$0U` *tS<`k:Le|'"tJ4@u-.<A}`p8<ROc9؜Uv֙x(h KS[4gxpJB `C]*kLVen|F; n! }hV%1/*K✪qwBAU@ť{s VMӋ?Z'G)MX]~8 s$kp-nE"qg>-o*NeyMX6i^u6^`*pnAXQrviSjtuàd͌.'۫{rŸVԨ%U_ LYh;'B78uSu+RCl n(㪏^o2tTܸx ]&soM&u x aoVWW;`Fծ[d\ccܢ lo^n{5F-onv=¸@9T=&7ϓkwLb)ͱ7t rH?\#ԵGHmX zN|oX#kP%6 Nղ䫘15t$5u%lc}]6۪;5Oz)W9fk󴲧zz=/OW|?84#^1ӳJpxLM`! _o;S2AqgK,06[c ?x3f /M0|fD&0hkk{6 reᇜI5>wdS4oȴ%A н84#^1ӳJpxLM`! _o;S2AqgK,06[c ?x3f /M0|fD&0hkk{6 reᇜI5>wdS4oȴ%A н x&ܹNe3:Adr HG<MJze4sqY`źissk,VnG9j% E;م dtʺ+ Q9R3ooApcN-B#% ]ہ qrD RiCY;+3_ rZьŠ&}L-@rn%4ﳃs. oya]G"*mޚ;3҉YS9)MWEITU(#(%>opj|T ~_O^&-[ob3|/_J`UkIOO,%XC\Vks9c eوַ)y3J+W+Z8;>>fH>žw䱓9{'Jj6i^ZYq<7SgQ~_\g57'˷ >~PÍnϲX8`r骢 @@ -831,7 +831,7 @@ _ >T}.Ǯ˾P)\%_8ӹjZQ-v"D> -U>:j»VN kjqI?n|< PkTmk=Wby \c]=I8P@+l[bT3l% .t%s-F]tk< ^61ECnc ]Z`WWƺ%P^ckPߜE :V&LF^x }~F9ja컁<É+ͨTu3Q|nHߝ diff --git a/core/vendor/phpunit/phpunit/build/phar-manifest.php b/core/vendor/phpunit/phpunit/build/phar-manifest.php old mode 100644 new mode 100755 diff --git a/core/vendor/phpunit/phpunit/build/phar-version.php b/core/vendor/phpunit/phpunit/build/phar-version.php old mode 100644 new mode 100755 diff --git a/core/vendor/phpunit/phpunit/phpunit b/core/vendor/phpunit/phpunit/phpunit old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/.travis.yml b/core/vendor/simplepie/simplepie/.travis.yml old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/demo/cli_test.php b/core/vendor/simplepie/simplepie/demo/cli_test.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/demo/for_the_demo/mediaplayer_readme.htm b/core/vendor/simplepie/simplepie/demo/for_the_demo/mediaplayer_readme.htm old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/library/SimplePie/Registry.php b/core/vendor/simplepie/simplepie/library/SimplePie/Registry.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/phpunit.xml.dist b/core/vendor/simplepie/simplepie/phpunit.xml.dist old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/tests/AllTests.php b/core/vendor/simplepie/simplepie/tests/AllTests.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/tests/HTTPParserTest.php b/core/vendor/simplepie/simplepie/tests/HTTPParserTest.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/tests/LocatorTest.php b/core/vendor/simplepie/simplepie/tests/LocatorTest.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/tests/bootstrap.php b/core/vendor/simplepie/simplepie/tests/bootstrap.php old mode 100644 new mode 100755 diff --git a/core/vendor/simplepie/simplepie/tests/data/fftests.html b/core/vendor/simplepie/simplepie/tests/data/fftests.html old mode 100644 new mode 100755 diff --git a/core/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php b/core/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php old mode 100644 new mode 100755 diff --git a/core/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-2022-jp/one.txt b/core/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-2022-jp/one.txt index 99ce65b0..c2923deb 100644 --- a/core/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-2022-jp/one.txt +++ b/core/vendor/swiftmailer/swiftmailer/tests/_samples/charsets/iso-2022-jp/one.txt @@ -1,11 +1,11 @@ -ISO-2022-JPは、インターネット上(特に電子メール)などで使われる日本の文字用の文字符号化方式。ISO/IEC 2022のエスケープシーケンスを利用して文字集合を切り替える7ビットのコードであることを特徴とする (アナウンス機能のエスケープシーケンスは省略される)。俗に「JISコード」と呼ばれることもある。 - -概要 -日本語表記への利用が想定されている文字コードであり、日本語の利用されるネットワークにおいて、日本の規格を応用したものである。また文字集合としては、日本語で用いられる漢字、ひらがな、カタカナはもちろん、ラテン文字、ギリシア文字、キリル文字なども含んでおり、学術や産業の分野での利用も考慮たものとなっている。規格名に、ISOの日本語の言語コードであるjaではなく、国・地域名コードのJPが示されているゆえんである。 -文字集合としてJIS X 0201のC0集合(制御文字)、JIS X 0201のラテン文字集合、ISO 646の国際基準版図形文字、JIS X 0208の1978年版(JIS C 6226-1978)と1983年および1990年版が利用できる。JIS X 0201の片仮名文字集合は利用できない。1986年以降、日本の電子メールで用いられてきたJUNETコードを、村井純・Mark Crispin・Erik van der Poelが1993年にRFC化したもの(RFC 1468)。後にJIS X 0208:1997の附属書2としてJISに規定された。MIMEにおける文字符号化方式の識別用の名前として IANA に登録されている。 -なお、符号化の仕様についてはISO/IEC 2022#ISO-2022-JPも参照。 - -ISO-2022-JPと非標準的拡張使用 -「JISコード」(または「ISO-2022-JP」)というコード名の規定下では、その仕様通りの使用が求められる。しかし、Windows OS上では、実際にはCP932コード (MicrosoftによるShift JISを拡張した亜種。ISO-2022-JP規定外文字が追加されている。)による独自拡張(の文字)を断りなく使うアプリケーションが多い。この例としてInternet ExplorerやOutlook Expressがある。また、EmEditor、秀丸エディタやThunderbirdのようなMicrosoft社以外のWindowsアプリケーションでも同様の場合がある。この場合、ISO-2022-JPの範囲外の文字を使ってしまうと、異なる製品間では未定義不明文字として認識されるか、もしくは文字化けを起こす原因となる。そのため、Windows用の電子メールクライアントであっても独自拡張の文字を使用すると警告を出したり、あえて使えないように制限しているものも存在する。さらにはISO-2022-JPの範囲内であってもCP932は非標準文字(FULLWIDTH TILDE等)を持つので文字化けの原因になり得る。 -また、符号化方式名をISO-2022-JPとしているのに、文字集合としてはJIS X 0212 (いわゆる補助漢字) やJIS X 0201の片仮名文字集合 (いわゆる半角カナ) をも符号化している例があるが、ISO-2022-JPではこれらの文字を許容していない。これらの符号化は独自拡張の実装であり、中にはISO/IEC 2022の仕様に準拠すらしていないものもある[2]。従って受信側の電子メールクライアントがこれらの独自拡張に対応していない場合、その文字あるいはその文字を含む行、時にはテキスト全体が文字化けすることがある。 - +ISO-2022-JPは、インターネット上(特に電子メール)などで使われる日本の文字用の文字符号化方式。ISO/IEC 2022のエスケープシーケンスを利用して文字集合を切り替える7ビットのコードであることを特徴とする (アナウンス機能のエスケープシーケンスは省略される)。俗に「JISコード」と呼ばれることもある。 + +概要 +日本語表記への利用が想定されている文字コードであり、日本語の利用されるネットワークにおいて、日本の規格を応用したものである。また文字集合としては、日本語で用いられる漢字、ひらがな、カタカナはもちろん、ラテン文字、ギリシア文字、キリル文字なども含んでおり、学術や産業の分野での利用も考慮たものとなっている。規格名に、ISOの日本語の言語コードであるjaではなく、国・地域名コードのJPが示されているゆえんである。 +文字集合としてJIS X 0201のC0集合(制御文字)、JIS X 0201のラテン文字集合、ISO 646の国際基準版図形文字、JIS X 0208の1978年版(JIS C 6226-1978)と1983年および1990年版が利用できる。JIS X 0201の片仮名文字集合は利用できない。1986年以降、日本の電子メールで用いられてきたJUNETコードを、村井純・Mark Crispin・Erik van der Poelが1993年にRFC化したもの(RFC 1468)。後にJIS X 0208:1997の附属書2としてJISに規定された。MIMEにおける文字符号化方式の識別用の名前として IANA に登録されている。 +なお、符号化の仕様についてはISO/IEC 2022#ISO-2022-JPも参照。 + +ISO-2022-JPと非標準的拡張使用 +「JISコード」(または「ISO-2022-JP」)というコード名の規定下では、その仕様通りの使用が求められる。しかし、Windows OS上では、実際にはCP932コード (MicrosoftによるShift JISを拡張した亜種。ISO-2022-JP規定外文字が追加されている。)による独自拡張(の文字)を断りなく使うアプリケーションが多い。この例としてInternet ExplorerやOutlook Expressがある。また、EmEditor、秀丸エディタやThunderbirdのようなMicrosoft社以外のWindowsアプリケーションでも同様の場合がある。この場合、ISO-2022-JPの範囲外の文字を使ってしまうと、異なる製品間では未定義不明文字として認識されるか、もしくは文字化けを起こす原因となる。そのため、Windows用の電子メールクライアントであっても独自拡張の文字を使用すると警告を出したり、あえて使えないように制限しているものも存在する。さらにはISO-2022-JPの範囲内であってもCP932は非標準文字(FULLWIDTH TILDE等)を持つので文字化けの原因になり得る。 +また、符号化方式名をISO-2022-JPとしているのに、文字集合としてはJIS X 0212 (いわゆる補助漢字) やJIS X 0201の片仮名文字集合 (いわゆる半角カナ) をも符号化している例があるが、ISO-2022-JPではこれらの文字を許容していない。これらの符号化は独自拡張の実装であり、中にはISO/IEC 2022の仕様に準拠すらしていないものもある[2]。従って受信側の電子メールクライアントがこれらの独自拡張に対応していない場合、その文字あるいはその文字を含む行、時にはテキスト全体が文字化けすることがある。 + diff --git a/core/vendor/symfony/dom-crawler/Tests/CrawlerTest.php b/core/vendor/symfony/dom-crawler/Tests/CrawlerTest.php old mode 100644 new mode 100755 diff --git a/core/vendor/symfony/finder/Tests/GlobTest.php b/core/vendor/symfony/finder/Tests/GlobTest.php old mode 100644 new mode 100755 diff --git a/core/vendor/symfony/intl/Tests/Data/Bundle/Reader/Fixtures/build.sh b/core/vendor/symfony/intl/Tests/Data/Bundle/Reader/Fixtures/build.sh old mode 100644 new mode 100755 diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index ffc02c27..b1e085eb 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -4,18 +4,26 @@ COPY docker-php-pecl-install /usr/local/bin/ RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ - libmcrypt-dev \ + openssl \ libpng12-dev \ libicu-dev \ git \ zip \ libzip-dev \ - && docker-php-ext-install intl pdo_mysql mcrypt mbstring zip \ + && docker-php-ext-install intl pdo_mysql openssl mbstring zip calendar \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd \ && docker-php-pecl-install xdebug-2.3.3 +# Setup and install composer +RUN curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ + && curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \ + && php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \ + && php /tmp/composer-setup.php \ + && chmod +x composer.phar \ + && mv composer.phar /usr/local/bin/composer + RUN a2enmod rewrite RUN usermod -u 1000 www-data COPY config/php.ini /usr/local/etc/php/ -COPY config/vhost/vhost.conf /etc/apache2/sites-enabled/ \ No newline at end of file +COPY config/vhost/vhost.conf /etc/apache2/sites-enabled/ diff --git a/docker/php/docker-php-pecl-install b/docker/php/docker-php-pecl-install old mode 100644 new mode 100755 index bcbad10b..5bbc1dd7 --- a/docker/php/docker-php-pecl-install +++ b/docker/php/docker-php-pecl-install @@ -1,34 +1,36 @@ #!/bin/bash set -e -cd /usr/src/php/ext - usage() { - echo "usage: $0 extension-version [extension-version] ...]" - echo " ie: $0 oauth-1.2.3 uploadprogress-1.0.3.1" + echo "usage: $0 [channel/] ..." + echo " ie: $0 uploadprogress oauth-1.2.3" } -while [ $# -gt 0 ]; do - ext="$1" - shift - if [ -d "$ext" ]; then - echo >&2 "error: $(pwd -P)/$ext exists already" - echo >&2 +if [ $# -eq 0 ]; then usage >&2 exit 1 - fi - exts+=( "$ext" ) -done - -if [ "${#exts[@]}" -eq 0 ]; then - usage >&2 - exit 1 fi -for ext in "${exts[@]}"; do - ( - mkdir -p $ext - curl -sSL "http://pecl.php.net/get/$ext" | tar xvz -C "$ext" --strip-components=1 - docker-php-ext-install $ext - ) +pecl install "$@" + +while [ $# -gt 0 ]; do + ext="$1" + ext=$(echo "$ext" | cut -d- -f1) + ext=$(echo "$ext" | cut -d\/ -f2) + shift + + for module in $(find /usr/local/lib/php/extensions -name "$ext.so"); do + ini="/usr/local/etc/php/conf.d/docker-php-pecl-$ext.ini" + if grep -q zend_extension_entry "$module"; then + # https://wiki.php.net/internals/extensions#loading_zend_extensions + line="zend_extension=$(readlink -f "$module")" + else + line="extension=$(basename "$module")" + fi + if ! grep -q "$line" "$ini" 2>/dev/null; then + echo "$line" >> "$ini" + fi + done done + +rm -rf /tmp/* diff --git a/php-cs b/php-cs old mode 100644 new mode 100755 diff --git a/reset_install.sh b/reset_install.sh old mode 100644 new mode 100755 diff --git a/run-tests.sh b/run-tests.sh old mode 100644 new mode 100755 index ae46948a..930cdb7b --- a/run-tests.sh +++ b/run-tests.sh @@ -24,11 +24,13 @@ php Thelia cache:clear --env=prod rm -rf local/session/sess_* echo "CasperJS" -cd ../casperjs +echo "casperjs : $(which casperjs) $(casperjs --version)" +echo "phantomjs : ${PHANTOMJS_EXECUTABLE} $(${PHANTOMJS_EXECUTABLE} --version)" + export DISPLAY=:99.0 echo "Front tests" -./bin/casperjs test ../thelia/tests/functionnal/casperjs/exe/front/ --pre=../thelia/tests/functionnal/casperjs/conf/local.js --verbose --thelia2_base_url="http://localhost:8000/index.php/" --thelia2_screenshot_path="../thelia/tests/functionnal/casperjs/screenshot/" --thelia2_screenshot_disabled +casperjs test --local-to-remote-url-access=true --ignore-ssl-errors=true --ssl-protocol=any --pre=tests/functionnal/casperjs/conf/local.js --verbose tests/functionnal/casperjs/exe/front/ --thelia2_base_url="http://127.0.0.1:8000/index.php/" --thelia2_screenshot_path="tests/functionnal/casperjs/screenshot/" --thelia2_screenshot_disabled echo "Back tests" -./bin/casperjs test ../thelia/tests/functionnal/casperjs/exe/back/ --pre=../thelia/tests/functionnal/casperjs/conf/local.js --thelia2_base_url="http://localhost:8000/index_dev.php/" --thelia2_screenshot_path="../thelia/tests/functionnal/casperjs/screenshot/" --thelia2_screenshot_disabled +casperjs test --local-to-remote-url-access=true --ignore-ssl-errors=true --ssl-protocol=any --pre=tests/functionnal/casperjs/conf/local.js --verbose tests/functionnal/casperjs/exe/back/ --thelia2_base_url="http://127.0.0.1:8000/index_dev.php/" --thelia2_screenshot_path="tests/functionnal/casperjs/screenshot/" --thelia2_screenshot_disabled diff --git a/setup/I18n/en_US.php b/setup/I18n/en_US.php index b7260997..60f4d009 100644 --- a/setup/I18n/en_US.php +++ b/setup/I18n/en_US.php @@ -8,6 +8,7 @@ return array( '72h delivery' => '72h delivery', 'A {config key="store_name"} account has been created for you' => 'A {config key="store_name"} account has been created for you', 'API Configuration' => 'API Configuration', + 'Account order - after product information' => 'Account order - after product information', 'Aceh' => 'Aceh', 'Address' => 'Address', 'Address creation - CSS stylesheet' => 'Address creation - CSS stylesheet', @@ -76,6 +77,7 @@ return array( 'Arkansas' => 'Arkansas', 'Armenia' => 'Armenia', 'Ascoli Piceno' => 'Ascoli Piceno', + 'Ask the customers to confirm their email in customer creation form, 1 for yes, 0 for no' => 'Ask the customers to confirm their email in customer creation form (1: yes, 0: no)', 'Ask the customers to confirm their email, 1 for yes, 0 for no' => 'Ask the customers to confirm their email, 1 for yes, 0 for no', 'Asti' => 'Asti', 'Attribut - Edit JavaScript' => 'Attribut - Edit JavaScript', @@ -98,6 +100,7 @@ return array( 'Austria' => 'Austria', 'Avellino' => 'Avellino', 'Azerbaijan' => 'Azerbaijan', + 'Back-office Home page content' => 'Back-office Home page content', 'Back-office export management' => 'Back-office export management', 'Back-office home page' => 'Back-office home page', 'Back-office search function' => 'Back-office search function', @@ -258,6 +261,8 @@ return array( 'Compile templates assets automatically upon asset source change (1 = yes, 0 = no)' => 'Compile templates assets automatically upon asset source change (1 = yes, 0 = no)', 'Configuration' => 'Configuration', 'Configuration - JavaScript' => 'Configuration - JavaScript', + 'Configuration - Order path - bottom' => 'Configuration - Order path - bottom', + 'Configuration - Order path - top' => 'Configuration - Order path - top', 'Configuration - at the bottom of the catalog' => 'Configuration - at the bottom of the catalog', 'Configuration - at the bottom of the shipping area' => 'Configuration - at the bottom of the shipping area', 'Configuration - at the bottom of the system area' => 'Configuration - at the bottom of the system area', @@ -282,7 +287,9 @@ return array( 'Configuration / System Log' => 'Configuration / System Log', 'Configuration / Tax' => 'Configuration / Tax', 'Configuration / Template' => 'Configuration / Template', + 'Configuration order status' => 'Configuration order status', 'Configuration variables' => 'Configuration variables', + 'Confirm your %store account' => 'Confirm your {config key="store_name"} account', 'Congo' => 'Congo', 'Connecticut' => 'Connecticut', 'Contact block' => 'Contact block', @@ -379,6 +386,7 @@ return array( 'Customer - order table row' => 'Customer - order table row', 'Customer account - additional information' => 'Customer account - additional information', 'Customer account block' => 'Customer account block', + 'Customer account creation should be confirmed by email (1: yes, 0: no)' => 'Customer account creation should be confirmed by email (1: yes, 0: no)', 'Customer title' => 'Customer title', 'Customers - JavaScript' => 'Customers - JavaScript', 'Customers - caption' => 'Customers - caption', @@ -395,11 +403,13 @@ return array( 'Data import / export' => 'Data import / export', 'Default available stock when check-available-stock is set to 0.' => 'Default available stock when check-available-stock is set to 0.', 'Default lang without translation' => 'Default lang without translation', + 'Default number of coupons per page on coupon list' => 'Default number of coupons per page on coupon list', 'Delaware' => 'Delaware', 'Delivery - After delivery module' => 'Delivery - After delivery module', 'Delivery - CSS' => 'Delivery - CSS', 'Delivery - additional product information' => 'Delivery - additional product information', 'Delivery - after addresse area' => 'Delivery - after addresse area', + 'Delivery - after product information' => 'Delivery - after product information', 'Delivery - after the information area' => 'Delivery - after the information area', 'Delivery - after the order summary' => 'Delivery - after the order summary', 'Delivery - at the bottom of information area' => 'Delivery - at the bottom of information area', @@ -454,6 +464,7 @@ return array( 'Email html - order confirmation - footer' => 'Email html - order confirmation - footer', 'Email html - order confirmation - order product' => 'Email html - order confirmation - order product', 'Email html - order notification - after address' => 'Email html - order notification - after address', + 'Email html - order notification - after product information' => 'Email html - order notification - after product information', 'Email html - order notification - after products' => 'Email html - order notification - after products', 'Email html - order notification - before address' => 'Email html - order notification - before address', 'Email html - order notification - before products' => 'Email html - order notification - before products', @@ -466,6 +477,7 @@ return array( 'Email txt - order confirmation - delivery address' => 'Email txt - order confirmation - delivery address', 'Email txt - order confirmation - order product' => 'Email txt - order confirmation - order product', 'Email txt - order notification - after address' => 'Email txt - order notification - after address', + 'Email txt - order notification - after product information' => 'Email txt - order notification - after product information', 'Email txt - order notification - after products' => 'Email txt - order notification - after products', 'Email txt - order notification - before address' => 'Email txt - order notification - before address', 'Email txt - order notification - before products' => 'Email txt - order notification - before products', @@ -641,6 +653,7 @@ return array( 'Invoice - CSS' => 'Invoice - CSS', 'Invoice - additional product information' => 'Invoice - additional product information', 'Invoice - after addresse area' => 'Invoice - after addresse area', + 'Invoice - after product information' => 'Invoice - after product information', 'Invoice - after product listing' => 'Invoice - after product listing', 'Invoice - after the information area' => 'Invoice - after the information area', 'Invoice - after the order summary' => 'Invoice - after the order summary', @@ -774,6 +787,7 @@ return array( 'Madagascar' => 'Madagascar', 'Mail sent after a subscription to newsletter' => 'Mail sent after a subscription to newsletter', 'Mail sent to an administrator who requested a new password' => 'Mail sent to an administrator who requested a new password', + 'Mail sent to the customer to confirm its account' => 'Mail sent to the customer to confirm its account', 'Mail sent to the customer when its account is created by an administrator in the back-office' => 'Mail sent to the customer when its account is created by an administrator in the back-office', 'Mail sent to the customer when its password or email is changed in the back-office' => 'Mail sent to the customer when its password or email is changed in the back-office', 'Mailing system - JavaScript' => 'Mailing system - JavaScript', @@ -889,7 +903,7 @@ return array( 'New York' => 'New York', 'New Zealand' => 'New Zealand', 'New order {$order_ref} placed on {config key="store_name"}' => 'New order {$order_ref} placed on {config key="store_name"}', - 'New password request on {config key="store_name"}' => 'New password request on {config key="store_name"}', + 'New password request on %store' => 'New password request on {config key="store_name"}', 'Newfoundland and Labrador' => 'Newfoundland and Labrador', 'Newsletter block' => 'Newsletter block', 'Newsletter page - CSS stylesheet' => 'Newsletter page - CSS stylesheet', @@ -923,9 +937,9 @@ return array( 'Novara' => 'Novara', 'Nuevo León' => 'Nuevo León', 'Nuevo Sol' => 'Nuevo Sol', - 'Number by default of results per page for customer list' => 'Number by default of results per page for customer list', - 'Number by default of results per page for order list' => 'Number by default of results per page for order list', - 'Number by default of results per page for product list' => 'Number by default of results per page for product list', + 'Number by default of results per page for customer list' => 'Default number of customers on customer list', + 'Number by default of results per page for order list' => 'Default number of orders on order list', + 'Number by default of results per page for product list' => 'Default number of products on product list', 'Nunavut' => 'Nunavut', 'Nuoro' => 'Nuoro', 'Oaxaca' => 'Oaxaca', @@ -988,6 +1002,15 @@ return array( 'Order failed - after javascript initialisation' => 'Order failed - after javascript initialisation', 'Order failed - at the bottom' => 'Order failed - at the bottom', 'Order failed - at the top' => 'Order failed - at the top', + 'Order invoice page - bottom of coupon form' => 'Order invoice page - bottom of coupon form', + 'Order invoice page - bottom of payment form' => 'Order invoice page - bottom of payment form', + 'Order status - JavaScript' => 'Order status - JavaScript', + 'Order status - bottom' => 'Order status - bottom', + 'Order status - form creation' => 'Order status - form creation', + 'Order status - form modification' => 'Order status - form modification', + 'Order status - table header' => 'Order status - table header', + 'Order status - table row' => 'Order status - table row', + 'Order status - top' => 'Order status - top', 'Orders - JavaScript' => 'Orders - JavaScript', 'Orders - at the top' => 'Orders - at the top', 'Orders - bottom' => 'Orders - bottom', @@ -1403,8 +1426,7 @@ return array( 'Your new password' => 'Your new password', 'Your new password for {config key="store_name"}' => 'Your new password for {config key="store_name"}', 'Your order {$order_ref} at {config key="store_name"}' => 'Your order {$order_ref} at {config key="store_name"}', - 'Your subscription to %store newsletter' => 'Your subscription to %store newsletter', - 'Your subscription to {config key="store_name"} newsletter' => 'Your subscription to {config key="store_name"} newsletter', + 'Your subscription to %store newsletter' => 'Your subscription to {config key="store_name"} newsletter', 'Yuan' => 'Yuan', 'Yucatán' => 'Yucatán', 'Yukon' => 'Yukon', diff --git a/setup/I18n/es_ES.php b/setup/I18n/es_ES.php index d2f241ac..26ad9c31 100644 --- a/setup/I18n/es_ES.php +++ b/setup/I18n/es_ES.php @@ -664,7 +664,7 @@ return [ 'New York' => 'Nueva York', 'New Zealand' => 'Nueva Zelandia', 'New order {$order_ref} placed on {config key="store_name"}' => 'Nueva orden {$order_ref} ubicada en {tecla config = "store_name"}', - 'New password request on {config key="store_name"}' => 'Nueva contraseña solicitada en {config key="store_name"}', + 'New password request on %store' => 'Nueva contraseña solicitada en {config key="store_name"}', 'Newsletter block' => 'Bloque del boletín de noticias', 'Newsletter page - CSS stylesheet' => 'Página del boletín de noticias - hoja de estilos CSS', 'Newsletter page - after javascript include' => 'Página del boletín de noticias - después de incluir JavaScript', @@ -1027,8 +1027,7 @@ return [ 'Your new password' => 'Su nueva contraseña', 'Your new password for {config key="store_name"}' => 'Su nueva contraseña para {tecla config = "store_name"}', 'Your order {$order_ref} at {config key="store_name"}' => 'Su orden {$order_ref} en {tecla config = "store_name"}', - 'Your subscription to %store newsletter' => 'Tu suscripción al boletín de %store', - 'Your subscription to {config key="store_name"} newsletter' => 'Tu subscripción al boletín de {config key="store_name"}', + 'Your subscription to %store newsletter' => 'Tu suscripción al boletín de {config key="store_name"}', 'Zaire' => 'Zaire', 'Zambia' => 'Zambia', 'Zimbabwe' => 'Zimbabue', diff --git a/setup/I18n/fr_FR.php b/setup/I18n/fr_FR.php index 8bd1eb72..f13ac768 100644 --- a/setup/I18n/fr_FR.php +++ b/setup/I18n/fr_FR.php @@ -1,6 +1,6 @@ 'Délai d\'expiration du cookie "Remember me", en secondes, pour les utilisateurs d\'administration', '"Remember me" cookie expiration time, in seconds, for customer users' => 'Délai d\'expiration du cookie "Remember me", en secondes, pour les clients', '"Remember me" cookie name for administration users' => 'Nom du cookie "Remember me" pour les utilisateurs d\'administration', @@ -76,6 +76,7 @@ return [ 'Arkansas' => 'Arkansas', 'Armenia' => 'Arménie', 'Ascoli Piceno' => 'Ascoli Piceno', + 'Ask the customers to confirm their email in customer creation form, 1 for yes, 0 for no' => 'Demander aux clients de confirmer leur adresse email dans le formulaire de création de compte (1: oui, 0: non)', 'Ask the customers to confirm their email, 1 for yes, 0 for no' => 'Demander aux clients de confirmer leur email. 1 pour oui, 0 pour non', 'Asti' => 'Asti', 'Attribut - Edit JavaScript' => 'Attribut - JavaScript modification', @@ -98,6 +99,7 @@ return [ 'Austria' => 'Autriche', 'Avellino' => 'Avellino', 'Azerbaijan' => 'Azerbaïdjan', + 'Back-office Home page content' => 'Contenu de la page d\'accueil de l\'administration', 'Back-office export management' => 'gestion des exports', 'Back-office home page' => 'Page d\'acceuil de l\'administration', 'Back-office search function' => 'Fonction de recherche dans l\'administration', @@ -283,6 +285,7 @@ return [ 'Configuration / Tax' => 'Configuration / Taxe', 'Configuration / Template' => 'Configuration / Modèle', 'Configuration variables' => 'Variables de configuration', + 'Confirm your %store account' => 'Confirmez la création de votre compte {config key="store_name"}', 'Congo' => 'Congo', 'Connecticut' => 'Connecticut', 'Contact block' => 'Bloc contact', @@ -379,6 +382,7 @@ return [ 'Customer - order table row' => 'Client - ligne tableau commande', 'Customer account - additional information' => 'Compte client - informations additionnelles', 'Customer account block' => 'Bloc compte client', + 'Customer account creation should be confirmed by email (1: yes, 0: no)' => 'La création d\'un compte client doit être confilrée par email (1: oui, 0: non)', 'Customer title' => 'civilité client', 'Customers - JavaScript' => 'Clients - JavaScript', 'Customers - caption' => 'Clients - légende', @@ -395,6 +399,7 @@ return [ 'Data import / export' => 'Importation / exportation de données', 'Default available stock when check-available-stock is set to 0.' => 'Stock disponible par défaut quand check-available-stock est à 0.', 'Default lang without translation' => 'Langue par défaut sans traduction', + 'Default number of coupons per page on coupon list' => 'Nombre de coupons par page dans la liste des coupons', 'Delaware' => 'Delaware', 'Delivery - After delivery module' => 'Commande - après le module de livraison', 'Delivery - CSS' => 'Bon de livraison - CSS', @@ -774,6 +779,7 @@ return [ 'Madagascar' => 'Madagascar', 'Mail sent after a subscription to newsletter' => 'Email envoyé après l\'inscription à la newsletter', 'Mail sent to an administrator who requested a new password' => 'Courrier envoyé à un administrateur qui a demandé un nouveau mot de passe', + 'Mail sent to the customer to confirm its account' => 'E-mail de confirmation de création de compte client', 'Mail sent to the customer when its account is created by an administrator in the back-office' => 'Mail envoyé au client lorsque son compte est créé depuis le back-office par un administrateur', 'Mail sent to the customer when its password or email is changed in the back-office' => 'Message envoyé au client lorsque son mot de passe ou son email est changé dans le back-office', 'Mailing system - JavaScript' => 'Envoi des e-mails - JavaScript', @@ -889,7 +895,7 @@ return [ 'New York' => 'New York', 'New Zealand' => 'Nouvelle-Zélande', 'New order {$order_ref} placed on {config key="store_name"}' => 'Nouvelle commande {$order_ref} reçue sur {config key="store_name"}', - 'New password request on {config key="store_name"}' => 'Nouvelle demande de mot de passe sur {config key="store_name"}', + 'New password request on %store' => 'Votre demande de mot de passe {config key="store_name"}', 'Newfoundland and Labrador' => 'Terre Neuve et Labrador', 'Newsletter block' => 'Bloc newsletter', 'Newsletter page - CSS stylesheet' => 'Page newsletter - feuille de style CSS', @@ -1403,8 +1409,7 @@ return [ 'Your new password' => 'Votre nouveau mot de passe', 'Your new password for {config key="store_name"}' => 'Votre nouveau mot de passe {config key="store_name"}', 'Your order {$order_ref} at {config key="store_name"}' => 'Votre commande {$order_ref} chez {config key="store_name"}', - 'Your subscription to %store newsletter' => 'Vous avez souscrit à la newsletter du site %store', - 'Your subscription to {config key="store_name"} newsletter' => 'Votre abonnement à {config key="store_name"} newsletter', + 'Your subscription to %store newsletter' => 'Votre abonnement à {config key="store_name"} newsletter', 'Yuan' => 'Yuan', 'Yucatán' => 'Yucatán', 'Yukon' => 'Yukon', @@ -1447,4 +1452,4 @@ return [ 'tinymce wysiwyg editor' => 'Editeur TinyMCE', 'Đồng' => 'Đồng', 'Гривна' => 'Hryvnia Ukrainien', -]; +); diff --git a/setup/I18n/sk_SK.php b/setup/I18n/sk_SK.php index 81844243..ab6f15e7 100644 --- a/setup/I18n/sk_SK.php +++ b/setup/I18n/sk_SK.php @@ -501,7 +501,6 @@ return [ 'You have lost your password
\r\nYour new password is' => 'Stratili ste heslo
\r\n Vaše nové heslo je', 'Your new passord is : {$password}' => 'Nové heslo je: {$password}', 'Your subscription to %store newsletter' => 'Odoberanie noviniek %store', - 'Your subscription to {config key="store_name"} newsletter' => 'Odber {kľúč config = "store_name"} noviniek', 'Yuan' => 'Yuan', 'Yucatán' => 'Yucatán', 'Yukon' => 'Yukon', diff --git a/setup/Readme.md b/setup/Readme.md index 339a0da0..bc24b623 100644 --- a/setup/Readme.md +++ b/setup/Readme.md @@ -20,13 +20,16 @@ A repository containing all thelia modules is available at this address : https: Requirements ------------ -* php 5.4 +* php 5.5 * Required extensions : * PDO_Mysql - * mcrypt + * openssl * intl * gd * curl + * calendar + * dom + * fileinfo * safe_mode off * memory_limit at least 128M, preferably 256. * post_max_size 20M diff --git a/setup/insert.sql b/setup/insert.sql index de530e6f..5701dea9 100644 --- a/setup/insert.sql +++ b/setup/insert.sql @@ -50,10 +50,10 @@ INSERT INTO `config` (`id`, `name`, `value`, `secured`, `hidden`, `created_at`, (40, 'store_email','', 0, 1, NOW(), NOW()), (41, 'store_notification_emails','', 0, 1, NOW(), NOW()), (42, 'one_domain_foreach_lang','0', 1, 1, NOW(), NOW()), -(43, 'thelia_version','2.3.1', 1, 1, NOW(), NOW()), +(43, 'thelia_version','2.3.4', 1, 1, NOW(), NOW()), (44, 'thelia_major_version','2', 1, 1, NOW(), NOW()), (45, 'thelia_minus_version','3', 1, 1, NOW(), NOW()), -(46, 'thelia_release_version','1', 1, 1, NOW(), NOW()), +(46, 'thelia_release_version','4', 1, 1, NOW(), NOW()), (47, 'thelia_extra_version','', 1, 1, NOW(), NOW()), (48, 'front_cart_country_cookie_name','fcccn', 1, 1, NOW(), NOW()), (49, 'front_cart_country_cookie_expires','2592000', 1, 1, NOW(), NOW()), @@ -75,31 +75,33 @@ INSERT INTO `config` (`id`, `name`, `value`, `secured`, `hidden`, `created_at`, (65, 'notify_newsletter_subscription', '1', 0, 0, NOW(), NOW()), (66, 'number_default_results_per_page.product_list', '20', 0, 0, NOW(), NOW()), (67, 'number_default_results_per_page.order_list', '20', 0, 0, NOW(), NOW()), -(68, 'number_default_results_per_page.customer_list', '20', 0, 0, NOW(), NOW()) +(68, 'number_default_results_per_page.customer_list', '20', 0, 0, NOW(), NOW()), +(69, 'customer_email_confirmation', '0', 0, 0, NOW(), NOW()), +(70, 'number_default_results_per_page.coupon_list', '20', 0, 0, NOW(), NOW()) ; -INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namespace`, `created_at`, `updated_at`) VALUES -(1, 'Carousel', 1, 0, 1, 'Carousel\\Carousel', NOW(), NOW()), -(2, 'Colissimo', 2, 0, 1, 'Colissimo\\Colissimo', NOW(), NOW()), -(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', NOW(), NOW()), -(4, 'Front', 1, 1, 2, 'Front\\Front', NOW(), NOW()), -(5, 'Tinymce', 1, 0, 16, 'Tinymce\\Tinymce', NOW(), NOW()), -(6, 'HookNavigation', 1, 1, 11, 'HookNavigation\\HookNavigation', NOW(), NOW()), -(7, 'HookCurrency', 1, 1, 3, 'HookCurrency\\HookCurrency', NOW(), NOW()), -(8, 'HookLang', 1, 1, 4, 'HookLang\\HookLang', NOW(), NOW()), -(9, 'HookSearch', 1, 1, 5, 'HookSearch\\HookSearch', NOW(), NOW()), -(10, 'HookCustomer', 1, 1, 6, 'HookCustomer\\HookCustomer', NOW(), NOW()), -(11, 'HookCart', 1, 1, 7, 'HookCart\\HookCart', NOW(), NOW()), -(12, 'HookAnalytics', 1, 1, 8, 'HookAnalytics\\HookAnalytics', NOW(), NOW()), -(13, 'HookContact', 1, 1, 9, 'HookContact\\HookContact', NOW(), NOW()), -(14, 'HookLinks', 1, 1, 10, 'HookLinks\\HookLinks', NOW(), NOW()), -(15, 'HookNewsletter', 1, 1, 12, 'HookNewsletter\\HookNewsletter', NOW(), NOW()), -(16, 'HookSocial', 1, 1, 13, 'HookSocial\\HookSocial', NOW(), NOW()), -(17, 'HookProductsNew', 1, 1, 14, 'HookProductsNew\\HookProductsNew', NOW(), NOW()), -(18, 'HookProductsOffer', 1, 1, 15, 'HookProductsOffer\\HookProductsOffer', NOW(), NOW()), -(19, 'TheliaSmarty', 1, 1, 16, 'TheliaSmarty\\TheliaSmarty', NOW(), NOW()), -(20, 'VirtualProductControl', 1, 1, 17, 'VirtualProductControl\\VirtualProductControl', NOW(), NOW()), -(21, 'HookAdminHome', 1, 1, 18, 'HookAdminHome\\HookAdminHome', NOW(), NOW()) +INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namespace`, `hidden`, `mandatory`, `created_at`, `updated_at`) VALUES +(1, 'Carousel', 1, 0, 1, 'Carousel\\Carousel', 0, 0, NOW(), NOW()), +(2, 'Colissimo', 2, 0, 1, 'Colissimo\\Colissimo', 0, 0, NOW(), NOW()), +(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', 0, 0, NOW(), NOW()), +(4, 'Front', 1, 1, 2, 'Front\\Front', 1, 0, NOW(), NOW()), +(5, 'Tinymce', 1, 0, 16, 'Tinymce\\Tinymce', 0, 1, NOW(), NOW()), +(6, 'HookNavigation', 1, 1, 11, 'HookNavigation\\HookNavigation', 0, 0, NOW(), NOW()), +(7, 'HookCurrency', 1, 1, 3, 'HookCurrency\\HookCurrency', 0, 0, NOW(), NOW()), +(8, 'HookLang', 1, 1, 4, 'HookLang\\HookLang', 0, 0, NOW(), NOW()), +(9, 'HookSearch', 1, 1, 5, 'HookSearch\\HookSearch', 0, 0, NOW(), NOW()), +(10, 'HookCustomer', 1, 1, 6, 'HookCustomer\\HookCustomer', 0, 0, NOW(), NOW()), +(11, 'HookCart', 1, 1, 7, 'HookCart\\HookCart', 0, 0, NOW(), NOW()), +(12, 'HookAnalytics', 1, 1, 8, 'HookAnalytics\\HookAnalytics', 0, 0, NOW(), NOW()), +(13, 'HookContact', 1, 1, 9, 'HookContact\\HookContact', 0, 0, NOW(), NOW()), +(14, 'HookLinks', 1, 1, 10, 'HookLinks\\HookLinks', 0, 0, NOW(), NOW()), +(15, 'HookNewsletter', 1, 1, 12, 'HookNewsletter\\HookNewsletter', 0, 0, NOW(), NOW()), +(16, 'HookSocial', 1, 1, 13, 'HookSocial\\HookSocial', 0, 0, NOW(), NOW()), +(17, 'HookProductsNew', 1, 1, 14, 'HookProductsNew\\HookProductsNew', 0, 0, NOW(), NOW()), +(18, 'HookProductsOffer', 1, 1, 15, 'HookProductsOffer\\HookProductsOffer', 0, 0, NOW(), NOW()), +(19, 'TheliaSmarty', 1, 1, 16, 'TheliaSmarty\\TheliaSmarty', 0, 0, NOW(), NOW()), +(20, 'VirtualProductControl', 1, 1, 17, 'VirtualProductControl\\VirtualProductControl', 0, 0, NOW(), NOW()), +(21, 'HookAdminHome', 1, 1, 18, 'HookAdminHome\\HookAdminHome', 0, 0, NOW(), NOW()) ; -- Insert front hooks @@ -342,7 +344,10 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (236, 'newsletter-unsubscribe.bottom', 1, 0, 0, 1, 1, 1, NOW(), NOW()), (237, 'newsletter-unsubscribe.stylesheet', 1, 0, 0, 1, 1, 1, NOW(), NOW()), (238, 'newsletter-unsubscribe.after-javascript-include', 1, 0, 0, 1, 1, 1, NOW(), NOW()), -(239, 'newsletter-unsubscribe.javascript-initialization', 1, 0, 0, 1, 1, 1, NOW(), NOW()) +(239, 'newsletter-unsubscribe.javascript-initialization', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(240, 'order-invoice.coupon-form', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(241, 'order-invoice.payment-form', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(242, 'account-order.product-list', 1, 0, 0, 1, 1, 1, NOW(), NOW()) ; -- Insert admin hooks @@ -762,7 +767,16 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (1412, 'states.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), (1413, 'state.create-form', 2, 0, 0, 1, 1, 1, NOW(), NOW()), (1414, 'state.delete-form', 2, 0, 0, 1, 1, 1, NOW(), NOW()), -(1415, 'states.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()); +(1415, 'states.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1416, 'configuration.order-path.top', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1417, 'configuration.order-path.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1418, 'order-status.top', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1419, 'order-status.table-header', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1420, 'order-status.table-row', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1421, 'order-status.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1422, 'order-status.form.creation', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1423, 'order-status.form.modification', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1424, 'order-status.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()); -- Insert pdf hooks INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activate`, `position`, `created_at`, `updated_at`) VALUES @@ -801,7 +815,9 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (2033, 'invoice.after-delivery-module', 3, 0, 0, 1, 1, 1, NOW(), NOW()), (2034, 'delivery.after-delivery-module', 3, 0, 0, 1, 1, 1, NOW(), NOW()), (2035, 'invoice.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()), -(2036, 'delivery.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()) +(2036, 'delivery.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()), +(2037, 'delivery.product-list', 3, 0, 0, 1, 1, 1, NOW(), NOW()), +(2038, 'invoice.product-list', 3, 0, 0, 1, 1, 1, NOW(), NOW()) ; -- Insert email hooks @@ -832,7 +848,9 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (3023, 'email-txt.order-notification.after-address', 4, 0, 0, 1, 1, 1, NOW(), NOW()), (3024, 'email-txt.order-notification.order-product', 4, 0, 0, 1, 1, 1, NOW(), NOW()), (3025, 'email-txt.order-notification.before-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()), -(3026, 'email-txt.order-notification.after-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()) +(3026, 'email-txt.order-notification.after-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()), +(3027, 'email-html.order-confirmation.product-list', 4, 0, 0, 1, 1, 1, NOW(), NOW()), +(3028, 'email-txt.order-confirmation.product-list', 4, 0, 0, 1, 1, 1, NOW(), NOW()) ; INSERT INTO `customer_title`(`id`, `by_default`, `position`, `created_at`, `updated_at`) VALUES @@ -1857,13 +1875,13 @@ VALUES (1, 64, 1, 1, NOW(), NOW()), (2, 64, 2, 1, NOW(), NOW()); -INSERT INTO `order_status`(`id`, `code`, `created_at`, `updated_at`) VALUES -(1, 'not_paid', NOW(), NOW()), -(2, 'paid', NOW(), NOW()), -(3, 'processing', NOW(), NOW()), -(4, 'sent', NOW(), NOW()), -(5, 'canceled', NOW(), NOW()), -(6, 'refunded', NOW(), NOW()); +INSERT INTO `order_status`(`id`, `code`, `color`, `position`, `protected_status`, `created_at`, `updated_at`) VALUES +(1, 'not_paid', '#f0ad4e', 1, 1, NOW(), NOW()), +(2, 'paid', '#5cb85c', 2, 1, NOW(), NOW()), +(3, 'processing', '#f39922', 3, 1, NOW(), NOW()), +(4, 'sent', '#5bc0de', 4, 1, NOW(), NOW()), +(5, 'canceled', '#d9534f', 5, 1, NOW(), NOW()), +(6, 'refunded', '#986dff', 6, 1, NOW(), NOW()); /** generated with command : php Thelia thelia:generate-resources --output sql @@ -1917,7 +1935,8 @@ INSERT INTO resource (`id`, `code`, `created_at`, `updated_at`) VALUES (46, 'admin.profile', NOW(), NOW()), (47, 'admin.search', NOW(), NOW()), (48, 'admin.configuration.api', NOW(), NOW()), -(49, 'admin.customer.title', NOW(), NOW()) +(49, 'admin.customer.title', NOW(), NOW()), +(50, 'admin.configuration.order-status', NOW(), NOW()) ; INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_template_file_name`, `html_layout_file_name`, `html_template_file_name`, `created_at`, `updated_at`) VALUES @@ -1927,7 +1946,8 @@ INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_t (4, 'customer_account_changed', 0, NULL, 'account_changed_by_admin.txt', NULL, 'account_changed_by_admin.html', NOW(), NOW()), (5, 'customer_account_created', 0, NULL, 'account_created_by_admin.txt', NULL, 'account_created_by_admin.html', NOW(), NOW()), (6, 'new_admin_password', NULL, NULL, 'admin_password.txt', NULL, 'admin_password.html', NOW(), NOW()), -(7, 'newsletter_subscription_confirmation', NULL, NULL, 'newsletter_subscription_confirmation.txt', NULL, 'newsletter_subscription_confirmation.html', NOW(), NOW()) +(7, 'newsletter_subscription_confirmation', NULL, NULL, 'newsletter_subscription_confirmation.txt', NULL, 'newsletter_subscription_confirmation.html', NOW(), NOW()), +(8, 'customer_confirmation', NULL, NULL, 'customer_confirmation.txt', NULL, 'customer_confirmation.html', NOW(), NOW()) ; /** @@ -1981,7 +2001,7 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (58, 'de_DE', 'Fehlermeldung zeigen anstatt einer weißen Seite im Falle eines eines Serverfehlers', NULL, NULL, NULL), (59, 'de_DE', 'Dateiname der Fehlerseite', NULL, NULL, NULL), (60, 'de_DE', 'Den Kunden erlauben ihre E-Mail-Adresse zu ändern. 1 für Ja, 0 für Nein', NULL, NULL, NULL), - (61, 'de_DE', 'Den Kunden fragen, ihre E-Mail-Adresse zu bestätigen. 1 für Jan, 0 für Nein', NULL, NULL, NULL), + (61, 'de_DE', NULL, NULL, NULL, NULL), (62, 'de_DE', 'Geheimer Schlüssel für Formular CSRF-token', NULL, NULL, NULL), (63, 'de_DE', NULL, NULL, NULL, NULL), (64, 'de_DE', NULL, NULL, NULL, NULL), @@ -1989,6 +2009,8 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (66, 'de_DE', NULL, NUll, NULL, NULL), (67, 'de_DE', NULL, NUll, NULL, NULL), (68, 'de_DE', NULL, NUll, NULL, NULL), + (69, 'de_DE', NULL, NULL, NULL, NULL), + (70, 'de_DE', NULL, NULL, NULL, NULL), (1, 'en_US', 'Check available product stock (1) or ignore it (0) when displaying and changing ordered quantity', NULL, NULL, NULL), (2, 'en_US', 'Name of the active front-office template', NULL, NULL, NULL), (3, 'en_US', 'Name of the active back-office template', NULL, NULL, NULL), @@ -2035,14 +2057,16 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (58, 'en_US', 'Show error message instead of a white page on a server error', NULL, NULL, NULL), (59, 'en_US', 'Filename of the error page', NULL, NULL, NULL), (60, 'en_US', 'Allow customers to change their email. 1 for yes, 0 for no', NULL, NULL, NULL), - (61, 'en_US', 'Ask the customers to confirm their email, 1 for yes, 0 for no', NULL, NULL, NULL), + (61, 'en_US', 'Ask the customers to confirm their email in customer creation form (1: yes, 0: no)', NULL, NULL, NULL), (62, 'en_US', 'Secret key for form CSRF token', NULL, NULL, NULL), (63, 'en_US', 'The minimum length required for an administrator password', NULL, NULL, NULL), (64, 'en_US', 'Allow an administrator to recreate a lost password (1 = yes, 0 = no)', NULL, NULL, NULL), (65, 'en_US', 'Send a confirmation email to newsletter subscribers (1 = yes, 0 = no)', NULL, NULL, NULL), - (66, 'en_US', 'Number by default of results per page for product list', NUll, NULL, NULL), - (67, 'en_US', 'Number by default of results per page for order list', NUll, NULL, NULL), - (68, 'en_US', 'Number by default of results per page for customer list', NUll, NULL, NULL), + (66, 'en_US', 'Default number of products on product list', NUll, NULL, NULL), + (67, 'en_US', 'Default number of orders on order list', NUll, NULL, NULL), + (68, 'en_US', 'Default number of customers on customer list', NUll, NULL, NULL), + (69, 'en_US', 'Customer account creation should be confirmed by email (1: yes, 0: no)', NULL, NULL, NULL), + (70, 'en_US', 'Default number of coupons per page on coupon list', NULL, NULL, NULL), (1, 'es_ES', 'Comprobar disponibilidad de stock de producto (1) o ignorar (0) cuando se muestra o cambia cantidad en pedido', NULL, NULL, NULL), (2, 'es_ES', 'Nombre de la plantilla activa de recepción', NULL, NULL, NULL), (3, 'es_ES', 'Nombe de la plantilla del administrador activo', NULL, NULL, NULL), @@ -2089,7 +2113,7 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (58, 'es_ES', 'Mostrar mensaje de error en lugar de una página en blanco cuando ocurre un error de servidor', NULL, NULL, NULL), (59, 'es_ES', 'Nombre de archivo de la página de error', NULL, NULL, NULL), (60, 'es_ES', 'Permitir a los clientes cambiar su correo electrónico. 1 para sí, 0 para no', NULL, NULL, NULL), - (61, 'es_ES', 'Preguntar al cliente para confirmar su correo electrónico, 1 para sí, 0 no', NULL, NULL, NULL), + (61, 'es_ES', NULL, NULL, NULL, NULL), (62, 'es_ES', 'Clave secreta para el token CSRF del formulario', NULL, NULL, NULL), (63, 'es_ES', 'La longitud mínima de la contraseña de administrador', NULL, NULL, NULL), (64, 'es_ES', 'Permite a un administrador recrear una contraseña perdida (1 = sí, 0 = no)', NULL, NULL, NULL), @@ -2097,6 +2121,8 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (66, 'es_ES', 'Número predeterminado de resultados por página para la lista de productos', NUll, NULL, NULL), (67, 'es_ES', 'Número predeterminado de resultados por página para la lista de pedidos', NUll, NULL, NULL), (68, 'es_ES', 'Número predeterminado de resultados por página para la lista de clientes', NUll, NULL, NULL), + (69, 'es_ES', NULL, NULL, NULL, NULL), + (70, 'es_ES', NULL, NULL, NULL, NULL), (1, 'fr_FR', 'Vérifier la présence de produits en stock (1) ou l\'ignorer (0) lors de l\'affichage et la modification des quantités commandées', NULL, NULL, NULL), (2, 'fr_FR', 'Nom du modèle de front-office actif', NULL, NULL, NULL), (3, 'fr_FR', 'Nom du modèle de back-office actif', NULL, NULL, NULL), @@ -2143,14 +2169,16 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (58, 'fr_FR', 'Afficher un message d\'erreur à la place d\'une page blanche lors d\'une erreur serveur', NULL, NULL, NULL), (59, 'fr_FR', 'Nom du fichier de la page d\'erreur', NULL, NULL, NULL), (60, 'fr_FR', 'Permettre aux utilisateurs de changer leur email. 1 pour oui, 0 pour non', NULL, NULL, NULL), - (61, 'fr_FR', 'Demander aux clients de confirmer leur email. 1 pour oui, 0 pour non', NULL, NULL, NULL), + (61, 'fr_FR', 'Demander aux clients de confirmer leur adresse email dans le formulaire de création de compte (1: oui, 0: non)', NULL, NULL, NULL), (62, 'fr_FR', 'Clé secrète pour le jeton CSRF des formulaires', NULL, NULL, NULL), (63, 'fr_FR', 'La longueur minimale requise pour un mot de passe administrateur', NULL, NULL, NULL), (64, 'fr_FR', 'Permettre à un administrateur de recréer un mot de passe perdu (1 = Oui, 0 = non)', NULL, NULL, NULL), (65, 'fr_FR', 'Envoyer un email de confirmation aux abonnés de la newsletter (1 = Oui, 0 = non)', NULL, NULL, NULL), (66, 'fr_FR', 'Nombre par défaut de résultats par page pour la liste des produits', NUll, NULL, NULL), (67, 'fr_FR', 'Nombre par défaut de résultats par page pour la liste des commandes', NUll, NULL, NULL), - (68, 'fr_FR', 'Nombre par défaut de résultats par page pour la liste des clients', NUll, NULL, NULL) + (68, 'fr_FR', 'Nombre par défaut de résultats par page pour la liste des clients', NUll, NULL, NULL), + (69, 'fr_FR', 'La création d\'un compte client doit être confilrée par email (1: oui, 0: non)', NULL, NULL, NULL), + (70, 'fr_FR', 'Nombre de coupons par page dans la liste des coupons', NULL, NULL, NULL) ; INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `postscriptum`) VALUES @@ -2174,7 +2202,7 @@ INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (18, 'de_DE', 'Sonderangebot-Block', NULL, NULL, NULL), (19, 'de_DE', 'Smarty Template Engine Integration', NULL, NULL, NULL), (20, 'de_DE', 'Steuerung für virtuelle Produkte', NULL, NULL, NULL), - (1, 'en_US', 'An image carousel on your home page', NULL, NULL, NULL), + (21, 'de_DE', NULL, NULL, NULL, NULL), (1, 'en_US', 'An image carousel on your home page', NULL, NULL, NULL), (2, 'en_US', '72h delivery', NULL, NULL, NULL), (3, 'en_US', 'Pay by cheque', NULL, NULL, NULL), (4, 'en_US', 'Front office integration', NULL, NULL, NULL), @@ -2194,7 +2222,7 @@ INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (18, 'en_US', 'Products offer block', NULL, NULL, NULL), (19, 'en_US', 'Smarty template engine integration', NULL, NULL, NULL), (20, 'en_US', 'Virtual Product Controller', NULL, NULL, NULL), - (1, 'es_ES', 'Un carrusel de imágenes en la página de inicio', NULL, NULL, NULL), + (21, 'en_US', 'Back-office Home page content', NULL, NULL, NULL), (1, 'es_ES', 'Un carrusel de imágenes en la página de inicio', NULL, NULL, NULL), (2, 'es_ES', 'entrega 72h', NULL, NULL, NULL), (3, 'es_ES', 'Pagar con Cheque', NULL, NULL, NULL), (4, 'es_ES', 'Front office integración', NULL, NULL, NULL), @@ -2214,7 +2242,7 @@ INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (18, 'es_ES', 'Bloque de oferta de productos', NULL, NULL, NULL), (19, 'es_ES', 'Integración del motor de plantillas Smarty', NULL, NULL, NULL), (20, 'es_ES', 'Controlador de producto virtual', NULL, NULL, NULL), - (1, 'fr_FR', 'Un carrousel d\'images sur votre page d\'accueil', NULL, NULL, NULL), + (21, 'es_ES', NULL, NULL, NULL, NULL), (1, 'fr_FR', 'Un carrousel d\'images sur votre page d\'accueil', NULL, NULL, NULL), (2, 'fr_FR', 'Livraison par colissimo en 72h', NULL, NULL, NULL), (3, 'fr_FR', 'Payer par chèque', NULL, NULL, NULL), (4, 'fr_FR', 'Module Front office', NULL, NULL, NULL), @@ -2233,8 +2261,8 @@ INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (17, 'fr_FR', 'Bloc nouveaux produits', NULL, NULL, NULL), (18, 'fr_FR', 'Bloc promotions', NULL, NULL, NULL), (19, 'fr_FR', 'Intégration du moteur de template Smarty', NULL, NULL, NULL), - (20, 'fr_FR', 'Contôle de produit virtuel', NULL, NULL, NULL) -; + (20, 'fr_FR', 'Contôle de produit virtuel', NULL, NULL, NULL), + (21, 'fr_FR', 'Contenu de la page d\'accueil de l\'administration', NULL, NULL, NULL); -- Insert I18n front hooks INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES @@ -2477,6 +2505,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (237, 'de_DE', NULL, NULL, NULL), (238, 'de_DE', NULL, NULL, NULL), (239, 'de_DE', NULL, NULL, NULL), + (240, 'de_DE', NULL, NULL, NULL), + (241, 'de_DE', NULL, NULL, NULL), + (242, 'de_DE', NULL, NULL, NULL), (1, 'en_US', 'Invoice choice - at the top', NULL, NULL), (2, 'en_US', 'Invoice choice - delivery address', NULL, NULL), (3, 'en_US', 'Invoice choice - extra payment zone', NULL, NULL), @@ -2716,6 +2747,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (237, 'en_US', 'Newsletter unsubscribe page - CSS stylesheet', NULL, NULL), (238, 'en_US', 'Newsletter unsubscribe page - after javascript include', NULL, NULL), (239, 'en_US', 'Newsletter unsubscribe page - after javascript initialisation', NULL, NULL), + (240, 'en_US', 'Order invoice page - bottom of coupon form', NULL, NULL), + (241, 'en_US', 'Order invoice page - bottom of payment form', NULL, NULL), + (242, 'en_US', 'Account order - after product information', NULL, NULL), (1, 'es_ES', 'Opción de factura - en la parte superior', NULL, NULL), (2, 'es_ES', 'Opción de factura - dirección de envío', NULL, NULL), (3, 'es_ES', 'Opción de factura - zona de pago extra', NULL, NULL), @@ -2955,6 +2989,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (237, 'es_ES', 'Página de baja del boletín - Hoja de estilos CSS', NULL, NULL), (238, 'es_ES', 'Página de baja del boletín - después de incluir JavaScript', NULL, NULL), (239, 'es_ES', 'Página de baja del boletín - después de la inicialización de JavaScript', NULL, NULL), + (240, 'es_ES', NULL, NULL, NULL), + (241, 'es_ES', NULL, NULL, NULL), + (242, 'es_ES', NULL, NULL, NULL), (1, 'fr_FR', 'Choix du mode de paiement - en haut', NULL, NULL), (2, 'fr_FR', 'Choix du mode de paiement - adresse de livraison', NULL, NULL), (3, 'fr_FR', 'Choix du mode de paiement - zone de paiement supplémentaire', NULL, NULL), @@ -3193,7 +3230,10 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (236, 'fr_FR', 'Désabonnement newsletter - en bas', NULL, NULL), (237, 'fr_FR', 'Désabonnement newsletter - feuille de style CSS', NULL, NULL), (238, 'fr_FR', 'Désabonnement newsletter - après l\'inclusion du JavaScript', NULL, NULL), - (239, 'fr_FR', 'Désabonnement newsletter - après l\'initialisation du JavaScript', NULL, NULL) + (239, 'fr_FR', 'Désabonnement newsletter - après l\'initialisation du JavaScript', NULL, NULL), + (240, 'fr_FR', NULL, NULL, NULL), + (241, 'fr_FR', NULL, NULL, NULL), + (242, 'fr_FR', NULL, NULL, NULL) ; -- Insert I18n admin hooks @@ -3614,6 +3654,15 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (1413, 'de_DE', NULL, '', ''), (1414, 'de_DE', NULL, '', ''), (1415, 'de_DE', NULL, '', ''), + (1416, 'de_DE', NULL, NULL, NULL), + (1417, 'de_DE', NULL, NULL, NULL), + (1418, 'de_DE', NULL, NULL, NULL), + (1419, 'de_DE', NULL, NULL, NULL), + (1420, 'de_DE', NULL, NULL, NULL), + (1421, 'de_DE', NULL, NULL, NULL), + (1422, 'de_DE', NULL, NULL, NULL), + (1423, 'de_DE', NULL, NULL, NULL), + (1424, 'de_DE', NULL, NULL, NULL), (1000, 'en_US', 'Category - content', NULL, NULL), (1001, 'en_US', 'Content - content', NULL, NULL), (1002, 'en_US', 'Folder - content', NULL, NULL), @@ -4030,6 +4079,15 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (1413, 'en_US', 'state - creation form', '', ''), (1414, 'en_US', 'state - delete form', '', ''), (1415, 'en_US', 'states - JavaScript', '', ''), + (1416, 'en_US', 'Configuration - Order path - top', NULL, NULL), + (1417, 'en_US', 'Configuration - Order path - bottom', NULL, NULL), + (1418, 'en_US', 'Order status - top', NULL, NULL), + (1419, 'en_US', 'Order status - bottom', NULL, NULL), + (1420, 'en_US', 'Order status - table header', NULL, NULL), + (1421, 'en_US', 'Order status - table row', NULL, NULL), + (1422, 'en_US', 'Order status - form creation', NULL, NULL), + (1423, 'en_US', 'Order status - form modification', NULL, NULL), + (1424, 'en_US', 'Order status - JavaScript', NULL, NULL), (1000, 'es_ES', 'Categoría - contenido', NULL, NULL), (1001, 'es_ES', 'Contenido - contenido', NULL, NULL), (1002, 'es_ES', 'Carpeta - contenido', NULL, NULL), @@ -4446,6 +4504,15 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (1413, 'es_ES', 'estado - formulario de creación', '', ''), (1414, 'es_ES', 'estado - formulario de borrado', '', ''), (1415, 'es_ES', 'estados - JavaScript', '', ''), + (1416, 'es_ES', NULL, NULL, NULL), + (1417, 'es_ES', NULL, NULL, NULL), + (1418, 'es_ES', NULL, NULL, NULL), + (1419, 'es_ES', NULL, NULL, NULL), + (1420, 'es_ES', NULL, NULL, NULL), + (1421, 'es_ES', NULL, NULL, NULL), + (1422, 'es_ES', NULL, NULL, NULL), + (1423, 'es_ES', NULL, NULL, NULL), + (1424, 'es_ES', NULL, NULL, NULL), (1000, 'fr_FR', 'Catégorie - contenu', NULL, NULL), (1001, 'fr_FR', 'Contenu - contenu', NULL, NULL), (1002, 'fr_FR', 'Dossier - contenu', NULL, NULL), @@ -4861,7 +4928,16 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (1412, 'fr_FR', 'états - bas', '', ''), (1413, 'fr_FR', 'état - formulaire de création', '', ''), (1414, 'fr_FR', 'état - formulaire de suppression', '', ''), - (1415, 'fr_FR', 'états - JavaScript', '', '') + (1415, 'fr_FR', 'états - JavaScript', '', ''), + (1416, 'fr_FR', NULL, NULL, NULL), + (1417, 'fr_FR', NULL, NULL, NULL), + (1418, 'fr_FR', NULL, NULL, NULL), + (1419, 'fr_FR', NULL, NULL, NULL), + (1420, 'fr_FR', NULL, NULL, NULL), + (1421, 'fr_FR', NULL, NULL, NULL), + (1422, 'fr_FR', NULL, NULL, NULL), + (1423, 'fr_FR', NULL, NULL, NULL), + (1424, 'fr_FR', NULL, NULL, NULL) ; -- Insert I18n pdf hooks @@ -4902,7 +4978,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (2034, 'de_DE', 'Lieferung - Nach dem Liefermodul', NULL, NULL), (2035, 'de_DE', 'Rechnung - Weitere Produktinformationen', NULL, NULL), (2036, 'de_DE', 'Lieferung - Weitere Produktinformationen', NULL, NULL), - (2001, 'en_US', 'Invoice - CSS', NULL, NULL), + (2037, 'de_DE', NULL, NULL, NULL), + (2038, 'de_DE', NULL, NULL, NULL), (2001, 'en_US', 'Invoice - CSS', NULL, NULL), (2002, 'en_US', 'Invoice - in the header', NULL, NULL), (2003, 'en_US', 'Invoice - at the top of the footer', NULL, NULL), (2004, 'en_US', 'Invoice - imprint', NULL, NULL), @@ -4938,7 +5015,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (2034, 'en_US', 'Delivery - After delivery module', NULL, NULL), (2035, 'en_US', 'Invoice - additional product information', NULL, NULL), (2036, 'en_US', 'Delivery - additional product information', NULL, NULL), - (2001, 'es_ES', 'Factura - CSS', NULL, NULL), + (2037, 'en_US', 'Delivery - after product information', NULL, NULL), + (2038, 'en_US', 'Invoice - after product information', NULL, NULL), (2001, 'es_ES', 'Factura - CSS', NULL, NULL), (2002, 'es_ES', 'Factura - en la cabecera', NULL, NULL), (2003, 'es_ES', 'Factura - en la parte superior del pie de página', NULL, NULL), (2004, 'es_ES', 'Factura - pie de imprenta', NULL, NULL), @@ -4974,7 +5052,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (2034, 'es_ES', 'Entrega - después del módulo de entrega', NULL, NULL), (2035, 'es_ES', 'Factura - información adicional del producto', NULL, NULL), (2036, 'es_ES', 'Entrega - información adicional del producto', NULL, NULL), - (2001, 'fr_FR', 'Facture - CSS', NULL, NULL), + (2037, 'es_ES', NULL, NULL, NULL), + (2038, 'es_ES', NULL, NULL, NULL), (2001, 'fr_FR', 'Facture - CSS', NULL, NULL), (2002, 'fr_FR', 'Facture - dans l\'en-tête', NULL, NULL), (2003, 'fr_FR', 'Facture - en haut du pied de page', NULL, NULL), (2004, 'fr_FR', 'Facture - mentions légales', NULL, NULL), @@ -5009,8 +5088,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (2033, 'fr_FR', 'Commande - après le module de livraison', NULL, NULL), (2034, 'fr_FR', 'Commande - après le module de livraison', NULL, NULL), (2035, 'fr_FR', 'Facture - informations additionnelles pour un produit', NULL, NULL), - (2036, 'fr_FR', 'Bon de livraison - informations additionnelles pour un produit', NULL, NULL) -; + (2036, 'fr_FR', 'Bon de livraison - informations additionnelles pour un produit', NULL, NULL), + (2037, 'fr_FR', NULL, NULL, NULL), + (2038, 'fr_FR', NULL, NULL, NULL); -- Insert I18n email hooks INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES @@ -5041,7 +5121,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (3024, 'de_DE', NULL, NULL, NULL), (3025, 'de_DE', NULL, NULL, NULL), (3026, 'de_DE', NULL, NULL, NULL), - (3000, 'en_US', 'Email html - layout - CSS', NULL, NULL), + (3027, 'de_DE', NULL, NULL, NULL), + (3028, 'de_DE', NULL, NULL, NULL), (3000, 'en_US', 'Email html - layout - CSS', NULL, NULL), (3001, 'en_US', 'Email html - layout - footer', NULL, NULL), (3002, 'en_US', 'Email html - order confirmation - before address', NULL, NULL), (3003, 'en_US', 'Email html - order confirmation - delivery address', NULL, NULL), @@ -5068,7 +5149,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (3024, 'en_US', 'Email txt - order notification - order product', NULL, NULL), (3025, 'en_US', 'Email txt - order notification - before products', NULL, NULL), (3026, 'en_US', 'Email txt - order notification - after products', NULL, NULL), - (3000, 'es_ES', 'Email HTML - Interfaz - CSS', NULL, NULL), + (3027, 'en_US', 'Email html - order notification - after product information', NULL, NULL), + (3028, 'en_US', 'Email txt - order notification - after product information', NULL, NULL), (3000, 'es_ES', 'Email HTML - Interfaz - CSS', NULL, NULL), (3001, 'es_ES', 'Email HTML - Interfaz - pie', NULL, NULL), (3002, 'es_ES', NULL, NULL, NULL), (3003, 'es_ES', NULL, NULL, NULL), @@ -5095,7 +5177,8 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (3024, 'es_ES', NULL, NULL, NULL), (3025, 'es_ES', NULL, NULL, NULL), (3026, 'es_ES', NULL, NULL, NULL), - (3000, 'fr_FR', 'Email html - layout - CSS', NULL, NULL), + (3027, 'es_ES', NULL, NULL, NULL), + (3028, 'es_ES', NULL, NULL, NULL), (3000, 'fr_FR', 'Email html - layout - CSS', NULL, NULL), (3001, 'fr_FR', 'Email html - layout - pied de page', NULL, NULL), (3002, 'fr_FR', 'Email html - confirmation commande - avant adresses', NULL, NULL), (3003, 'fr_FR', 'Email html - confirmation commande - adresse de livraison', NULL, NULL), @@ -5121,8 +5204,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (3023, 'fr_FR', 'Email txt - notification commande - après adresses', NULL, NULL), (3024, 'fr_FR', 'Email txt - notification commande - produit de la commande', NULL, NULL), (3025, 'fr_FR', 'Email txt - notification commande - avant produits', NULL, NULL), - (3026, 'fr_FR', 'Email txt - notification commande - après produits', NULL, NULL) -; + (3026, 'fr_FR', 'Email txt - notification commande - après produits', NULL, NULL), + (3027, 'fr_FR', NULL, NULL, NULL), + (3028, 'fr_FR', NULL, NULL, NULL); INSERT INTO `customer_title_i18n` (`id`, `locale`, `short`, `long`) VALUES (1, 'de_DE', 'Hr.', 'Herr'), @@ -7512,6 +7596,7 @@ INSERT INTO `resource_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `p (47, 'de_DE', 'Back-Office Suchfunktion', NULL, NULL, NULL), (48, 'de_DE', 'API-Konfiguration', NULL, NULL, NULL), (49, 'de_DE', 'Kunde-Andere', NULL, NULL, NULL), + (50, 'de_DE', NULL, NULL, NULL, NULL), (1, 'en_US', 'Address', NULL, NULL, NULL), (2, 'en_US', 'Configuration / Administrator', NULL, NULL, NULL), (3, 'en_US', 'Configuration / Area', NULL, NULL, NULL), @@ -7561,6 +7646,7 @@ INSERT INTO `resource_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `p (47, 'en_US', 'Back-office search function', NULL, NULL, NULL), (48, 'en_US', 'API Configuration', NULL, NULL, NULL), (49, 'en_US', 'Customer title', NULL, NULL, NULL), + (50, 'en_US', 'Configuration order status', NULL, NULL, NULL), (1, 'es_ES', 'Dirección', NULL, NULL, NULL), (2, 'es_ES', 'Configuración / administrador', NULL, NULL, NULL), (3, 'es_ES', 'Configuración / área', NULL, NULL, NULL), @@ -7610,6 +7696,7 @@ INSERT INTO `resource_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `p (47, 'es_ES', 'Función de búsqueda de back office', NULL, NULL, NULL), (48, 'es_ES', 'Configuración de API', NULL, NULL, NULL), (49, 'es_ES', 'Estado civil cliente', NULL, NULL, NULL), + (50, 'es_ES', NULL, NULL, NULL, NULL), (1, 'fr_FR', 'Adresse', NULL, NULL, NULL), (2, 'fr_FR', 'Configuration / Administrateur', NULL, NULL, NULL), (3, 'fr_FR', 'Configuration / Zone', NULL, NULL, NULL), @@ -7658,7 +7745,8 @@ INSERT INTO `resource_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `p (46, 'fr_FR', 'Gestion des profils d\'administration', NULL, NULL, NULL), (47, 'fr_FR', 'Fonction de recherche dans l\'administration', NULL, NULL, NULL), (48, 'fr_FR', 'Configuration de l\'API', NULL, NULL, NULL), - (49, 'fr_FR', 'civilité client', NULL, NULL, NULL) + (49, 'fr_FR', 'civilité client', NULL, NULL, NULL), + (50, 'fr_FR', NULL, NULL, NULL, NULL) ; @@ -7670,25 +7758,29 @@ INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, (5, 'de_DE', 'Mail an den Kunden geschickt, wenn sein Konto von einem Administrator im Back-Office erstellt wird', 'Ein Konto {config key=\"store_name\"} wurde für Sie erstellt.', NULL, NULL), (6, 'de_DE', NULL, NULL, NULL, NULL), (7, 'de_DE', NULL, NULL, NULL, NULL), + (8, 'de_DE', NULL, NULL, NULL, NULL), (1, 'en_US', 'Order confirmation sent to the customer', 'Your order {$order_ref} at {config key=\"store_name\"}', NULL, NULL), (2, 'en_US', 'Your new password', 'Your new password for {config key=\"store_name\"}', NULL, NULL), (3, 'en_US', 'Message sent to the shop owner when a new order is placed', 'New order {$order_ref} placed on {config key=\"store_name\"}', NULL, NULL), (4, 'en_US', 'Mail sent to the customer when its password or email is changed in the back-office', 'Your account information on {config key=\"store_name\"} has been changed.', NULL, NULL), (5, 'en_US', 'Mail sent to the customer when its account is created by an administrator in the back-office', 'A {config key=\"store_name\"} account has been created for you', NULL, NULL), - (6, 'en_US', 'Mail sent to an administrator who requested a new password', NULL, NULL, NULL), - (7, 'en_US', 'Newsletter subscription confirmation mail', 'Your subscription to %store newsletter', NULL, NULL), + (6, 'en_US', 'Mail sent to an administrator who requested a new password', 'New password request on {config key=\"store_name\"}', NULL, NULL), + (7, 'en_US', 'Newsletter subscription confirmation mail', 'Your subscription to {config key=\"store_name\"} newsletter', NULL, NULL), + (8, 'en_US', 'Mail sent to the customer to confirm its account', 'Confirm your {config key=\"store_name\"} account', NULL, NULL), (1, 'es_ES', 'Confirmación de la orden enviada al cliente', 'Su orden {$order_ref} en {tecla config = \"store_name\"}', NULL, NULL), (2, 'es_ES', 'Su nueva contraseña', 'Su nueva contraseña para {tecla config = \"store_name\"}', NULL, NULL), (3, 'es_ES', 'Mensaje enviado al propietario de la tienda cuando se envía una nueva orden', 'Nueva orden {$order_ref} ubicada en {tecla config = \"store_name\"}', NULL, NULL), (4, 'es_ES', 'Correo enviado al cliente cuando se cambia su contraseña o correo electrónico en el back-office', 'La información de su cuenta en {tecla config = \"store_name\"} ha sido cambiada.', NULL, NULL), (5, 'es_ES', 'Correo enviado al cliente cuando se crea su cuenta por un administrador en el back-office', 'Una {config key=\"store_name\"} cuenta ha sido creada para ti', NULL, NULL), - (6, 'es_ES', 'Correo enviado a un administrador que ha solicitado una nueva contraseña', NULL, NULL, NULL), - (7, 'es_ES', 'Confirmación de suscripción por correo al boletín', 'Tu suscripción al boletín de %store', NULL, NULL), + (6, 'es_ES', 'Correo enviado a un administrador que ha solicitado una nueva contraseña', 'Nueva contraseña solicitada en {config key=\"store_name\"}', NULL, NULL), + (7, 'es_ES', 'Confirmación de suscripción por correo al boletín', 'Tu suscripción al boletín de {config key=\"store_name\"}', NULL, NULL), + (8, 'es_ES', NULL, NULL, NULL, NULL), (1, 'fr_FR', 'Confirmation de commande envoyée au client', 'Votre commande {$order_ref} chez {config key=\"store_name\"}', NULL, NULL), (2, 'fr_FR', 'Votre nouveau mot de passe', 'Votre nouveau mot de passe {config key=\"store_name\"}', NULL, NULL), (3, 'fr_FR', 'Message envoyé au gestionnaire de la boutique lors d\'une nouvelle commande.', 'Nouvelle commande {$order_ref} reçue sur {config key=\"store_name\"}', NULL, NULL), (4, 'fr_FR', 'Message envoyé au client lorsque son mot de passe ou son email est changé dans le back-office', 'L\'accès à votre compte {config key=\"store_name\"} a changé', NULL, NULL), (5, 'fr_FR', 'Mail envoyé au client lorsque son compte est créé depuis le back-office par un administrateur', 'Un compte {config key=\"store_name\"} vient d\'être créé pour vous.', NULL, NULL), - (6, 'fr_FR', 'Courrier envoyé à un administrateur qui a demandé un nouveau mot de passe', NULL, NULL, NULL), - (7, 'fr_FR', 'Mail de confirmation d\'inscription à la newsletter', 'Vous avez souscrit à la newsletter du site %store', NULL, NULL) + (6, 'fr_FR', 'Courrier envoyé à un administrateur qui a demandé un nouveau mot de passe', 'Votre demande de mot de passe {config key=\"store_name\"}', NULL, NULL), + (7, 'fr_FR', 'Mail de confirmation d\'inscription à la newsletter', 'Votre abonnement à {config key=\"store_name\"} newsletter', NULL, NULL), + (8, 'fr_FR', 'E-mail de confirmation de création de compte client', 'Confirmez la création de votre compte {config key=\"store_name\"}', NULL, NULL) ; diff --git a/setup/insert.sql.tpl b/setup/insert.sql.tpl index 013d49ae..282a4920 100644 --- a/setup/insert.sql.tpl +++ b/setup/insert.sql.tpl @@ -75,31 +75,33 @@ INSERT INTO `config` (`id`, `name`, `value`, `secured`, `hidden`, `created_at`, (65, 'notify_newsletter_subscription', '1', 0, 0, NOW(), NOW()), (66, 'number_default_results_per_page.product_list', '20', 0, 0, NOW(), NOW()), (67, 'number_default_results_per_page.order_list', '20', 0, 0, NOW(), NOW()), -(68, 'number_default_results_per_page.customer_list', '20', 0, 0, NOW(), NOW()) +(68, 'number_default_results_per_page.customer_list', '20', 0, 0, NOW(), NOW()), +(69, 'customer_email_confirmation', '0', 0, 0, NOW(), NOW()), +(70, 'number_default_results_per_page.coupon_list', '20', 0, 0, NOW(), NOW()) ; -INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namespace`, `created_at`, `updated_at`) VALUES -(1, 'Carousel', 1, 0, 1, 'Carousel\\Carousel', NOW(), NOW()), -(2, 'Colissimo', 2, 0, 1, 'Colissimo\\Colissimo', NOW(), NOW()), -(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', NOW(), NOW()), -(4, 'Front', 1, 1, 2, 'Front\\Front', NOW(), NOW()), -(5, 'Tinymce', 1, 0, 16, 'Tinymce\\Tinymce', NOW(), NOW()), -(6, 'HookNavigation', 1, 1, 11, 'HookNavigation\\HookNavigation', NOW(), NOW()), -(7, 'HookCurrency', 1, 1, 3, 'HookCurrency\\HookCurrency', NOW(), NOW()), -(8, 'HookLang', 1, 1, 4, 'HookLang\\HookLang', NOW(), NOW()), -(9, 'HookSearch', 1, 1, 5, 'HookSearch\\HookSearch', NOW(), NOW()), -(10, 'HookCustomer', 1, 1, 6, 'HookCustomer\\HookCustomer', NOW(), NOW()), -(11, 'HookCart', 1, 1, 7, 'HookCart\\HookCart', NOW(), NOW()), -(12, 'HookAnalytics', 1, 1, 8, 'HookAnalytics\\HookAnalytics', NOW(), NOW()), -(13, 'HookContact', 1, 1, 9, 'HookContact\\HookContact', NOW(), NOW()), -(14, 'HookLinks', 1, 1, 10, 'HookLinks\\HookLinks', NOW(), NOW()), -(15, 'HookNewsletter', 1, 1, 12, 'HookNewsletter\\HookNewsletter', NOW(), NOW()), -(16, 'HookSocial', 1, 1, 13, 'HookSocial\\HookSocial', NOW(), NOW()), -(17, 'HookProductsNew', 1, 1, 14, 'HookProductsNew\\HookProductsNew', NOW(), NOW()), -(18, 'HookProductsOffer', 1, 1, 15, 'HookProductsOffer\\HookProductsOffer', NOW(), NOW()), -(19, 'TheliaSmarty', 1, 1, 16, 'TheliaSmarty\\TheliaSmarty', NOW(), NOW()), -(20, 'VirtualProductControl', 1, 1, 17, 'VirtualProductControl\\VirtualProductControl', NOW(), NOW()), -(21, 'HookAdminHome', 1, 1, 18, 'HookAdminHome\\HookAdminHome', NOW(), NOW()) +INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namespace`, `hidden`, `mandatory`, `created_at`, `updated_at`) VALUES +(1, 'Carousel', 1, 0, 1, 'Carousel\\Carousel', 0, 0, NOW(), NOW()), +(2, 'Colissimo', 2, 0, 1, 'Colissimo\\Colissimo', 0, 0, NOW(), NOW()), +(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', 0, 0, NOW(), NOW()), +(4, 'Front', 1, 1, 2, 'Front\\Front', 1, 0, NOW(), NOW()), +(5, 'Tinymce', 1, 0, 16, 'Tinymce\\Tinymce', 0, 1, NOW(), NOW()), +(6, 'HookNavigation', 1, 1, 11, 'HookNavigation\\HookNavigation', 0, 0, NOW(), NOW()), +(7, 'HookCurrency', 1, 1, 3, 'HookCurrency\\HookCurrency', 0, 0, NOW(), NOW()), +(8, 'HookLang', 1, 1, 4, 'HookLang\\HookLang', 0, 0, NOW(), NOW()), +(9, 'HookSearch', 1, 1, 5, 'HookSearch\\HookSearch', 0, 0, NOW(), NOW()), +(10, 'HookCustomer', 1, 1, 6, 'HookCustomer\\HookCustomer', 0, 0, NOW(), NOW()), +(11, 'HookCart', 1, 1, 7, 'HookCart\\HookCart', 0, 0, NOW(), NOW()), +(12, 'HookAnalytics', 1, 1, 8, 'HookAnalytics\\HookAnalytics', 0, 0, NOW(), NOW()), +(13, 'HookContact', 1, 1, 9, 'HookContact\\HookContact', 0, 0, NOW(), NOW()), +(14, 'HookLinks', 1, 1, 10, 'HookLinks\\HookLinks', 0, 0, NOW(), NOW()), +(15, 'HookNewsletter', 1, 1, 12, 'HookNewsletter\\HookNewsletter', 0, 0, NOW(), NOW()), +(16, 'HookSocial', 1, 1, 13, 'HookSocial\\HookSocial', 0, 0, NOW(), NOW()), +(17, 'HookProductsNew', 1, 1, 14, 'HookProductsNew\\HookProductsNew', 0, 0, NOW(), NOW()), +(18, 'HookProductsOffer', 1, 1, 15, 'HookProductsOffer\\HookProductsOffer', 0, 0, NOW(), NOW()), +(19, 'TheliaSmarty', 1, 1, 16, 'TheliaSmarty\\TheliaSmarty', 0, 0, NOW(), NOW()), +(20, 'VirtualProductControl', 1, 1, 17, 'VirtualProductControl\\VirtualProductControl', 0, 0, NOW(), NOW()), +(21, 'HookAdminHome', 1, 1, 18, 'HookAdminHome\\HookAdminHome', 0, 0, NOW(), NOW()) ; -- Insert front hooks @@ -342,7 +344,10 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (236, 'newsletter-unsubscribe.bottom', 1, 0, 0, 1, 1, 1, NOW(), NOW()), (237, 'newsletter-unsubscribe.stylesheet', 1, 0, 0, 1, 1, 1, NOW(), NOW()), (238, 'newsletter-unsubscribe.after-javascript-include', 1, 0, 0, 1, 1, 1, NOW(), NOW()), -(239, 'newsletter-unsubscribe.javascript-initialization', 1, 0, 0, 1, 1, 1, NOW(), NOW()) +(239, 'newsletter-unsubscribe.javascript-initialization', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(240, 'order-invoice.coupon-form', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(241, 'order-invoice.payment-form', 1, 0, 0, 1, 1, 1, NOW(), NOW()), +(242, 'account-order.product-list', 1, 0, 0, 1, 1, 1, NOW(), NOW()) ; -- Insert admin hooks @@ -762,7 +767,16 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (1412, 'states.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), (1413, 'state.create-form', 2, 0, 0, 1, 1, 1, NOW(), NOW()), (1414, 'state.delete-form', 2, 0, 0, 1, 1, 1, NOW(), NOW()), -(1415, 'states.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()); +(1415, 'states.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1416, 'configuration.order-path.top', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1417, 'configuration.order-path.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1418, 'order-status.top', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1419, 'order-status.table-header', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1420, 'order-status.table-row', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1421, 'order-status.bottom', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1422, 'order-status.form.creation', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1423, 'order-status.form.modification', 2, 0, 0, 1, 1, 1, NOW(), NOW()), +(1424, 'order-status.js', 2, 0, 0, 1, 1, 1, NOW(), NOW()); -- Insert pdf hooks INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activate`, `position`, `created_at`, `updated_at`) VALUES @@ -801,7 +815,9 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (2033, 'invoice.after-delivery-module', 3, 0, 0, 1, 1, 1, NOW(), NOW()), (2034, 'delivery.after-delivery-module', 3, 0, 0, 1, 1, 1, NOW(), NOW()), (2035, 'invoice.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()), -(2036, 'delivery.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()) +(2036, 'delivery.order-product', 3, 0, 0, 1, 1, 1, NOW(), NOW()), +(2037, 'delivery.product-list', 3, 0, 0, 1, 1, 1, NOW(), NOW()), +(2038, 'invoice.product-list', 3, 0, 0, 1, 1, 1, NOW(), NOW()) ; -- Insert email hooks @@ -832,7 +848,9 @@ INSERT INTO `hook` (`id`, `code`, `type`, `by_module`, `block`, `native`, `activ (3023, 'email-txt.order-notification.after-address', 4, 0, 0, 1, 1, 1, NOW(), NOW()), (3024, 'email-txt.order-notification.order-product', 4, 0, 0, 1, 1, 1, NOW(), NOW()), (3025, 'email-txt.order-notification.before-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()), -(3026, 'email-txt.order-notification.after-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()) +(3026, 'email-txt.order-notification.after-products', 4, 0, 0, 1, 1, 1, NOW(), NOW()), +(3027, 'email-html.order-confirmation.product-list', 4, 0, 0, 1, 1, 1, NOW(), NOW()), +(3028, 'email-txt.order-confirmation.product-list', 4, 0, 0, 1, 1, 1, NOW(), NOW()) ; INSERT INTO `customer_title`(`id`, `by_default`, `position`, `created_at`, `updated_at`) VALUES @@ -1857,13 +1875,13 @@ VALUES (1, 64, 1, 1, NOW(), NOW()), (2, 64, 2, 1, NOW(), NOW()); -INSERT INTO `order_status`(`id`, `code`, `created_at`, `updated_at`) VALUES -(1, 'not_paid', NOW(), NOW()), -(2, 'paid', NOW(), NOW()), -(3, 'processing', NOW(), NOW()), -(4, 'sent', NOW(), NOW()), -(5, 'canceled', NOW(), NOW()), -(6, 'refunded', NOW(), NOW()); +INSERT INTO `order_status`(`id`, `code`, `color`, `position`, `protected_status`, `created_at`, `updated_at`) VALUES +(1, 'not_paid', '#f0ad4e', 1, 1, NOW(), NOW()), +(2, 'paid', '#5cb85c', 2, 1, NOW(), NOW()), +(3, 'processing', '#f39922', 3, 1, NOW(), NOW()), +(4, 'sent', '#5bc0de', 4, 1, NOW(), NOW()), +(5, 'canceled', '#d9534f', 5, 1, NOW(), NOW()), +(6, 'refunded', '#986dff', 6, 1, NOW(), NOW()); /** generated with command : php Thelia thelia:generate-resources --output sql @@ -1917,7 +1935,8 @@ INSERT INTO resource (`id`, `code`, `created_at`, `updated_at`) VALUES (46, 'admin.profile', NOW(), NOW()), (47, 'admin.search', NOW(), NOW()), (48, 'admin.configuration.api', NOW(), NOW()), -(49, 'admin.customer.title', NOW(), NOW()) +(49, 'admin.customer.title', NOW(), NOW()), +(50, 'admin.configuration.order-status', NOW(), NOW()) ; INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_template_file_name`, `html_layout_file_name`, `html_template_file_name`, `created_at`, `updated_at`) VALUES @@ -1927,7 +1946,8 @@ INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_t (4, 'customer_account_changed', 0, NULL, 'account_changed_by_admin.txt', NULL, 'account_changed_by_admin.html', NOW(), NOW()), (5, 'customer_account_created', 0, NULL, 'account_created_by_admin.txt', NULL, 'account_created_by_admin.html', NOW(), NOW()), (6, 'new_admin_password', NULL, NULL, 'admin_password.txt', NULL, 'admin_password.html', NOW(), NOW()), -(7, 'newsletter_subscription_confirmation', NULL, NULL, 'newsletter_subscription_confirmation.txt', NULL, 'newsletter_subscription_confirmation.html', NOW(), NOW()) +(7, 'newsletter_subscription_confirmation', NULL, NULL, 'newsletter_subscription_confirmation.txt', NULL, 'newsletter_subscription_confirmation.html', NOW(), NOW()), +(8, 'customer_confirmation', NULL, NULL, 'customer_confirmation.txt', NULL, 'customer_confirmation.html', NOW(), NOW()) ; /** @@ -1982,14 +2002,16 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (58, '{$locale}', {intl l='Show error message instead of a white page on a server error' locale=$locale}, NULL, NULL, NULL), (59, '{$locale}', {intl l='Filename of the error page' locale=$locale}, NULL, NULL, NULL), (60, '{$locale}', {intl l='Allow customers to change their email. 1 for yes, 0 for no' locale=$locale}, NULL, NULL, NULL), - (61, '{$locale}', {intl l='Ask the customers to confirm their email, 1 for yes, 0 for no' locale=$locale}, NULL, NULL, NULL), + (61, '{$locale}', {intl l='Ask the customers to confirm their email in customer creation form, 1 for yes, 0 for no' locale=$locale}, NULL, NULL, NULL), (62, '{$locale}', {intl l='Secret key for form CSRF token' locale=$locale}, NULL, NULL, NULL), (63, '{$locale}', {intl l='The minimum length required for an administrator password' locale=$locale}, NULL, NULL, NULL), (64, '{$locale}', {intl l='Allow an administrator to recreate a lost password (1 = yes, 0 = no)' locale=$locale}, NULL, NULL, NULL), (65, '{$locale}', {intl l='Send a confirmation email to newsletter subscribers (1 = yes, 0 = no)' locale=$locale}, NULL, NULL, NULL), (66, '{$locale}', {intl l='Number by default of results per page for product list' locale=$locale}, NUll, NULL, NULL), (67, '{$locale}', {intl l='Number by default of results per page for order list' locale=$locale}, NUll, NULL, NULL), - (68, '{$locale}', {intl l='Number by default of results per page for customer list' locale=$locale}, NUll, NULL, NULL){if ! $locale@last},{/if} + (68, '{$locale}', {intl l='Number by default of results per page for customer list' locale=$locale}, NUll, NULL, NULL), + (69, '{$locale}', {intl l='Customer account creation should be confirmed by email (1: yes, 0: no)' locale=$locale}, NULL, NULL, NULL), + (70, '{$locale}', {intl l='Default number of coupons per page on coupon list' locale=$locale}, NULL, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -2015,8 +2037,8 @@ INSERT INTO `module_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (17, '{$locale}', {intl l='New Products block' locale=$locale}, NULL, NULL, NULL), (18, '{$locale}', {intl l='Products offer block' locale=$locale}, NULL, NULL, NULL), (19, '{$locale}', {intl l='Smarty template engine integration' locale=$locale}, NULL, NULL, NULL), - (20, '{$locale}', {intl l='Virtual Product Controller' locale=$locale}, NULL, NULL, NULL){if ! $locale@last},{/if} - + (20, '{$locale}', {intl l='Virtual Product Controller' locale=$locale}, NULL, NULL, NULL), + (21, '{$locale}', {intl l='Back-office Home page content' locale=$locale}, NULL, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -2261,7 +2283,10 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (236, '{$locale}', {intl l='Newsletter unsubscribe page - at the bottom' locale=$locale}, NULL, NULL), (237, '{$locale}', {intl l='Newsletter unsubscribe page - CSS stylesheet' locale=$locale}, NULL, NULL), (238, '{$locale}', {intl l='Newsletter unsubscribe page - after javascript include' locale=$locale}, NULL, NULL), - (239, '{$locale}', {intl l='Newsletter unsubscribe page - after javascript initialisation' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} + (239, '{$locale}', {intl l='Newsletter unsubscribe page - after javascript initialisation' locale=$locale}, NULL, NULL), + (240, '{$locale}', {intl l='Order invoice page - bottom of coupon form' locale=$locale}, NULL, NULL), + (241, '{$locale}', {intl l='Order invoice page - bottom of payment form' locale=$locale}, NULL, NULL), + (242, '{$locale}', {intl l='Account order - after product information' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -2684,7 +2709,16 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (1412, '{$locale}', {intl l='states - bottom' locale=$locale}, '', ''), (1413, '{$locale}', {intl l='state - creation form' locale=$locale}, '', ''), (1414, '{$locale}', {intl l='state - delete form' locale=$locale}, '', ''), - (1415, '{$locale}', {intl l='states - JavaScript' locale=$locale}, '', ''){if ! $locale@last},{/if} + (1415, '{$locale}', {intl l='states - JavaScript' locale=$locale}, '', ''), + (1416, '{$locale}', {intl l='Configuration - Order path - top' locale=$locale}, NULL, NULL), + (1417, '{$locale}', {intl l='Configuration - Order path - bottom' locale=$locale}, NULL, NULL), + (1418, '{$locale}', {intl l='Order status - top' locale=$locale}, NULL, NULL), + (1419, '{$locale}', {intl l='Order status - bottom' locale=$locale}, NULL, NULL), + (1420, '{$locale}', {intl l='Order status - table header' locale=$locale}, NULL, NULL), + (1421, '{$locale}', {intl l='Order status - table row' locale=$locale}, NULL, NULL), + (1422, '{$locale}', {intl l='Order status - form creation' locale=$locale}, NULL, NULL), + (1423, '{$locale}', {intl l='Order status - form modification' locale=$locale}, NULL, NULL), + (1424, '{$locale}', {intl l='Order status - JavaScript' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -2727,8 +2761,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (2033, '{$locale}', {intl l='Invoice - After delivery module' locale=$locale}, NULL, NULL), (2034, '{$locale}', {intl l='Delivery - After delivery module' locale=$locale}, NULL, NULL), (2035, '{$locale}', {intl l='Invoice - additional product information' locale=$locale}, NULL, NULL), - (2036, '{$locale}', {intl l='Delivery - additional product information' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} - + (2036, '{$locale}', {intl l='Delivery - additional product information' locale=$locale}, NULL, NULL), + (2037, '{$locale}', {intl l='Delivery - after product information' locale=$locale}, NULL, NULL), + (2038, '{$locale}', {intl l='Invoice - after product information' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -2761,8 +2796,9 @@ INSERT INTO `hook_i18n` (`id`, `locale`, `title`, `chapo`, `description`) VALUES (3023, '{$locale}', {intl l='Email txt - order notification - after address' locale=$locale}, NULL, NULL), (3024, '{$locale}', {intl l='Email txt - order notification - order product' locale=$locale}, NULL, NULL), (3025, '{$locale}', {intl l='Email txt - order notification - before products' locale=$locale}, NULL, NULL), - (3026, '{$locale}', {intl l='Email txt - order notification - after products' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} - + (3026, '{$locale}', {intl l='Email txt - order notification - after products' locale=$locale}, NULL, NULL), + (3027, '{$locale}', {intl l='Email html - order notification - after product information' locale=$locale}, NULL, NULL), + (3028, '{$locale}', {intl l='Email txt - order notification - after product information' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -3438,7 +3474,8 @@ INSERT INTO `resource_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `p (46, '{$locale}', {intl l='Administration profiles management' locale=$locale}, NULL, NULL, NULL), (47, '{$locale}', {intl l='Back-office search function' locale=$locale}, NULL, NULL, NULL), (48, '{$locale}', {intl l='API Configuration' locale=$locale}, NULL, NULL, NULL), - (49, '{$locale}', {intl l='Customer title' locale=$locale}, NULL, NULL, NULL){if ! $locale@last},{/if} + (49, '{$locale}', {intl l='Customer title' locale=$locale}, NULL, NULL, NULL), + (50, '{$locale}', {intl l='Configuration order status' locale=$locale}, NULL, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; @@ -3452,7 +3489,8 @@ INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, (4, '{$locale}', {intl l='Mail sent to the customer when its password or email is changed in the back-office' locale=$locale}, {intl l='Your account information on {config key="store_name"} has been changed.' locale=$locale}, NULL, NULL), (5, '{$locale}', {intl l='Mail sent to the customer when its account is created by an administrator in the back-office' locale=$locale}, {intl l='A {config key="store_name"} account has been created for you' locale=$locale}, NULL, NULL), (6, '{$locale}', {intl l='Mail sent to an administrator who requested a new password' locale=$locale}, {intl l='New password request on %store' store={config key="store_name"} locale=$locale}, NULL, NULL), - (7, '{$locale}', {intl l='Newsletter subscription confirmation mail' locale=$locale}, {intl l='Your subscription to %store newsletter' store={config key="store_name"} locale=$locale}, NULL, NULL){if ! $locale@last},{/if} + (7, '{$locale}', {intl l='Newsletter subscription confirmation mail' locale=$locale}, {intl l='Your subscription to %store newsletter' locale=$locale}, NULL, NULL), + (8, '{$locale}', {intl l='Mail sent to the customer to confirm its account' locale=$locale}, {intl l='Confirm your %store account' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; diff --git a/setup/thelia.sql b/setup/thelia.sql index e129130b..75d9b7b6 100644 --- a/setup/thelia.sql +++ b/setup/thelia.sql @@ -475,6 +475,8 @@ CREATE TABLE `customer` `discount` DECIMAL(16,6) DEFAULT 0.000000, `remember_me_token` VARCHAR(255), `remember_me_serial` VARCHAR(255), + `enable` TINYINT DEFAULT 0, + `confirmation_token` VARCHAR(255), `created_at` DATETIME, `updated_at` DATETIME, `version` INTEGER DEFAULT 0, @@ -888,6 +890,9 @@ CREATE TABLE `order_status` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `code` VARCHAR(45) NOT NULL, + `color` CHAR(7), + `position` INTEGER, + `protected_status` TINYINT(1) DEFAULT 0, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), @@ -939,6 +944,8 @@ CREATE TABLE `module` `activate` TINYINT, `position` INTEGER, `full_namespace` VARCHAR(255), + `mandatory` TINYINT DEFAULT 0, + `hidden` TINYINT DEFAULT 0, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), @@ -1198,12 +1205,12 @@ CREATE TABLE `coupon` INDEX `idx_is_enabled` (`is_enabled`), INDEX `idx_is_used` (`is_used`), INDEX `idx_type` (`type`), - INDEX `idx_start_date` (`start_date`), INDEX `idx_expiration_date` (`expiration_date`), INDEX `idx_is_cumulative` (`is_cumulative`), INDEX `idx_is_removing_postage` (`is_removing_postage`), INDEX `idx_max_usage` (`max_usage`), - INDEX `idx_is_available_on_special_offers` (`is_available_on_special_offers`) + INDEX `idx_is_available_on_special_offers` (`is_available_on_special_offers`), + INDEX `idx_start_date` (`start_date`) ) ENGINE=InnoDB CHARACTER SET='utf8'; -- --------------------------------------------------------------------- @@ -1733,6 +1740,7 @@ CREATE TABLE `order_coupon` `is_available_on_special_offers` TINYINT(1) NOT NULL, `serialized_conditions` TEXT NOT NULL, `per_customer_usage_count` TINYINT(1) NOT NULL, + `usage_canceled` TINYINT(1) DEFAULT 0, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), @@ -3285,6 +3293,8 @@ CREATE TABLE `customer_version` `discount` DECIMAL(16,6) DEFAULT 0.000000, `remember_me_token` VARCHAR(255), `remember_me_serial` VARCHAR(255), + `enable` TINYINT DEFAULT 0, + `confirmation_token` VARCHAR(255), `created_at` DATETIME, `updated_at` DATETIME, `version` INTEGER DEFAULT 0 NOT NULL, diff --git a/setup/update.php b/setup/update.php index e94acafa..a390b295 100644 --- a/setup/update.php +++ b/setup/update.php @@ -89,8 +89,7 @@ $files = $update->getLatestVersion(); $web = $update->getWebVersion(); while (1) { - - if ($files != $web) { + if ($web !== null && $files != $web) { cliOutput(sprintf( "Thelia server is reporting the current stable release version is %s ", $web @@ -103,11 +102,10 @@ while (1) { $files ), 'info'); - if ($files < $web) { - + if ($web !== null && $files < $web) { cliOutput(sprintf( "Your files belongs to version %s, which is not the latest stable release.", - $web + $files ), 'warning'); cliOutput(sprintf( "It is recommended to upgrade your files first then run this script again." . PHP_EOL diff --git a/setup/update/sql/2.3.0-alpha2.sql b/setup/update/sql/2.3.0-alpha2.sql index abda8802..5ed7e990 100644 --- a/setup/update/sql/2.3.0-alpha2.sql +++ b/setup/update/sql/2.3.0-alpha2.sql @@ -23,9 +23,9 @@ INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_t INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, `html_message`) VALUES (@max, 'de_DE', NULL, NULL, NULL, NULL), - (@max, 'en_US', 'Mail sent to an administrator who requested a new password', NULL, NULL, NULL), - (@max, 'es_ES', 'Correo enviado a un administrador que ha solicitado una nueva contraseña', NULL, NULL, NULL), - (@max, 'fr_FR', 'Courrier envoyé à un administrateur qui a demandé un nouveau mot de passe', NULL, NULL, NULL) + (@max, 'en_US', 'Mail sent to an administrator who requested a new password', 'New password request on {config key=\"store_name\"}', NULL, NULL), + (@max, 'es_ES', 'Correo enviado a un administrador que ha solicitado una nueva contraseña', 'Nueva contraseña solicitada en {config key=\"store_name\"}', NULL, NULL), + (@max, 'fr_FR', 'Courrier envoyé à un administrateur qui a demandé un nouveau mot de passe', 'Votre demande de mot de passe {config key=\"store_name\"}', NULL, NULL) ; -- Insert a fake email address for administrators, to trigger the admin update dialog @@ -176,9 +176,9 @@ INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_t INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, `html_message`) VALUES (@max, 'de_DE', NULL, NULL, NULL, NULL), - (@max, 'en_US', 'Mail sent after a subscription to newsletter', 'Your subscription to %store newsletter', NULL, NULL), - (@max, 'es_ES', 'Correo enviado después de la suscripción al boletín de noticias', 'Tu suscripción al boletín de %store', NULL, NULL), - (@max, 'fr_FR', 'Email envoyé après l\'inscription à la newsletter', 'Vous avez souscrit à la newsletter du site %store', NULL, NULL) + (@max, 'en_US', 'Mail sent after a subscription to newsletter', 'Your subscription to {config key=\"store_name\"} newsletter', NULL, NULL), + (@max, 'es_ES', 'Correo enviado después de la suscripción al boletín de noticias', 'Tu suscripción al boletín de {config key=\"store_name\"}', NULL, NULL), + (@max, 'fr_FR', 'Email envoyé après l\'inscription à la newsletter', 'Votre abonnement à {config key=\"store_name\"} newsletter', NULL, NULL) ; -- add new config variables number_default_results_per_page @@ -192,9 +192,9 @@ INSERT INTO `config_i18n` (`id`, `locale`, `title`, `chapo`, `description`, `pos (@max+1, 'de_DE', NULL, NUll, NULL, NULL), (@max+2, 'de_DE', NULL, NUll, NULL, NULL), (@max+3, 'de_DE', NULL, NUll, NULL, NULL), - (@max+1, 'en_US', 'Number by default of results per page for product list', NUll, NULL, NULL), - (@max+2, 'en_US', 'Number by default of results per page for order list', NUll, NULL, NULL), - (@max+3, 'en_US', 'Number by default of results per page for customer list', NUll, NULL, NULL), + (@max+1, 'en_US', 'Default number of products on product list', NUll, NULL, NULL), + (@max+2, 'en_US', 'Default number of orders on order list', NUll, NULL, NULL), + (@max+3, 'en_US', 'Default number of customers on customer list', NUll, NULL, NULL), (@max+1, 'es_ES', 'Número predeterminado de resultados por página para la lista de productos', NUll, NULL, NULL), (@max+2, 'es_ES', 'Número predeterminado de resultados por página para la lista de pedidos', NUll, NULL, NULL), (@max+3, 'es_ES', 'Número predeterminado de resultados por página para la lista de clientes', NUll, NULL, NULL), diff --git a/setup/update/tpl/2.3.0-alpha2.sql.tpl b/setup/update/tpl/2.3.0-alpha2.sql.tpl index aa9b8c27..e3c7b87b 100644 --- a/setup/update/tpl/2.3.0-alpha2.sql.tpl +++ b/setup/update/tpl/2.3.0-alpha2.sql.tpl @@ -125,7 +125,7 @@ INSERT INTO `message` (`id`, `name`, `secured`, `text_layout_file_name`, `text_t INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, `html_message`) VALUES {foreach $locales as $locale} - (@max, '{$locale}', {intl l='Mail sent after a subscription to newsletter' locale=$locale}, {intl l='Your subscription to %store newsletter' store={config key="store_name"} locale=$locale}, NULL, NULL){if ! $locale@last},{/if} + (@max, '{$locale}', {intl l='Mail sent after a subscription to newsletter' locale=$locale}, {intl l='Your subscription to %store newsletter' locale=$locale}, NULL, NULL){if ! $locale@last},{/if} {/foreach} ; diff --git a/tests/functionnal/casperjs/exe/front/20_register.js b/tests/functionnal/casperjs/exe/front/20_register.js index f8f312bc..536a5604 100644 --- a/tests/functionnal/casperjs/exe/front/20_register.js +++ b/tests/functionnal/casperjs/exe/front/20_register.js @@ -53,7 +53,7 @@ casper.test.begin('Register', 15, function suite(test) { test.assertExists('.group-password_confirm.has-error', 'password confirm can not be empty'); this.fill('form#form-register', { - 'thelia_customer_create[title]': 1, + 'thelia_customer_create[title]': '1', 'thelia_customer_create[firstname]': 'thelia', 'thelia_customer_create[lastname]': 'thelia', 'thelia_customer_create[email]': 'test@thelia.net', @@ -65,7 +65,7 @@ casper.test.begin('Register', 15, function suite(test) { 'thelia_customer_create[address2]': '', 'thelia_customer_create[zipcode]': '63000', 'thelia_customer_create[city]': 'Clermont-Ferrand', - 'thelia_customer_create[country]': 64, + 'thelia_customer_create[country]': '64', 'thelia_customer_create[password]': 'thelia', 'thelia_customer_create[password_confirm]': 'thelia', 'thelia_customer_create[newsletter]': '' @@ -136,4 +136,4 @@ casper.test.begin('Register', 15, function suite(test) { test.done(); }); -}); \ No newline at end of file +}); diff --git a/tests/phpunit/Thelia/Tests/Action/CacheTest.php b/tests/phpunit/Thelia/Tests/Action/CacheTest.php index 889dbd93..8bbe0203 100644 --- a/tests/phpunit/Thelia/Tests/Action/CacheTest.php +++ b/tests/phpunit/Thelia/Tests/Action/CacheTest.php @@ -12,6 +12,7 @@ namespace Thelia\Tests\Action; +use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Filesystem\Filesystem; use Thelia\Action\Cache; use Thelia\Core\Event\Cache\CacheEvent; @@ -37,7 +38,8 @@ class CacheTest extends \PHPUnit_Framework_TestCase { $event = new CacheEvent($this->dir); - $action = new Cache(); + $adapter = new ArrayAdapter(); + $action = new Cache($adapter); $action->cacheClear($event); $fs = new Filesystem(); diff --git a/tests/phpunit/Thelia/Tests/Action/FolderTest.php b/tests/phpunit/Thelia/Tests/Action/FolderTest.php index 03666c4d..754a1567 100644 --- a/tests/phpunit/Thelia/Tests/Action/FolderTest.php +++ b/tests/phpunit/Thelia/Tests/Action/FolderTest.php @@ -26,7 +26,7 @@ use Thelia\Model\Folder as FolderModel; /** * Class FolderTest - * @package Thelia\Tests\Action\ImageTest + * @package Thelia\Tests\Action * @author Manuel Raynaud */ class FolderTest extends TestCaseWithURLToolSetup diff --git a/tests/phpunit/Thelia/Tests/Action/ImageTest.php b/tests/phpunit/Thelia/Tests/Action/ImageTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/OrderTest.php b/tests/phpunit/Thelia/Tests/Action/OrderTest.php index f898b1ba..23686aec 100644 --- a/tests/phpunit/Thelia/Tests/Action/OrderTest.php +++ b/tests/phpunit/Thelia/Tests/Action/OrderTest.php @@ -622,6 +622,29 @@ class OrderTest extends BaseAction ); } + /** + * @depends testCreate + * + * @param OrderModel $order + */ + public function testUpdateTransactionRef(OrderModel $order) + { + $transactionRef = uniqid('TRANSREF'); + $this->orderEvent->setTransactionRef($transactionRef); + $this->orderEvent->setOrder($order); + + $this->orderAction->updateTransactionRef($this->orderEvent); + + $this->assertEquals( + $transactionRef, + $this->orderEvent->getOrder()->getTransactionRef() + ); + $this->assertEquals( + $transactionRef, + OrderQuery::create()->findPk($order->getId())->getTransactionRef() + ); + } + /** * @depends testCreate * diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-1.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-1.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-2.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-2.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-3.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-3.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-4.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-4.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-5.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-5.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-6.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-6.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-7.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-7.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-8.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-8.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-9.png b/tests/phpunit/Thelia/Tests/Action/assets/images/sources/test-image-9.png old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Command/BaseCommandTest.php b/tests/phpunit/Thelia/Tests/Command/BaseCommandTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Command/CacheClearTest.php b/tests/phpunit/Thelia/Tests/Command/CacheClearTest.php old mode 100644 new mode 100755 index 95f18c3d..cd5a52f8 --- a/tests/phpunit/Thelia/Tests/Command/CacheClearTest.php +++ b/tests/phpunit/Thelia/Tests/Command/CacheClearTest.php @@ -12,6 +12,7 @@ namespace Thelia\Tests\Command; +use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Console\Tester\CommandTester; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\EventDispatcher\EventDispatcher; @@ -101,7 +102,7 @@ class CacheClearTest extends ContainerAwareTestCase protected function buildContainer(ContainerBuilder $container) { $eventDispatcher = new EventDispatcher(); - $eventDispatcher->addSubscriber(new Cache()); + $eventDispatcher->addSubscriber(new Cache(new ArrayAdapter())); $container->set("event_dispatcher", $eventDispatcher); diff --git a/tests/phpunit/Thelia/Tests/Command/ModuleActivateCommandTest.php b/tests/phpunit/Thelia/Tests/Command/ModuleActivateCommandTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Command/ModuleDeactivateCommandTest.php b/tests/phpunit/Thelia/Tests/Command/ModuleDeactivateCommandTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Command/ModuleGenerateCommandTest.php b/tests/phpunit/Thelia/Tests/Command/ModuleGenerateCommandTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Controller/DefaultControllerTest.php b/tests/phpunit/Thelia/Tests/Controller/DefaultControllerTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/HttpFoundation/RequestTest.php b/tests/phpunit/Thelia/Tests/Core/HttpFoundation/RequestTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php b/tests/phpunit/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php b/tests/phpunit/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AccessoryTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AccessoryTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AddressTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AddressTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AssociatedContentTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AssociatedContentTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeAvailabilityTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeAvailabilityTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeCombinationTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeCombinationTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/AttributeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/CategoryTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/CategoryTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/ContentTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/ContentTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/CountryTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/CountryTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/CurrencyTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/CurrencyTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/CustomerTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/CustomerTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureAvailabilityTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureAvailabilityTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureValueTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/FeatureValueTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/FolderTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/FolderTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductSaleElementTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductSaleElementTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/ProductTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Core/Template/Loop/TitleTest.php b/tests/phpunit/Thelia/Tests/Core/Template/Loop/TitleTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Coupon/CouponManagerTest.php b/tests/phpunit/Thelia/Tests/Coupon/CouponManagerTest.php index 37b01822..64f57867 100644 --- a/tests/phpunit/Thelia/Tests/Coupon/CouponManagerTest.php +++ b/tests/phpunit/Thelia/Tests/Coupon/CouponManagerTest.php @@ -468,6 +468,87 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua $this->assertEquals($expected, $actual); } + /** + * @covers Thelia\Coupon\CouponManager::incrementQuantity + */ + public function testIncrementeQuantity() + { + $stubFacade = $this->generateFacadeStub(); + $stubContainer = $this->getMock('\Symfony\Component\DependencyInjection\Container'); + + $coupon = new RemoveXAmount($stubFacade); + $date = new \DateTime(); + $coupon->set( + $stubFacade, + 'XMAS', + '', + '', + '', + array('amount' => 21.00), + true, + true, + true, + true, + 254, + $date->setTimestamp(strtotime("today + 3 months")), + new ObjectCollection(), + new ObjectCollection(), + false + ); + + $condition1 = new MatchForTotalAmount($stubFacade); + $operators = array( + MatchForTotalAmount::CART_TOTAL => Operators::SUPERIOR, + MatchForTotalAmount::CART_CURRENCY => Operators::EQUAL + ); + $values = array( + MatchForTotalAmount::CART_TOTAL => 40.00, + MatchForTotalAmount::CART_CURRENCY => 'EUR' + ); + $condition1->setValidatorsFromForm($operators, $values); + + $condition2 = new MatchForTotalAmount($stubFacade); + $operators = array( + MatchForTotalAmount::CART_TOTAL => Operators::INFERIOR, + MatchForTotalAmount::CART_CURRENCY => Operators::EQUAL + ); + $values = array( + MatchForTotalAmount::CART_TOTAL => 400.00, + MatchForTotalAmount::CART_CURRENCY => 'EUR' + ); + $condition2->setValidatorsFromForm($operators, $values); + + $conditions = new ConditionCollection(); + $conditions[] = $condition1; + $conditions[] = $condition2; + $coupon->setConditions($conditions); + + $stubFacade->expects($this->any()) + ->method('getCurrentCoupons') + ->will($this->returnValue(array($coupon))); + + $stubContainer->expects($this->any()) + ->method('get') + ->will($this->onConsecutiveCalls($stubFacade)); + + $couponManager = new CouponManager($stubContainer); + + $stubModel = $this->getMockBuilder('\Thelia\Model\Coupon') + ->disableOriginalConstructor() + ->getMock(); + $stubModel->expects($this->any()) + ->method('getUsagesLeft') + ->will($this->returnValue(21)); + $stubModel->expects($this->any()) + ->method('setMaxUsage') + ->will($this->returnValue(true)); + + $actual = $couponManager->incrementQuantity($stubModel, null); + $expected = 22; + + $this->assertEquals($expected, $actual); + } + /** * @covers Thelia\Coupon\CouponManager::decrementQuantity */ @@ -538,13 +619,100 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua ->getMock(); $stubModel->expects($this->any()) ->method('getMaxUsage') - ->will($this->returnValue(-1)); + ->willReturn(-1); + $stubModel->expects($this->any()) + ->method('isUsageUnlimited') + ->willReturn(true); $stubModel->expects($this->any()) ->method('setMaxUsage') ->will($this->returnValue(true)); $actual = $couponManager->decrementQuantity($stubModel, null); - $expected = false; + $expected = true; + + $this->assertEquals($expected, $actual); + } + + /** + * @covers Thelia\Coupon\CouponManager::incrementQuantity + */ + public function testIncrementQuantityIllimited() + { + $stubFacade = $this->generateFacadeStub(); + $stubContainer = $this->getMock('\Symfony\Component\DependencyInjection\Container'); + + $coupon = new RemoveXAmount($stubFacade); + $date = new \DateTime(); + $coupon->set( + $stubFacade, + 'XMAS', + '', + '', + '', + array('amount' => 21.00), + true, + true, + true, + true, + 254, + $date->setTimestamp(strtotime("today + 3 months")), + new ObjectCollection(), + new ObjectCollection(), + false + ); + + $condition1 = new MatchForTotalAmount($stubFacade); + $operators = array( + MatchForTotalAmount::CART_TOTAL => Operators::SUPERIOR, + MatchForTotalAmount::CART_CURRENCY => Operators::EQUAL + ); + $values = array( + MatchForTotalAmount::CART_TOTAL => 40.00, + MatchForTotalAmount::CART_CURRENCY => 'EUR' + ); + $condition1->setValidatorsFromForm($operators, $values); + + $condition2 = new MatchForTotalAmount($stubFacade); + $operators = array( + MatchForTotalAmount::CART_TOTAL => Operators::INFERIOR, + MatchForTotalAmount::CART_CURRENCY => Operators::EQUAL + ); + $values = array( + MatchForTotalAmount::CART_TOTAL => 400.00, + MatchForTotalAmount::CART_CURRENCY => 'EUR' + ); + $condition2->setValidatorsFromForm($operators, $values); + + $conditions = new ConditionCollection(); + $conditions[] = $condition1; + $conditions[] = $condition2; + $coupon->setConditions($conditions); + + $stubFacade->expects($this->any()) + ->method('getCurrentCoupons') + ->will($this->returnValue(array($coupon))); + + $stubContainer->expects($this->any()) + ->method('get') + ->will($this->onConsecutiveCalls($stubFacade)); + + $couponManager = new CouponManager($stubContainer); + + $stubModel = $this->getMockBuilder('\Thelia\Model\Coupon') + ->disableOriginalConstructor() + ->getMock(); + $stubModel->expects($this->any()) + ->method('getMaxUsage') + -> willReturn(-1); + $stubModel->expects($this->any()) + ->method('isUsageUnlimited') + ->willReturn(true); + $stubModel->expects($this->any()) + ->method('setMaxUsage') + ->will($this->returnValue(true)); + + $actual = $couponManager->incrementQuantity($stubModel, null); + $expected = true; $this->assertEquals($expected, $actual); } diff --git a/tests/phpunit/Thelia/Tests/Coupon/Type/RemoveXAmountTest.php b/tests/phpunit/Thelia/Tests/Coupon/Type/RemoveXAmountTest.php index 21ccc453..e659e573 100644 --- a/tests/phpunit/Thelia/Tests/Coupon/Type/RemoveXAmountTest.php +++ b/tests/phpunit/Thelia/Tests/Coupon/Type/RemoveXAmountTest.php @@ -63,6 +63,10 @@ class RemoveXAmountTest extends \PHPUnit_Framework_TestCase ->method('getCartTotalPrice') ->will($this->returnValue($cartTotalPrice)); + $stubFacade->expects($this->any()) + ->method('getCartTotalTaxPrice') + ->will($this->returnValue($cartTotalPrice)); + $stubFacade->expects($this->any()) ->method('getCheckoutCurrency') ->will($this->returnValue($checkoutCurrency)); diff --git a/tests/phpunit/Thelia/Tests/Files/FileManagerTest.php b/tests/phpunit/Thelia/Tests/Files/FileManagerTest.php index 9b2f7116..452c5824 100644 --- a/tests/phpunit/Thelia/Tests/Files/FileManagerTest.php +++ b/tests/phpunit/Thelia/Tests/Files/FileManagerTest.php @@ -176,6 +176,9 @@ class FileManagerTest extends \PHPUnit_Framework_TestCase $file = $this->fileManager->copyUploadedFile($model, $uploadedFile); + // Normalize path + $file = str_replace('/', DS, $file); + $this->assertEquals("".$file, $targetFile); $this->assertEquals(basename($targetFile), $model->getFile()); @@ -213,6 +216,9 @@ class FileManagerTest extends \PHPUnit_Framework_TestCase $file = $this->fileManager->copyUploadedFile($model, $uploadedFile); + // Normalize path + $file = str_replace('/', DS, $file); + $this->assertEquals("".$file, $targetFile); $this->assertEquals(basename($targetFile), $model->getFile()); diff --git a/tests/phpunit/Thelia/Tests/Form/CartAddTest.php b/tests/phpunit/Thelia/Tests/Form/CartAddTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Form/OrderDeliveryTest.php b/tests/phpunit/Thelia/Tests/Form/OrderDeliveryTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Log/TlogTest.php b/tests/phpunit/Thelia/Tests/Log/TlogTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Model/CurrencyTest.php b/tests/phpunit/Thelia/Tests/Model/CurrencyTest.php index bf5e29d6..30488204 100644 --- a/tests/phpunit/Thelia/Tests/Model/CurrencyTest.php +++ b/tests/phpunit/Thelia/Tests/Model/CurrencyTest.php @@ -28,6 +28,5 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase $actualCurrency = Currency::getDefaultCurrency(); $this->assertEquals($expectedCurrency->getId(), $actualCurrency->getId()); - } } diff --git a/tests/phpunit/Thelia/Tests/Rewriting/RewritingResolverTest.php b/tests/phpunit/Thelia/Tests/Rewriting/RewritingResolverTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Rewriting/RewritingRetrieverTest.php b/tests/phpunit/Thelia/Tests/Rewriting/RewritingRetrieverTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/TaxEngine/CalculatorTest.php b/tests/phpunit/Thelia/Tests/TaxEngine/CalculatorTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Tools/FileDownloaderTest.php b/tests/phpunit/Thelia/Tests/Tools/FileDownloaderTest.php index d97c4a0e..e885020f 100644 --- a/tests/phpunit/Thelia/Tests/Tools/FileDownloaderTest.php +++ b/tests/phpunit/Thelia/Tests/Tools/FileDownloaderTest.php @@ -56,9 +56,14 @@ class FileDownloaderTest extends \PHPUnit_Framework_TestCase { $this->downloader->download("https://github.com/foo/bar/baz", "baz"); } - + public function testFileDownloadSuccess() { - $this->downloader->download("http://thelia.net/", "php://temp"); + $this->downloader->download("https://github.com/", "php://temp"); + } + + public function testFileDownloadSuccessWithRedirect() + { + $this->downloader->download("https://github.com/", "php://temp"); } } diff --git a/tests/phpunit/Thelia/Tests/Tools/URLTest.php b/tests/phpunit/Thelia/Tests/Tools/URLTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/AlphaNumStringListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/AlphaNumStringListTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/AlphaNumStringTypeTest.php b/tests/phpunit/Thelia/Tests/Type/AlphaNumStringTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/AnyListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/AnyListTypeTest.php index 8e4ae887..8e0f6ba4 100644 --- a/tests/phpunit/Thelia/Tests/Type/AnyListTypeTest.php +++ b/tests/phpunit/Thelia/Tests/Type/AnyListTypeTest.php @@ -37,7 +37,6 @@ class AnyListTypeTest extends \PHPUnit_Framework_TestCase $this->assertTrue(is_array($anyListFormat)); $this->assertCount(3, $anyListFormat); $this->assertEquals($anyListFormat[1], 'string_2'); - } public function testEmptyAnyListType() diff --git a/tests/phpunit/Thelia/Tests/Type/AnyTypeTest.php b/tests/phpunit/Thelia/Tests/Type/AnyTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/BooleanTypeTest.php b/tests/phpunit/Thelia/Tests/Type/BooleanTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/EnumListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/EnumListTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/EnumTypeTest.php b/tests/phpunit/Thelia/Tests/Type/EnumTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/FloatTypeTest.php b/tests/phpunit/Thelia/Tests/Type/FloatTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/IntListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/IntListTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/IntToCombinedIntsListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/IntToCombinedIntsListTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/IntToCombinedStringsListTypeTest.php b/tests/phpunit/Thelia/Tests/Type/IntToCombinedStringsListTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/IntTypeTest.php b/tests/phpunit/Thelia/Tests/Type/IntTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/JsonTypeTest.php b/tests/phpunit/Thelia/Tests/Type/JsonTypeTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/Type/TypeCollectionTest.php b/tests/phpunit/Thelia/Tests/Type/TypeCollectionTest.php old mode 100644 new mode 100755 diff --git a/tests/phpunit/Thelia/Tests/bootstrap.php b/tests/phpunit/Thelia/Tests/bootstrap.php old mode 100644 new mode 100755 diff --git a/unit-tests.bat b/unit-tests.bat index 1d37ce98..983a2f28 100644 --- a/unit-tests.bat +++ b/unit-tests.bat @@ -13,7 +13,7 @@ php Thelia module:refresh echo [INFO] Activating Hook Test Module php Thelia module:activate HookTest -call phpunit %* +call bin\phpunit %* echo [INFO] Desactivating Hook Test Module php Thelia module:deactivate HookTest diff --git a/unit-tests.sh b/unit-tests.sh old mode 100644 new mode 100755 diff --git a/web/install/I18n/ar_SA.php b/web/install/I18n/ar_SA.php deleted file mode 100644 index 387b4e20..00000000 --- a/web/install/I18n/ar_SA.php +++ /dev/null @@ -1,6 +0,0 @@ - 'شكرًا', - 'Update' => 'تحديث', -]; diff --git a/web/install/I18n/cs_CZ.php b/web/install/I18n/cs_CZ.php deleted file mode 100644 index e667a669..00000000 --- a/web/install/I18n/cs_CZ.php +++ /dev/null @@ -1,25 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Došlo k neočekávané chybě: %err

Podrobnosti o chybě:

%details

', - 'Administrator login :' => 'Admin login :', - 'Administrator password :' => 'Administrátorské heslo :', - 'Administrator password verification :' => 'Administrátorské heslo znovu :', - 'Checking PHP version and permissions' => 'Kontrola verze PHP a oprávnění', - 'Checking permissions' => 'Kontrola oprávnění', - 'Choose your database' => 'Zvolte Vaši databázi', - 'Company name :' => 'Jméno společnosti :', - 'Contact email :' => 'Kontaktní e-mail :', - 'Continue' => 'Pokračovat', - 'Create an other database' => 'Vytvořit novou databázi', - 'Database connection' => 'Připojení databáze', - 'Database connection configuration' => 'Konfigurace připojení databáze', - 'Database selection' => 'Výběr databáze', - 'Don\'t forget to delete the web/install directory.' => 'Nezapomeňte odstranit web/install adresář.', - 'English' => 'Anglicky', - 'French' => 'Francouzština', - 'General information' => 'Všeobecné informace', - 'German' => 'Němčina', - 'Thanks' => 'Děkuji', - 'Update' => 'Aktualizovat', -]; diff --git a/web/install/I18n/de_DE.php b/web/install/I18n/de_DE.php deleted file mode 100644 index 4eb25a5b..00000000 --- a/web/install/I18n/de_DE.php +++ /dev/null @@ -1,77 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Es tut uns leid, ein Fehler ist aufgetreten: %err

Details:

%details

', - 'Administrator email :' => 'E-Mail des Administrators:', - 'Administrator login :' => 'Administratoranmeldung :', - 'Administrator password :' => 'Administratorpasswort :', - 'Administrator password verification :' => 'Administratorpasswort Überprüfung :', - 'Administrator preferred locale :' => 'Administrator Standartsprache :', - 'Backup and update Thelia' => 'Backup und Update Thelia', - 'Cache directory has been cleared' => 'Das Cache-Verzeichnis wurde gelöscht', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Das Cache-Verzeichnis wurde nicht gelöscht. Bitte löschen Sie den Inhalt manuell.', - 'Checking PHP version and permissions' => 'PHP-Version und Zugriffsberechtigungen', - 'Checking permissions' => 'Zugriffsberechtigungen', - 'Choose your database' => 'Wählen Sie Ihre Datenbank', - 'Company name :' => 'Firmenname :', - 'Contact email :' => 'Kontakt E-mail :', - 'Continue' => 'Fortsetzen', - 'Create an other database' => 'Erstellen Sie eine andere Datenbank', - 'Database connection' => 'Datenbankverbindung', - 'Database connection configuration' => 'Datenbankverbindungskonfiguration', - 'Database selection' => 'Datenbankauswahl', - 'Don\'t forget to delete the web/install directory.' => 'Vergessen Sie nicht, den web/install Ordner zu löschen!.', - 'English' => 'Englisch', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Für den Moment kann der Assistent nur die Datenbank aktualisieren. Um Ihre PHP-Dateien zu aktualisieren, müssen Sie manuell vorgehen.', - 'French' => 'Französisch', - 'General information' => 'Allgemeine Informationen', - 'German' => 'Deutsch', - 'Go to back office' => 'Zum Back Office', - 'Host :' => 'Host : ', - 'Installation' => 'Installation', - 'It seems that Thelia database is already up to date.' => 'Es scheint, dass Ihre Datenbank bereits auf dem neuesten Stand ist.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Es scheint, dass Thelia bereits auf diesem System installiert ist. Bitte überprüfen Sie die Konfiguration, vornehmen Sie die notwendingen Korrekturen und versuchen Sie es erneut.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Es wird dringend empfohlen, eine Sicherungskopie zu machen, bevor Sie weitermachen.', - 'Missing email-address' => 'Fehlende E-Mail-Adresse', - 'Missing or invalid login' => 'Fehlende oder ungültige Login Daten', - 'Missing password' => 'Fehlenden Passwort', - 'Password :' => 'Passwort :', - 'Please wait ...' => 'Bitte warten ...', - 'Port :' => 'Port :', - 'Published by OpenStudio' => 'Herausgegeben von OpenStudio', - 'Refresh' => 'Erfrischen', - 'Select below the one you want to use.' => 'Wählen Sie unter die Datenbank, die Sie verwenden möchten.', - 'Shop preferred locale :' => 'Bevorzugte Sprache im Shop:', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Die Datenbank kann nicht gesichert werden. Grund:', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Es tut uns leid, aber Ihre Datenbank kann nicht wiederhergestellt werden. Versuchen Sie es manuell zu tun.', - 'Thanks' => 'Danke !', - 'The SQL server contains multiple databases.' => 'Der SQL-Server enthält mehrere Datenbanken.', - 'The given passwords do not match' => 'Passwörter stimmen nicht überein', - 'The install wizard directory will be removed' => 'Das Installationsverzeichnis wird entfernt', - 'The sql dump has been saved in %file' => 'Die SQL-Datei wurde in %file gespeichert.', - 'The update wizard directory will be removed' => 'Das Update-Assistent Verzeichnis wird entfernt', - 'Thelia as been successfully updated to version %version' => 'Thelia wurde erfolgreich auf die Version %version aktualisiert', - 'Thelia contributions' => 'Thelia Beiträge', - 'Thelia installation wizard' => 'Thelia Installationsassistenten', - 'Thelia is now installed. Thank you !' => 'Thelia ist jetzt installiert. Danke !', - 'Thelia support forum' => 'Thelias Support Forum', - 'Unexpected error occured: %err' => 'Ein unerwarteter Fehler ist aufgetreten: %err', - 'Update' => 'Update', - 'Update Thelia' => 'Thelia aktualisieren', - 'Update proccess' => 'Update proccess', - 'Update proccess trace' => 'Update-Prozess-Trace.', - 'Updating Thelia.' => 'Thelia Aktualisierung.', - 'Username :' => 'Benutzername :', - 'Version' => 'Version', - 'We will guide you throughout this process to install any application on your system.' => 'Wir werden Ihnen anleiten Thelia auf Ihrem Server zu installieren.', - 'Welcome' => 'Willkommen', - 'Welcome in the Thelia installation wizard.' => 'Willkommen im Thelia Installationsassistenten.', - 'Welcome in the Thelia updater wizard.' => 'Willkommen im Thelia Updater-Assistenten.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Möchten Sie Ihre Thelia Installation von Version %current auf Version %latest aktualisieren?', - 'Wrong connection information' => 'Falsche Verbindungsinformationen', - 'Your database has been backed up. The sql file : %file' => 'Ihre Datenbank wurde backed up. Die SQL-Datei : %file', - 'Your database has been restored.' => 'Ihre Datenbank wurde wiederhergestellt.', - 'or' => 'oder', - 'update to version %version' => 'Update auf Version %version', - 'website url :' => 'Webadresse :', -]; diff --git a/web/install/I18n/el_GR.php b/web/install/I18n/el_GR.php deleted file mode 100644 index 9efce0fe..00000000 --- a/web/install/I18n/el_GR.php +++ /dev/null @@ -1,6 +0,0 @@ - 'Ευχαριστούμε', - 'Update' => 'Ενημέρωση', -]; diff --git a/web/install/I18n/en_US.php b/web/install/I18n/en_US.php deleted file mode 100644 index 1f1259c7..00000000 --- a/web/install/I18n/en_US.php +++ /dev/null @@ -1,78 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Sorry, an unexpected error occured: %err

Error details:

%details

', - 'Administrator email :' => 'Administrator email :', - 'Administrator login :' => 'Administrator login :', - 'Administrator password :' => 'Administrator password :', - 'Administrator password verification :' => 'Administrator password verification :', - 'Administrator preferred locale :' => 'Administrator preferred locale :', - 'Backup and update Thelia' => 'Backup and update Thelia', - 'Cache directory has been cleared' => 'Cache directory has been cleared', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Cache directory has not been cleared. Please manually delete content of cache directory.', - 'Checking PHP version and permissions' => 'Checking PHP version and permissions', - 'Checking permissions' => 'Checking permissions', - 'Choose your database' => 'Choose your database', - 'Company name :' => 'Company name :', - 'Contact email :' => 'Contact email :', - 'Continue' => 'Continue', - 'Create an other database' => 'Create an other database', - 'Database connection' => 'Database connection', - 'Database connection configuration' => 'Database connection configuration', - 'Database selection' => 'Database selection', - 'Don\'t forget to delete the web/install directory.' => 'Don\'t forget to delete the web/install directory.', - 'English' => 'English', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.', - 'French' => 'French', - 'General information' => 'General information', - 'German' => 'German', - 'Go to back office' => 'Go to back office', - 'Host :' => 'Host :', - 'Installation' => 'Installation', - 'It seems that Thelia database is already up to date.' => 'It seems that Thelia database is already up to date.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'It\'s strongly recommended to make a backup before proceeding.', - 'Missing email-address' => 'Missing email-address', - 'Missing or invalid login' => 'Missing or invalid login', - 'Missing password' => 'Missing password', - 'Password :' => 'Password :', - 'Please wait ...' => 'Please wait ...', - 'Port :' => 'Port :', - 'Post update instructions' => 'Post update instructions', - 'Published by OpenStudio' => 'Published by OpenStudio', - 'Refresh' => 'Refresh', - 'Select below the one you want to use.' => 'Select below the one you want to use.', - 'Shop preferred locale :' => 'Shop preferred locale :', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Sorry, your database can\'t be backed up. Reason :', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Sorry, your database can\'t be restored. Try to do it manually', - 'Thanks' => 'Thanks', - 'The SQL server contains multiple databases.' => 'The SQL server contains multiple databases.', - 'The given passwords do not match' => 'The given passwords do not match', - 'The install wizard directory will be removed' => 'The install wizard directory will be removed', - 'The sql dump has been saved in %file' => 'The sql dump has been saved in %file', - 'The update wizard directory will be removed' => 'The update wizard directory will be removed', - 'Thelia as been successfully updated to version %version' => 'Thelia as been successfully updated to version %version', - 'Thelia contributions' => 'Thelia contributions', - 'Thelia installation wizard' => 'Thelia installation wizard', - 'Thelia is now installed. Thank you !' => 'Thelia is now installed. Thank you !', - 'Thelia support forum' => 'Thelia support forum', - 'Unexpected error occured: %err' => 'Unexpected error occured: %err', - 'Update' => 'Update', - 'Update Thelia' => 'Update Thelia', - 'Update proccess' => 'Update proccess', - 'Update proccess trace' => 'Update proccess trace', - 'Updating Thelia.' => 'Updating Thelia.', - 'Username :' => 'Username :', - 'Version' => 'Version', - 'We will guide you throughout this process to install any application on your system.' => 'We will guide you throughout this process to install Thelia on your system.', - 'Welcome' => 'Welcome', - 'Welcome in the Thelia installation wizard.' => 'Welcome to the Thelia installation wizard.', - 'Welcome in the Thelia updater wizard.' => 'Welcome in the Thelia updater wizard.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Would you like to update your installation of Thelia from version %current to version %latest.', - 'Wrong connection information' => 'Wrong connection information', - 'Your database has been backed up. The sql file : %file' => 'Your database has been backed up. The sql file : %file', - 'Your database has been restored.' => 'Your database has been restored.', - 'or' => 'or', - 'update to version %version' => 'update to version %version', - 'website url :' => 'Shop URL :', -); diff --git a/web/install/I18n/es_ES.php b/web/install/I18n/es_ES.php deleted file mode 100644 index 84b04dff..00000000 --- a/web/install/I18n/es_ES.php +++ /dev/null @@ -1,78 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Lo sentimos, se produjo un error inesperado: %err

Detalles del error:

%details

', - 'Administrator email :' => 'Correo del administrador :', - 'Administrator login :' => 'Login de administrador:', - 'Administrator password :' => 'Contraseña del Administrador :', - 'Administrator password verification :' => 'Verificación de la contraseña del administrador:', - 'Administrator preferred locale :' => 'Configuración local preferida para el administrador:', - 'Backup and update Thelia' => 'Copia de seguridad y actualización Thelia', - 'Cache directory has been cleared' => 'Se ha borrado el directorio de cache', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'El directorio de caché no se ha borrado. Por favor, elimine manualmente el contenido de dicho directorio.', - 'Checking PHP version and permissions' => 'Comprobando versión de PHP y permisos', - 'Checking permissions' => 'Comprobando permisos', - 'Choose your database' => 'Selecciona tu base de datos', - 'Company name :' => 'Nombre de la empresa :', - 'Contact email :' => 'E-mail de contacto :', - 'Continue' => 'Continuar', - 'Create an other database' => 'Crear otra base de datos', - 'Database connection' => 'Conexión de base de datos', - 'Database connection configuration' => 'Configuración de conexión de base de datos', - 'Database selection' => 'Selección de base de datos', - 'Don\'t forget to delete the web/install directory.' => 'No olvides eliminar el directorio web/install.', - 'English' => 'Inglés', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Por el momento el asistente permite solo actualizar la base de datos. Para actualizar los archivos Php hay que hacerlo manualmente.', - 'French' => 'Francés', - 'General information' => 'Información general', - 'German' => 'Alemán', - 'Go to back office' => 'Volver al panel de administrador', - 'Host :' => 'Hostname:', - 'Installation' => 'Instalación', - 'It seems that Thelia database is already up to date.' => 'Parece que la base de datos de Thelia ya está actualizada.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Parece que Thelia ya está instalado en este sistema. Por favor comprueba la configuración, elimina si es necesario y vuelve a intentarlo.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Se recomienda encarecidamente realizar un backup antes de continuar.', - 'Missing email-address' => 'Falta el correo electrónico', - 'Missing or invalid login' => 'No existe o es inválido el inicio de sesión', - 'Missing password' => 'Falta la contraseña', - 'Password :' => 'Contraseña:', - 'Please wait ...' => 'Espera por favor ...', - 'Port :' => 'Puerto:', - 'Post update instructions' => 'Instrucciones después de actualizar', - 'Published by OpenStudio' => 'Publicado por OpenStudio', - 'Refresh' => 'Actualización', - 'Select below the one you want to use.' => 'Selecciona a continuación el que deseas utilizar.', - 'Shop preferred locale :' => 'Ubicación preferida de la tienda :', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Lo sentimos, tu base de datos no puede ser respaldada. Motivo :', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Lo sentimos, no se puede restaurar la base de datos. Intenta hacerlo manualmente', - 'Thanks' => 'Gracias', - 'The SQL server contains multiple databases.' => 'El servidor SQL contiene varias bases de datos.', - 'The given passwords do not match' => 'Las contraseñas proporcionadas no coinciden', - 'The install wizard directory will be removed' => 'El directorio del asistente de instalación será removido', - 'The sql dump has been saved in %file' => 'Se ha guardado el volcado sql en %file', - 'The update wizard directory will be removed' => 'Se eliminará el directorio del asistente de actualización', - 'Thelia as been successfully updated to version %version' => 'Thelia se ha actualizado a la versión %version', - 'Thelia contributions' => 'Aportaciones de Thelia', - 'Thelia installation wizard' => 'Asistente de instalación Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia ya está instalado. ¡Muchas gracias!', - 'Thelia support forum' => 'Foro de soporte de Thelia', - 'Unexpected error occured: %err' => 'Error inesperado: %err', - 'Update' => 'Actualizar', - 'Update Thelia' => 'Actualización Thelia', - 'Update proccess' => 'Proceso de actualización', - 'Update proccess trace' => 'Seguimiento del proceso de actualización', - 'Updating Thelia.' => 'Actualizando Thelia.', - 'Username :' => 'Nombre de usuario:', - 'Version' => 'Versión', - 'We will guide you throughout this process to install any application on your system.' => 'Te guiaremos a través del proceso de instalación de Thelia en tu sistema.', - 'Welcome' => 'Bienvenido', - 'Welcome in the Thelia installation wizard.' => 'Bienvenido al asistente de instalación de Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Bienvenido al asistente de actualización de Thelia.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Quieres actualizar tu instalación de Thelia de la versión %current a la versión %latest.', - 'Wrong connection information' => 'Información de conexión incorrecta', - 'Your database has been backed up. The sql file : %file' => 'Tu base de datos ha sido salvada. El archivo sql: %file', - 'Your database has been restored.' => 'Se ha restaurado la base de datos.', - 'or' => 'o', - 'update to version %version' => 'actualizar a la versión %', - 'website url :' => 'URL de la tienda :', -]; diff --git a/web/install/I18n/fa_IR.php b/web/install/I18n/fa_IR.php deleted file mode 100644 index 47b2cdd8..00000000 --- a/web/install/I18n/fa_IR.php +++ /dev/null @@ -1,67 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

متاسفانه خطایی رخ داد: %err

جزییات خطا:

%details

', - 'Administrator login :' => 'ورود مدیریت:', - 'Administrator password :' => 'رمزعبور مدیریت:', - 'Administrator password verification :' => 'تایید رمزعبور مدیریت:', - 'Administrator preferred locale :' => 'زبان مدیریت ارجح:', - 'Backup and update Thelia' => 'پشتیبان گیری و بروز رسانی سیستم فروشگاه', - 'Cache directory has been cleared' => 'پوشه کش خالی شد', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'پوشه کش خالی نشد. لطفا به صورت دستی محتوای این پوشه را پاک کنید.', - 'Checking PHP version and permissions' => 'بررسی نسخه PHP و دسترسی‌ها', - 'Checking permissions' => 'بررسی دسترسی‌ها', - 'Choose your database' => 'انتخاب پایگاه داده', - 'Company name :' => 'نام شرکت:', - 'Contact email :' => 'ایمیل ارتباط:', - 'Continue' => 'ادامه', - 'Create an other database' => 'ایجاد یک پایگاه داده دیگر', - 'Database connection' => 'ارتباط پایگاه داده', - 'Database connection configuration' => 'پیکربندی ارتباط پایگاه داده', - 'Database selection' => 'انتخاب پایگاه داده', - 'Don\'t forget to delete the web/install directory.' => 'پاک کردن پوشه web/install را فراموش نکنید.', - 'English' => 'انگليسی', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'در حال حاضر این مراحل تنها اجازه بروزرسانی پایگاه داده را دارد. برای بروزرسانی فایل‌های PHP لطفا آن‌ها را به صورت دستی بروز کنید.', - 'French' => 'فرانسوی', - 'General information' => 'اطلاعات عمومی', - 'German' => 'آلمانی', - 'Go to back office' => 'رفتن به بخش مدیریت', - 'Host :' => 'میزبان:', - 'Installation' => 'نصب', - 'It seems that Thelia database is already up to date.' => 'به نظر می‌رسد پایگاه داده بروز است.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'به نظر می‌رسد تلیا هم اکنون روی این سیستم نصب شده است. لطفا تنظیمات را بررسی و در صورت نیاز پاک سازی کرده و سپس مجددا سعی کنید.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'به شدت پیشنهاد می‌کنیم قبل از شروع فرآیند یک نسخه پشتیبان تهیه کنید.', - 'Password :' => 'رمز عبور:', - 'Please wait ...' => 'کمی صبر کنید...', - 'Port :' => 'درگاه:', - 'Published by OpenStudio' => 'منتشر شده توسط OpenStudio', - 'Refresh' => 'تازه‌سازی', - 'Select below the one you want to use.' => 'لطفا یکی را که می‌خواهید استفاده کنید انتخاب کنید.', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'متاسفانه پایگاه داده شما بازیابی نشد. لطفا به صورت دستی امتحان کنید', - 'Thanks' => 'سپاس', - 'The SQL server contains multiple databases.' => 'SQL server شامل چند دیتابیس است.', - 'The sql dump has been saved in %file' => 'فایل sql در %file ذخیره شد', - 'The update wizard directory will be removed' => 'پوشه مراحل بروزرسانی حذف شد', - 'Thelia contributions' => 'مشارکت کنندگان تلیا', - 'Thelia installation wizard' => 'مراحل نصب تلیا', - 'Thelia is now installed. Thank you !' => 'تلیا نصب شد. ممنونیم!', - 'Thelia support forum' => 'انجمن پشتیبانی تلیا', - 'Unexpected error occured: %err' => 'یک خطا رخ داد: %err', - 'Update' => 'بروزرسانی', - 'Update Thelia' => 'بروزرسانی تیلیا', - 'Update proccess trace' => 'بررسی فرآیند به روز رسانی', - 'Updating Thelia.' => 'در حال بروزسانی تیلیا.', - 'Username :' => 'نام کاربری :', - 'Version' => 'نسخه', - 'We will guide you throughout this process to install any application on your system.' => 'ما مرحله به مرحله شما را برای نصب تلیا روی سیستم راهنمایی خواهیم کرد.', - 'Welcome' => 'خوش آمدید', - 'Welcome in the Thelia installation wizard.' => 'به مراحل نصب تلیا خوش آمدید.', - 'Welcome in the Thelia updater wizard.' => 'به مراحل بروزرسانی تلیا خوش آمدید.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'علاقه‌مند به بروزرسانی تلیا از نسخه %current به %latest.', - 'Wrong connection information' => 'اطلاعات اتصال اشتباه است', - 'Your database has been backed up. The sql file : %file' => 'یک نسخه پشتیبان از پایگاه داده ایجاد شد: %file', - 'Your database has been restored.' => 'پایگاه داده شما بازیابی شد.', - 'or' => 'یا', - 'update to version %version' => 'به روز رسانی به نسخه %version', - 'website url :' => 'آدرس فروشگاه:', -]; diff --git a/web/install/I18n/fr_FR.php b/web/install/I18n/fr_FR.php deleted file mode 100644 index 885d7721..00000000 --- a/web/install/I18n/fr_FR.php +++ /dev/null @@ -1,78 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Désolé, une erreur inattendue s\'est produite: %err

Détails:

%details

', - 'Administrator email :' => 'Courriel de l\'administrateur :', - 'Administrator login :' => 'Identifiant administrateur :', - 'Administrator password :' => 'Mot de passe administrateur :', - 'Administrator password verification :' => 'Vérification mot de passe administrateur :', - 'Administrator preferred locale :' => 'Langue par défaut de l\'administrateur :', - 'Backup and update Thelia' => 'Sauvegarder et mettre à jour Thelia', - 'Cache directory has been cleared' => 'Le répertoire du Cache a été nettoyé', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Le répertoire du Cache n\'a pas été nettoyé. Veuillez supprimer son contenu.', - 'Checking PHP version and permissions' => 'Contrôle de la version de PHP et des permissions', - 'Checking permissions' => 'Controle des permissions', - 'Choose your database' => 'Choissisez la base de donnée', - 'Company name :' => 'Nom de la société :', - 'Contact email :' => 'Email de contact :', - 'Continue' => 'Continuer', - 'Create an other database' => 'Créez une nouvelle base de donnée', - 'Database connection' => 'Connexion BD', - 'Database connection configuration' => 'Configuration de la connexion à la base de données', - 'Database selection' => 'Selection BD', - 'Don\'t forget to delete the web/install directory.' => 'N\'oubliez pas de supprimer le répertoire web/install !.', - 'English' => 'Anglais', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Pour l\'instant, l\'assistant ne permet que la mise à jour de la base de données. Pour mettre à jour vos fichiers php, vous devez procéder manuellement.', - 'French' => 'Français', - 'General information' => 'Informations générales', - 'German' => 'Allemand', - 'Go to back office' => 'Allez dans l\'interface d\'administration', - 'Host :' => 'Hôte :', - 'Installation' => 'Installation', - 'It seems that Thelia database is already up to date.' => 'Il semble que votre base de données soit déjà à jour.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Il semblerait que Thelia soit déjà installé sur ce serveur. Merci de vérifier la configuration et d\'apporter les corrections nécessaires avant de ré-essayer.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Il est chaudement recommendé d\'effectuer une sauvegarde avant de procéder.', - 'Missing email-address' => 'Adresse e-mail manquant', - 'Missing or invalid login' => 'Login manquant ou invalide', - 'Missing password' => 'Mot de passe manquant', - 'Password :' => 'Mot de passe : ', - 'Please wait ...' => 'Veuillez patienter ...', - 'Port :' => 'Port : ', - 'Post update instructions' => 'Instructions avant la mise à jour', - 'Published by OpenStudio' => 'Développé par OpenStudio', - 'Refresh' => 'Rafraîchir', - 'Select below the one you want to use.' => 'Selectionnez ci-dessous la base de données que vous souhaitez utiliser.', - 'Shop preferred locale :' => 'Langue par défaut :', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Désolé, votre base de données ne peut pas être sauvegardée. raison:', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Désolé, votre base de données n\'a pas pu être restauré. Essayez de le faire manuellement.', - 'Thanks' => 'Merci', - 'The SQL server contains multiple databases.' => 'Le serveur de MySQL contient plusieurs bases de données.', - 'The given passwords do not match' => 'Les mots ne correspondent pas', - 'The install wizard directory will be removed' => 'Le dossier d\'installation n\'a pas pu être supprimé', - 'The sql dump has been saved in %file' => 'Le fichier sql a été sauvegardé dans %file', - 'The update wizard directory will be removed' => 'Le répertoire de l\'assistant de mise à jour va être supprimé', - 'Thelia as been successfully updated to version %version' => 'Thalia a été mis à jour à la version la %version', - 'Thelia contributions' => 'Contributions de Thelia', - 'Thelia installation wizard' => 'Assistant d\'installation de Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia est maintenant installé. Merci !', - 'Thelia support forum' => 'Forum de Thelia', - 'Unexpected error occured: %err' => 'Une erreur inattendue est survenue: %err', - 'Update' => 'Mettre à jour', - 'Update Thelia' => 'Mettre à jour Thelia', - 'Update proccess' => 'Processus de mise à jour', - 'Update proccess trace' => 'Trace du processus de mise à jour.', - 'Updating Thelia.' => 'Mise à jour de Thelia.', - 'Username :' => 'Nom d\'utilisateur : ', - 'Version' => 'Version', - 'We will guide you throughout this process to install any application on your system.' => 'Nous allons vous guider pour installer Thelia sur votre serveur.', - 'Welcome' => 'Bienvenue', - 'Welcome in the Thelia installation wizard.' => 'Bienvenue dans l\'assistant d\'installation de Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Bienvenue dans l\'assistant de mise à jour Thelia.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Voulez-vous mettre à jour votre installation de Thelia de la version %current à la version %latest.', - 'Wrong connection information' => 'Les informations de connexion semblent erronées', - 'Your database has been backed up. The sql file : %file' => 'Votre base de données a été sauvegardé. Le fichier sql : %file', - 'Your database has been restored.' => 'Votre base de données a été restauré.', - 'or' => 'ou', - 'update to version %version' => 'mise à jour vers la version %version', - 'website url :' => 'URL du site :', -]; diff --git a/web/install/I18n/hu_HU.php b/web/install/I18n/hu_HU.php deleted file mode 100644 index d9ea78bc..00000000 --- a/web/install/I18n/hu_HU.php +++ /dev/null @@ -1,10 +0,0 @@ - 'Jelszó :', - 'Thanks' => 'Köszönjük', - 'Update' => 'Frissít', - 'Username :' => 'Felhasználó :', - 'Version' => 'Verzió', - 'or' => 'vagy', -]; diff --git a/web/install/I18n/id_ID.php b/web/install/I18n/id_ID.php deleted file mode 100644 index b3257ff7..00000000 --- a/web/install/I18n/id_ID.php +++ /dev/null @@ -1,44 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Maaf, terjadi error: %err

Rincian kesalahan:

%details

', - 'Administrator email :' => 'Email administrator:', - 'Administrator login :' => 'Administrator login:', - 'Administrator password :' => 'Kata sandi Administrator :', - 'Administrator password verification :' => 'Verifikasi sandi administrator:', - 'Administrator preferred locale :' => 'Lokal pilihan Administrator:', - 'Checking PHP version and permissions' => 'Memeriksa versi PHP dan izin', - 'Checking permissions' => 'Memeriksa hak akses', - 'Choose your database' => 'Pilih basis data', - 'Company name :' => 'Nama perusahaan:', - 'Contact email :' => 'Kontak email:', - 'Continue' => 'Lanjut', - 'Create an other database' => 'Membuat basis data lain', - 'Database connection' => 'Koneksi basis data', - 'Database connection configuration' => 'Konfigurasi koneksi basis data', - 'Database selection' => 'Seleksi basis data', - 'Don\'t forget to delete the web/install directory.' => 'Jangan lupa untuk menghapus direktori web/install.', - 'English' => 'Bahasa Inggris', - 'French' => 'Bahasa Perancis', - 'General information' => 'Informasi umum', - 'German' => 'Bahasa Jerman', - 'Go to back office' => 'Masuk ke back office', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Tampaknya Thelia sudah diinstal pada sistem ini. Silakan periksa konfigurasi, lakukan pembersihan jika diperlukan, dan coba lagi.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Sangat dianjurkan untuk membuat cadangan sebelum melanjutkan.', - 'Missing email-address' => 'Alamat email belum dimasukkan', - 'Missing or invalid login' => 'Ada kesalahan dalam upaya masuk', - 'Missing password' => 'Kata sandi belum dimasukkan', - 'Post update instructions' => 'Posting petunjuk yang diperbarui', - 'Select below the one you want to use.' => 'Pilih salah satu yang ingin Anda gunakan.', - 'Shop preferred locale :' => 'Toko lokal pilihan:', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Maaf, database Anda tidak dapat di backup. Alasan:', - 'The SQL server contains multiple databases.' => 'SQL server berisi beberapa basis data.', - 'The given passwords do not match' => 'Kata sandi yang diberikan tidak cocok', - 'The install wizard directory will be removed' => 'Direktori wisaya akan dihapus', - 'Thelia as been successfully updated to version %version' => 'Thelia berhasil diperbarui ke versi %version', - 'Thelia installation wizard' => 'Wisaya instalasi Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia kini dipasang. Terima kasih!', - 'Unexpected error occured: %err' => 'Terjadi error: %err', - 'Update proccess' => 'Proses update', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Anda ingin memperbarui Anda instalasi Thelia dari versi %current untuk versi %latest.', -]; diff --git a/web/install/I18n/it_IT.php b/web/install/I18n/it_IT.php deleted file mode 100644 index 3a06233f..00000000 --- a/web/install/I18n/it_IT.php +++ /dev/null @@ -1,51 +0,0 @@ - 'Email amministratore:', - 'Administrator login :' => 'Accesso amministratore :', - 'Administrator password :' => 'Password amministratore :', - 'Administrator password verification :' => 'Verifica della password amministratore :', - 'Backup and update Thelia' => 'Backup e aggiornamento Thelia', - 'Checking PHP version and permissions' => 'Controllo permessi e versione PHP', - 'Checking permissions' => 'Verifica permessi', - 'Choose your database' => 'Scegliere il database', - 'Company name :' => 'Nome azienda :', - 'Contact email :' => 'Contatto e-mail :', - 'Continue' => 'Continuare', - 'Create an other database' => 'Creare un altro database', - 'Database connection' => 'Connessione al database', - 'Database connection configuration' => 'Configurazione di connessione al database', - 'Database selection' => 'Selezione del database', - 'Don\'t forget to delete the web/install directory.' => 'Non dimenticare di eliminare la directory di installazione web.', - 'English' => 'Inglese', - 'French' => 'Francese', - 'General information' => 'Informazioni generali', - 'German' => 'Tedesco', - 'Go to back office' => 'Vai al back office', - 'Host :' => 'Host :', - 'Installation' => 'Installazione', - 'Missing email-address' => 'Indirizzo email mancante', - 'Missing or invalid login' => 'Accesso mancante o non valido', - 'Missing password' => 'Password mancante', - 'Password :' => 'Password :', - 'Port :' => 'Spedizione :', - 'Post update instructions' => 'Istruzioni di aggiornamento post', - 'Published by OpenStudio' => 'Pubblicato da OpenStudio', - 'Shop preferred locale :' => 'Lingua di default :', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Siamo spiacenti, non è possibile eseguire il backup del database. Motivo:', - 'Thanks' => 'Grazie', - 'The given passwords do not match' => 'Le password specificate non corrispondono', - 'The install wizard directory will be removed' => 'La directory di installazione guidata verrà rimossa', - 'Thelia as been successfully updated to version %version' => 'Thelia è stato correttamente aggiornato alla versione % version', - 'Thelia contributions' => 'Contributi Thelia', - 'Thelia support forum' => 'Forum di supporto Thelia ', - 'Update' => 'Aggiornamento', - 'Update Thelia' => 'Aggiornamento Thelia', - 'Update proccess' => 'Processo di aggiornamento', - 'Updating Thelia.' => 'Aggiornamento di Thelia.', - 'Username :' => 'Nome utente :', - 'Version' => 'versione', - 'Welcome' => 'Benvenuto', - 'Your database has been restored.' => 'Il database è stato ripristinato.', - 'or' => 'o', -]; diff --git a/web/install/I18n/pl_PL.php b/web/install/I18n/pl_PL.php deleted file mode 100644 index 0b4fdc6f..00000000 --- a/web/install/I18n/pl_PL.php +++ /dev/null @@ -1,62 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Przepraszamy, wystąpił nieoczekiwany błąd: %err

Szczegóły błędu:

%details

', - 'Administrator email :' => 'Email administratora :', - 'Administrator login :' => 'Login administratora :', - 'Administrator password :' => 'Hasło administratora :', - 'Administrator password verification :' => 'Weryfikacja hasła administratora :', - 'Administrator preferred locale :' => 'Preferowane ustawienia regionalne administratora :', - 'Backup and update Thelia' => 'Kopia zapasowa i aktualizacja systemu Thelia', - 'Cache directory has been cleared' => 'Katalog cache został wyczyszczony', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Katalog cache nie został wyczyszczony. Proszę ręcznie usunąć zawartość katalogu cache.', - 'Checking PHP version and permissions' => 'Sprawdzanie wersji PHP i uprawnień', - 'Checking permissions' => 'Weryfikacja uprawnień', - 'Choose your database' => 'Wybierz bazę danych', - 'Company name :' => 'Nazwa firmy :', - 'Contact email :' => 'E-mail do kontaktu :', - 'Continue' => 'Kontynuuj', - 'Create an other database' => 'Utwórz inną bazę danych', - 'Database connection' => 'Połączenie z bazą danych', - 'Database connection configuration' => 'Konfiguracja połączenia z bazą danych', - 'Database selection' => 'Wybór bazy danych', - 'Don\'t forget to delete the web/install directory.' => 'Nie zapomnij usunąć katalogu web/install.', - 'English' => 'Angielski', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Na ten moment, kreator zezwala tylko na aktualizację bazy danych. Aby zaktualizować pliki php musisz wykonać aktualizacje ręcznie.', - 'French' => 'Francuski', - 'General information' => 'Informacje ogólne', - 'German' => 'Niemiecki', - 'Go to back office' => 'Przejdź do panelu administracyjnego', - 'Installation' => 'Instalacja', - 'It seems that Thelia database is already up to date.' => 'Wygląda na to, że baza danych systemu Thelia jest aktualna.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Wygląda na to, że Thelia jest już zainstalowana. Proszę sprawdzić konfigurację, jeżeli to potrzebne wyczyścić katalog i spróbować ponownie.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Zdecydowanie zalecamy utworzenie kopii zapasowej przed działaniami.', - 'Missing email-address' => 'Brakujący adres e-mail', - 'Missing or invalid login' => 'Niepoprawne dane logowania', - 'Missing password' => 'Brakujące hasło', - 'Please wait ...' => 'Proszę czekać ...', - 'Post update instructions' => 'Instrukcje po aktualizacji', - 'Refresh' => 'Odśwież', - 'Select below the one you want to use.' => 'Wybierz jeden, który chcesz użyć.', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Przepraszamy, nie można przywrócić Twojej bazy danych. Spróbuj ręcznie', - 'Thanks' => 'Dziękujemy', - 'The SQL server contains multiple databases.' => 'Serwer SQL zawiera wiele baz danych.', - 'The sql dump has been saved in %file' => 'Zrzut pliku sql został zapisany w %file', - 'The update wizard directory will be removed' => 'Katalog kreatora aktualizacji zostanie usunięty', - 'Thelia installation wizard' => 'Kreator instalacji Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia została zainstalowana. Dziękujemy !', - 'Unexpected error occured: %err' => 'Wystąpił nieoczekiwany błąd: %err', - 'Update Thelia' => 'Aktualizacja Thelia', - 'Update proccess' => 'Proces aktualizacji', - 'Update proccess trace' => 'Aktualizacja procesu śledzenia', - 'Updating Thelia.' => 'Aktualizacja Thelia.', - 'We will guide you throughout this process to install any application on your system.' => 'Przeprowadzimy Cię przez cały proces instalacji Thelia na serwerze.', - 'Welcome in the Thelia installation wizard.' => 'Witamy w kreatorze instalacji Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Witamy w kreatorze aktualizacji Thelia.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Czy chcesz zaktualizować Twoją instalację systemu Thelia z wersji %current do wersji %latest.', - 'Wrong connection information' => 'Błędne informacje połączenia', - 'Your database has been backed up. The sql file : %file' => 'Kopia zapasowa Twojej bazy danych została wykonana pomyślnie. Plik Sql: %file', - 'Your database has been restored.' => 'Baza danych została przywrócona.', - 'update to version %version' => 'aktualizacja do wersji %version', - 'website url :' => 'URL sklepu :', -]; diff --git a/web/install/I18n/pt_BR.php b/web/install/I18n/pt_BR.php deleted file mode 100644 index 20658758..00000000 --- a/web/install/I18n/pt_BR.php +++ /dev/null @@ -1,57 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Desculpe, ocorreu um erro inesperado: %err

Detalhes do erro:

%details

', - 'Administrator login :' => 'Nome de usuário do administrador :', - 'Administrator password :' => 'Senha do administrador :', - 'Administrator password verification :' => 'Confirmação de senha :', - 'Administrator preferred locale :' => 'Localidade preferida do administrador :', - 'Backup and update Thelia' => 'Fazer cópia de segurança e atualizar Thelia', - 'Cache directory has been cleared' => 'A pasta de cache foi limpa', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'A pasta de cache nãp foi limpa. Por favor apague o conteúdo da pasta de cache manualmente.', - 'Checking PHP version and permissions' => 'Verificando a versão do PHP e permissões', - 'Checking permissions' => 'Verificando permissões', - 'Choose your database' => 'Escolha seu banco de dados', - 'Company name :' => 'Nome da empresa :', - 'Contact email :' => 'Email de contato :', - 'Continue' => 'Continuar', - 'Create an other database' => 'Criar outro banco de dados', - 'Database connection' => 'Conexão do BD', - 'Database connection configuration' => 'Configuração de conexão do banco de dados', - 'Database selection' => 'Seleção do BD', - 'Don\'t forget to delete the web/install directory.' => 'Não esqueça de apagar a pasta web/install.', - 'English' => 'Inglês', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Por enquanto, o assistente permite apenas o banco de dados. Para atualizar seus arquivos PHP você deve proceder manualmente.', - 'French' => 'Francês', - 'General information' => 'Informações gerais', - 'German' => 'Alemão', - 'Go to back office' => 'Voltar para o painel administrativo', - 'Installation' => 'Instalação', - 'It seems that Thelia database is already up to date.' => 'Parece que o banco de dados do Thelia já está atualizado.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Parece que o Thelia já está instalado nesse sistema. Por favor verifique a configuração, Please check configuration, faça as correções necessárias e tente novamente.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'É fortemente recomendado fazer uma cópia de segurança antes de continuar.', - 'Please wait ...' => 'Por favor aguarde ...', - 'Refresh' => 'Atualizar', - 'Select below the one you want to use.' => 'Selecione abaixo qual banco de dados você deseja utilizar.', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Desculpe, seu banco de dados não pôde ser restaurado. Tente fazer isso manualmente', - 'Thanks' => 'Obrigado', - 'The SQL server contains multiple databases.' => 'O servidor SQl contém múltiplos banco de dados.', - 'The sql dump has been saved in %file' => 'O arquivo sql foi salvo em %file', - 'The update wizard directory will be removed' => 'A pasta do assistente de atualização foi removida', - 'Thelia installation wizard' => 'Assistente de instalação do Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia está instalado. Obrigado!', - 'Unexpected error occured: %err' => 'Ocorreu um erro inesperado: %err', - 'Update' => 'Atualizar', - 'Update Thelia' => 'Atualizar Thelia', - 'Update proccess trace' => 'Traço do processo de atualização', - 'Updating Thelia.' => 'Atualizando Thelia.', - 'We will guide you throughout this process to install any application on your system.' => 'Nós vamos te guiar através deste processo para instalar Thelia no seu sistema.', - 'Welcome in the Thelia installation wizard.' => 'Bem vindo ao assistente de instalação do Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Bem vindo ao assistente de atualização do Thelia.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Você deseja atualizar sua instalação do Thelia da versão %current para versão %latest.', - 'Wrong connection information' => 'Informações de conexão incorretas', - 'Your database has been backed up. The sql file : %file' => 'Foi realizado uma cópia de segurança do seu banco de dados. O arquivo sql : %file', - 'Your database has been restored.' => 'Seu banco de dados foi restaurado.', - 'update to version %version' => 'atualizar para versão %version', - 'website url :' => 'URL da loja :', -]; diff --git a/web/install/I18n/ru_RU.php b/web/install/I18n/ru_RU.php deleted file mode 100644 index a587355f..00000000 --- a/web/install/I18n/ru_RU.php +++ /dev/null @@ -1,57 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Извините, произошла непредвиденная ошибка: %err

Детали ошибки:

%details

', - 'Administrator login :' => 'Логин администратора :', - 'Administrator password :' => 'Пароль администратора :', - 'Administrator password verification :' => 'Подтверждение пароля администратора :', - 'Administrator preferred locale :' => 'Предпочтительный язык администратора :', - 'Backup and update Thelia' => 'Резервное копирование и обновление Thelia', - 'Cache directory has been cleared' => 'Каталог кэша был очищен', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Каталог кэша не был очищен. Пожалуйста удалите содержимое каталога вручную.', - 'Checking PHP version and permissions' => 'Проверка версии php и прав', - 'Checking permissions' => 'Проверка прав', - 'Choose your database' => 'Выберите базу данный', - 'Company name :' => 'Имя компании :', - 'Contact email :' => 'Контактный email :', - 'Continue' => 'Продолжить', - 'Create an other database' => 'Создать другую базу данных', - 'Database connection' => 'Подключение к базе данных', - 'Database connection configuration' => 'Конфигурация подключения к базе данных', - 'Database selection' => 'Выбор базы данных', - 'Don\'t forget to delete the web/install directory.' => 'Не забудьте удалить каталог web/install.', - 'English' => 'Английский', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'На данный момент мастер позволяет только обновление базы данных. Обновить Ваши php файлы Вы должны вручную.', - 'French' => 'Французкий', - 'General information' => 'Общие сведения', - 'German' => 'Немецкий', - 'Go to back office' => 'Перейти к Панели администратора', - 'Installation' => 'Установка', - 'It seems that Thelia database is already up to date.' => 'Кажется, что база данных Thelia уже обновлена.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Кажется, что Thelia уже установлена в систему. Пожалуйста проверьте настройки, выполните очистку, если необходимо и попробуйте снова.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Настоятельно рекомендуется сделать резервную копию перед продолжением.', - 'Please wait ...' => 'Пожалуйста, подождите ...', - 'Refresh' => 'Обновить', - 'Select below the one you want to use.' => 'Выберите ниже то, что вы хотите использовать.', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'К сожалению, Ваша база данных не может быть восстановлена. Попробуйте сделать это вручную', - 'Thanks' => 'Спасибо', - 'The SQL server contains multiple databases.' => 'SQL server содержит несколько баз данных.', - 'The sql dump has been saved in %file' => 'Дамп sql был сохранен в %file', - 'The update wizard directory will be removed' => 'Каталог мастера обновления был удален', - 'Thelia installation wizard' => 'Мастер установки Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia установлена. Спасибо!', - 'Unexpected error occured: %err' => 'Произошла непредвиденная ошибка: %err', - 'Update' => 'Обновить', - 'Update Thelia' => 'Обновить Thelia', - 'Update proccess trace' => 'Трассировка процесса обновления', - 'Updating Thelia.' => 'Обновление Thelia.', - 'We will guide you throughout this process to install any application on your system.' => 'Мы поможем Вам на протяжении процесса установки Thelia на Вашей системе.', - 'Welcome in the Thelia installation wizard.' => 'Добро пожаловать в мастер установки Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Добро пожаловать в мастере обновления Thelia.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Хотели бы вы обновить Thelia с версии %current до версии %latest.', - 'Wrong connection information' => 'Неверная информация о подключении', - 'Your database has been backed up. The sql file : %file' => 'Резервная копия Вашей базы данных была создана. Sql-файл: %file', - 'Your database has been restored.' => 'База данных была восстановлена.', - 'update to version %version' => 'Обновление до версии %version', - 'website url :' => 'URL магазина :', -]; diff --git a/web/install/I18n/sk_SK.php b/web/install/I18n/sk_SK.php deleted file mode 100644 index 3fe9e0e8..00000000 --- a/web/install/I18n/sk_SK.php +++ /dev/null @@ -1,72 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Je nám ľúto, vyskytla sa neočakávaná chyba: %err

Podrobnosti o chybe:

%details

', - 'Administrator email :' => 'E-mail na Administrátora:', - 'Administrator login :' => 'Správca prihlásiť:', - 'Administrator password :' => 'Heslo správcu:', - 'Administrator password verification :' => 'Overenie hesla správcu:', - 'Administrator preferred locale :' => 'Správcom preferovaný locale:', - 'Backup and update Thelia' => 'Zálohovanie a aktualizácia Thelia', - 'Cache directory has been cleared' => 'Adresár Cache bol vymazaný', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Adresár Cache nebol vymazaný. Prosím vymažte obsah adresára cache manuálne.', - 'Checking PHP version and permissions' => 'Kontrola verzie PHP a povolení', - 'Checking permissions' => 'Kontrolovanie povolení', - 'Choose your database' => 'Vyber databázu', - 'Company name :' => 'Názov spoločnosti :', - 'Contact email :' => 'Kontaktný e-mail :', - 'Continue' => 'Pokračovať', - 'Create an other database' => 'Vytvorte inú databázu', - 'Database connection' => 'Pripojenie na databázu', - 'Database connection configuration' => 'Konfigurácia pripojenia databázy', - 'Database selection' => 'Výber databázy', - 'Don\'t forget to delete the web/install directory.' => 'Nezabudnite odstrániť adresár web/install.', - 'English' => 'Anglicky', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Pre túto chvíľu, Sprievodca umožňuje len aktualizáciu databázy. Ak chcete aktualizovať vaše php súbory, musíte postupovať ručne.', - 'French' => 'Francúzsky', - 'General information' => 'Všeobecné informácie', - 'German' => 'Nemecky', - 'Go to back office' => 'Prejsť do kancelárie', - 'Installation' => 'Inštalácia', - 'It seems that Thelia database is already up to date.' => 'Zdá sa, že databáza Thelia je už aktualizovaná.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Zdá sa, že Thelia už je nainštalovaná v tomto systéme. Prosím skontrolujte konfiguráciu, vykonajte údržbu a čistenie, ak je to potrebné, a skúste to znova.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Dôrazne sa odporúča, zálohovať pred ďalším pokračovaním.', - 'Missing email-address' => 'Chýbajúca e-mailová adresa', - 'Missing or invalid login' => 'Chýbajúce alebo neplatné prihlásenie', - 'Missing password' => 'Chýbajúce heslo', - 'Please wait ...' => 'Prosím počkajte ...', - 'Post update instructions' => 'Odoslať aktualizačné inštrukcie', - 'Refresh' => 'Obnoviť', - 'Select below the one you want to use.' => 'Vyberte si dolu jednu, ktorú chcete použiť.', - 'Shop preferred locale :' => 'Obchodom preferovaná lokalita:', - 'Sorry, your database can\'t be backed up. Reason : ' => 'Ospravedlňujeme sa, databáza sa nedá zálohovať. Dôvod:', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Ospravedlňujeme sa, vašu databázu nie je možné obnoviť. Skúste to urobiť manuálne', - 'Thanks' => 'Ďakujeme', - 'The SQL server contains multiple databases.' => 'SQL server obsahuje viac databáz.', - 'The given passwords do not match' => 'Zadané heslá sa nezhodujú', - 'The install wizard directory will be removed' => 'Bude odstránený adresár Sprievodcu aktualizácie', - 'The sql dump has been saved in %file' => 'Sql dump bol uložený do %file', - 'The update wizard directory will be removed' => 'Bude odstránený adresár Sprievodcu aktualizácie', - 'Thelia as been successfully updated to version %version' => 'Thelia bola úspešne aktualizovaná na verziu %version', - 'Thelia installation wizard' => 'Sprievodca inštaláciou Thelia', - 'Thelia is now installed. Thank you !' => 'Thelia systém je teraz nainštalovaný. Ďakujeme !', - 'Unexpected error occured: %err' => 'Vyskytla sa neočakávaná chyba: %err', - 'Update' => 'Aktualizovať', - 'Update Thelia' => 'Aktualizuj Thelia', - 'Update proccess' => 'Proces aktualizácie', - 'Update proccess trace' => 'Sledovanie procesu aktualizácie', - 'Updating Thelia.' => 'Aktualizujeme Thelia.', - 'Username :' => 'Užívateľské meno:', - 'Version' => 'Verzia', - 'We will guide you throughout this process to install any application on your system.' => 'Povedieme vás počas celého procesu inštalácie Thelia na váš systém.', - 'Welcome' => 'Vitajte', - 'Welcome in the Thelia installation wizard.' => 'Víta vás Sprievodca inštaláciou Thelia.', - 'Welcome in the Thelia updater wizard.' => 'Vitajte v sprievodcovi Thelia updater.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Chcete aktualizovať vašu inštaláciu Thelia verzie %current na verziu %latest.', - 'Wrong connection information' => 'Nesprávne informácia pre Pripojenie', - 'Your database has been backed up. The sql file : %file' => 'Vaša databáza bola zálohovaná. Sql súbor: %file', - 'Your database has been restored.' => 'Vaša databáza bola obnovená.', - 'or' => 'alebo', - 'update to version %version' => 'aktualizovať na verziu % verziu', - 'website url :' => 'Obchod URL:', -]; diff --git a/web/install/I18n/tr_TR.php b/web/install/I18n/tr_TR.php deleted file mode 100644 index 8658fee0..00000000 --- a/web/install/I18n/tr_TR.php +++ /dev/null @@ -1,67 +0,0 @@ -Sorry, an unexpected error occured: %err

Error details:

%details

' => '

Özür dilerim, beklenmeyen bir hata oluştu: %err

Hata ayrıntıları:

%details

', - 'Administrator login :' => 'Yönetici girişi:', - 'Administrator password :' => 'Yönetici parolası:', - 'Administrator password verification :' => 'Yönetici parola doğrulama:', - 'Administrator preferred locale :' => 'Yönetici tercih edilen yerel ayarı:', - 'Backup and update Thelia' => 'Yedekleme ve güncelleme Thelia', - 'Cache directory has been cleared' => 'Önbellek dizini temizlenmiş oldu', - 'Cache directory has not been cleared. Please manually delete content of cache directory.' => 'Önbellek dizini temizlenmedi. Lütfen el ile önbellek dizinin içeriğini silin.', - 'Checking PHP version and permissions' => 'PHP sürümü ve izinleri denetleme', - 'Checking permissions' => 'İzinleri denetleme', - 'Choose your database' => 'Veritabanınızı seçin', - 'Company name :' => 'Şirket adı :', - 'Contact email :' => 'E-posta iletişim:', - 'Continue' => 'Devam Et', - 'Create an other database' => 'Bir veritabanı oluşturmak', - 'Database connection' => 'Veritabanı bağlantısı', - 'Database connection configuration' => 'Veritabanı bağlantı yapılandırma', - 'Database selection' => 'Veritabanı seçimi', - 'Don\'t forget to delete the web/install directory.' => 'Web/install yükleme dizinini silmeyi unutma.', - 'English' => 'ingilizce', - 'For the moment, the wizard allows only an update of the database. To update your php files you must proceed manually.' => 'Şu an için yalnızca bir güncelleştirme Veritabanı Sihirbazı\'na sağlar. Php dosyaları güncelleştirmek için el ile devam etmeliyiz.', - 'French' => 'Fransızca', - 'General information' => 'Genel bilgi', - 'German' => 'Almanca', - 'Go to back office' => 'Git arka ofis', - 'Host :' => 'Ana bilgisayar:', - 'Installation' => 'Kurulum', - 'It seems that Thelia database is already up to date.' => 'Görünüşe göre Thelia veritabanı zaten güncel durumda.', - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' => 'Görünüşe göre Thelia bu sistemde zaten yüklü. Lütfen yapılandırma kontrol edin, gerekirse, yeniden bir deneyin bazı temizleme işlemi gerçekleştirin.', - 'It\'s strongly recommended to make a backup before proceeding.' => 'Devam etmeden önce yedeklemeniz için şiddetle tavsiye edilir.', - 'Password :' => 'Şifre :', - 'Please wait ...' => 'Lütfen bekleyin...', - 'Port :' => 'Port :', - 'Published by OpenStudio' => 'OpenStudio tarafından Yayınlandı', - 'Refresh' => 'Yenile', - 'Select below the one you want to use.' => 'Kullanmak istediğinizi seçin.', - 'Sorry, your database can\'t be restored. Try to do it manually' => 'Üzgünüz, veritabanı geri yüklenemiyor. El ile yapmayı deneyin', - 'Thanks' => 'Teşekkürler', - 'The SQL server contains multiple databases.' => 'SQL server birden çok veritabanı içerir.', - 'The sql dump has been saved in %file' => 'Sql dökümü %file kaydedildi', - 'The update wizard directory will be removed' => 'Güncelleştirme Sihirbazı dizin kaldırılır', - 'Thelia contributions' => 'Thelia katkıları', - 'Thelia installation wizard' => 'Thelia Yükleme Sihirbazı', - 'Thelia is now installed. Thank you !' => 'Thelia şimdi yükleniyor. Teşekkür ederiz!', - 'Thelia support forum' => 'Thelia destek forumu', - 'Unexpected error occured: %err' => 'Beklenmeyen bir hata oluştu: %err', - 'Update' => 'Güncelle', - 'Update Thelia' => 'Güncelleştirme Thelia', - 'Update proccess trace' => 'Güncelleştirme süreç izleme', - 'Updating Thelia.' => 'Güncelleştirme Thelia.', - 'Username :' => 'Kullanıcı adı :', - 'Version' => 'Sürüm', - 'We will guide you throughout this process to install any application on your system.' => 'Thelia sisteminize kurmak için bu işlem boyunca size yol gösterir.', - 'Welcome' => 'Hoşgeldiniz', - 'Welcome in the Thelia installation wizard.' => 'Thelia yükleme Sihirbazına Hoş geldiniz.', - 'Welcome in the Thelia updater wizard.' => 'Thelia Güncelleme sihirbazına hoş geldiniz.', - 'Would you like to update your installation of Thelia from version %current to version %latest.' => 'Senin yüklemesinden Thelia sürüm %current sürüm %latest için güncelleştirmek istiyor musunuz.', - 'Wrong connection information' => 'Yanlış bağlantı bilgileri', - 'Your database has been backed up. The sql file : %file' => 'Veritabanı yedeklenen. Sql dosyası: %file', - 'Your database has been restored.' => 'Veritabanınızı geri yüklendi.', - 'or' => 'VEYA', - 'update to version %version' => 'sürüm %version sürüme güncelleme', - 'website url :' => 'Mağaza URL:', -]; diff --git a/web/install/bdd.php b/web/install/bdd.php deleted file mode 100644 index 2480ea72..00000000 --- a/web/install/bdd.php +++ /dev/null @@ -1,129 +0,0 @@ -exec()) { - header('location: connection.php?err=1'); - exit; - } - $databases = $checkConnection->getConnection()->query('SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA'); - - if(false === $databases){ - header('location: connection.php?err=1'); - exit; - } - } - elseif($_SESSION['install']['step'] >=3) { - - $checkConnection = new \Thelia\Install\CheckDatabaseConnection($_SESSION['install']['host'], $_SESSION['install']['username'], $_SESSION['install']['password'], $_SESSION['install']['port']); - } - else { - header('location: connection.php?err=1'); - exit; - } - $_SESSION['install']['step'] = 4; - $connection = $checkConnection->getConnection(); - - ?> -
- -
- trans('Choose your database'); ?> -

- trans('The SQL server contains multiple databases.'); ?>
- trans('Select below the one you want to use.'); ?> -

- - - exec(sprintf('use %s', $database['SCHEMA_NAME'])); - - $tables = $connection->query('SHOW TABLES'); - - $found = false; - foreach($tables as $table) { - if($table[0] == 'cart_item') { - $found = true; - break; - } - } - - ?> -
- -
- - exec('use information_schema'); - - $permissions = $connection->query("SELECT COUNT( * ) FROM `USER_PRIVILEGES` - WHERE PRIVILEGE_TYPE = 'CREATE' - AND GRANTEE LIKE '%".$_SESSION['install']['username']."%' - AND IS_GRANTABLE = 'YES';"); - - $writePermission = false; - if($permissions->fetchColumn(0) > 0) { - ?> -

- trans('or'); ?> -

- -
- -
- -
- -
- -
-
-
- -
- -
- -
- -
- trans( - '

Sorry, an unexpected error occured: %err

Error details:

%details

', - [ - '%err' => $ex->getMessage(), - '%details' => nl2br($ex->getTraceAsString()) - ] - ); ?> -
-getConnection(); - $connection->exec("SET NAMES UTF8"); - $database = new \Thelia\Install\Database($connection); - - if (isset($_POST['database'])) { - $_SESSION['install']['database'] = $_POST['database']; - } - - if (isset($_POST['database_create']) && $_POST['database_create'] != "") { - $_SESSION['install']['database'] = $_POST['database_create']; - $database->createDatabase($_SESSION['install']['database']); - } - - $database->insertSql($_SESSION['install']['database']); - - if (!file_exists(THELIA_ROOT . "/local/config/database.yml")) { - $fs = new \Symfony\Component\Filesystem\Filesystem(); - - $sampleConfigFile = THELIA_ROOT . "/local/config/database.yml.sample"; - $configFile = THELIA_ROOT . "/local/config/database.yml"; - - $fs->copy($sampleConfigFile, $configFile, true); - - $configContent = file_get_contents($configFile); - - $configContent = str_replace("%DRIVER%", "mysql", $configContent); - $configContent = str_replace("%USERNAME%", $_SESSION['install']['username'], $configContent); - $configContent = str_replace("%PASSWORD%", $_SESSION['install']['password'], $configContent); - $configContent = str_replace( - "%DSN%", - sprintf( - "mysql:host=%s;dbname=%s;port=%s", - $_SESSION['install']['host'], - $_SESSION['install']['database'], - $_SESSION['install']['port'] - ), - $configContent - ); - - file_put_contents($configFile, $configContent); - } - } catch(\exception $ex) { - ?> -
trans('Unexpected error occured: %err', ['%err' => $ex->getMessage()]); ?>
- - -
- trans('Missing or invalid login'); ?> -
- -
- trans('Missing password'); ?> -
- -
- trans('Missing email-address'); ?> -
- -
- trans("The given passwords do not match"); ?> -
- -
-
-
- - " required> -
-
- - " required> -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - " required> -
-
- - " required> -
-
- - " required> -
-
-
- -
- -
-
- -
- -
- trans( - '

Sorry, an unexpected error occured: %err

Error details:

%details

', - [ - '%err' => $ex->getMessage(), - '%details' => nl2br($ex->getTraceAsString()) - ] - ); ?> -
- - -
- -
trans('Wrong connection information'); ?>
- -
-
- trans('Database connection configuration'); ?> -
- - -
- -
- - -
- -
- - -
-
- - -
-
-
- -
-
- -
- -
-
- - diff --git a/web/install/end.php b/web/install/end.php deleted file mode 100644 index 3ea81421..00000000 --- a/web/install/end.php +++ /dev/null @@ -1,180 +0,0 @@ -. */ -/* */ -/*************************************************************************************/ -$step=6; -include "header.php"; - -try { - if ($_SESSION['install']['step'] != $step && (empty($_POST['admin_login']) || empty($_POST['admin_password']) || ($_POST['admin_password'] != $_POST['admin_password_verif']) || strlen($_POST['admin_login']) < 3)) { - $query = $_POST; - $query["err"] = 0; - if (empty($_POST['admin_login'])) { - $query["err"] |= 1; - } - if (empty($_POST['admin_email'])) { - $query["err"] |= 3; - } - if (empty($_POST['admin_password'])) { - $query["err"] |= 2; - } - if ($_POST['admin_password'] != $_POST['admin_password_verif']) { - $query["err"] |= 4; - } - if (isset($query["admin_password"])) { - unset($query["admin_password"]); - } - if (isset($query["admin_password_verif"])) { - unset($query["admin_password_verif"]); - } - header(sprintf('location: config.php?%s', http_build_query($query))); - exit; // Don't forget to exit, otherwise, the script will continue to run. - } - - if($_SESSION['install']['step'] == 5){ - - // Check now if we can create the App. - $thelia = new \Thelia\Core\Thelia("install", true); - $thelia->boot(); - - $admin = new \Thelia\Model\Admin(); - $admin->setLogin($_POST['admin_login']) - ->setPassword($_POST['admin_password']) - ->setFirstname('admin') - ->setLastname('admin') - ->setLocale(empty($_POST['admin_locale']) ? 'en_US' : $_POST['admin_locale']) - ->setEmail($_POST['admin_email']) - ->save(); - - - \Thelia\Model\ConfigQuery::create() - ->filterByName('store_email') - ->update(array('Value' => $_POST['store_email'])); - - \Thelia\Model\ConfigQuery::create() - ->filterByName('store_notification_emails') - ->update(array('Value' => $_POST['store_email'])); - - \Thelia\Model\ConfigQuery::create() - ->filterByName('store_name') - ->update(array('Value' => $_POST['store_name'])); - - \Thelia\Model\ConfigQuery::create() - ->filterByName('url_site') - ->update(array('Value' => $_POST['url_site'])); - - $lang = \Thelia\Model\LangQuery::create() - ->findOneByLocale(empty($_POST['shop_locale']) ? "en_US" : $_POST['shop_locale']) - ; - - if (null !== $lang) { - $lang->toggleDefault(); - } - $secret = \Thelia\Tools\TokenProvider::generateToken(); - - \Thelia\Model\ConfigQuery::write('form.secret', $secret, 0, 0); - } - - //clean up cache directories - $fs = new \Symfony\Component\Filesystem\Filesystem(); - - $fs->remove(THELIA_ROOT . '/cache/prod'); - $fs->remove(THELIA_ROOT . '/cache/dev'); - $fs->remove(THELIA_ROOT . '/cache/install'); - - - $request = \Thelia\Core\HttpFoundation\Request::createFromGlobals(); - $_SESSION['install']['step'] = $step; - - // Retrieve the website url - $url = $_SERVER['PHP_SELF']; - $website_url = preg_replace("#/install/[a-z](.*)#" ,'', $url); - - ?> -
-

- trans('Thelia is now installed. Thank you !'); ?> -

- - - $(document).ready(function() { - var current_site_url = "{$website_url}"; - var admin_link = $("#admin_url"); - - $.ajax(current_site_url + "/empty") - .success(function() { - admin_link.attr("href", current_site_url + "/admin"); - }) - }); - -SCRIPT; - -ob_start(); -include('footer.php'); -$footerContent = ob_get_clean(); - - // Remove the install wizard - /*try { - $fs = new \Symfony\Component\Filesystem\Filesystem(); - $fs->remove(THELIA_WEB_DIR . DS . 'install'); - - ?> -

trans('The install wizard directory will be removed'); - ?>

-

- trans('Don\'t forget to delete the web/install directory.'); ?> -

- -

- trans('Don\'t forget to delete the web/install directory.'); ?> -

- -

- trans('Go to back office'); ?> -

- -
- trans( - '

Sorry, an unexpected error occured: %err

Error details:

%details

', - [ - '%err' => $ex->getMessage(), - '%details' => nl2br($ex->getTraceAsString()) - ] - ); ?> -
- -
- - - - -
- - - - - -addLoader("php", new Symfony\Component\Translation\Loader\PhpFileLoader()); -$trans->addResource('php', __DIR__.'/I18n/'.$_SESSION['install']['lang'].'.php', $_SESSION['install']['lang']); - -if (!isset($context)) { - $context = 'install'; -} - -// Check if we store is already configured and if we have to switch on an update process -if ($context == "install" && $step == 1) { - try { - $checkPermission = new \Thelia\Install\CheckPermission(true, $trans); - $isValid = $checkPermission->exec(); - $validationMessage = $checkPermission->getValidationMessages(); - } catch (\Thelia\Install\Exception\AlreadyInstallException $ex) { - $update = new \Thelia\Install\Update(false); - if (!$update->isLatestVersion()) { - $updateLocation = str_replace('/index.php', '', $_SERVER["REQUEST_URI"]) . '/update.php'; - header("Location: " . $updateLocation); - die(); - } - } -} - -?> - - - - <?php - if ($context == "install") { - echo $trans->trans('Installation'); - } else { - echo $trans->trans('Update'); - } - ?> - - - - - - - -
-
-
-
-
- trans('Version') . " " . \Thelia\Core\Thelia::THELIA_VERSION ; ?> -
-
-
-
-
- -
-
-
-
-
-

trans('Thelia installation wizard'); ?>

-
-
    -
  • 1trans('Welcome'); ?>
  • -
  • 2trans('Checking permissions'); ?>
  • -
  • 3trans('Database connection'); ?>
  • -
  • 4trans('Database selection'); ?>
  • -
  • 5trans('General information'); ?>
  • -
  • 6trans('Thanks'); ?>
  • -
-
- - -
-
-
-
-
-

trans('Thelia installation wizard'); ?>

-
-
    -
  • 1trans('Welcome'); ?>
  • -
  • 2trans('Update'); ?>
  • -
-
- -
- -
- -

-trans('Welcome in the Thelia installation wizard.'); ?> -

-

-trans('We will guide you throughout this process to install any application on your system.'); ?> -

-
- - \ No newline at end of file diff --git a/web/install/permission.php b/web/install/permission.php deleted file mode 100644 index 61d21455..00000000 --- a/web/install/permission.php +++ /dev/null @@ -1,80 +0,0 @@ - -exec(); - $validationMessage = $checkPermission->getValidationMessages(); - $_SESSION['install']['return_step'] = 'permission.php'; - $_SESSION['install']['continue'] = $isValid; - $_SESSION['install']['current_step'] = 'permission.php'; - $_SESSION['install']['step'] = 2; - ?> -
- -

trans('Checking PHP version and permissions'); ?>

-
    - $data): ?> -
  • - - -
  • - -
- -
- - -
- trans( - 'It seems that Thelia is already installed on this system. Please check configuration, perform some cleanup if required, an try again.' - ); ?> -
- -
- trans('

Sorry, an unexpected error occured: %err

Error details:

%details

', [ - '%err' => $ex->getMessage(), - '%details' => nl2br($ex->getTraceAsString()) - ]); ?> -
- diff --git a/web/install/php_version_check.php b/web/install/php_version_check.php deleted file mode 100644 index 4a23826b..00000000 --- a/web/install/php_version_check.php +++ /dev/null @@ -1,16 +0,0 @@ - (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition.end) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || $active[type]() - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var fallback = type == 'next' ? 'first' : 'last' - var that = this - - if (!$next.length) { - if (!this.options.wrap) return - $next = this.$element.find('.item')[fallback]() - } - - this.sliding = true - - isCycling && this.pause() - - var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) - - if ($next.hasClass('active')) return - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - this.$element.one('slid', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) - } - - if ($.support.transition && this.$element.hasClass('slide')) { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - $active - .one($.support.transition.end, function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { that.$element.trigger('slid') }, 0) - }) - .emulateTransitionEnd(600) - } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger('slid') - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - var old = $.fn.carousel - - $.fn.carousel = function (option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - $target.carousel(options) - - if (slideIndex = $this.attr('data-slide-to')) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - }) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - $carousel.carousel($carousel.data()) - }) - }) - -}(window.jQuery); - -/* ======================================================================== - * Bootstrap: collapse.js v3.0.0 - * http://twbs.github.com/bootstrap/javascript.html#collapse - * ======================================================================== - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== */ - - -+function ($) { "use strict"; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.transitioning = null - - if (this.options.parent) this.$parent = $(this.options.parent) - if (this.options.toggle) this.toggle() - } - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var actives = this.$parent && this.$parent.find('> .panel > .in') - - if (actives && actives.length) { - var hasData = actives.data('bs.collapse') - if (hasData && hasData.transitioning) return - actives.collapse('hide') - hasData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing') - [dimension](0) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('in') - [dimension]('auto') - this.transitioning = 0 - this.$element.trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one($.support.transition.end, $.proxy(complete, this)) - .emulateTransitionEnd(350) - [dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element - [dimension](this.$element[dimension]()) - [0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse') - .removeClass('in') - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .trigger('hidden.bs.collapse') - .removeClass('collapsing') - .addClass('collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one($.support.transition.end, $.proxy(complete, this)) - .emulateTransitionEnd(350) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - var old = $.fn.collapse - - $.fn.collapse = function (option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - var target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - var $target = $(target) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - var parent = $this.attr('data-parent') - var $parent = parent && $(parent) - - if (!data || !data.transitioning) { - if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed') - $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - } - - $target.collapse(option) - }) - -}(window.jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.0.0 - * http://twbs.github.com/bootstrap/javascript.html#dropdowns - * ======================================================================== - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== */ - - -+function ($) { "use strict"; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle=dropdown]' - var Dropdown = function (element) { - var $el = $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we we use a backdrop because click events don't delegate - $(''; -} \ No newline at end of file