diff --git a/cache/__class_index.php b/cache/__class_index.php
new file mode 100644
index 0000000..5e8e448
--- /dev/null
+++ b/cache/__class_index.php
@@ -0,0 +1,4346 @@
+
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'AbstractLoggerCore' =>
+ array (
+ 'path' => 'classes/log/AbstractLogger.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'Adapter_AddressFactory' =>
+ array (
+ 'path' => 'Adapter/Adapter_AddressFactory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_CacheManager' =>
+ array (
+ 'path' => 'Adapter/Adapter_CacheManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_Configuration' =>
+ array (
+ 'path' => 'Adapter/Adapter_Configuration.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_Database' =>
+ array (
+ 'path' => 'Adapter/Adapter_Database.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_EntityMapper' =>
+ array (
+ 'path' => 'Adapter/Adapter_EntityMapper.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_EntityMetaDataRetriever' =>
+ array (
+ 'path' => 'Adapter/Adapter_EntityMetaDataRetriever.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_Exception' =>
+ array (
+ 'path' => 'Adapter/Adapter_Exception.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_HookManager' =>
+ array (
+ 'path' => 'Adapter/Adapter_HookManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_PackItemsManager' =>
+ array (
+ 'path' => 'Adapter/Adapter_PackItemsManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_ProductPriceCalculator' =>
+ array (
+ 'path' => 'Adapter/Adapter_ProductPriceCalculator.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_ServiceLocator' =>
+ array (
+ 'path' => 'Adapter/Adapter_ServiceLocator.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Adapter_StockManager' =>
+ array (
+ 'path' => 'Adapter/Adapter_StockManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Address' =>
+ array (
+ 'path' => 'override/classes/Address.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressController' =>
+ array (
+ 'path' => 'override/controllers/front/AddressController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressControllerCore' =>
+ array (
+ 'path' => 'controllers/front/AddressController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressCore' =>
+ array (
+ 'path' => 'classes/Address.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressFormat' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressFormatCore' =>
+ array (
+ 'path' => 'classes/AddressFormat.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressesController' =>
+ array (
+ 'path' => 'override/controllers/front/AddressesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AddressesControllerCore' =>
+ array (
+ 'path' => 'controllers/front/AddressesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAccessController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAccessControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAccessController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAddonsCatalogController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAddonsCatalogControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAddonsCatalogController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAddressesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAddressesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAddressesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAdminPreferencesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAdminPreferencesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAdminPreferencesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttachmentsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttachmentsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAttachmentsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttributeGeneratorController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttributeGeneratorControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAttributeGeneratorController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttributesGroupsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminAttributesGroupsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminAttributesGroupsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminBackupController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminBackupControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminBackupController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCarrierWizardController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCarrierWizardControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCarrierWizardController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCarriersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCarriersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCarriersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCartRulesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCartRulesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCartRulesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCartsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCartsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCartsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCategoriesController' =>
+ array (
+ 'path' => 'override/controllers/admin/AdminCategoriesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCategoriesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCategoriesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsCategoriesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsCategoriesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCmsCategoriesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsContentController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsContentControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCmsContentController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCmsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCmsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminContactsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminContactsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminContactsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminController' =>
+ array (
+ 'path' => 'override/classes/controller/AdminController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminControllerCore' =>
+ array (
+ 'path' => 'classes/controller/AdminController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCountriesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCountriesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCountriesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCurrenciesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCurrenciesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCurrenciesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomerPreferencesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomerPreferencesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCustomerPreferencesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomerThreadsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomerThreadsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCustomerThreadsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminCustomersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminCustomersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminDashboardController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminDashboardControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminDashboardController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminDeliverySlipController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminDeliverySlipControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminDeliverySlipController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminEmailsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminEmailsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminEmailsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminEmployeesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminEmployeesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminEmployeesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminFeaturesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminFeaturesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminFeaturesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGendersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGendersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminGendersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGeolocationController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGeolocationControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminGeolocationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGroupsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminGroupsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminGroupsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminImagesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminImagesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminImagesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminImportController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminImportControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminImportController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminInformationController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminInformationControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminInformationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminInvoicesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminInvoicesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminInvoicesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLanguagesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLanguagesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminLanguagesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLocalizationController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLocalizationControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminLocalizationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLoginController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLoginControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminLoginController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLogsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminLogsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminLogsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMaintenanceController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMaintenanceControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminMaintenanceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminManufacturersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminManufacturersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminManufacturersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMarketingController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMarketingControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminMarketingController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMetaController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminMetaControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminMetaController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminModulesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminModulesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminModulesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminModulesPositionsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminModulesPositionsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminModulesPositionsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminNotFoundController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminNotFoundControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminNotFoundController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrderMessageController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrderMessageControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminOrderMessageController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrderPreferencesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrderPreferencesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminOrderPreferencesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrdersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOrdersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminOrdersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOutstandingController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminOutstandingControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminOutstandingController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPPreferencesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPPreferencesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPPreferencesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPatternsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPatternsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPatternsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPaymentController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPaymentControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPaymentController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPdfController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPdfControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPdfController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPerformanceController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPerformanceControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPerformanceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPreferencesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminPreferencesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminPreferencesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminProductsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminProductsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminProductsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminProfilesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminProfilesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminProfilesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminQuickAccessesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminQuickAccessesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminQuickAccessesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRangePriceController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRangePriceControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminRangePriceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRangeWeightController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRangeWeightControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminRangeWeightController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminReferrersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminReferrersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminReferrersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRequestSqlController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminRequestSqlControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminRequestSqlController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminReturnController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminReturnControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminReturnController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminScenesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminScenesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminScenesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchConfController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchConfControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSearchConfController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSearchController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchEnginesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSearchEnginesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSearchEnginesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShippingController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShippingControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminShippingController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminShopController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopGroupController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopGroupControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminShopGroupController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopUrlController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminShopUrlControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminShopUrlController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSlipController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSlipControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSlipController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSpecificPriceRuleController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSpecificPriceRuleControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSpecificPriceRuleController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStatesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStatsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatsTabController' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'AdminStatsTabControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStatsTabController.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'AdminStatusesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStatusesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStatusesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockConfigurationController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockConfigurationControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStockConfigurationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockCoverController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockCoverControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStockCoverController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockInstantStateController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockInstantStateControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStockInstantStateController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockManagementController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockManagementControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStockManagementController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockMvtController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStockMvtControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStockMvtController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStoresController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminStoresControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminStoresController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSuppliersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSuppliersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSuppliersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSupplyOrdersController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminSupplyOrdersControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminSupplyOrdersController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTab' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'AdminTabCore' =>
+ array (
+ 'path' => 'classes/AdminTab.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'AdminTabsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTabsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTabsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTagsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTagsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTagsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTaxRulesGroupController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTaxRulesGroupControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTaxRulesGroupController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTaxesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTaxesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTaxesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminThemesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminThemesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminThemesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTrackingController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTrackingControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTrackingController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTranslationsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminTranslationsControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminTranslationsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminWarehousesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminWarehousesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminWarehousesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminWebserviceController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminWebserviceControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminWebserviceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminZonesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AdminZonesControllerCore' =>
+ array (
+ 'path' => 'controllers/admin/AdminZonesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Alias' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AliasCore' =>
+ array (
+ 'path' => 'classes/Alias.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Attachment' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttachmentController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttachmentControllerCore' =>
+ array (
+ 'path' => 'controllers/front/AttachmentController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttachmentCore' =>
+ array (
+ 'path' => 'classes/Attachment.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Attribute' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeCore' =>
+ array (
+ 'path' => 'classes/Attribute.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeGroup' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeGroupCore' =>
+ array (
+ 'path' => 'classes/AttributeGroup.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeMerge' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeMergeCore' =>
+ array (
+ 'path' => 'override/classes/AttributeMerge.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeValueMerge' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AttributeValueMergeCore' =>
+ array (
+ 'path' => 'override/classes/AttributeValueMerge.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AuthController' =>
+ array (
+ 'path' => 'override/controllers/front/AuthController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AuthControllerCore' =>
+ array (
+ 'path' => 'controllers/front/AuthController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'AverageTaxOfProductsTaxCalculator' =>
+ array (
+ 'path' => 'classes/tax/AverageTaxOfProductsTaxCalculator.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'BestSalesController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'BestSalesControllerCore' =>
+ array (
+ 'path' => 'controllers/front/BestSalesController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Blowfish' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'BlowfishCore' =>
+ array (
+ 'path' => 'classes/Blowfish.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMS' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMSCategory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMSCategoryCore' =>
+ array (
+ 'path' => 'classes/CMSCategory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMSCore' =>
+ array (
+ 'path' => 'classes/CMS.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMSRole' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CMSRoleCore' =>
+ array (
+ 'path' => 'classes/CMSRole.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CSV' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CSVCore' =>
+ array (
+ 'path' => 'classes/CSV.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Cache' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'CacheApc' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheApcCore' =>
+ array (
+ 'path' => 'classes/cache/CacheApc.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheCore' =>
+ array (
+ 'path' => 'classes/cache/Cache.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'CacheFs' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheFsCore' =>
+ array (
+ 'path' => 'classes/cache/CacheFs.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheMemcache' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheMemcacheCore' =>
+ array (
+ 'path' => 'classes/cache/CacheMemcache.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheMemcached' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheMemcachedCore' =>
+ array (
+ 'path' => 'classes/cache/CacheMemcached.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheXcache' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CacheXcacheCore' =>
+ array (
+ 'path' => 'classes/cache/CacheXcache.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Carrier' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CarrierCore' =>
+ array (
+ 'path' => 'classes/Carrier.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CarrierModule' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'CarrierModuleCore' =>
+ array (
+ 'path' => 'classes/module/CarrierModule.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'Cart' =>
+ array (
+ 'path' => 'override/classes/Cart.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CartController' =>
+ array (
+ 'path' => 'override/controllers/front/CartController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CartControllerCore' =>
+ array (
+ 'path' => 'controllers/front/CartController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CartCore' =>
+ array (
+ 'path' => 'classes/Cart.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CartRule' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CartRuleCore' =>
+ array (
+ 'path' => 'classes/CartRule.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Category' =>
+ array (
+ 'path' => 'override/classes/Category.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CategoryController' =>
+ array (
+ 'path' => 'override/controllers/front/CategoryController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CategoryControllerCore' =>
+ array (
+ 'path' => 'controllers/front/CategoryController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CategoryCore' =>
+ array (
+ 'path' => 'classes/Category.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CategoryMerge' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CategoryMergeCore' =>
+ array (
+ 'path' => 'override/classes/CategoryMerge.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ChangeCurrencyController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ChangeCurrencyControllerCore' =>
+ array (
+ 'path' => 'controllers/front/ChangeCurrencyController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Chart' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ChartCore' =>
+ array (
+ 'path' => 'classes/Chart.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CmsController' =>
+ array (
+ 'path' => 'override/controllers/front/CmsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CmsControllerCore' =>
+ array (
+ 'path' => 'controllers/front/CmsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Combination' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CombinationCore' =>
+ array (
+ 'path' => 'classes/Combination.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CompareController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CompareControllerCore' =>
+ array (
+ 'path' => 'controllers/front/CompareController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CompareProduct' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CompareProductCore' =>
+ array (
+ 'path' => 'classes/CompareProduct.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Configuration' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConfigurationCore' =>
+ array (
+ 'path' => 'classes/Configuration.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConfigurationKPI' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConfigurationKPICore' =>
+ array (
+ 'path' => 'classes/ConfigurationKPI.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConfigurationTest' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConfigurationTestCore' =>
+ array (
+ 'path' => 'classes/ConfigurationTest.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Connection' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConnectionCore' =>
+ array (
+ 'path' => 'classes/Connection.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConnectionsSource' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ConnectionsSourceCore' =>
+ array (
+ 'path' => 'classes/ConnectionsSource.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Contact' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ContactController' =>
+ array (
+ 'path' => 'override/controllers/front/ContactController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ContactControllerCore' =>
+ array (
+ 'path' => 'controllers/front/ContactController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ContactCore' =>
+ array (
+ 'path' => 'classes/Contact.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Context' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ContextCore' =>
+ array (
+ 'path' => 'classes/Context.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Controller' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ControllerCore' =>
+ array (
+ 'path' => 'classes/controller/Controller.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ControllerFactory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ControllerFactoryCore' =>
+ array (
+ 'path' => 'classes/ControllerFactory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Cookie' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CookieCore' =>
+ array (
+ 'path' => 'classes/Cookie.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_CMS_CMSRepository' =>
+ array (
+ 'path' => 'Core/Business/CMS/Core_Business_CMS_CMSRepository.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_CMS_CMSRoleRepository' =>
+ array (
+ 'path' => 'Core/Business/CMS/Core_Business_CMS_CMSRoleRepository.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_ConfigurationInterface' =>
+ array (
+ 'path' => 'Core/Business/Core_Business_ConfigurationInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'Core_Business_ContainerBuilder' =>
+ array (
+ 'path' => 'Core/Business/Core_Business_ContainerBuilder.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_Email_EmailLister' =>
+ array (
+ 'path' => 'Core/Business/Email/Core_Business_Email_EmailLister.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_Payment_PaymentOption' =>
+ array (
+ 'path' => 'Core/Business/Payment/Core_Business_Payment_PaymentOption.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Business_Stock_StockManager' =>
+ array (
+ 'path' => 'Core/Business/Stock/Core_Business_Stock_StockManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_DatabaseInterface' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_DatabaseInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_EntityInterface' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_EntityInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_EntityManager' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_EntityManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_EntityManager_QueryBuilder' =>
+ array (
+ 'path' => 'Core/Foundation/Database/EntityManager/Core_Foundation_Database_EntityManager_QueryBuilder.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_EntityMetaData' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_EntityMetaData.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_EntityRepository' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_EntityRepository.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Database_Exception' =>
+ array (
+ 'path' => 'Core/Foundation/Database/Core_Foundation_Database_Exception.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_Exception_Exception' =>
+ array (
+ 'path' => 'Core/Foundation/Exception/Core_Foundation_Exception_Exception.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_FileSystem_Exception' =>
+ array (
+ 'path' => 'Core/Foundation/Filesystem/Core_Foundation_FileSystem_Exception.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_FileSystem_FileSystem' =>
+ array (
+ 'path' => 'Core/Foundation/Filesystem/Core_Foundation_FileSystem_FileSystem.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_IoC_Container' =>
+ array (
+ 'path' => 'Core/Foundation/IoC/Core_Foundation_IoC_Container.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Core_Foundation_IoC_Exception' =>
+ array (
+ 'path' => 'Core/Foundation/IoC/Core_Foundation_IoC_Exception.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Country' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CountryCore' =>
+ array (
+ 'path' => 'classes/Country.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'County' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CountyCore' =>
+ array (
+ 'path' => 'classes/County.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Currency' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CurrencyCore' =>
+ array (
+ 'path' => 'classes/Currency.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Customer' =>
+ array (
+ 'path' => 'override/classes/Customer.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomerCore' =>
+ array (
+ 'path' => 'classes/Customer.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomerMessage' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomerMessageCore' =>
+ array (
+ 'path' => 'classes/CustomerMessage.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomerThread' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomerThreadCore' =>
+ array (
+ 'path' => 'classes/CustomerThread.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Customization' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomizationCore' =>
+ array (
+ 'path' => 'classes/Customization.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomizationField' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'CustomizationFieldCore' =>
+ array (
+ 'path' => 'classes/CustomizationField.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DateRange' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DateRangeCore' =>
+ array (
+ 'path' => 'classes/DateRange.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Db' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'DbCore' =>
+ array (
+ 'path' => 'classes/db/Db.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'DbMySQLi' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DbMySQLiCore' =>
+ array (
+ 'path' => 'classes/db/DbMySQLi.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DbPDO' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DbPDOCore' =>
+ array (
+ 'path' => 'classes/db/DbPDO.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DbQuery' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DbQueryCore' =>
+ array (
+ 'path' => 'classes/db/DbQuery.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Delivery' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DeliveryCore' =>
+ array (
+ 'path' => 'classes/Delivery.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Discount' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DiscountController' =>
+ array (
+ 'path' => 'override/controllers/front/DiscountController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DiscountControllerCore' =>
+ array (
+ 'path' => 'controllers/front/DiscountController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DiscountCore' =>
+ array (
+ 'path' => 'classes/Discount.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Dispatcher' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'DispatcherCore' =>
+ array (
+ 'path' => 'classes/Dispatcher.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Employee' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'EmployeeCore' =>
+ array (
+ 'path' => 'classes/Employee.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Feature' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FeatureCore' =>
+ array (
+ 'path' => 'classes/Feature.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FeatureValue' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FeatureValueCore' =>
+ array (
+ 'path' => 'classes/FeatureValue.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FileLogger' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FileLoggerCore' =>
+ array (
+ 'path' => 'classes/log/FileLogger.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FileUploader' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FileUploaderCore' =>
+ array (
+ 'path' => 'classes/FileUploader.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FrontController' =>
+ array (
+ 'path' => 'override/classes/controller/FrontController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'FrontControllerCore' =>
+ array (
+ 'path' => 'classes/controller/FrontController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Gender' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GenderCore' =>
+ array (
+ 'path' => 'classes/Gender.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GetFileController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GetFileControllerCore' =>
+ array (
+ 'path' => 'controllers/front/GetFileController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Group' =>
+ array (
+ 'path' => 'override/classes/Group.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GroupCore' =>
+ array (
+ 'path' => 'classes/Group.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GroupReduction' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GroupReductionCore' =>
+ array (
+ 'path' => 'classes/GroupReduction.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Guest' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GuestCore' =>
+ array (
+ 'path' => 'classes/Guest.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GuestTrackingController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'GuestTrackingControllerCore' =>
+ array (
+ 'path' => 'controllers/front/GuestTrackingController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplate' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplate.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateDeliverySlip' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateDeliverySlipCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplateDeliverySlip.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateInvoice' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateInvoiceCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplateInvoice.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateOrderReturn' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateOrderReturnCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplateOrderReturn.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateOrderSlip' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateOrderSlipCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplateOrderSlip.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateSupplyOrderForm' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HTMLTemplateSupplyOrderFormCore' =>
+ array (
+ 'path' => 'classes/pdf/HTMLTemplateSupplyOrderForm.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Helper' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperCalendar' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperCalendarCore' =>
+ array (
+ 'path' => 'classes/helper/HelperCalendar.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperCore' =>
+ array (
+ 'path' => 'classes/helper/Helper.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperForm' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperFormCore' =>
+ array (
+ 'path' => 'classes/helper/HelperForm.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperImageUploader' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperImageUploaderCore' =>
+ array (
+ 'path' => 'classes/helper/HelperImageUploader.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperKpi' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperKpiCore' =>
+ array (
+ 'path' => 'classes/helper/HelperKpi.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperKpiRow' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperKpiRowCore' =>
+ array (
+ 'path' => 'classes/helper/HelperKpiRow.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperList' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperListCore' =>
+ array (
+ 'path' => 'classes/helper/HelperList.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperOptions' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperOptionsCore' =>
+ array (
+ 'path' => 'classes/helper/HelperOptions.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperShop' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperShopCore' =>
+ array (
+ 'path' => 'classes/helper/HelperShop.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperTreeCategories' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperTreeCategoriesCore' =>
+ array (
+ 'path' => 'classes/helper/HelperTreeCategories.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperTreeShops' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperTreeShopsCore' =>
+ array (
+ 'path' => 'classes/helper/HelperTreeShops.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperUploader' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperUploaderCore' =>
+ array (
+ 'path' => 'classes/helper/HelperUploader.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperView' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HelperViewCore' =>
+ array (
+ 'path' => 'classes/helper/HelperView.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HistoryController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HistoryControllerCore' =>
+ array (
+ 'path' => 'controllers/front/HistoryController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Hook' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'HookCore' =>
+ array (
+ 'path' => 'classes/Hook.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ITreeToolbar' =>
+ array (
+ 'path' => '',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'ITreeToolbarButton' =>
+ array (
+ 'path' => '',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'ITreeToolbarButtonCore' =>
+ array (
+ 'path' => 'classes/tree/ITreeToolbarButton.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'ITreeToolbarCore' =>
+ array (
+ 'path' => 'classes/tree/ITreeToolbar.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'IdentityController' =>
+ array (
+ 'path' => 'override/controllers/front/IdentityController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'IdentityControllerCore' =>
+ array (
+ 'path' => 'controllers/front/IdentityController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Image' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImageCore' =>
+ array (
+ 'path' => 'classes/Image.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImageManager' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImageManagerCore' =>
+ array (
+ 'path' => 'classes/ImageManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImageType' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImageTypeCore' =>
+ array (
+ 'path' => 'classes/ImageType.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ImportModule' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ImportModuleCore' =>
+ array (
+ 'path' => 'classes/module/ImportModule.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'IndexController' =>
+ array (
+ 'path' => 'override/controllers/front/IndexController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'IndexControllerCore' =>
+ array (
+ 'path' => 'controllers/front/IndexController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Language' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'LanguageCore' =>
+ array (
+ 'path' => 'classes/Language.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Link' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'LinkCore' =>
+ array (
+ 'path' => 'classes/Link.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'LocalizationPack' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'LocalizationPackCore' =>
+ array (
+ 'path' => 'classes/LocalizationPack.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Mail' =>
+ array (
+ 'path' => 'override/classes/Mail.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MailCore' =>
+ array (
+ 'path' => 'classes/Mail.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Manufacturer' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ManufacturerController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ManufacturerControllerCore' =>
+ array (
+ 'path' => 'controllers/front/ManufacturerController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ManufacturerCore' =>
+ array (
+ 'path' => 'classes/Manufacturer.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Media' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MediaCore' =>
+ array (
+ 'path' => 'classes/Media.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Message' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MessageCore' =>
+ array (
+ 'path' => 'classes/Message.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Meta' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MetaCore' =>
+ array (
+ 'path' => 'classes/Meta.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Module' =>
+ array (
+ 'path' => 'override/classes/module/Module.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ModuleAdminController' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleAdminControllerCore' =>
+ array (
+ 'path' => 'classes/controller/ModuleAdminController.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleCore' =>
+ array (
+ 'path' => 'classes/module/Module.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleFrontController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ModuleFrontControllerCore' =>
+ array (
+ 'path' => 'classes/controller/ModuleFrontController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ModuleGraph' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGraphCore' =>
+ array (
+ 'path' => 'classes/module/ModuleGraph.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGraphEngine' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGraphEngineCore' =>
+ array (
+ 'path' => 'classes/module/ModuleGraphEngine.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGrid' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGridCore' =>
+ array (
+ 'path' => 'classes/module/ModuleGrid.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGridEngine' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ModuleGridEngineCore' =>
+ array (
+ 'path' => 'classes/module/ModuleGridEngine.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'MyAccountController' =>
+ array (
+ 'path' => 'override/controllers/front/MyAccountController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MyAccountControllerCore' =>
+ array (
+ 'path' => 'controllers/front/MyAccountController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MySQL' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'MySQLCore' =>
+ array (
+ 'path' => 'classes/db/MySQL.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'NewProductsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'NewProductsControllerCore' =>
+ array (
+ 'path' => 'controllers/front/NewProductsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Notification' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'NotificationCore' =>
+ array (
+ 'path' => 'classes/Notification.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ObjectModel' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'ObjectModelCore' =>
+ array (
+ 'path' => 'classes/ObjectModel.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'Order' =>
+ array (
+ 'path' => 'override/classes/order/Order.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderCarrier' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderCarrierCore' =>
+ array (
+ 'path' => 'classes/order/OrderCarrier.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderCartRule' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderCartRuleCore' =>
+ array (
+ 'path' => 'classes/order/OrderCartRule.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderConfirmationController' =>
+ array (
+ 'path' => 'override/controllers/front/OrderConfirmationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderConfirmationControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderConfirmationController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderController' =>
+ array (
+ 'path' => 'override/controllers/front/OrderController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderCore' =>
+ array (
+ 'path' => 'classes/order/Order.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDetail' =>
+ array (
+ 'path' => 'override/classes/order/OrderDetail.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDetailController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDetailControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderDetailController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDetailCore' =>
+ array (
+ 'path' => 'classes/order/OrderDetail.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDiscount' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderDiscountCore' =>
+ array (
+ 'path' => 'classes/order/OrderDiscount.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderFollowController' =>
+ array (
+ 'path' => 'override/controllers/front/OrderFollowController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderFollowControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderFollowController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderHistory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderHistoryCore' =>
+ array (
+ 'path' => 'classes/order/OrderHistory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderInvoice' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderInvoiceCore' =>
+ array (
+ 'path' => 'classes/order/OrderInvoice.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderMessage' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderMessageCore' =>
+ array (
+ 'path' => 'classes/order/OrderMessage.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderOpcController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderOpcControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderOpcController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderPayment' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderPaymentCore' =>
+ array (
+ 'path' => 'classes/order/OrderPayment.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturn' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturnController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturnControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderReturnController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturnCore' =>
+ array (
+ 'path' => 'classes/order/OrderReturn.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturnState' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderReturnStateCore' =>
+ array (
+ 'path' => 'classes/order/OrderReturnState.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderSlip' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderSlipController' =>
+ array (
+ 'path' => 'override/controllers/front/OrderSlipController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderSlipControllerCore' =>
+ array (
+ 'path' => 'controllers/front/OrderSlipController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderSlipCore' =>
+ array (
+ 'path' => 'classes/order/OrderSlip.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderState' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'OrderStateCore' =>
+ array (
+ 'path' => 'classes/order/OrderState.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PDF' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PDFCore' =>
+ array (
+ 'path' => 'classes/pdf/PDF.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PDFGenerator' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PDFGeneratorCore' =>
+ array (
+ 'path' => 'classes/pdf/PDFGenerator.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Pack' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PackCore' =>
+ array (
+ 'path' => 'classes/Pack.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Page' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PageCore' =>
+ array (
+ 'path' => 'classes/Page.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PageNotFoundController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PageNotFoundControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PageNotFoundController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ParentOrderController' =>
+ array (
+ 'path' => 'override/controllers/front/ParentOrderController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ParentOrderControllerCore' =>
+ array (
+ 'path' => 'controllers/front/ParentOrderController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PasswordController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PasswordControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PasswordController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PaymentCC' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PaymentCCCore' =>
+ array (
+ 'path' => 'classes/PaymentCC.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PaymentModule' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'PaymentModuleCore' =>
+ array (
+ 'path' => 'classes/PaymentModule.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'PdfInvoiceController' =>
+ array (
+ 'path' => 'override/controllers/front/PdfInvoiceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PdfInvoiceControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PdfInvoiceController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PdfOrderReturnController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PdfOrderReturnControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PdfOrderReturnController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PdfOrderSlipController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PdfOrderSlipControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PdfOrderSlipController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopAutoload' =>
+ array (
+ 'path' => 'classes/PrestaShopAutoload.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopBackup' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopBackupCore' =>
+ array (
+ 'path' => 'classes/PrestaShopBackup.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopCollection' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopCollectionCore' =>
+ array (
+ 'path' => 'classes/PrestaShopCollection.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopDatabaseException' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopDatabaseExceptionCore' =>
+ array (
+ 'path' => 'classes/exception/PrestaShopDatabaseException.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopException' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopExceptionCore' =>
+ array (
+ 'path' => 'classes/exception/PrestaShopException.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopLogger' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopLoggerCore' =>
+ array (
+ 'path' => 'classes/PrestaShopLogger.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopModuleException' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopModuleExceptionCore' =>
+ array (
+ 'path' => 'classes/exception/PrestaShopModuleException.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopPaymentException' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PrestaShopPaymentExceptionCore' =>
+ array (
+ 'path' => 'classes/exception/PrestaShopPaymentException.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PricesDropController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'PricesDropControllerCore' =>
+ array (
+ 'path' => 'controllers/front/PricesDropController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Product' =>
+ array (
+ 'path' => 'override/classes/Product.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductController' =>
+ array (
+ 'path' => 'override/controllers/front/ProductController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductControllerCore' =>
+ array (
+ 'path' => 'controllers/front/ProductController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductCore' =>
+ array (
+ 'path' => 'classes/Product.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductDownload' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductDownloadCore' =>
+ array (
+ 'path' => 'classes/ProductDownload.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductMerge' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductMergeCore' =>
+ array (
+ 'path' => 'override/classes/ProductMerge.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductSale' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductSaleCore' =>
+ array (
+ 'path' => 'classes/ProductSale.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductSupplier' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductSupplierCore' =>
+ array (
+ 'path' => 'classes/ProductSupplier.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductTemplateMerge' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProductTemplateMergeCore' =>
+ array (
+ 'path' => 'override/classes/ProductTemplateMerge.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Profile' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ProfileCore' =>
+ array (
+ 'path' => 'classes/Profile.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'QuickAccess' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'QuickAccessCore' =>
+ array (
+ 'path' => 'classes/QuickAccess.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RangePrice' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RangePriceCore' =>
+ array (
+ 'path' => 'classes/range/RangePrice.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RangeWeight' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RangeWeightCore' =>
+ array (
+ 'path' => 'classes/range/RangeWeight.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Referrer' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ReferrerCore' =>
+ array (
+ 'path' => 'classes/Referrer.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RequestSql' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RequestSqlCore' =>
+ array (
+ 'path' => 'classes/RequestSql.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Rijndael' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RijndaelCore' =>
+ array (
+ 'path' => 'classes/Rijndael.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Risk' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'RiskCore' =>
+ array (
+ 'path' => 'classes/Risk.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Scene' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SceneCore' =>
+ array (
+ 'path' => 'classes/Scene.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Search' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SearchController' =>
+ array (
+ 'path' => 'override/controllers/front/SearchController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SearchControllerCore' =>
+ array (
+ 'path' => 'controllers/front/SearchController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SearchCore' =>
+ array (
+ 'path' => 'classes/Search.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SearchEngine' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SearchEngineCore' =>
+ array (
+ 'path' => 'classes/SearchEngine.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Shop' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ShopCore' =>
+ array (
+ 'path' => 'classes/shop/Shop.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ShopGroup' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ShopGroupCore' =>
+ array (
+ 'path' => 'classes/shop/ShopGroup.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ShopUrl' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ShopUrlCore' =>
+ array (
+ 'path' => 'classes/shop/ShopUrl.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SitemapController' =>
+ array (
+ 'path' => 'override/controllers/front/SitemapController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SitemapControllerCore' =>
+ array (
+ 'path' => 'controllers/front/SitemapController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SmartyCustom' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SmartyCustomCore' =>
+ array (
+ 'path' => 'classes/SmartyCustom.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SpecificPrice' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SpecificPriceCore' =>
+ array (
+ 'path' => 'classes/SpecificPrice.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SpecificPriceRule' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SpecificPriceRuleCore' =>
+ array (
+ 'path' => 'classes/SpecificPriceRule.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'State' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StateCore' =>
+ array (
+ 'path' => 'classes/State.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StatisticsController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StatisticsControllerCore' =>
+ array (
+ 'path' => 'controllers/front/StatisticsController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Stock' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockAvailable' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockAvailableCore' =>
+ array (
+ 'path' => 'classes/stock/StockAvailable.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockCore' =>
+ array (
+ 'path' => 'classes/stock/Stock.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockManager' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockManagerCore' =>
+ array (
+ 'path' => 'classes/stock/StockManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockManagerFactory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockManagerFactoryCore' =>
+ array (
+ 'path' => 'classes/stock/StockManagerFactory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockManagerInterface' =>
+ array (
+ 'path' => 'classes/stock/StockManagerInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'StockManagerModule' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'StockManagerModuleCore' =>
+ array (
+ 'path' => 'classes/stock/StockManagerModule.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'StockMvt' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockMvtCore' =>
+ array (
+ 'path' => 'classes/stock/StockMvt.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockMvtReason' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockMvtReasonCore' =>
+ array (
+ 'path' => 'classes/stock/StockMvtReason.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockMvtWS' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StockMvtWSCore' =>
+ array (
+ 'path' => 'classes/stock/StockMvtWS.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Store' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StoreCore' =>
+ array (
+ 'path' => 'classes/Store.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StoresController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'StoresControllerCore' =>
+ array (
+ 'path' => 'controllers/front/StoresController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Supplier' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplierController' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplierControllerCore' =>
+ array (
+ 'path' => 'controllers/front/SupplierController.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplierCore' =>
+ array (
+ 'path' => 'classes/Supplier.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrder' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderCore' =>
+ array (
+ 'path' => 'classes/stock/SupplyOrder.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderDetail' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderDetailCore' =>
+ array (
+ 'path' => 'classes/stock/SupplyOrderDetail.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderHistory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderHistoryCore' =>
+ array (
+ 'path' => 'classes/stock/SupplyOrderHistory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderReceiptHistory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderReceiptHistoryCore' =>
+ array (
+ 'path' => 'classes/stock/SupplyOrderReceiptHistory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderState' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'SupplyOrderStateCore' =>
+ array (
+ 'path' => 'classes/stock/SupplyOrderState.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Tab' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TabCore' =>
+ array (
+ 'path' => 'classes/Tab.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Tag' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TagCore' =>
+ array (
+ 'path' => 'classes/Tag.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Tax' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxCalculator' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxCalculatorCore' =>
+ array (
+ 'path' => 'classes/tax/TaxCalculator.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxCore' =>
+ array (
+ 'path' => 'classes/tax/Tax.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxManagerFactory' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxManagerFactoryCore' =>
+ array (
+ 'path' => 'classes/tax/TaxManagerFactory.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxManagerInterface' =>
+ array (
+ 'path' => 'classes/tax/TaxManagerInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'TaxManagerModule' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'TaxManagerModuleCore' =>
+ array (
+ 'path' => 'classes/tax/TaxManagerModule.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'TaxRule' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxRuleCore' =>
+ array (
+ 'path' => 'classes/tax/TaxRule.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxRulesGroup' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxRulesGroupCore' =>
+ array (
+ 'path' => 'classes/tax/TaxRulesGroup.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxRulesTaxManager' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TaxRulesTaxManagerCore' =>
+ array (
+ 'path' => 'classes/tax/TaxRulesTaxManager.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Theme' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ThemeCore' =>
+ array (
+ 'path' => 'classes/Theme.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Tools' =>
+ array (
+ 'path' => 'override/classes/Tools.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ToolsCore' =>
+ array (
+ 'path' => 'classes/Tools.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Translate' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TranslateCore' =>
+ array (
+ 'path' => 'classes/Translate.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TranslatedConfiguration' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TranslatedConfigurationCore' =>
+ array (
+ 'path' => 'classes/TranslatedConfiguration.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Tree' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeCore' =>
+ array (
+ 'path' => 'classes/tree/Tree.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbar' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarButton' =>
+ array (
+ 'path' => '',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'TreeToolbarButtonCore' =>
+ array (
+ 'path' => 'classes/tree/TreeToolbarButton.php',
+ 'type' => 'abstract class',
+ 'override' => false,
+ ),
+ 'TreeToolbarCore' =>
+ array (
+ 'path' => 'classes/tree/TreeToolbar.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarLink' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarLinkCore' =>
+ array (
+ 'path' => 'classes/tree/TreeToolbarLink.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarSearch' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarSearchCategories' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarSearchCategoriesCore' =>
+ array (
+ 'path' => 'classes/tree/TreeToolbarSearchCategories.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'TreeToolbarSearchCore' =>
+ array (
+ 'path' => 'classes/tree/TreeToolbarSearch.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Upgrader' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'UpgraderCore' =>
+ array (
+ 'path' => 'classes/Upgrader.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Uploader' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'UploaderCore' =>
+ array (
+ 'path' => 'classes/Uploader.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Validate' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ValidateCore' =>
+ array (
+ 'path' => 'classes/Validate.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Warehouse' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WarehouseCore' =>
+ array (
+ 'path' => 'classes/stock/Warehouse.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WarehouseProductLocation' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WarehouseProductLocationCore' =>
+ array (
+ 'path' => 'classes/stock/WarehouseProductLocation.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceException' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceExceptionCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceException.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceKey' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceKeyCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceKey.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceOutputBuilder' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceOutputBuilderCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceOutputBuilder.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceOutputInterface' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceOutputInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'WebserviceOutputJSON' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceOutputJSON.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceOutputXML' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceOutputXMLCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceOutputXML.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceRequest' =>
+ array (
+ 'path' => 'override/classes/webservice/WebserviceRequest.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceRequestCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceRequest.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceSpecificManagementImages' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceSpecificManagementImagesCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceSpecificManagementImages.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceSpecificManagementInterface' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceSpecificManagementInterface.php',
+ 'type' => 'interface',
+ 'override' => false,
+ ),
+ 'WebserviceSpecificManagementSearch' =>
+ array (
+ 'path' => '',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'WebserviceSpecificManagementSearchCore' =>
+ array (
+ 'path' => 'classes/webservice/WebserviceSpecificManagementSearch.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'Zone' =>
+ array (
+ 'path' => 'override/classes/Zone.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+ 'ZoneCore' =>
+ array (
+ 'path' => 'classes/Zone.php',
+ 'type' => 'class',
+ 'override' => false,
+ ),
+); ?>
\ No newline at end of file
diff --git a/classes/Cart.php b/classes/Cart.php
index a7120a2..64e7707 100755
--- a/classes/Cart.php
+++ b/classes/Cart.php
@@ -1251,6 +1251,7 @@ class CartCore extends ObjectModel
*/
public function deleteProduct($id_product, $id_product_attribute = null, $id_customization = null, $id_address_delivery = 0)
{
+
if (isset(self::$_nbProducts[$this->id])) {
unset(self::$_nbProducts[$this->id]);
}
@@ -1262,18 +1263,18 @@ class CartCore extends ObjectModel
if ((int)$id_customization) {
$product_total_quantity = (int)Db::getInstance()->getValue(
'SELECT `quantity`
- FROM `'._DB_PREFIX_.'cart_product`
- WHERE `id_product` = '.(int)$id_product.'
- AND `id_cart` = '.(int)$this->id.'
- AND `id_product_attribute` = '.(int)$id_product_attribute);
+ FROM `'._DB_PREFIX_.'cart_product`
+ WHERE `id_product` = '.(int)$id_product.'
+ AND `id_cart` = '.(int)$this->id.'
+ AND `id_product_attribute` = '.(int)$id_product_attribute);
$customization_quantity = (int)Db::getInstance()->getValue('
- SELECT `quantity`
- FROM `'._DB_PREFIX_.'customization`
- WHERE `id_cart` = '.(int)$this->id.'
- AND `id_product` = '.(int)$id_product.'
- AND `id_product_attribute` = '.(int)$id_product_attribute.'
- '.((int)$id_address_delivery ? 'AND `id_address_delivery` = '.(int)$id_address_delivery : ''));
+ SELECT `quantity`
+ FROM `'._DB_PREFIX_.'customization`
+ WHERE `id_cart` = '.(int)$this->id.'
+ AND `id_product` = '.(int)$id_product.'
+ AND `id_product_attribute` = '.(int)$id_product_attribute.'
+ '.((int)$id_address_delivery ? 'AND `id_address_delivery` = '.(int)$id_address_delivery : ''));
if (!$this->_deleteCustomization((int)$id_customization, (int)$id_product, (int)$id_product_attribute, (int)$id_address_delivery)) {
return false;
@@ -1286,11 +1287,11 @@ class CartCore extends ObjectModel
/* Get customization quantity */
$result = Db::getInstance()->getRow('
- SELECT SUM(`quantity`) AS \'quantity\'
- FROM `'._DB_PREFIX_.'customization`
- WHERE `id_cart` = '.(int)$this->id.'
- AND `id_product` = '.(int)$id_product.'
- AND `id_product_attribute` = '.(int)$id_product_attribute);
+ SELECT SUM(`quantity`) AS \'quantity\'
+ FROM `'._DB_PREFIX_.'customization`
+ WHERE `id_cart` = '.(int)$this->id.'
+ AND `id_product` = '.(int)$id_product.'
+ AND `id_product_attribute` = '.(int)$id_product_attribute);
if ($result === false) {
return false;
@@ -1299,21 +1300,21 @@ class CartCore extends ObjectModel
/* If the product still possesses customization it does not have to be deleted */
if (Db::getInstance()->NumRows() && (int)$result['quantity']) {
return Db::getInstance()->execute('
- UPDATE `'._DB_PREFIX_.'cart_product`
- SET `quantity` = '.(int)$result['quantity'].'
- WHERE `id_cart` = '.(int)$this->id.'
- AND `id_product` = '.(int)$id_product.
+ UPDATE `'._DB_PREFIX_.'cart_product`
+ SET `quantity` = '.(int)$result['quantity'].'
+ WHERE `id_cart` = '.(int)$this->id.'
+ AND `id_product` = '.(int)$id_product.
($id_product_attribute != null ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : '')
);
}
/* Product deletion */
$result = Db::getInstance()->execute('
- DELETE FROM `'._DB_PREFIX_.'cart_product`
- WHERE `id_product` = '.(int)$id_product.'
- '.(!is_null($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : '').'
- AND `id_cart` = '.(int)$this->id.'
- '.((int)$id_address_delivery ? 'AND `id_address_delivery` = '.(int)$id_address_delivery : ''));
+ DELETE FROM `'._DB_PREFIX_.'cart_product`
+ WHERE `id_product` = '.(int)$id_product.'
+ '.(!is_null($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : '').'
+ AND `id_cart` = '.(int)$this->id.'
+ '.((int)$id_address_delivery ? 'AND `id_address_delivery` = '.(int)$id_address_delivery : ''));
if ($result) {
$return = $this->update();
@@ -1339,8 +1340,8 @@ class CartCore extends ObjectModel
{
$result = true;
$customization = Db::getInstance()->getRow('SELECT *
- FROM `'._DB_PREFIX_.'customization`
- WHERE `id_customization` = '.(int)$id_customization);
+ FROM `'._DB_PREFIX_.'customization`
+ WHERE `id_customization` = '.(int)$id_customization);
if ($customization) {
$cust_data = Db::getInstance()->getRow('SELECT *
@@ -1359,7 +1360,7 @@ class CartCore extends ObjectModel
if ($result) {
$result &= Db::getInstance()->execute(
- 'UPDATE `'._DB_PREFIX_.'cart_product`
+ '²TE `'._DB_PREFIX_.'cart_product`
SET `quantity` = `quantity` - '.(int)$customization['quantity'].'
WHERE `id_cart` = '.(int)$this->id.'
AND `id_product` = '.(int)$id_product.
diff --git a/classes/GroupReduction.php b/classes/GroupReduction.php
index 9959364..277c849 100755
--- a/classes/GroupReduction.php
+++ b/classes/GroupReduction.php
@@ -148,6 +148,7 @@ class GroupReductionCore extends ObjectModel
FROM `'._DB_PREFIX_.'product_group_reduction_cache`
WHERE `id_product` = '.(int)$id_product.' AND `id_group` = '.(int)$id_group);
}
+
// Should return string (decimal in database) and not a float
return self::$reduction_cache[$id_product.'-'.$id_group];
}
diff --git a/classes/SpecificPrice.php b/classes/SpecificPrice.php
index 5a42454..bc298a4 100755
--- a/classes/SpecificPrice.php
+++ b/classes/SpecificPrice.php
@@ -337,12 +337,13 @@ class SpecificPriceCore extends ObjectModel
if (!SpecificPrice::isFeatureActive()) {
return array();
}
- /*
- ** The date is not taken into account for the cache, but this is for the better because it keeps the consistency for the whole script.
- ** The price must not change between the top and the bottom of the page
- */
+ //
+ // The date is not taken into account for the cache, but this is for the better because it keeps the consistency for the whole script.
+ // The price must not change between the top and the bottom of the page
+ //
$key = ((int)$id_product.'-'.(int)$id_shop.'-'.(int)$id_currency.'-'.(int)$id_country.'-'.(int)$id_group.'-'.(int)$quantity.'-'.(int)$id_product_attribute.'-'.(int)$id_cart.'-'.(int)$id_customer.'-'.(int)$real_quantity);
+
if (!array_key_exists($key, SpecificPrice::$_specificPriceCache)) {
$query_extra = self::computeExtraConditions($id_product, $id_product_attribute, $id_customer, $id_cart);
$query = '
@@ -360,6 +361,7 @@ class SpecificPriceCore extends ObjectModel
SpecificPrice::$_specificPriceCache[$key] = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($query);
}
+
return SpecificPrice::$_specificPriceCache[$key];
}
diff --git a/classes/db/Db.php b/classes/db/Db.php
index 48e7066..06a3d25 100755
--- a/classes/db/Db.php
+++ b/classes/db/Db.php
@@ -418,6 +418,7 @@ abstract class DbCore
if (!$this->result && $this->getNumberError() == 2006) {
if ($this->connect()) {
$this->result = $this->_query($sql);
+
}
}
diff --git a/config/config.inc.php b/config/config.inc.php
index e71e3e4..36f62cc 100755
--- a/config/config.inc.php
+++ b/config/config.inc.php
@@ -32,6 +32,11 @@ if (is_file($currentDir.'/defines_custom.inc.php')) {
}
require_once($currentDir.'/defines.inc.php');
+if (file_exists(_PS_TOOL_DIR_.'/antadis_tools/include.php')) {
+ require_once(_PS_TOOL_DIR_.'/antadis_tools/include.php');
+}
+
+
$start_time = microtime(true);
/* SSL configuration */
diff --git a/config/defines.inc.php b/config/defines.inc.php
index 209a30f..83748c2 100755
--- a/config/defines.inc.php
+++ b/config/defines.inc.php
@@ -26,7 +26,12 @@
/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
-define('_PS_MODE_DEV_', true);
+ if (in_array($_SERVER['REMOTE_ADDR'], array('88.163.22.99'))) {
+ define('_PS_MODE_DEV_', false);
+ }
+ else {
+ define('_PS_MODE_DEV_', false);
+ }
}
/* Compatibility warning */
@@ -40,7 +45,14 @@ if (_PS_MODE_DEV_ === true) {
define('_PS_DEBUG_SQL_', false);
}
-define('_PS_DEBUG_PROFILING_', false);
+
+if (in_array($_SERVER['REMOTE_ADDR'], array('88.163.22.99')) && isset($_GET['profiling'])) {
+ define('_PS_DEBUG_PROFILING_', true);
+}
+else {
+ define('_PS_DEBUG_PROFILING_', false);
+}
+
define('_PS_MODE_DEMO_', false);
$currentDir = dirname(__FILE__);
diff --git a/controllers/admin/AdminOrdersController.php b/controllers/admin/AdminOrdersController.php
index 93204c9..04d8dba 100755
--- a/controllers/admin/AdminOrdersController.php
+++ b/controllers/admin/AdminOrdersController.php
@@ -1521,6 +1521,7 @@ class AdminOrdersControllerCore extends AdminController
$this->errors[] = Tools::displayError('You do not have permission to edit this.');
}
} elseif (Tools::getValue('syncherp') == 1) {
+
$id_order = Tools::getValue('id_order', false);
if ($id_order) {
$order = new Order((int)$id_order);
@@ -1546,6 +1547,12 @@ class AdminOrdersControllerCore extends AdminController
if ($erporder) {
return $erporder->hookActionOrderStatusPostUpdate($params);
}
+ } else {
+ $sql = 'SELECT `name` FROM `'._DB_PREFIX_.'order_state_lang` WHERE `id_order_state` IN (1,2,10) AND id_lang = 1';
+ $rows = Db::getInstance()->executeS($sql);
+
+ $txt .= implode('", "', array_column($rows, 'name'));
+ $this->errors[] = Tools::displayError('Pas de synchro possible, la commande doit avoir eu l\'un des status suivants : "'.$txt.'"');
}
}
}
diff --git a/erp/erp_add_product.php b/erp/erp_add_product.php
index 7b40c69..7872c0b 100644
--- a/erp/erp_add_product.php
+++ b/erp/erp_add_product.php
@@ -173,17 +173,19 @@ foreach ($ids_product as $key => $id) {
$sql = 'INSERT INTO '._DB_PREFIX_.'image_lang (id_image, id_lang, legend) VALUES('.(int)$img_id.', 1, "'.$record['name'].'")';
$d->execute($sql);
- $tmp_path = _PS_TMP_IMG_DIR_.'odoo_tmp_image.jpg';
- $data = base64_decode($record['image']);
- file_put_contents($tmp_path, $data);
- $image = new Image($img_id);
- $new_path = $image->getPathForCreation();
- ImageManager::resize($tmp_path, $image->getPathForCreation().'.'.$image->image_format);
- $imagesTypes = ImageType::getImagesTypes('products');
- foreach ($imagesTypes as $imageType) {
- ImageManager::resize($tmp_path, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);
+ if (!empty($record['image'])) {
+ $tmp_path = _PS_TMP_IMG_DIR_.'odoo_tmp_image.jpg';
+ $data = base64_decode($record['image']);
+ file_put_contents($tmp_path, $data);
+ $image = new Image($img_id);
+ $new_path = $image->getPathForCreation();
+ ImageManager::resize($tmp_path, $image->getPathForCreation().'.'.$image->image_format);
+ $imagesTypes = ImageType::getImagesTypes('products');
+ foreach ($imagesTypes as $imageType) {
+ ImageManager::resize($tmp_path, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);
+ }
+ array_map('unlink', glob(_PS_TMP_IMG_DIR_.'*'));
}
- array_map('unlink', glob(_PS_TMP_IMG_DIR_.'*'));
// set variant
foreach ($variants as $key => $variant) {
diff --git a/erp/erp_update_product.php b/erp/erp_update_product.php
index ce5d40d..4688c27 100644
--- a/erp/erp_update_product.php
+++ b/erp/erp_update_product.php
@@ -95,9 +95,60 @@ foreach ($ids_product as $key => $id) {
$d->execute($sql);
+
$sql = 'SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_erp` = '.pSQL($id);
$product_id = $d->getRow($sql)['id_product'];
+ $sql = 'SELECT `id_image` FROM '._DB_PREFIX_.'image WHERE `id_product` = '.(int)$product_id;
+ $id_image = $d->getValue($sql);
+
+ if ($id_image) {
+ $image = new Image($id_image);
+ $imagesTypes = ImageType::getImagesTypes('products');
+ $existing_path = $image->getExistingImgPath();
+
+ $image_exists = true;
+ foreach ($imagesTypes as $imageType) {
+ $image_exists = file_exists($existing_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format);
+ if (!$image_exists) {
+ break;
+ }
+ }
+
+ if (!$image_exists) {
+ $sql = 'DELETE FROM '._DB_PREFIX_.'image WHERE id_image = '.(int)$id_image;
+ $d->execute($sql);
+ $sql = 'DELETE FROM '._DB_PREFIX_.'image_shop WHERE id_image = '.(int)$id_image;
+ $d->execute($sql);
+ $sql = 'DELETE FROM '._DB_PREFIX_.'image_lang WHERE id_image = '.(int)$id_image;
+ $d->execute($sql);
+ $id_image = null;
+ }
+ }
+
+ if (!$id_image) {
+ // set image
+ $sql = 'INSERT INTO '._DB_PREFIX_.'image (id_product, position, cover) VALUES('.(int)$product_id.', 0, 1)';
+ $d->execute($sql);
+ $img_id = $d->Insert_ID();
+ $sql = 'INSERT INTO '._DB_PREFIX_.'image_shop (id_product, id_image, id_shop, cover) VALUES('.(int)$product_id.', '.$img_id.',1, 1)';
+ $d->execute($sql);
+ $sql = 'INSERT INTO '._DB_PREFIX_.'image_lang (id_image, id_lang, legend) VALUES('.(int)$img_id.', 1, "'.$record['name'].'")';
+ $d->execute($sql);
+
+ $tmp_path = _PS_TMP_IMG_DIR_.'odoo_tmp_image_update.jpg';
+ $data = base64_decode($record['image']);
+ file_put_contents($tmp_path, $data);
+ $image = new Image($img_id);
+ $new_path = $image->getPathForCreation();
+ ImageManager::resize($tmp_path, $image->getPathForCreation().'.'.$image->image_format);
+ $imagesTypes = ImageType::getImagesTypes('products');
+ foreach ($imagesTypes as $imageType) {
+ ImageManager::resize($tmp_path, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);
+ }
+ array_map('unlink', glob(_PS_TMP_IMG_DIR_.'*'));
+ }
+
foreach ($variants as $key => $variant) {
$id_variant = $variant['id'];
diff --git a/modules/customerautogroups/changelog.txt b/modules/customerautogroups/changelog.txt
new file mode 100644
index 0000000..675deb6
--- /dev/null
+++ b/modules/customerautogroups/changelog.txt
@@ -0,0 +1,8 @@
+V 0.1.1 - 2015-11-13 : Compatiblité Prestashop 1.5 // Prestashop 1.5 compatibility
+V 0.1.2 - 2015-11-14 : Correctif affichage conditions de type addresse déjà enregistrées // Display fix for existing rules with address condition
+V 0.2.0 - 2015-12-07 : Ajout de la possibilité de definir le groupe par défaut, et de supprimer tous les autres groupes ( pour les règles stop processing)
+ New fonctionnalities allows you to define customer default group, and to delete others groups ( for stop processing rules )
+V 0.2.1 - 2015-12-18 : Correction dans l'application des règles + maj readme // Rules apply correction
+V 0.3.0 - 2016-01-11 : Nouvelles conditions de filtres (Like) // New filters condition ( Like)
+V 0.3.1 - 2016-06-17 : Autorisation de paramètres exclus // allow excluded parameters
+V 0.3.2 - 2016-06-18 : Correction conditions < && <=
\ No newline at end of file
diff --git a/modules/customerautogroups/classes/AutoGroupRule.php b/modules/customerautogroups/classes/AutoGroupRule.php
new file mode 100644
index 0000000..cb2c4f2
--- /dev/null
+++ b/modules/customerautogroups/classes/AutoGroupRule.php
@@ -0,0 +1,73 @@
+
+ * @copyright 2013-2015 Hennes Hervé
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+ * http://www.h-hennes.fr/blog/
+ */
+class AutoGroupRule extends ObjectModel
+{
+ /** Différents types de règles */
+ const RULE_TYPE_CUSTOMER = 1;
+ const RULE_TYPE_ADDRESS = 2;
+
+ public $id;
+ public $name;
+ public $description;
+ public $condition_type;
+ public $condition_field;
+ public $condition_operator;
+ public $condition_value;
+ public $id_group;
+ public $active;
+ public $priority;
+ public $stop_processing;
+ public $default_group;
+ public $clean_groups;
+ public $date_add;
+ public $date_upd;
+
+ public static $definition = array(
+ 'table' => 'autogroup_rule',
+ 'primary' => 'id_rule',
+ 'multilang' => true,
+ 'fields' => array(
+ 'condition_type' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
+ 'condition_field' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml',),
+ 'condition_operator' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml',),
+ 'condition_value' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'size' => 254),
+ 'id_group' => array('type' => self::TYPE_INT),
+ 'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
+ 'priority' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
+ 'stop_processing' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
+ 'default_group' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
+ 'clean_groups' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
+ 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
+ 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
+ // Lang fields
+ 'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 254),
+ 'description' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml'),
+ ),
+ );
+
+}
+?>
diff --git a/modules/customerautogroups/controllers/admin/rules.php b/modules/customerautogroups/controllers/admin/rules.php
new file mode 100644
index 0000000..3f7554f
--- /dev/null
+++ b/modules/customerautogroups/controllers/admin/rules.php
@@ -0,0 +1,365 @@
+
+ * @copyright 2013-2015 Hennes Hervé
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+ * http://www.h-hennes.fr/blog/
+ */
+include_once dirname(__FILE__).'/../../classes/AutoGroupRule.php';
+
+class RulesController extends ModuleAdminController
+{
+ //Champs clients exclus de la condition
+ protected $_customerExcludedFields = array('id', 'secure_key', 'ip_registration_newsletter', 'id_default_group', 'last_passwd_gen', 'last_passwd_gen',
+ 'passwd', 'definition');
+
+ //Champs clients
+ protected $customerFields;
+
+ //Champs addresse exclus de la condition
+ protected $_addressExcludedFields = array('force_id', 'id_customer', 'id_manufacturer', 'id_warehouse', 'id_supplier', 'deleted', 'definition');
+
+ //Champs adresse
+ protected $addressFields = array();
+
+ //Données du champ condition_field
+ protected $_conditionFieldDatas;
+
+ public function __construct()
+ {
+ $this->bootstrap = true;
+ $this->table = 'autogroup_rule';
+ $this->identifier = 'id_rule';
+ $this->className = 'AutoGroupRule';
+ $this->lang = true;
+ $this->addRowAction('edit');
+ $this->addRowAction('delete');
+ $this->_orderWay = 'ASC';
+
+ $this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'icon' => 'icon-trash', 'confirm' => $this->l('Delete selected items?')));
+
+ $this->rules_types = array(1 => $this->l('Customer'), 2 => $this->l('Customer Address'));
+
+ $this->fields_list = array(
+ 'id_rule' => array('title' => $this->l('ID'), 'align' => 'center', 'class' => 'fixed-width-xs'),
+ 'name' => array('title' => $this->l('Name')),
+ 'condition_type' => array(
+ 'title' => $this->l('Condition Type'),
+ 'align' => 'center',
+ 'class' => 'fixed-width-xs',
+ 'type' => 'select',
+ 'list' => $this->rules_types,
+ 'filter_key' => 'condition_type',
+ 'filter_type' => 'int',
+ ),
+ 'id_group' => array('title' => $this->l('Id group'), 'class' => 'fixed-width-sm', 'align' => 'center',),
+ 'priority' => array('title' => $this->l('Priority'), 'align' => 'center', 'class' => 'fixed-width-sm'),
+ 'stop_processing' => array('title' => $this->l('Stop processing'), 'active' => 'stop_processing', 'type' => 'bool', 'align' => 'center'),
+ 'default_group' => array('title' => $this->l('Default customer Group'), 'active' => 'default_group', 'type' => 'bool', 'align' => 'center'),
+ 'clean_groups' => array('title' => $this->l('Delete all others groups'), 'active' => 'clean_groups', 'type' => 'bool', 'align' => 'center'),
+ 'active' => array('title' => $this->l('Status'), 'active' => 'status', 'type' => 'bool', 'align' => 'center'),
+ );
+
+ parent::__construct();
+ }
+
+
+ /**
+ * Définition des médias du controller
+ */
+ public function setMedia()
+ {
+ parent::setMedia();
+ $this->addJS(_MODULE_DIR_.'customerautogroups/views/admin/js/customerautogroups.js');
+ }
+
+
+ /**
+ * Affichage de la liste
+ */
+ public function renderList()
+ {
+ $this->tpl_list_vars['condition_type'] = $this->rules_types;
+ return parent::renderList();
+ }
+
+ /**
+ * Initialisation des variables du formulaires
+ */
+ protected function _initForm()
+ {
+ //Liste des cas de conditions
+ $this->conditionsType = array(
+ array('id' => AutoGroupRule::RULE_TYPE_CUSTOMER, 'value' => 'Customer'),
+ array('id' => AutoGroupRule::RULE_TYPE_ADDRESS, 'value' => 'Address'),
+ );
+
+ //Liste des champs disponibles pour la classe Customer
+ $fields = get_class_vars('Customer');
+ $this->customerFields = array();
+ foreach ($fields as $key => $value) {
+ if (!in_array($key, $this->_customerExcludedFields)) {
+ $this->customerFields[] = array('id' => $key, 'value' => $key);
+ }
+ }
+
+ //Liste des champs disponibles pour la classe Customer
+ $afields = get_class_vars('Address');
+ foreach ($afields as $key => $value) {
+ if (!in_array($key, $this->_addressExcludedFields)) {
+ $this->addressFields[] = array('id' => $key, 'value' => $key);
+ }
+ }
+
+ //Gestion de l'affichage du champ "condition_field" pour les règles déjà existantes
+ if ( Tools::getValue('id_rule')) {
+ $rule = new AutoGroupRule(Tools::getValue('id_rule'));
+ if ( $rule->condition_type == AutoGroupRule::RULE_TYPE_CUSTOMER )
+ $this->_conditionFieldDatas = $this->customerFields;
+ else
+ $this->_conditionFieldDatas = $this->addressFields;
+ }
+ else {
+ $this->_conditionFieldDatas = $this->customerFields;
+ }
+ }
+
+ /**
+ * Affichage du formulaire d'édition
+ */
+ public function renderForm()
+ {
+ $this->_initForm();
+
+ //Liste des priorités
+ $priorities = array();
+ for ($i = 0; $i <= 10; $i++)
+ $priorities[] = array('id' => $i, 'value' => $i);
+
+ //Liste des groupes clients
+ $customerGroups = Group::getGroups($this->context->language->id);
+
+ //Liste des opérateurs
+ $operatorsList = array(
+ array('id' => 'eq', 'value' => '='),
+ array('id' => 'ne', 'value' => '!='),
+ array('id' => 'gt', 'value' => '>'),
+ array('id' => 'ge', 'value' => '>='),
+ array('id' => 'lt', 'value' => '<'),
+ array('id' => 'le', 'value' => '<='),
+ array('id' => 'LIKE %', 'value' => 'LIKE %'),
+ );
+
+ //Avec Prestashop < 1.6 le type switch n'existe pas il faut le remplacer par un radio
+ if ( _PS_VERSION_ < '1.6') {
+ $switch_type = 'radio';
+ }
+ else {
+ $switch_type = 'switch';
+ }
+
+
+ $this->fields_form = array(
+ 'legend' => array(
+ 'title' => $this->l('Edit Rule'),
+ 'icon' => 'icon-cog'
+ ),
+ 'input' => array(
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('name'),
+ 'name' => 'name',
+ 'lang' => true,
+ 'required' => true
+ ),
+ array(
+ 'type' => 'textarea',
+ 'label' => $this->l('description'),
+ 'name' => 'description',
+ 'lang' => true,
+ 'required' => true
+ ),
+ array(
+ 'type' => 'select',
+ 'label' => $this->l('Condition type'),
+ 'name' => 'condition_type',
+ 'required' => true,
+ 'class' => 'condition_type',
+ 'options' => array(
+ 'query' => $this->conditionsType,
+ 'id' => 'id',
+ 'name' => 'value',
+ ),
+ 'hint' => $this->l('The condition fields depend from the type')
+ ),
+ //Le changement du select précédent entraine le changement de celui-ci
+ array(
+ 'type' => 'select',
+ 'label' => $this->l('Condition Field'),
+ 'name' => 'condition_field',
+ 'class' => 'condition_field',
+ 'required' => true,
+ 'options' => array(
+ 'query' => $this->_conditionFieldDatas,
+ 'id' => 'id',
+ 'name' => 'value',
+ ),
+ ),
+ array(
+ 'type' => 'select',
+ 'label' => $this->l('Condition Operator'),
+ 'name' => 'condition_operator',
+ 'required' => true,
+ 'options' => array(
+ 'query' => $operatorsList,
+ 'id' => 'id',
+ 'name' => 'value',
+ )
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Condition Value'),
+ 'name' => 'condition_value',
+ 'required' => true
+ ),
+ //Bug sur la récupération du groupe
+ array(
+ 'type' => 'select',
+ 'label' => $this->l('Customer Group'),
+ 'name' => 'id_group',
+ 'required' => true,
+ 'options' => array(
+ 'query' => $customerGroups,
+ 'id' => 'id_group',
+ 'name' => 'name',
+ ),
+ 'hint' => $this->l('Select the group in which the customer will be added')
+ ),
+ array(
+ 'type' => 'select',
+ 'label' => $this->l('Priority'),
+ 'name' => 'priority',
+ 'required' => true,
+ 'options' => array(
+ 'query' => $priorities,
+ 'id' => 'id',
+ 'name' => 'value',
+ )
+ ),
+ array(
+ 'type' => $switch_type,
+ 'label' => $this->l('Active'),
+ 'name' => 'active',
+ 'class' => 't',
+ 'required' => true,
+ 'values' => array(
+ array('id' => 'on', 'value' => 1, 'label' => $this->l('Yes')),
+ array('id' => 'off', 'value' => 0, 'label' => $this->l('No')),
+ )
+ ),
+ array(
+ 'type' => $switch_type,
+ 'label' => $this->l('Stop processing further rules'),
+ 'name' => 'stop_processing',
+ 'class' => 't',
+ 'required' => true,
+ 'values' => array(
+ array('id' => 'on', 'value' => 1, 'label' => $this->l('Yes')),
+ array('id' => 'off', 'value' => 0, 'label' => $this->l('No')),
+ ),
+ 'hint' => $this->l('If enable this rule will be the latest processed')
+ ),
+ array(
+ 'type' => $switch_type,
+ 'label' => $this->l('Default customer Group'),
+ 'name' => 'default_group',
+ 'class' => 't',
+ 'required' => true,
+ 'values' => array(
+ array('id' => 'on', 'value' => 1, 'label' => $this->l('Yes')),
+ array('id' => 'off', 'value' => 0, 'label' => $this->l('No')),
+ ),
+ 'hint' => $this->l('Only works for rule which stop processing')
+ ),
+ array(
+ 'type' => $switch_type,
+ 'label' => $this->l('Delete all others groups'),
+ 'name' => 'clean_groups',
+ 'class' => 't',
+ 'required' => true,
+ 'values' => array(
+ array('id' => 'on', 'value' => 1, 'label' => $this->l('Yes')),
+ array('id' => 'off', 'value' => 0, 'label' => $this->l('No')),
+ ),
+ 'hint' => $this->l('Only works for rule which stop processing')
+ ),
+ //Token pour action ajax
+ array(
+ 'type' => 'hidden',
+ 'label' => 'token',
+ 'name' => 'token',
+ 'value' => $this->token,
+ 'required'=> false,
+ )
+ ),
+ 'submit' => array(
+ 'title' => $this->l('Save')
+ )
+ );
+
+ return parent::renderForm();
+ }
+
+ /**
+ * Ajout du bouton d'ajout dans la toolbar
+ */
+ public function initPageHeaderToolbar()
+ {
+ $this->page_header_toolbar_btn['new_rule'] = array(
+ 'href' => self::$currentIndex.'&addautogroup_rule&token='.$this->token,
+ 'desc' => $this->l('Add new rule', null, null, false),
+ 'icon' => 'process-icon-new'
+ );
+
+
+ parent::initPageHeaderToolbar();
+ }
+
+ /**
+ * Mise à jour ajax des champs des règles en fonction du type
+ */
+ public function displayAjaxUpdateConditionTypeSelect(){
+
+ $this->_initForm();
+
+ if ( Tools::getValue('condition_type') == AutoGroupRule::RULE_TYPE_CUSTOMER ) {
+ $fields = $this->customerFields;
+ }
+ else {
+ $fields = $this->addressFields;
+ }
+
+ foreach ( $fields as $field ) {
+ echo '';
+ }
+ }
+}
+?>
diff --git a/modules/customerautogroups/customerautogroups.php b/modules/customerautogroups/customerautogroups.php
new file mode 100644
index 0000000..133f4b4
--- /dev/null
+++ b/modules/customerautogroups/customerautogroups.php
@@ -0,0 +1,267 @@
+
+ * @copyright 2013-2015 Hennes Hervé
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+ * http://www.h-hennes.fr/blog/
+ */
+class customerautogroups extends Module
+{
+
+ public function __construct()
+ {
+ $this->author = 'hhennes';
+ $this->name = 'customerautogroups';
+ $this->tab = 'hhennes';
+ $this->version = '0.3.2';
+ $this->need_instance = 0;
+
+ parent::__construct();
+
+ $this->displayName = $this->l('Customers Auto groups');
+ $this->description = $this->l('Add automaticaly customers to groups depending from params after registration');
+ }
+
+ /**
+ * Installation du module
+ */
+ public function install()
+ {
+ if (!parent::install() || !$this->registerHook('actionCustomerAccountAdd'))
+ {
+ return false;
+ }
+
+ //Création d'une tab prestashop
+ $tab = new Tab();
+ $tab->class_name = 'Rules';
+ $tab->module = $this->name;
+ $tab->id_parent = Tab::getIdFromClassName('AdminParentCustomer');
+ $languages = Language::getLanguages();
+ foreach ($languages as $lang) {
+ $tab->name[$lang['id_lang']] = 'Customer Auto Groups';
+ }
+ try {
+ $tab->save();
+ } catch (Exception $e) {
+ echo $e->getMessage();
+ return false;
+ }
+
+ if ( !$this->_installSql())
+ return false;
+
+ return true;
+ }
+
+ /**
+ * Installation des tables du module
+ * @return boolean
+ */
+ protected function _installSql()
+ {
+ $sqlRule = "CREATE TABLE IF NOT EXISTS `"._DB_PREFIX_."autogroup_rule` (
+ `id_rule` int(11) NOT NULL AUTO_INCREMENT,
+ `condition_type` tinyint(2) NOT NULL,
+ `condition_field` varchar(255) NOT NULL,
+ `condition_operator` varchar(10) NOT NULL,
+ `condition_value` varchar(255) NOT NULL,
+ `id_group` int(11) NOT NULL,
+ `active` tinyint(1) unsigned NOT NULL,
+ `priority` tinyint(2) unsigned NOT NULL,
+ `stop_processing` tinyint(1) unsigned NOT NULL,
+ `default_group` tinyint(1) unsigned NOT NULL,
+ `clean_groups` tinyint(1) unsigned NOT NULL,
+ `date_add` datetime NOT NULL,
+ `date_upd` datetime NOT NULL,
+ PRIMARY KEY (`id_rule`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;";
+
+ $sqlRuleLang = "CREATE TABLE IF NOT EXISTS `"._DB_PREFIX_."autogroup_rule_lang` (
+ `id_rule` int(11) NOT NULL,
+ `id_lang` int(11) NOT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `description` text,
+ PRIMARY KEY (`id_rule`,`id_lang`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1;" ;
+
+ if ( !Db::getInstance()->Execute($sqlRule) || !Db::getInstance()->Execute($sqlRuleLang))
+ return false;
+
+ return true;
+ }
+
+ /**
+ * Désinstalation du module
+ */
+ public function uninstall()
+ {
+ //Suppression de la tab admin
+ $id_tab = Tab::getIdFromClassName('rules');
+ if ($id_tab) {
+ $tab = new Tab($id_tab);
+ $tab->delete();
+ }
+
+ Db::getInstance("DROP TABLE IF EXISTS `"._DB_PREFIX_."autogroup_rule`");
+ Db::getInstance("DROP TABLE IF EXISTS `"._DB_PREFIX_."autogroup_rule_lang`");
+
+ return parent::uninstall();
+ }
+
+ /**
+ * Hook Exécuté après la création d'un compte client
+ * @param array $params : informations du compte client créé
+ */
+ public function hookActionCustomerAccountAdd($params)
+ {
+ $this->_processGroupRules($params['newCustomer']);
+ }
+
+ /**
+ * Traitement des règles
+ * @param Customer $customer
+ */
+ protected function _processGroupRules(Customer $customer)
+ {
+
+ //Inclusion de la classe des règles
+ include_once _PS_MODULE_DIR_.'/customerautogroups/classes/AutoGroupRule.php';
+
+ //Nombres d'adresses du client
+ $customer_addresses = Customer::getAddressesTotalById($customer->id);
+
+ //Si le client n'a pas d'adresse on ne peut pas traiter les règles liées aux données d'adresses.
+ if (!$customer_addresses) {
+ $sqlCond = ' AND condition_type = 1 ';
+ } else {
+ $sqlCond = '';
+ }
+
+ //Récupération des règles applicables au client
+ $rules = Db::getInstance()->ExecuteS("SELECT * FROM "._DB_PREFIX_."autogroup_rule WHERE active=1 ".$sqlCond." ORDER BY priority");
+
+ $customerGroups = array();
+ foreach ($rules as $rule) {
+
+ //Traitement des règles de type "Client"
+ if ($rule['condition_type'] == AutoGroupRule::RULE_TYPE_CUSTOMER) {
+ $obj = $customer;
+ }
+ //Traitement des règles de type Adresse
+ else if ($rule['condition_type'] == AutoGroupRule::RULE_TYPE_ADDRESS ) {
+ //Normalement vu que le client vient d'être créé il ne peut avoir qu'une adresse
+ $id_address = Db::getInstance()->getValue("SELECT id_address FROM "._DB_PREFIX_."address WHERE id_customer=".$customer->id);
+ $obj = new Address($id_address);
+ }
+ //Type Inconnu : non traité
+ else {
+ //echo $this->l('Error : rule type unknow');
+ continue;
+ }
+
+ //Il faut que la propriété de l'objet existe
+ if (!property_exists($obj, $rule['condition_field'])) {
+ //echo sprintf($this->l('Error : Unknow proprerty %s for class %'), $rule['condition_field'], get_class($obj));
+ continue;
+ }
+
+ //On teste la conditon
+ $ruleApplied = false;
+ $defaultGroup = false;
+ $cleanGroups = false;
+
+ switch ($rule['condition_operator']) {
+
+ case 'eq':
+ if ($obj->{$rule['condition_field']} == $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'ne':
+ if ($obj->{$rule['condition_field']} != $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'gt':
+ if ($obj->{$rule['condition_field']} > $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'ge':
+ if ($obj->{$rule['condition_field']} >= $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'lt':
+ if ($obj->{$rule['condition_field']} < $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'le':
+ if ($obj->{$rule['condition_field']} <= $rule['condition_value']) $ruleApplied = true;
+ break;
+
+ case 'LIKE %':
+ if ( preg_match('#'.$rule['condition_value'].'#',$obj->{$rule['condition_field']}) )
+ $ruleApplied = true;
+ break;
+ }
+
+ if ($ruleApplied) {
+ //echo sprintf( $this->l('Rule %d applied for customer'),$rule['id_rule']).'
';
+ $customerGroups[] = $rule['id_group'];
+
+ //Si la règle doit être la dernière à être traitée, on sors de la boucle
+ if ($rule['stop_processing'] == 1) {
+ if ($rule['default_group'] == 1) {
+ $defaultGroup = $rule['id_group'];
+ }
+ if ($rule['clean_groups'] == 1) {
+ $cleanGroups = true;
+ }
+ break;
+ }
+ }
+
+ }
+ //Ajout du client aux groupes nécessaires
+ if ( sizeof($customerGroups)) {
+
+ //Si le flag de suppression des groupes
+ if ( $cleanGroups )
+ $customer->cleanGroups();
+
+ //Application du groupe par défaut
+ if ( $defaultGroup ) {
+ $customer->id_default_group = $defaultGroup;
+ try {
+ $customer->save();
+ } catch (PrestaShopException $e) {
+ echo $e->getMessage();
+ }
+ }
+
+ //Suppression des doublons
+ $customerGroups = array_unique($customerGroups);
+
+ //Ajout du client aux groups nécessaires
+ $customer->addGroups($customerGroups);
+ }
+
+ }
+}
diff --git a/modules/customerautogroups/views/admin/js/customerautogroups.js b/modules/customerautogroups/views/admin/js/customerautogroups.js
new file mode 100644
index 0000000..6d10ac8
--- /dev/null
+++ b/modules/customerautogroups/views/admin/js/customerautogroups.js
@@ -0,0 +1,20 @@
+$(function(){
+
+ //Changement du type de condition dans le formulaire
+ $('#condition_type').change(function(){
+ $.ajax({
+ type: 'POST',
+ url : currentIndex,
+ data : {
+ 'ajax' : true,
+ 'action' : 'UpdateConditionTypeSelect',
+ 'token': $('#token').val(),
+ 'condition_type' : $(this).val()
+ },
+ complete: function(msg){
+ $('#condition_field').html('').html(msg.responseText);
+ }
+ })
+ });
+});
+
diff --git a/opcache.php b/opcache.php
new file mode 100644
index 0000000..22b4b2f
--- /dev/null
+++ b/opcache.php
@@ -0,0 +1,744 @@
+You do not have the Zend OPcache extension loaded, sample data is being shown instead.
';
+ require 'data-sample.php';
+}
+
+class OpCacheDataModel
+{
+ private $_configuration;
+ private $_status;
+ private $_d3Scripts = array();
+
+ public function __construct()
+ {
+ $this->_configuration = opcache_get_configuration();
+ $this->_status = opcache_get_status();
+ }
+
+ public function getPageTitle()
+ {
+ return 'PHP ' . phpversion() . " with OpCache {$this->_configuration['version']['version']}";
+ }
+
+ public function getStatusDataRows()
+ {
+ $rows = array();
+ foreach ($this->_status as $key => $value) {
+ if ($key === 'scripts') {
+ continue;
+ }
+
+ if (is_array($value)) {
+ foreach ($value as $k => $v) {
+ if ($v === false) {
+ $value = 'false';
+ }
+ if ($v === true) {
+ $value = 'true';
+ }
+ if ($k === 'used_memory' || $k === 'free_memory' || $k === 'wasted_memory') {
+ $v = $this->_size_for_humans(
+ $v
+ );
+ }
+ if ($k === 'current_wasted_percentage' || $k === 'opcache_hit_rate') {
+ $v = number_format(
+ $v,
+ 2
+ ) . '%';
+ }
+ if ($k === 'blacklist_miss_ratio') {
+ $v = number_format($v, 2) . '%';
+ }
+ if ($k === 'start_time' || $k === 'last_restart_time') {
+ $v = ($v ? date(DATE_RFC822, $v) : 'never');
+ }
+ if (THOUSAND_SEPARATOR === true && is_int($v)) {
+ $v = number_format($v);
+ }
+
+ $rows[] = "
$k | $v |
---|
\n";
+ }
+ continue;
+ }
+ if ($value === false) {
+ $value = 'false';
+ }
+ if ($value === true) {
+ $value = 'true';
+ }
+ $rows[] = "
$key | $value |
---|
\n";
+ }
+
+ return implode("\n", $rows);
+ }
+
+ public function getConfigDataRows()
+ {
+ $rows = array();
+ foreach ($this->_configuration['directives'] as $key => $value) {
+ if ($value === false) {
+ $value = 'false';
+ }
+ if ($value === true) {
+ $value = 'true';
+ }
+ if ($key == 'opcache.memory_consumption') {
+ $value = $this->_size_for_humans($value);
+ }
+ $rows[] = "
$key | $value |
---|
\n";
+ }
+
+ return implode("\n", $rows);
+ }
+
+ public function getScriptStatusRows()
+ {
+ foreach ($this->_status['scripts'] as $key => $data) {
+ $dirs[dirname($key)][basename($key)] = $data;
+ $this->_arrayPset($this->_d3Scripts, $key, array(
+ 'name' => basename($key),
+ 'size' => $data['memory_consumption'],
+ ));
+ }
+
+ asort($dirs);
+
+ $basename = '';
+ while (true) {
+ if (count($this->_d3Scripts) !=1) break;
+ $basename .= DIRECTORY_SEPARATOR . key($this->_d3Scripts);
+ $this->_d3Scripts = reset($this->_d3Scripts);
+ }
+
+ $this->_d3Scripts = $this->_processPartition($this->_d3Scripts, $basename);
+ $id = 1;
+
+ $rows = array();
+ foreach ($dirs as $dir => $files) {
+ $count = count($files);
+ $file_plural = $count > 1 ? 's' : null;
+ $m = 0;
+ foreach ($files as $file => $data) {
+ $m += $data["memory_consumption"];
+ }
+ $m = $this->_size_for_humans($m);
+
+ if ($count > 1) {
+ $rows[] = '
';
+ $rows[] = "{$dir} ({$count} file{$file_plural}, {$m}) | ";
+ $rows[] = '
';
+ }
+
+ foreach ($files as $file => $data) {
+ $rows[] = "
";
+ $rows[] = "" . $this->_format_value($data["hits"]) . " | ";
+ $rows[] = "" . $this->_size_for_humans($data["memory_consumption"]) . " | ";
+ $rows[] = $count > 1 ? "{$file} | " : "{$dir}/{$file} | ";
+ $rows[] = '
';
+ }
+
+ ++$id;
+ }
+
+ return implode("\n", $rows);
+ }
+
+ public function getScriptStatusCount()
+ {
+ return count($this->_status["scripts"]);
+ }
+
+ public function getGraphDataSetJson()
+ {
+ $dataset = array();
+ $dataset['memory'] = array(
+ $this->_status['memory_usage']['used_memory'],
+ $this->_status['memory_usage']['free_memory'],
+ $this->_status['memory_usage']['wasted_memory'],
+ );
+
+ $dataset['keys'] = array(
+ $this->_status['opcache_statistics']['num_cached_keys'],
+ $this->_status['opcache_statistics']['max_cached_keys'] - $this->_status['opcache_statistics']['num_cached_keys'],
+ 0
+ );
+
+ $dataset['hits'] = array(
+ $this->_status['opcache_statistics']['misses'],
+ $this->_status['opcache_statistics']['hits'],
+ 0,
+ );
+
+ $dataset['restarts'] = array(
+ $this->_status['opcache_statistics']['oom_restarts'],
+ $this->_status['opcache_statistics']['manual_restarts'],
+ $this->_status['opcache_statistics']['hash_restarts'],
+ );
+
+ if (THOUSAND_SEPARATOR === true) {
+ $dataset['TSEP'] = 1;
+ } else {
+ $dataset['TSEP'] = 0;
+ }
+
+ return json_encode($dataset);
+ }
+
+ public function getHumanUsedMemory()
+ {
+ return $this->_size_for_humans($this->getUsedMemory());
+ }
+
+ public function getHumanFreeMemory()
+ {
+ return $this->_size_for_humans($this->getFreeMemory());
+ }
+
+ public function getHumanWastedMemory()
+ {
+ return $this->_size_for_humans($this->getWastedMemory());
+ }
+
+ public function getUsedMemory()
+ {
+ return $this->_status['memory_usage']['used_memory'];
+ }
+
+ public function getFreeMemory()
+ {
+ return $this->_status['memory_usage']['free_memory'];
+ }
+
+ public function getWastedMemory()
+ {
+ return $this->_status['memory_usage']['wasted_memory'];
+ }
+
+ public function getWastedMemoryPercentage()
+ {
+ return number_format($this->_status['memory_usage']['current_wasted_percentage'], 2);
+ }
+
+ public function getD3Scripts()
+ {
+ return $this->_d3Scripts;
+ }
+
+ private function _processPartition($value, $name = null)
+ {
+ if (array_key_exists('size', $value)) {
+ return $value;
+ }
+
+ $array = array('name' => $name,'children' => array());
+
+ foreach ($value as $k => $v) {
+ $array['children'][] = $this->_processPartition($v, $k);
+ }
+
+ return $array;
+ }
+
+ private function _format_value($value)
+ {
+ if (THOUSAND_SEPARATOR === true) {
+ return number_format($value);
+ } else {
+ return $value;
+ }
+ }
+
+ private function _size_for_humans($bytes)
+ {
+ if ($bytes > 1048576) {
+ return sprintf('%.2f MB', $bytes / 1048576);
+ } else {
+ if ($bytes > 1024) {
+ return sprintf('%.2f kB', $bytes / 1024);
+ } else {
+ return sprintf('%d bytes', $bytes);
+ }
+ }
+ }
+
+ // Borrowed from Laravel
+ private function _arrayPset(&$array, $key, $value)
+ {
+ if (is_null($key)) return $array = $value;
+ $keys = explode(DIRECTORY_SEPARATOR, ltrim($key, DIRECTORY_SEPARATOR));
+ while (count($keys) > 1) {
+ $key = array_shift($keys);
+ if ( ! isset($array[$key]) || ! is_array($array[$key])) {
+ $array[$key] = array();
+ }
+ $array =& $array[$key];
+ }
+ $array[array_shift($keys)] = $value;
+ return $array;
+ }
+
+}
+
+$dataModel = new OpCacheDataModel();
+?>
+
+
+
+
+
+
+
+
+
getPageTitle(); ?>
+
+
+
+
+
getPageTitle(); ?>
+
+
+
+
+
+
+
+
+ getStatusDataRows(); ?>
+
+
+
+
+
+
+
+
+
+ getConfigDataRows(); ?>
+
+
+
+
+
+
+
+
+
+
+ Hits |
+ Memory |
+ Path |
+
+ getScriptStatusRows(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
✖ Close Visualisation
+
+
+
+
+
diff --git a/override/classes/Cart.php b/override/classes/Cart.php
index a5ab589..1208dcd 100644
--- a/override/classes/Cart.php
+++ b/override/classes/Cart.php
@@ -26,13 +26,13 @@ class Cart extends CartCore
// Build SELECT
$sql->select('cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`,
- pl.`description_short`, pl.`available_now`, pl.`available_later`, product_shop.`id_category_default`, p.`id_supplier`,
- p.`id_manufacturer`, p.`nb_per_box`, p.`online_only`, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`,
- product_shop.`available_for_order`, product_shop.`price`, product_shop.`active`, product_shop.`unity`, product_shop.`unit_price_ratio`,
- stock.`quantity` AS quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, p.`weight`,
- p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category,
- CONCAT(LPAD(cp.`id_product`, 10, 0), LPAD(IFNULL(cp.`id_product_attribute`, 0), 10, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery,
- product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference');
+ pl.`description_short`, pl.`available_now`, pl.`available_later`, product_shop.`id_category_default`, p.`id_supplier`,
+ p.`id_manufacturer`, p.`nb_per_box`, p.`online_only`, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`,
+ product_shop.`available_for_order`, product_shop.`price`, product_shop.`active`, product_shop.`unity`, product_shop.`unit_price_ratio`,
+ stock.`quantity` AS quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, p.`weight`,
+ p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category,
+ CONCAT(LPAD(cp.`id_product`, 10, 0), LPAD(IFNULL(cp.`id_product_attribute`, 0), 10, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery,
+ product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference');
// Build FROM
$sql->from('cart_product', 'cp');
@@ -41,13 +41,13 @@ class Cart extends CartCore
$sql->leftJoin('product', 'p', 'p.`id_product` = cp.`id_product`');
$sql->innerJoin('product_shop', 'product_shop', '(product_shop.`id_shop` = cp.`id_shop` AND product_shop.`id_product` = p.`id_product`)');
$sql->leftJoin('product_lang', 'pl', '
- p.`id_product` = pl.`id_product`
- AND pl.`id_lang` = '.(int)$this->id_lang.Shop::addSqlRestrictionOnLang('pl', 'cp.id_shop')
+ p.`id_product` = pl.`id_product`
+ AND pl.`id_lang` = '.(int)$this->id_lang.Shop::addSqlRestrictionOnLang('pl', 'cp.id_shop')
);
$sql->leftJoin('category_lang', 'cl', '
- product_shop.`id_category_default` = cl.`id_category`
- AND cl.`id_lang` = '.(int)$this->id_lang.Shop::addSqlRestrictionOnLang('cl', 'cp.id_shop')
+ product_shop.`id_category_default` = cl.`id_category`
+ AND cl.`id_lang` = '.(int)$this->id_lang.Shop::addSqlRestrictionOnLang('cl', 'cp.id_shop')
);
$sql->leftJoin('product_supplier', 'ps', 'ps.`id_product` = cp.`id_product` AND ps.`id_product_attribute` = cp.`id_product_attribute` AND ps.`id_supplier` = p.`id_supplier`');
@@ -76,21 +76,21 @@ class Cart extends CartCore
if (Combination::isFeatureActive()) {
$sql->select('
- product_attribute_shop.`price` AS price_attribute, product_attribute_shop.`ecotax` AS ecotax_attr,
- IF (IFNULL(pa.`reference`, \'\') = \'\', p.`reference`, pa.`reference`) AS reference,
- (p.`weight`+ pa.`weight`) weight_attribute,
- IF (IFNULL(pa.`ean13`, \'\') = \'\', p.`ean13`, pa.`ean13`) AS ean13,
- IF (IFNULL(pa.`upc`, \'\') = \'\', p.`upc`, pa.`upc`) AS upc,
- IFNULL(product_attribute_shop.`minimal_quantity`, product_shop.`minimal_quantity`) as minimal_quantity,
- IF(product_attribute_shop.wholesale_price > 0, product_attribute_shop.wholesale_price, product_shop.`wholesale_price`) wholesale_price
- ');
+ product_attribute_shop.`price` AS price_attribute, product_attribute_shop.`ecotax` AS ecotax_attr,
+ IF (IFNULL(pa.`reference`, \'\') = \'\', p.`reference`, pa.`reference`) AS reference,
+ (p.`weight`+ pa.`weight`) weight_attribute,
+ IF (IFNULL(pa.`ean13`, \'\') = \'\', p.`ean13`, pa.`ean13`) AS ean13,
+ IF (IFNULL(pa.`upc`, \'\') = \'\', p.`upc`, pa.`upc`) AS upc,
+ IFNULL(product_attribute_shop.`minimal_quantity`, product_shop.`minimal_quantity`) as minimal_quantity,
+ IF(product_attribute_shop.wholesale_price > 0, product_attribute_shop.wholesale_price, product_shop.`wholesale_price`) wholesale_price
+ ');
$sql->leftJoin('product_attribute', 'pa', 'pa.`id_product_attribute` = cp.`id_product_attribute`');
$sql->leftJoin('product_attribute_shop', 'product_attribute_shop', '(product_attribute_shop.`id_shop` = cp.`id_shop` AND product_attribute_shop.`id_product_attribute` = pa.`id_product_attribute`)');
} else {
$sql->select(
'p.`reference` AS reference, p.`ean13`,
- p.`upc` AS upc, product_shop.`minimal_quantity` AS minimal_quantity, product_shop.`wholesale_price` wholesale_price'
+ p.`upc` AS upc, product_shop.`minimal_quantity` AS minimal_quantity, product_shop.`wholesale_price` wholesale_price'
);
}
@@ -100,6 +100,7 @@ class Cart extends CartCore
$result = Db::getInstance()->executeS($sql);
+
// Reset the cache before the following return, or else an empty cart will add dozens of queries
$products_ids = array();
$pa_ids = array();
diff --git a/override/classes/Category.php b/override/classes/Category.php
index fd1132b..f94be03 100644
--- a/override/classes/Category.php
+++ b/override/classes/Category.php
@@ -56,5 +56,4 @@ class Category extends CategoryCore
return $categories;
}
-
}
\ No newline at end of file
diff --git a/override/controllers/admin/AdminCustomersController.php b/override/controllers/admin/AdminCustomersController.php
new file mode 100644
index 0000000..911da76
--- /dev/null
+++ b/override/controllers/admin/AdminCustomersController.php
@@ -0,0 +1,173 @@
+loadObject())) {
+ return;
+ }
+
+ $this->context->customer = $customer;
+ $gender = new Gender($customer->id_gender, $this->context->language->id);
+ $gender_image = $gender->getImage();
+
+ $customer_stats = $customer->getStats();
+ $sql = 'SELECT SUM(total_paid_real) FROM '._DB_PREFIX_.'orders WHERE id_customer = %d AND valid = 1';
+ if ($total_customer = Db::getInstance()->getValue(sprintf($sql, $customer->id))) {
+ $sql = 'SELECT SQL_CALC_FOUND_ROWS COUNT(*) FROM '._DB_PREFIX_.'orders WHERE valid = 1 AND id_customer != '.(int)$customer->id.' GROUP BY id_customer HAVING SUM(total_paid_real) > %d';
+ Db::getInstance()->getValue(sprintf($sql, (int)$total_customer));
+ $count_better_customers = (int)Db::getInstance()->getValue('SELECT FOUND_ROWS()') + 1;
+ } else {
+ $count_better_customers = '-';
+ }
+
+ $orders = Order::getCustomerOrders($customer->id, true);
+ $total_orders = count($orders);
+ for ($i = 0; $i < $total_orders; $i++) {
+ $orders[$i]['total_paid_real_not_formated'] = $orders[$i]['total_paid_real'];
+ $orders[$i]['total_paid_real'] = Tools::displayPrice($orders[$i]['total_paid_real'], new Currency((int)$orders[$i]['id_currency']));
+ }
+
+ $messages = CustomerThread::getCustomerMessages((int)$customer->id);
+
+ $total_messages = count($messages);
+ for ($i = 0; $i < $total_messages; $i++) {
+ $messages[$i]['message'] = substr(strip_tags(html_entity_decode($messages[$i]['message'], ENT_NOQUOTES, 'UTF-8')), 0, 75);
+ $messages[$i]['date_add'] = Tools::displayDate($messages[$i]['date_add'], null, true);
+ if (isset(self::$meaning_status[$messages[$i]['status']])) {
+ $messages[$i]['status'] = self::$meaning_status[$messages[$i]['status']];
+ }
+ }
+
+ $groups = $customer->getGroups();
+ $total_groups = count($groups);
+ for ($i = 0; $i < $total_groups; $i++) {
+ $group = new Group($groups[$i]);
+ $groups[$i] = array();
+ $groups[$i]['id_group'] = $group->id;
+ $groups[$i]['name'] = $group->name[$this->default_form_language];
+ }
+
+ $total_ok = 0;
+ $orders_ok = array();
+ $orders_ko = array();
+ foreach ($orders as $order) {
+ if (!isset($order['order_state'])) {
+ $order['order_state'] = $this->l('There is no status defined for this order.');
+ }
+
+ if ($order['valid']) {
+ $orders_ok[] = $order;
+ $total_ok += $order['total_paid_real_not_formated'];
+ } else {
+ $orders_ko[] = $order;
+ }
+ }
+
+ $products = $customer->getBoughtProducts();
+
+ $this->context->currency = Currency::getDefaultCurrency();
+
+ $sql = 'SELECT DISTINCT cp.id_product, c.id_cart, c.id_shop, cp.id_shop AS cp_id_shop
+ FROM '._DB_PREFIX_.'cart_product cp
+ JOIN '._DB_PREFIX_.'cart c ON (c.id_cart = cp.id_cart)
+ JOIN '._DB_PREFIX_.'product p ON (cp.id_product = p.id_product)
+ WHERE c.id_customer = '.(int)$customer->id.'
+ AND NOT EXISTS (
+ SELECT 1
+ FROM '._DB_PREFIX_.'orders o
+ JOIN '._DB_PREFIX_.'order_detail od ON (o.id_order = od.id_order)
+ WHERE product_id = cp.id_product AND o.valid = 1 AND o.id_customer = '.(int)$customer->id.'
+ )';
+ $interested = Db::getInstance()->executeS($sql);
+ $total_interested = count($interested);
+ for ($i = 0; $i < $total_interested; $i++) {
+ $product = new Product($interested[$i]['id_product'], false, $this->default_form_language, $interested[$i]['id_shop']);
+ if (!Validate::isLoadedObject($product)) {
+ continue;
+ }
+ $interested[$i]['url'] = $this->context->link->getProductLink(
+ $product->id,
+ $product->link_rewrite,
+ Category::getLinkRewrite($product->id_category_default, $this->default_form_language),
+ null,
+ null,
+ $interested[$i]['cp_id_shop']
+ );
+ $interested[$i]['id'] = (int)$product->id;
+ $interested[$i]['name'] = Tools::htmlentitiesUTF8($product->name);
+ }
+
+ $emails = $customer->getLastEmails();
+
+ $connections = $customer->getLastConnections();
+ if (!is_array($connections)) {
+ $connections = array();
+ }
+ $total_connections = count($connections);
+ for ($i = 0; $i < $total_connections; $i++) {
+ $connections[$i]['http_referer'] = $connections[$i]['http_referer'] ? preg_replace('/^www./', '', parse_url($connections[$i]['http_referer'], PHP_URL_HOST)) : $this->l('Direct link');
+ }
+
+ $referrers = Referrer::getReferrers($customer->id);
+ $total_referrers = count($referrers);
+ for ($i = 0; $i < $total_referrers; $i++) {
+ $referrers[$i]['date_add'] = Tools::displayDate($referrers[$i]['date_add'], null, true);
+ }
+
+ $customerLanguage = new Language($customer->id_lang);
+ $shop = new Shop($customer->id_shop);
+ $this->tpl_view_vars = array(
+ 'customer' => $customer,
+ 'gender' => $gender,
+ 'gender_image' => $gender_image,
+ // General information of the customer
+ 'registration_date' => Tools::displayDate($customer->date_add, null, true),
+ 'customer_stats' => $customer_stats,
+ 'last_visit' => Tools::displayDate($customer_stats['last_visit'], null, true),
+ 'count_better_customers' => $count_better_customers,
+ 'shop_is_feature_active' => Shop::isFeatureActive(),
+ 'name_shop' => $shop->name,
+ 'customer_birthday' => Tools::displayDate($customer->birthday),
+ 'last_update' => Tools::displayDate($customer->date_upd, null, true),
+ 'customer_exists' => Customer::customerExists($customer->email),
+ 'id_lang' => $customer->id_lang,
+ 'customerLanguage' => $customerLanguage,
+ // Add a Private note
+ 'customer_note' => Tools::htmlentitiesUTF8($customer->note),
+ // Messages
+ 'messages' => $messages,
+ // Groups
+ 'groups' => $groups,
+ // Orders
+ 'orders' => $orders,
+ 'orders_ok' => $orders_ok,
+ 'orders_ko' => $orders_ko,
+ 'total_ok' => Tools::displayPrice($total_ok, $this->context->currency->id),
+ // Products
+ 'products' => $products,
+ // Addresses
+ 'addresses' => $customer->getAddresses($this->default_form_language),
+ // Discounts
+ 'discounts' => CartRule::getCustomerCartRules($this->default_form_language, $customer->id, false, false),
+ // Interested
+ 'interested' => $interested,
+ // Emails
+ 'emails' => $emails,
+ // Connections
+ 'connections' => $connections,
+ // Referrers
+ 'referrers' => $referrers,
+ 'show_toolbar' => true
+ );
+
+ return AdminController::renderView();
+ }
+}
diff --git a/override/controllers/front/CartController.php b/override/controllers/front/CartController.php
index e3b1ea9..0293dc2 100644
--- a/override/controllers/front/CartController.php
+++ b/override/controllers/front/CartController.php
@@ -4,6 +4,7 @@ class CartController extends CartControllerCore
{
protected function processChangeProductInCart()
{
+
$mode = (Tools::getIsset('update') && $this->id_product) ? 'update' : 'add';
if ($this->qty == 0) {
@@ -89,10 +90,11 @@ class CartController extends CartControllerCore
if(!Tools::getIsset('summary'))
{
- $this->context->cart->deleteProduct($this->id_product, $this->id_product_attribute, $this->customization_id);
+ $this->context->cart->deleteProduct($this->id_product, $this->id_product_attribute, $this->customization_id);
}
$update_quantity = $this->context->cart->updateQty($this->qty, $this->id_product, $this->id_product_attribute, $this->customization_id, Tools::getValue('op', 'up'), $this->id_address_delivery);
+
if ($update_quantity < 0) {
// If product has attribute, minimal quantity is set with minimal quantity of attribute
$minimal_quantity = ($this->id_product_attribute) ? Attribute::getAttributeMinimalQty($this->id_product_attribute) : $product->minimal_quantity;
diff --git a/themes/roykin/js/modules/blockcart/ajax-cart.js b/themes/roykin/js/modules/blockcart/ajax-cart.js
index 57a6227..4109bd5 100644
--- a/themes/roykin/js/modules/blockcart/ajax-cart.js
+++ b/themes/roykin/js/modules/blockcart/ajax-cart.js
@@ -155,7 +155,7 @@ var ajaxCart = {
// add a product in the cart via ajax
add : function(idProduct, idCombination, addedFromListing, callerElement, quantity){
-
+
emptyCustomizations();
$(callerElement).prop('disabled', 'disabled');
diff --git a/tools/antadis_tools/debug/AntDebug.php b/tools/antadis_tools/debug/AntDebug.php
new file mode 100644
index 0000000..68d232e
--- /dev/null
+++ b/tools/antadis_tools/debug/AntDebug.php
@@ -0,0 +1,124 @@
+ $row) {
+ if (!empty($class_name) && isset($row['class'])) {
+ $found = ($row['class'] == $class_name);
+ }
+
+ if (!isset($row['function'])) {
+ $found = false;
+ }
+ elseif ((!empty($class_name) && $found) || empty($class_name)) {
+ $found = ($row['function'] == $function_name);
+ }
+
+ if ($found) {
+ return true;
+ }
+ }
+
+ return $found;
+ }
+
+ static function trace($type_output = AntDebug::HTML, $show_args = false)
+ {
+ static $nb_times = 0;
+
+ $newline = PHP_EOL;
+ if ($type_output == self::HTML) {
+ $newline = '
';
+ }
+ elseif ($type_output == self::JSON) {
+ $newline = '';
+ }
+
+ if ($show_args) {
+ $trace_result = debug_backtrace();
+ }
+ else {
+ $trace_result = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
+ }
+
+ $results = array();
+ foreach ($trace_result as $index => $row) {
+ if ((isset($row['class']) && $row['class'] != __CLASS__) || ($row['function'] != __FUNCTION__)) {
+
+ $res = '';
+
+ if (isset($row['class'])) {
+ $res .= $row['class'].'::';
+ }
+
+ $file = $row['file'];
+ if (isset($_SERVER['CONTEXT_DOCUMENT_ROOT'])) {
+ $file = str_replace($_SERVER['CONTEXT_DOCUMENT_ROOT'], '', $file);
+ }
+ $res = $res.$row['function'].'() --- ['.$file.':'.$row['line'].']';
+
+ if ($show_args && isset($row['args'])) {
+ $res .= ' with args : ';
+ if ($type_output == self::HTML) {
+ $res .= "
";
+ }
+ $res .= print_r($row['args'], true);
+ if ($type_output == self::HTML) {
+ $res .= "
";
+ }
+ }
+ $results[] = $res;
+ }
+ }
+
+ if (count($results)>0) {
+ krsort($results, SORT_NUMERIC);
+
+ $output = array();
+ if ($type_output == self::HTML) {
+ $output[] = "
";
+ }
+
+ $level = 0;
+ foreach ($results as $trace) {
+ $padding = str_pad('', $level*3, '-', STR_PAD_LEFT);
+
+ if ($level > 0) {
+ $padding = $padding.' ';
+ }
+
+ $output[] = "#".$level." ".$padding.$trace.$newline;
+ $level++;
+ }
+ $nb_times++;
+ $output[] = "Nb times : ".$nb_times;
+ $output[] = $newline.$newline;
+
+ if ($type_output == self::HTML) {
+ $output[] = "
";
+ }
+
+ if ($type_output == self::JSON) {
+ echo json_encode($output);
+ }
+ else {
+ foreach($output as $line) {
+ echo $line;
+ }
+ }
+ }
+
+ }
+}
diff --git a/tools/antadis_tools/debug/AntDebugger.php b/tools/antadis_tools/debug/AntDebugger.php
new file mode 100644
index 0000000..d231273
--- /dev/null
+++ b/tools/antadis_tools/debug/AntDebugger.php
@@ -0,0 +1,80 @@
+';
+ }
+
+ if ($show_args) {
+ $result = debug_backtrace();
+ }
+ else {
+ $result = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
+ }
+
+ $results = array();
+ foreach ($result as $index => $rows) {
+ if ((isset($rows['class']) && $rows['class'] != 'AntDebugger') || $rows['function'] != 'backtrace') {
+
+ $res = '';
+
+ if (isset($rows['class'])) {
+ $res .= $rows['class'].'::';
+ }
+
+ $file = $rows['file'];
+ if (isset($_SERVER['CONTEXT_DOCUMENT_ROOT'])) {
+ $file = str_replace($_SERVER['CONTEXT_DOCUMENT_ROOT'], '', $file);
+ }
+ $res = $res.$rows['function'].'() --- ['.$file.':'.$rows['line'].']';
+
+ if ($show_args && isset($rows['args'])) {
+ $res .= ' with args : ';
+ if ($output_html) {
+ $res .= "
";
+ }
+ $res .= print_r($rows['args'], true);
+ if ($output_html) {
+ $res .= "
";
+ }
+ }
+
+ $results[] = $res;
+ }
+ }
+
+ krsort($results, SORT_NUMERIC);
+
+ if ($output_html) {
+ echo "
";
+ }
+
+ $level = 0;
+ foreach ($results as $trace) {
+ $padding = str_pad('', $level*3, '-', STR_PAD_LEFT);
+
+ if ($level > 0) {
+ $padding = $padding.' ';
+ }
+
+ echo "#".$level." ".$padding.$trace.$newline;
+ $level++;
+ }
+ $nb_times++;
+ echo "Nb times : ".$nb_times;
+ echo $newline;
+ echo $newline;
+
+ if ($output_html) {
+ echo "
";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/tools/antadis_tools/debug/index.php b/tools/antadis_tools/debug/index.php
new file mode 100644
index 0000000..2d4b752
--- /dev/null
+++ b/tools/antadis_tools/debug/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2015 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
diff --git a/tools/antadis_tools/debug/tests/test_debug.php b/tools/antadis_tools/debug/tests/test_debug.php
new file mode 100644
index 0000000..b267df1
--- /dev/null
+++ b/tools/antadis_tools/debug/tests/test_debug.php
@@ -0,0 +1,91 @@
+save_deux();
+ }
+
+ protected function save_deux()
+ {
+ $obj = new cart_object();
+ $obj->update();
+ }
+}
+
+class payment_object extends order_object
+{
+ protected function save_deux()
+ {
+ if (AntDebug::calledBy('order_object', 'save')) {
+ AntDebug::trace(AntDebug::TXT);
+ }
+ $obj = new cart_object();
+ $obj->update();
+ }
+}
+
+//test_all();
+
+order_update();
+payment_update();
+
+$obj = new order_object();
+$obj->save();
+
+$obj = new payment_object();
+$obj->save();
diff --git a/tools/antadis_tools/include.php b/tools/antadis_tools/include.php
new file mode 100644
index 0000000..41a6759
--- /dev/null
+++ b/tools/antadis_tools/include.php
@@ -0,0 +1,3 @@
+
+* @copyright 2007-2015 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
diff --git a/tools/profiling/Tools.php b/tools/profiling/Tools.php
index e2d6db4..cb58aac 100755
--- a/tools/profiling/Tools.php
+++ b/tools/profiling/Tools.php
@@ -113,4 +113,77 @@ class Tools extends ToolsCore
Context::getContext()->controller->setRedirectAfter($url);
}
}
+
+ public static function displayPriceWithTaxTag($price)
+ {
+ return self::displayPriceWithTaxTagSmarty(array('price' => $price));
+ }
+
+ public static function displayPriceWithTaxTagSmarty($params)
+ {
+ $price = $params['price'];
+ $ttc = isset($params['ttc']) && $params['ttc'] == true;
+ $context = Context::getContext();
+ $currency = $context->currency;
+
+ $taxeTag = $ttc ? ' TTC' : ' HT';
+
+ if (!is_numeric($price)) {
+ return $price;
+ }
+
+ if (is_array($currency)) {
+ $c_char = $currency['sign'];
+ $c_format = $currency['format'];
+ $c_decimals = (int)$currency['decimals'] * _PS_PRICE_DISPLAY_PRECISION_;
+ $c_blank = $currency['blank'];
+ } elseif (is_object($currency)) {
+ $c_char = $currency->sign;
+ $c_format = $currency->format;
+ $c_decimals = (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_;
+ $c_blank = $currency->blank;
+ } else {
+ return false;
+ }
+
+ $blank = ($c_blank ? ' ' : '');
+ $ret = 0;
+ if (($is_negative = ($price < 0))) {
+ $price *= -1;
+ }
+ $price = Tools::ps_round($price, $c_decimals);
+
+ if (($c_format == 2) && ($context->language->is_rtl == 1)) {
+ $c_format = 4;
+ }
+
+ switch ($c_format) {
+ /* X 0,000.00 */
+ case 1:
+ $ret = $c_char.$blank.number_format($price, $c_decimals, '.', ',');
+ break;
+ /* 0 000,00 X*/
+ case 2:
+ $ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char.'
' . $taxeTag . '';
+ break;
+ /* X 0.000,00 */
+ case 3:
+ $ret = $c_char.$blank.number_format($price, $c_decimals, ',', '.');
+ break;
+ /* 0,000.00 X */
+ case 4:
+ $ret = number_format($price, $c_decimals, '.', ',').$blank.$c_char;
+ break;
+ /* X 0'000.00 Added for the switzerland currency */
+ case 5:
+ $ret = number_format($price, $c_decimals, '.', "'").$blank.$c_char;
+ break;
+ }
+ if ($is_negative) {
+ $ret = '-'.$ret;
+ }
+
+ return $ret;
+ }
+
}