diff --git a/admin-dev/themes/template/shop/form.tpl b/admin-dev/themes/template/shop/form.tpl index 639693c3f..d6ab28556 100644 --- a/admin-dev/themes/template/shop/form.tpl +++ b/admin-dev/themes/template/shop/form.tpl @@ -43,7 +43,7 @@ {foreach $input.values as $theme}
{$theme.name}
- {$theme.name}
+ {$theme.directory}
{/foreach} diff --git a/cache/class_index.php b/cache/class_index.php index d2825c5b0..7fefd49a9 100644 --- a/cache/class_index.php +++ b/cache/class_index.php @@ -3,10 +3,10 @@ 'AbstractLogger' => 'override/classes/AbstractLogger.php', 'AccountingCore' => 'classes/Accounting.php', 'Accounting' => 'override/classes/Accounting.php', - 'AddressFormatCore' => 'classes/AddressFormat.php', - 'AddressFormat' => 'override/classes/AddressFormat.php', 'AddressCore' => 'classes/Address.php', 'Address' => 'override/classes/Address.php', + 'AddressFormatCore' => 'classes/AddressFormat.php', + 'AddressFormat' => 'override/classes/AddressFormat.php', 'AdminControllerCore' => 'classes/AdminController.php', 'AdminController' => 'override/classes/AdminController.php', 'AdminTabCore' => 'classes/AdminTab.php', @@ -15,29 +15,25 @@ 'Alias' => 'override/classes/Alias.php', 'AttachmentCore' => 'classes/Attachment.php', 'Attachment' => 'override/classes/Attachment.php', - 'AttributeGroupCore' => 'classes/AttributeGroup.php', - 'AttributeGroup' => 'override/classes/AttributeGroup.php', 'AttributeCore' => 'classes/Attribute.php', 'Attribute' => 'override/classes/Attribute.php', + 'AttributeGroupCore' => 'classes/AttributeGroup.php', + 'AttributeGroup' => 'override/classes/AttributeGroup.php', 'Autoload' => 'classes/Autoload.php', 'BackupCore' => 'classes/Backup.php', 'Backup' => 'override/classes/Backup.php', 'BlowfishCore' => 'classes/Blowfish.php', 'Blowfish' => 'override/classes/Blowfish.php', - 'CacheApcCore' => 'classes/cache/CacheApc.php', - 'CacheApc' => 'override/classes/cache/CacheApc.php', - 'CacheFsCore' => 'classes/cache/CacheFs.php', - 'CacheFs' => 'override/classes/cache/CacheFs.php', - 'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php', - 'CacheMemcache' => 'override/classes/cache/CacheMemcache.php', - 'CacheCore' => 'classes/cache/Cache.php', - 'Cache' => 'override/classes/cache/Cache.php', - 'CacheXcacheCore' => 'classes/cache/CacheXcache.php', - 'CacheXcache' => 'override/classes/cache/CacheXcache.php', - 'CarrierModuleCore' => 'classes/CarrierModule.php', - 'CarrierModule' => 'override/classes/CarrierModule.php', + 'CMSCore' => 'classes/CMS.php', + 'CMS' => 'override/classes/CMS.php', + 'CMSCategoryCore' => 'classes/CMSCategory.php', + 'CMSCategory' => 'override/classes/CMSCategory.php', + 'CSVCore' => 'classes/CSV.php', + 'CSV' => 'override/classes/CSV.php', 'CarrierCore' => 'classes/Carrier.php', 'Carrier' => 'override/classes/Carrier.php', + 'CarrierModuleCore' => 'classes/CarrierModule.php', + 'CarrierModule' => 'override/classes/CarrierModule.php', 'CartCore' => 'classes/Cart.php', 'Cart' => 'override/classes/Cart.php', 'CartRuleCore' => 'classes/CartRule.php', @@ -46,10 +42,6 @@ 'Category' => 'override/classes/Category.php', 'ChartCore' => 'classes/Chart.php', 'Chart' => 'override/classes/Chart.php', - 'CMSCategoryCore' => 'classes/CMSCategory.php', - 'CMSCategory' => 'override/classes/CMSCategory.php', - 'CMSCore' => 'classes/CMS.php', - 'CMS' => 'override/classes/CMS.php', 'CollectionCore' => 'classes/Collection.php', 'Collection' => 'override/classes/Collection.php', 'CombinationCore' => 'classes/Combination.php', @@ -68,40 +60,28 @@ 'Contact' => 'override/classes/Contact.php', 'ContextCore' => 'classes/Context.php', 'Context' => 'override/classes/Context.php', - 'ControllerFactoryCore' => 'classes/ControllerFactory.php', - 'ControllerFactory' => 'override/classes/ControllerFactory.php', 'ControllerCore' => 'classes/Controller.php', 'Controller' => 'override/classes/Controller.php', + 'ControllerFactoryCore' => 'classes/ControllerFactory.php', + 'ControllerFactory' => 'override/classes/ControllerFactory.php', 'CookieCore' => 'classes/Cookie.php', 'Cookie' => 'override/classes/Cookie.php', 'CountryCore' => 'classes/Country.php', 'Country' => 'override/classes/Country.php', 'CountyCore' => 'classes/County.php', 'County' => 'override/classes/County.php', - 'CSVCore' => 'classes/CSV.php', - 'CSV' => 'override/classes/CSV.php', 'CurrencyCore' => 'classes/Currency.php', 'Currency' => 'override/classes/Currency.php', - 'CustomerMessageCore' => 'classes/CustomerMessage.php', - 'CustomerMessage' => 'override/classes/CustomerMessage.php', 'CustomerCore' => 'classes/Customer.php', 'Customer' => 'override/classes/Customer.php', + 'CustomerMessageCore' => 'classes/CustomerMessage.php', + 'CustomerMessage' => 'override/classes/CustomerMessage.php', 'CustomerThreadCore' => 'classes/CustomerThread.php', 'CustomerThread' => 'override/classes/CustomerThread.php', 'CustomizationCore' => 'classes/Customization.php', 'Customization' => 'override/classes/Customization.php', 'DateRangeCore' => 'classes/DateRange.php', 'DateRange' => 'override/classes/DateRange.php', - 'DbMySQLiCore' => 'classes/db/DbMySQLi.php', - 'DbMySQLi' => 'override/classes/db/DbMySQLi.php', - 'DbPDOCore' => 'classes/db/DbPDO.php', - 'DbPDO' => 'override/classes/db/DbPDO.php', - 'DbCore' => 'classes/db/Db.php', - 'Db' => 'override/classes/db/Db.php', - 'DbQueryCore' => 'classes/db/DbQuery.php', - 'DbQuery' => 'override/classes/db/DbQuery.php', - 'MySQLCore' => 'classes/db/MySQL.php', - 'MySQL' => 'override/classes/db/MySQL.php', 'DeliveryCore' => 'classes/Delivery.php', 'Delivery' => 'override/classes/Delivery.php', 'DiscountCore' => 'classes/Discount.php', @@ -110,14 +90,6 @@ 'Dispatcher' => 'override/classes/Dispatcher.php', 'EmployeeCore' => 'classes/Employee.php', 'Employee' => 'override/classes/Employee.php', - 'PrestashopDatabaseExceptionCore' => 'classes/exception/PrestashopDatabaseException.php', - 'PrestashopDatabaseException' => 'override/classes/exception/PrestashopDatabaseException.php', - 'PrestashopExceptionCore' => 'classes/exception/PrestashopException.php', - 'PrestashopException' => 'override/classes/exception/PrestashopException.php', - 'PrestashopModuleExceptionCore' => 'classes/exception/PrestashopModuleException.php', - 'PrestashopModuleException' => 'override/classes/exception/PrestashopModuleException.php', - 'PrestashopPaymentExceptionCore' => 'classes/exception/PrestashopPaymentException.php', - 'PrestashopPaymentException' => 'override/classes/exception/PrestashopPaymentException.php', 'FeatureCore' => 'classes/Feature.php', 'Feature' => 'override/classes/Feature.php', 'FeatureValueCore' => 'classes/FeatureValue.php', @@ -138,16 +110,6 @@ 'Guest' => 'override/classes/Guest.php', 'HelpAccessCore' => 'classes/HelpAccess.php', 'HelpAccess' => 'override/classes/HelpAccess.php', - 'HelperFormCore' => 'classes/helper/HelperForm.php', - 'HelperForm' => 'override/classes/helper/HelperForm.php', - 'HelperListCore' => 'classes/helper/HelperList.php', - 'HelperList' => 'override/classes/helper/HelperList.php', - 'HelperOptionsCore' => 'classes/helper/HelperOptions.php', - 'HelperOptions' => 'override/classes/helper/HelperOptions.php', - 'HelperCore' => 'classes/helper/Helper.php', - 'Helper' => 'override/classes/helper/Helper.php', - 'HelperViewCore' => 'classes/helper/HelperView.php', - 'HelperView' => 'override/classes/helper/HelperView.php', 'HookCore' => 'classes/Hook.php', 'Hook' => 'override/classes/Hook.php', 'ImageCore' => 'classes/Image.php', @@ -174,46 +136,20 @@ 'Message' => 'override/classes/Message.php', 'MetaCore' => 'classes/Meta.php', 'Meta' => 'override/classes/Meta.php', - 'ModuleGraphEngineCore' => 'classes/ModuleGraphEngine.php', - 'ModuleGraphEngine' => 'override/classes/ModuleGraphEngine.php', - 'ModuleGraphCore' => 'classes/ModuleGraph.php', - 'ModuleGraph' => 'override/classes/ModuleGraph.php', - 'ModuleGridEngineCore' => 'classes/ModuleGridEngine.php', - 'ModuleGridEngine' => 'override/classes/ModuleGridEngine.php', - 'ModuleGridCore' => 'classes/ModuleGrid.php', - 'ModuleGrid' => 'override/classes/ModuleGrid.php', 'ModuleCore' => 'classes/Module.php', 'Module' => 'override/classes/Module.php', + 'ModuleGraphCore' => 'classes/ModuleGraph.php', + 'ModuleGraph' => 'override/classes/ModuleGraph.php', + 'ModuleGraphEngineCore' => 'classes/ModuleGraphEngine.php', + 'ModuleGraphEngine' => 'override/classes/ModuleGraphEngine.php', + 'ModuleGridCore' => 'classes/ModuleGrid.php', + 'ModuleGrid' => 'override/classes/ModuleGrid.php', + 'ModuleGridEngineCore' => 'classes/ModuleGridEngine.php', + 'ModuleGridEngine' => 'override/classes/ModuleGridEngine.php', 'NotificationCore' => 'classes/Notification.php', 'Notification' => 'override/classes/Notification.php', 'ObjectModelCore' => 'classes/ObjectModel.php', 'ObjectModel' => 'override/classes/ObjectModel.php', - 'OrderCarrierCore' => 'classes/order/OrderCarrier.php', - 'OrderCarrier' => '', - 'OrderCartRuleCore' => 'classes/order/OrderCartRule.php', - 'OrderCartRule' => 'override/classes/order/OrderCartRule.php', - 'OrderDetailCore' => 'classes/order/OrderDetail.php', - 'OrderDetail' => 'override/classes/OrderDetail.php', - 'OrderDiscountCore' => 'classes/order/OrderDiscount.php', - 'OrderDiscount' => 'override/classes/OrderDiscount.php', - 'OrderHistoryCore' => 'classes/order/OrderHistory.php', - 'OrderHistory' => 'override/classes/OrderHistory.php', - 'OrderInvoiceCore' => 'classes/order/OrderInvoice.php', - 'OrderInvoice' => 'override/classes/order/OrderInvoice.php', - 'OrderMessageCore' => 'classes/order/OrderMessage.php', - 'OrderMessage' => 'override/classes/OrderMessage.php', - 'OrderPaymentCore' => 'classes/order/OrderPayment.php', - 'OrderPayment' => 'override/classes/order/OrderPayment.php', - 'OrderCore' => 'classes/order/Order.php', - 'Order' => 'override/classes/Order.php', - 'OrderReturnCore' => 'classes/order/OrderReturn.php', - 'OrderReturn' => 'override/classes/OrderReturn.php', - 'OrderReturnStateCore' => 'classes/order/OrderReturnState.php', - 'OrderReturnState' => 'override/classes/OrderReturnState.php', - 'OrderSlipCore' => 'classes/order/OrderSlip.php', - 'OrderSlip' => 'override/classes/OrderSlip.php', - 'OrderStateCore' => 'classes/order/OrderState.php', - 'OrderState' => 'override/classes/OrderState.php', 'PackCore' => 'classes/Pack.php', 'Pack' => 'override/classes/Pack.php', 'PageCore' => 'classes/Page.php', @@ -222,26 +158,10 @@ 'PaymentCC' => 'override/classes/PaymentCC.php', 'PaymentModuleCore' => 'classes/PaymentModule.php', 'PaymentModule' => 'override/classes/PaymentModule.php', - 'HTMLTemplateDeliverySlipCore' => 'classes/pdf/HTMLTemplateDeliverySlip.php', - 'HTMLTemplateDeliverySlip' => 'override/classes/pdf/HTMLTemplateDeliverySlip.php', - 'HTMLTemplateInvoiceCore' => 'classes/pdf/HTMLTemplateInvoice.php', - 'HTMLTemplateInvoice' => 'override/classes/pdf/HTMLTemplateInvoice.php', - 'HTMLTemplateOrderReturnCore' => 'classes/pdf/HTMLTemplateOrderReturn.php', - 'HTMLTemplateOrderReturn' => 'override/classes/pdf/HTMLTemplateOrderReturn.php', - 'HTMLTemplateOrderSlipCore' => 'classes/pdf/HTMLTemplateOrderSlip.php', - 'HTMLTemplateOrderSlip' => 'override/classes/pdf/HTMLTemplateOrderSlip.php', - 'HTMLTemplateCore' => 'classes/pdf/HTMLTemplate.php', - 'HTMLTemplate' => 'override/classes/pdf/HTMLTemplate.php', - 'HTMLTemplateSupplyOrderFormCore' => 'classes/pdf/HTMLTemplateSupplyOrderForm.php', - 'HTMLTemplateSupplyOrderForm' => 'override/classes/pdf/HTMLTemplateSupplyOrderForm.php', - 'PDFGeneratorCore' => 'classes/pdf/PDFGenerator.php', - 'PDFGenerator' => 'override/classes/pdf/PDFGenerator.php', - 'PDFCore' => 'classes/pdf/PDF.php', - 'PDF' => 'override/classes/PDF.php', - 'ProductDownloadCore' => 'classes/ProductDownload.php', - 'ProductDownload' => 'override/classes/ProductDownload.php', 'ProductCore' => 'classes/Product.php', 'Product' => 'override/classes/Product.php', + 'ProductDownloadCore' => 'classes/ProductDownload.php', + 'ProductDownload' => 'override/classes/ProductDownload.php', 'ProductSaleCore' => 'classes/ProductSale.php', 'ProductSale' => 'override/classes/ProductSale.php', 'ProductSupplierCore' => 'classes/ProductSupplier.php', @@ -264,52 +184,16 @@ 'Risk' => '', 'SceneCore' => 'classes/Scene.php', 'Scene' => 'override/classes/Scene.php', - 'SearchEngineCore' => 'classes/SearchEngine.php', - 'SearchEngine' => 'override/classes/SearchEngine.php', 'SearchCore' => 'classes/Search.php', 'Search' => 'override/classes/Search.php', - 'GroupShopCore' => 'classes/shop/GroupShop.php', - 'GroupShop' => 'override/classes/shop/GroupShop.php', - 'ShopCore' => 'classes/shop/Shop.php', - 'Shop' => 'override/classes/shop/Shop.php', - 'ShopUrlCore' => 'classes/shop/ShopUrl.php', - 'ShopUrl' => 'override/classes/shop/ShopUrl.php', + 'SearchEngineCore' => 'classes/SearchEngine.php', + 'SearchEngine' => 'override/classes/SearchEngine.php', 'SpecificPriceCore' => 'classes/SpecificPrice.php', 'SpecificPrice' => 'override/classes/SpecificPrice.php', 'SpecificPriceRuleCore' => 'classes/SpecificPriceRule.php', 'SpecificPriceRule' => '', 'StateCore' => 'classes/State.php', 'State' => 'override/classes/State.php', - 'StockAvailableCore' => 'classes/stock/StockAvailable.php', - 'StockAvailable' => 'override/classes/stock/StockAvailable.php', - 'StockManagerFactoryCore' => 'classes/stock/StockManagerFactory.php', - 'StockManagerFactory' => 'override/classes/stock/StockManagerFactory.php', - 'StockManagerInterface' => 'classes/stock/StockManagerInterface.php', - 'StockManagerModuleCore' => 'classes/stock/StockManagerModule.php', - 'StockManagerModule' => 'override/classes/stock/StockManagerModule.php', - 'StockManagerCore' => 'classes/stock/StockManager.php', - 'StockManager' => 'override/classes/stock/StockManager.php', - 'StockMvtCore' => 'classes/stock/StockMvt.php', - 'StockMvt' => 'override/classes/StockMvt.php', - 'StockMvtReasonCore' => 'classes/stock/StockMvtReason.php', - 'StockMvtReason' => 'override/classes/StockMvtReason.php', - 'StockMvtWS' => 'classes/stock/StockMvtWS.php', - 'StockCore' => 'classes/stock/Stock.php', - 'Stock' => 'override/classes/Stock.php', - 'SupplyOrderDetailCore' => 'classes/stock/SupplyOrderDetail.php', - 'SupplyOrderDetail' => 'override/classes/stock/SupplyOrderDetail.php', - 'SupplyOrderHistoryCore' => 'classes/stock/SupplyOrderHistory.php', - 'SupplyOrderHistory' => 'override/classes/stock/SupplyOrderHistory.php', - 'SupplyOrderCore' => 'classes/stock/SupplyOrder.php', - 'SupplyOrder' => 'override/classes/stock/SupplyOrder.php', - 'SupplyOrderReceiptHistoryCore' => 'classes/stock/SupplyOrderReceiptHistory.php', - 'SupplyOrderReceiptHistory' => 'override/classes/stock/SupplyOrderReceiptHistory.php', - 'SupplyOrderStateCore' => 'classes/stock/SupplyOrderState.php', - 'SupplyOrderState' => 'override/classes/stock/SupplyOrderState.php', - 'WarehouseCore' => 'classes/stock/Warehouse.php', - 'Warehouse' => 'override/classes/stock/Warehouse.php', - 'WarehouseProductLocationCore' => 'classes/stock/WarehouseProductLocation.php', - 'WarehouseProductLocation' => 'override/classes/stock/WarehouseProductLocation.php', 'StoreCore' => 'classes/Store.php', 'Store' => 'override/classes/Store.php', 'SubDomainCore' => 'classes/SubDomain.php', @@ -320,21 +204,6 @@ 'Tab' => 'override/classes/Tab.php', 'TagCore' => 'classes/Tag.php', 'Tag' => 'override/classes/Tag.php', - 'TaxCalculatorCore' => 'classes/tax/TaxCalculator.php', - 'TaxCalculator' => 'override/classes/tax/TaxCalculator.php', - 'TaxManagerFactoryCore' => 'classes/tax/TaxManagerFactory.php', - 'TaxManagerFactory' => 'override/classes/tax/TaxManagerFactory.php', - 'TaxManagerInterface' => 'classes/tax/TaxManagerInterface.php', - 'TaxManagerModuleCore' => 'classes/tax/TaxManagerModule.php', - 'TaxManagerModule' => 'override/classes/tax/TaxManagerModule.php', - 'TaxCore' => 'classes/tax/Tax.php', - 'Tax' => 'override/classes/tax/Tax.php', - 'TaxRuleCore' => 'classes/tax/TaxRule.php', - 'TaxRule' => 'override/classes/tax/TaxRule.php', - 'TaxRulesGroupCore' => 'classes/tax/TaxRulesGroup.php', - 'TaxRulesGroup' => 'override/classes/tax/TaxRulesGroup.php', - 'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php', - 'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php', 'ThemeCore' => 'classes/Theme.php', 'Theme' => 'override/classes/Theme.php', 'ToolsCore' => 'classes/Tools.php', @@ -345,6 +214,139 @@ 'Upgrader' => 'override/classes/Upgrader.php', 'ValidateCore' => 'classes/Validate.php', 'Validate' => 'override/classes/Validate.php', + 'ZoneCore' => 'classes/Zone.php', + 'Zone' => 'override/classes/Zone.php', + 'CacheCore' => 'classes/cache/Cache.php', + 'Cache' => 'override/classes/cache/Cache.php', + 'CacheApcCore' => 'classes/cache/CacheApc.php', + 'CacheApc' => 'override/classes/cache/CacheApc.php', + 'CacheFsCore' => 'classes/cache/CacheFs.php', + 'CacheFs' => 'override/classes/cache/CacheFs.php', + 'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php', + 'CacheMemcache' => 'override/classes/cache/CacheMemcache.php', + 'CacheXcacheCore' => 'classes/cache/CacheXcache.php', + 'CacheXcache' => 'override/classes/cache/CacheXcache.php', + 'DbCore' => 'classes/db/Db.php', + 'Db' => 'override/classes/db/Db.php', + 'DbMySQLiCore' => 'classes/db/DbMySQLi.php', + 'DbMySQLi' => 'override/classes/db/DbMySQLi.php', + 'DbPDOCore' => 'classes/db/DbPDO.php', + 'DbPDO' => 'override/classes/db/DbPDO.php', + 'DbQueryCore' => 'classes/db/DbQuery.php', + 'DbQuery' => 'override/classes/db/DbQuery.php', + 'MySQLCore' => 'classes/db/MySQL.php', + 'MySQL' => 'override/classes/db/MySQL.php', + 'PrestashopDatabaseExceptionCore' => 'classes/exception/PrestashopDatabaseException.php', + 'PrestashopDatabaseException' => 'override/classes/exception/PrestashopDatabaseException.php', + 'PrestashopExceptionCore' => 'classes/exception/PrestashopException.php', + 'PrestashopException' => 'override/classes/exception/PrestashopException.php', + 'PrestashopModuleExceptionCore' => 'classes/exception/PrestashopModuleException.php', + 'PrestashopModuleException' => 'override/classes/exception/PrestashopModuleException.php', + 'PrestashopPaymentExceptionCore' => 'classes/exception/PrestashopPaymentException.php', + 'PrestashopPaymentException' => 'override/classes/exception/PrestashopPaymentException.php', + 'HelperCore' => 'classes/helper/Helper.php', + 'Helper' => 'override/classes/helper/Helper.php', + 'HelperFormCore' => 'classes/helper/HelperForm.php', + 'HelperForm' => 'override/classes/helper/HelperForm.php', + 'HelperListCore' => 'classes/helper/HelperList.php', + 'HelperList' => 'override/classes/helper/HelperList.php', + 'HelperOptionsCore' => 'classes/helper/HelperOptions.php', + 'HelperOptions' => 'override/classes/helper/HelperOptions.php', + 'HelperViewCore' => 'classes/helper/HelperView.php', + 'HelperView' => 'override/classes/helper/HelperView.php', + 'OrderCore' => 'classes/order/Order.php', + 'Order' => 'override/classes/order/Order.php', + 'OrderCarrierCore' => 'classes/order/OrderCarrier.php', + 'OrderCarrier' => '', + 'OrderCartRuleCore' => 'classes/order/OrderCartRule.php', + 'OrderCartRule' => 'override/classes/order/OrderCartRule.php', + 'OrderDetailCore' => 'classes/order/OrderDetail.php', + 'OrderDetail' => 'override/classes/order/OrderDetail.php', + 'OrderDiscountCore' => 'classes/order/OrderDiscount.php', + 'OrderDiscount' => 'override/classes/order/OrderDiscount.php', + 'OrderHistoryCore' => 'classes/order/OrderHistory.php', + 'OrderHistory' => 'override/classes/order/OrderHistory.php', + 'OrderInvoiceCore' => 'classes/order/OrderInvoice.php', + 'OrderInvoice' => 'override/classes/order/OrderInvoice.php', + 'OrderMessageCore' => 'classes/order/OrderMessage.php', + 'OrderMessage' => 'override/classes/order/OrderMessage.php', + 'OrderPaymentCore' => 'classes/order/OrderPayment.php', + 'OrderPayment' => 'override/classes/order/OrderPayment.php', + 'OrderReturnCore' => 'classes/order/OrderReturn.php', + 'OrderReturn' => 'override/classes/order/OrderReturn.php', + 'OrderReturnStateCore' => 'classes/order/OrderReturnState.php', + 'OrderReturnState' => 'override/classes/order/OrderReturnState.php', + 'OrderSlipCore' => 'classes/order/OrderSlip.php', + 'OrderSlip' => 'override/classes/order/OrderSlip.php', + 'OrderStateCore' => 'classes/order/OrderState.php', + 'OrderState' => 'override/classes/order/OrderState.php', + 'HTMLTemplateCore' => 'classes/pdf/HTMLTemplate.php', + 'HTMLTemplate' => 'override/classes/pdf/HTMLTemplate.php', + 'HTMLTemplateDeliverySlipCore' => 'classes/pdf/HTMLTemplateDeliverySlip.php', + 'HTMLTemplateDeliverySlip' => 'override/classes/pdf/HTMLTemplateDeliverySlip.php', + 'HTMLTemplateInvoiceCore' => 'classes/pdf/HTMLTemplateInvoice.php', + 'HTMLTemplateInvoice' => 'override/classes/pdf/HTMLTemplateInvoice.php', + 'HTMLTemplateOrderReturnCore' => 'classes/pdf/HTMLTemplateOrderReturn.php', + 'HTMLTemplateOrderReturn' => 'override/classes/pdf/HTMLTemplateOrderReturn.php', + 'HTMLTemplateOrderSlipCore' => 'classes/pdf/HTMLTemplateOrderSlip.php', + 'HTMLTemplateOrderSlip' => 'override/classes/pdf/HTMLTemplateOrderSlip.php', + 'HTMLTemplateSupplyOrderFormCore' => 'classes/pdf/HTMLTemplateSupplyOrderForm.php', + 'HTMLTemplateSupplyOrderForm' => 'override/classes/pdf/HTMLTemplateSupplyOrderForm.php', + 'PDFCore' => 'classes/pdf/PDF.php', + 'PDF' => 'override/classes/pdf/PDF.php', + 'PDFGeneratorCore' => 'classes/pdf/PDFGenerator.php', + 'PDFGenerator' => 'override/classes/pdf/PDFGenerator.php', + 'GroupShopCore' => 'classes/shop/GroupShop.php', + 'GroupShop' => 'override/classes/shop/GroupShop.php', + 'ShopCore' => 'classes/shop/Shop.php', + 'Shop' => 'override/classes/shop/Shop.php', + 'ShopUrlCore' => 'classes/shop/ShopUrl.php', + 'ShopUrl' => 'override/classes/shop/ShopUrl.php', + 'StockCore' => 'classes/stock/Stock.php', + 'Stock' => 'override/classes/stock/Stock.php', + 'StockAvailableCore' => 'classes/stock/StockAvailable.php', + 'StockAvailable' => 'override/classes/stock/StockAvailable.php', + 'StockManagerCore' => 'classes/stock/StockManager.php', + 'StockManager' => 'override/classes/stock/StockManager.php', + 'StockManagerFactoryCore' => 'classes/stock/StockManagerFactory.php', + 'StockManagerFactory' => 'override/classes/stock/StockManagerFactory.php', + 'StockManagerInterface' => 'classes/stock/StockManagerInterface.php', + 'StockManagerModuleCore' => 'classes/stock/StockManagerModule.php', + 'StockManagerModule' => 'override/classes/stock/StockManagerModule.php', + 'StockMvtCore' => 'classes/stock/StockMvt.php', + 'StockMvt' => 'override/classes/stock/StockMvt.php', + 'StockMvtReasonCore' => 'classes/stock/StockMvtReason.php', + 'StockMvtReason' => 'override/classes/stock/StockMvtReason.php', + 'StockMvtWS' => 'classes/stock/StockMvtWS.php', + 'SupplyOrderCore' => 'classes/stock/SupplyOrder.php', + 'SupplyOrder' => 'override/classes/stock/SupplyOrder.php', + 'SupplyOrderDetailCore' => 'classes/stock/SupplyOrderDetail.php', + 'SupplyOrderDetail' => 'override/classes/stock/SupplyOrderDetail.php', + 'SupplyOrderHistoryCore' => 'classes/stock/SupplyOrderHistory.php', + 'SupplyOrderHistory' => 'override/classes/stock/SupplyOrderHistory.php', + 'SupplyOrderReceiptHistoryCore' => 'classes/stock/SupplyOrderReceiptHistory.php', + 'SupplyOrderReceiptHistory' => 'override/classes/stock/SupplyOrderReceiptHistory.php', + 'SupplyOrderStateCore' => 'classes/stock/SupplyOrderState.php', + 'SupplyOrderState' => 'override/classes/stock/SupplyOrderState.php', + 'WarehouseCore' => 'classes/stock/Warehouse.php', + 'Warehouse' => 'override/classes/stock/Warehouse.php', + 'WarehouseProductLocationCore' => 'classes/stock/WarehouseProductLocation.php', + 'WarehouseProductLocation' => 'override/classes/stock/WarehouseProductLocation.php', + 'TaxCore' => 'classes/tax/Tax.php', + 'Tax' => 'override/classes/tax/Tax.php', + 'TaxCalculatorCore' => 'classes/tax/TaxCalculator.php', + 'TaxCalculator' => 'override/classes/tax/TaxCalculator.php', + 'TaxManagerFactoryCore' => 'classes/tax/TaxManagerFactory.php', + 'TaxManagerFactory' => 'override/classes/tax/TaxManagerFactory.php', + 'TaxManagerInterface' => 'classes/tax/TaxManagerInterface.php', + 'TaxManagerModuleCore' => 'classes/tax/TaxManagerModule.php', + 'TaxManagerModule' => 'override/classes/tax/TaxManagerModule.php', + 'TaxRuleCore' => 'classes/tax/TaxRule.php', + 'TaxRule' => 'override/classes/tax/TaxRule.php', + 'TaxRulesGroupCore' => 'classes/tax/TaxRulesGroup.php', + 'TaxRulesGroup' => 'override/classes/tax/TaxRulesGroup.php', + 'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php', + 'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php', 'WebserviceExceptionCore' => 'classes/webservice/WebserviceException.php', 'WebserviceException' => 'override/classes/webservice/WebserviceException.php', 'WebserviceKeyCore' => 'classes/webservice/WebserviceKey.php', @@ -361,8 +363,6 @@ 'WebserviceSpecificManagementInterface' => 'classes/webservice/WebserviceSpecificManagementInterface.php', 'WebserviceSpecificManagementSearchCore' => 'classes/webservice/WebserviceSpecificManagementSearch.php', 'WebserviceSpecificManagementSearch' => 'override/classes/webservice/WebserviceSpecificManagementSearch.php', - 'ZoneCore' => 'classes/Zone.php', - 'Zone' => 'override/classes/Zone.php', 'FB' => 'override/classes/fb.php', 'AdminAccessControllerCore' => 'controllers/admin/AdminAccessController.php', 'AdminAccessController' => 'override/controllers/admin/AdminAccessController.php', @@ -410,10 +410,10 @@ 'AdminCountriesController' => 'override/controllers/admin/AdminCountriesController.php', 'AdminCurrenciesControllerCore' => 'controllers/admin/AdminCurrenciesController.php', 'AdminCurrenciesController' => 'override/controllers/admin/AdminCurrenciesController.php', - 'AdminCustomersControllerCore' => 'controllers/admin/AdminCustomersController.php', - 'AdminCustomersController' => 'override/controllers/admin/AdminCustomersController.php', 'AdminCustomerThreadsControllerCore' => 'controllers/admin/AdminCustomerThreadsController.php', 'AdminCustomerThreadsController' => 'override/controllers/admin/AdminCustomerThreadsController.php', + 'AdminCustomersControllerCore' => 'controllers/admin/AdminCustomersController.php', + 'AdminCustomersController' => 'override/controllers/admin/AdminCustomersController.php', 'AdminDbControllerCore' => 'controllers/admin/AdminDbController.php', 'AdminDbController' => 'override/controllers/admin/AdminDbController.php', 'AdminDeliverySlipControllerCore' => 'controllers/admin/AdminDeliverySlipController.php', @@ -430,10 +430,10 @@ 'AdminGeneratorController' => 'override/controllers/admin/AdminGeneratorController.php', 'AdminGeolocationControllerCore' => 'controllers/admin/AdminGeolocationController.php', 'AdminGeolocationController' => 'override/controllers/admin/AdminGeolocationController.php', - 'AdminGroupsControllerCore' => 'controllers/admin/AdminGroupsController.php', - 'AdminGroupsController' => 'override/controllers/admin/AdminGroupsController.php', 'AdminGroupShopControllerCore' => 'controllers/admin/AdminGroupShopController.php', 'AdminGroupShopController' => 'override/controllers/admin/AdminGroupShopController.php', + 'AdminGroupsControllerCore' => 'controllers/admin/AdminGroupsController.php', + 'AdminGroupsController' => 'override/controllers/admin/AdminGroupsController.php', 'AdminHomeControllerCore' => 'controllers/admin/AdminHomeController.php', 'AdminHomeController' => 'override/controllers/admin/AdminHomeController.php', 'AdminImagesControllerCore' => 'controllers/admin/AdminImagesController.php', @@ -467,14 +467,14 @@ 'AdminOrdersControllerCore' => 'controllers/admin/AdminOrdersController.php', 'AdminOrdersController' => 'override/controllers/admin/AdminOrdersController.php', 'AdminOutstandingController' => 'controllers/admin/AdminOutstandingController.php', + 'AdminPPreferencesControllerCore' => 'controllers/admin/AdminPPreferencesController.php', + 'AdminPPreferencesController' => 'override/controllers/admin/AdminPPreferencesController.php', 'AdminPaymentControllerCore' => 'controllers/admin/AdminPaymentController.php', 'AdminPaymentController' => 'override/controllers/admin/AdminPaymentController.php', 'AdminPdfControllerCore' => 'controllers/admin/AdminPdfController.php', 'AdminPdfController' => 'override/controllers/admin/AdminPdfController.php', 'AdminPerformanceControllerCore' => 'controllers/admin/AdminPerformanceController.php', 'AdminPerformanceController' => 'override/controllers/admin/AdminPerformanceController.php', - 'AdminPPreferencesControllerCore' => 'controllers/admin/AdminPPreferencesController.php', - 'AdminPPreferencesController' => 'override/controllers/admin/AdminPPreferencesController.php', 'AdminPreferencesControllerCore' => 'controllers/admin/AdminPreferencesController.php', 'AdminPreferencesController' => 'override/controllers/admin/AdminPreferencesController.php', 'AdminProductsControllerCore' => 'controllers/admin/AdminProductsController.php', @@ -540,10 +540,10 @@ 'AdminTabsController' => 'override/controllers/admin/AdminTabsController.php', 'AdminTagsControllerCore' => 'controllers/admin/AdminTagsController.php', 'AdminTagsController' => 'override/controllers/admin/AdminTagsController.php', - 'AdminTaxesControllerCore' => 'controllers/admin/AdminTaxesController.php', - 'AdminTaxesController' => 'override/controllers/admin/AdminTaxesController.php', 'AdminTaxRulesGroupControllerCore' => 'controllers/admin/AdminTaxRulesGroupController.php', 'AdminTaxRulesGroupController' => 'override/controllers/admin/AdminTaxRulesGroupController.php', + 'AdminTaxesControllerCore' => 'controllers/admin/AdminTaxesController.php', + 'AdminTaxesController' => 'override/controllers/admin/AdminTaxesController.php', 'AdminThemesControllerCore' => 'controllers/admin/AdminThemesController.php', 'AdminThemesController' => 'override/controllers/admin/AdminThemesController.php', 'AdminToolsControllerCore' => 'controllers/admin/AdminToolsController.php', diff --git a/classes/Theme.php b/classes/Theme.php index bd307623f..eaf88bcc8 100644 --- a/classes/Theme.php +++ b/classes/Theme.php @@ -28,6 +28,7 @@ class ThemeCore extends ObjectModel { public $name; + public $directory; /** * @see ObjectModel::$definition @@ -36,7 +37,8 @@ class ThemeCore extends ObjectModel 'table' => 'theme', 'primary' => 'id_theme', 'fields' => array( - 'name' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 64), + 'name' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 64, 'required' => true), + 'directory' => array('type' => self::TYPE_STRING, 'validate' => 'isValidThemeDir', 'size' => 64, 'required' => true), ), ); @@ -47,4 +49,49 @@ class ThemeCore extends ObjectModel ORDER BY name'; return Db::getInstance()->executeS($sql); } + + /** + * return an array of all available theme (installed or not) + * + * @param boolean $installed + * @return array string (directory) + */ + public static function getAvailable($installed_only = true){ + static $dirlist = array(); + $available_theme = array(); + + if (empty($dirlist)) + { + $themes = scandir(_PS_ALL_THEMES_DIR_); + foreach ($themes AS $theme) + if (is_dir(_PS_ALL_THEMES_DIR_.DIRECTORY_SEPARATOR.$theme) && $theme[0] != '.') + $dirlist[] = $theme; + } + + if ($installed_only) + { + $themes = Theme::getThemes(); + foreach($themes as $theme_obj) + $themes_dir[] = $theme_obj['directory']; + foreach( $dirlist as $theme) + if (false !== array_search($theme, $themes_dir)) + $available_theme[] = $theme; + } + else + $available_theme = $dirlist; + + return $available_theme; + + } + + /** + * check if a theme is used by a shop + * + * @return boolean + */ + public function isUsed() + { + return Db::getInstance()->getValue('SELECT count(*) + FROM '._DB_PREFIX_.'shop WHERE id_theme = '.(int)$this->id); + } } diff --git a/classes/Validate.php b/classes/Validate.php index afd45ba0e..d6577b31d 100644 --- a/classes/Validate.php +++ b/classes/Validate.php @@ -965,5 +965,17 @@ class ValidateCore { return (bool)preg_match('/^[0-9]{3,4}[a-zA-Z]{1}$/s', $ape); } + + /** + * Validate theme directory + * We currently check if the item is a valid theme directory + * + * @param string $dir + * @return boolean + */ + public static function isValidThemeDir($dir) + { + return ($dir[0] != '.') && is_dir(_PS_ALL_THEMES_DIR_.DIRECTORY_SEPARATOR.$dir); + } } diff --git a/classes/shop/Shop.php b/classes/shop/Shop.php index 57196a565..a76905b27 100644 --- a/classes/shop/Shop.php +++ b/classes/shop/Shop.php @@ -38,6 +38,7 @@ class ShopCore extends ObjectModel public $deleted; public $theme_name; + public $theme_directory; public $physical_uri; public $virtual_uri; public $domain; @@ -122,7 +123,7 @@ class ShopCore extends ObjectModel if ($this->id) { - $sql = 'SELECT su.physical_uri, su.virtual_uri, su.domain, su.domain_ssl, t.name + $sql = 'SELECT su.physical_uri, su.virtual_uri, su.domain, su.domain_ssl, t.name, t.directory FROM '._DB_PREFIX_.'shop s LEFT JOIN '._DB_PREFIX_.'shop_url su ON (s.id_shop = su.id_shop) LEFT JOIN '._DB_PREFIX_.'theme t ON (t.id_theme = s.id_theme) @@ -134,6 +135,7 @@ class ShopCore extends ObjectModel return; $this->theme_name = $row['name']; + $this->theme_directory = $row['directory']; $this->physical_uri = $row['physical_uri']; $this->virtual_uri = $row['virtual_uri']; $this->domain = $row['domain']; @@ -324,7 +326,7 @@ class ShopCore extends ObjectModel */ public function getTheme() { - return $this->theme_name; + return $this->theme_directory; } /** diff --git a/controllers/admin/AdminThemesController.php b/controllers/admin/AdminThemesController.php index 25c55b5ae..99c62c379 100644 --- a/controllers/admin/AdminThemesController.php +++ b/controllers/admin/AdminThemesController.php @@ -91,8 +91,8 @@ class AdminThemesControllerCore extends AdminController public function __construct() { - $this->className = 'Configuration'; - $this->table = 'configuration'; + $this->className = 'Theme'; + $this->table = 'theme'; parent::__construct(); @@ -118,6 +118,92 @@ class AdminThemesControllerCore extends AdminController 'submit' => array('title' => $this->l(' Save '), 'class' => 'button') ), ); + + $this->fieldsDisplay = array( + 'id_theme' => array( + 'title' => $this->l('ID'), + 'align' => 'center', + 'width' => 20, + ), + 'name' => array( + 'title' => $this->l('Name'), + 'width' => 'auto', + ), + 'directory' => array( + 'title' => $this->l('Directory'), + 'width' => 'auto', + ), + ); + + $getAvailableThemes = Theme::getAvailable(true); + $available_theme_directories = array(); + foreach($getAvailableThemes as $k => $dirname) + { + $available_theme_directories[$k]['value'] = $dirname; + $available_theme_directories[$k]['label'] = $dirname; + $available_theme_directories[$k]['id'] = $dirname; + }; + $selected_theme_directory = null; + if ($this->loadObject(true)) + $selected_theme_directory = $this->object->directory; +/* ' array( 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + */ + $this->fields_form = array( + 'tinymce' => false, + 'legend' => array( + 'title' => $this->l('Theme'), + 'image' => '../img/admin/tab-themes.gif' + ), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Name:'), + 'name' => 'name', + 'size' => 48, + 'required' => true, + 'hint' => $this->l('Invalid characters:').' <>;=#{}', + ), + array( + 'type' => 'radio', + 'label' => $this->l('Directory:'), + 'name' => 'directory', + 'required' => true, + 'br' => true, + 'class' => 't', + 'values' => $available_theme_directories, + 'selected' => $selected_theme_directory, + 'desc' => $this->l('Note: only the existence of the directory is checked. Please be sure to select a valid theme directory.'), + ), + ), + 'submit' => array( + 'title' => $this->l(' Save '), + 'class' => 'button' + ) + ); + } + + public function renderList(){ + $this->addRowAction('edit'); + $this->addRowAction('delete'); + + // $this->_filter .= ' AND `id_parent` = '.(int)$this->_category->id.' '; + // $this->_select = 'position '; + + return parent::renderList(); + } + + public function processDelete($token){ + $obj = $this->loadObject(); + if ($obj && $obj->isUsed()) + { + $this->_errors[] = $this->l('This theme is used by at least one shop. Please choose another theme first.'); + return false; + } + + return parent::processDelete($token); } public function initContent() diff --git a/install-dev/sql/db.sql b/install-dev/sql/db.sql index a7ff8b196..6138d32ac 100644 --- a/install-dev/sql/db.sql +++ b/install-dev/sql/db.sql @@ -1895,6 +1895,7 @@ CREATE TABLE IF NOT EXISTS `PREFIX_shop_url` ( CREATE TABLE IF NOT EXISTS `PREFIX_theme` ( `id_theme` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, + `directory` varchar(64) NOT NULL, PRIMARY KEY (`id_theme`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; @@ -2364,4 +2365,4 @@ CREATE TABLE IF NOT EXISTS `PREFIX_risk_lang` ( `name` varchar(20) NOT NULL, PRIMARY KEY (`id_risk`,`id_lang`), KEY `id_risk` (`id_risk`) -) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; \ No newline at end of file +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; diff --git a/install-dev/sql/db_settings_lite.sql b/install-dev/sql/db_settings_lite.sql index 62e23490b..828e72fe9 100644 --- a/install-dev/sql/db_settings_lite.sql +++ b/install-dev/sql/db_settings_lite.sql @@ -1537,7 +1537,8 @@ phone' where `id_country`=21; INSERT INTO `PREFIX_group_shop` (`id_group_shop`, `name`, `active`, `deleted`, `share_stock`, `share_customer`, `share_order`) VALUES (1, 'Default', 1, 0, 0, 0, 0); INSERT INTO `PREFIX_shop` (`id_shop`, `id_group_shop`, `name`, `id_category`, `id_theme`, `active`, `deleted`) VALUES (1, 1, 'Default', 1, 1, 1, 0); -INSERT INTO `PREFIX_theme` (`id_theme`, `name`) VALUES (1, 'default'); +INSERT INTO `PREFIX_theme` (`id_theme`, `name`, `directory`) + VALUES (1, 'default', 'default'); UPDATE `PREFIX_address_format` set `format`= 'firstname lastname company diff --git a/install-dev/sql/upgrade/1.5.0.3.sql b/install-dev/sql/upgrade/1.5.0.3.sql index 525c317c0..80551dd82 100644 --- a/install-dev/sql/upgrade/1.5.0.3.sql +++ b/install-dev/sql/upgrade/1.5.0.3.sql @@ -1,2 +1,4 @@ SET NAMES 'utf8'; +ALTER TABLE PREFIX_theme ADD COLUMN directory varchar(64) NOT NULL; + diff --git a/install-new/data/db_structure.sql b/install-new/data/db_structure.sql index 5f60bfbac..7b4a1c9fe 100644 --- a/install-new/data/db_structure.sql +++ b/install-new/data/db_structure.sql @@ -1895,6 +1895,7 @@ CREATE TABLE IF NOT EXISTS `PREFIX_shop_url` ( CREATE TABLE IF NOT EXISTS `PREFIX_theme` ( `id_theme` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, + `directory` varchar(64) NOT NULL, PRIMARY KEY (`id_theme`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; @@ -2303,7 +2304,7 @@ CREATE TABLE `PREFIX_accounting_product_zone_shop` ( UNIQUE KEY `id_product` (`id_product`,`id_shop`,`id_zone`) ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; -CREATE TABLE `PREFIX_order_carrier` ( +CREATE TABLE `PREFIX_order_carrierhaystack` ( `id_order_carrier` int(11) NOT NULL AUTO_INCREMENT, `id_order` int(11) unsigned NOT NULL, `id_carrier` int(11) unsigned NOT NULL, @@ -2364,4 +2365,4 @@ CREATE TABLE IF NOT EXISTS `PREFIX_risk_lang` ( `name` varchar(20) NOT NULL, PRIMARY KEY (`id_risk`,`id_lang`), KEY `id_risk` (`id_risk`) -) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; \ No newline at end of file +) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; diff --git a/install-new/data/xml/theme.xml b/install-new/data/xml/theme.xml index 881be4e2b..bba39dd83 100644 --- a/install-new/data/xml/theme.xml +++ b/install-new/data/xml/theme.xml @@ -2,10 +2,12 @@ + default + default