From b24dcffc9c3249b402b7ff52ea46ff992b3993d3 Mon Sep 17 00:00:00 2001 From: rMalie Date: Thu, 23 Feb 2012 15:39:44 +0000 Subject: [PATCH] // Improve multishop API git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@13566 b9a71923-0436-4b27-9f14-aed3839534dd --- admin-dev/ajax.php | 2 +- admin-dev/functions.php | 38 ++--- admin-dev/header.inc.php | 6 +- admin-dev/init.php | 2 +- admin-dev/themes/default/template/header.tpl | 4 +- classes/AdminTab.php | 18 +-- classes/Attribute.php | 2 +- classes/Carrier.php | 72 ++++----- classes/Cart.php | 4 +- classes/Category.php | 6 +- classes/Configuration.php | 70 ++++++--- classes/Connection.php | 8 +- classes/Context.php | 10 -- classes/Currency.php | 6 +- classes/Customer.php | 4 +- classes/CustomerThread.php | 2 +- classes/Employee.php | 14 +- classes/Meta.php | 4 +- classes/Module.php | 6 +- classes/ObjectModel.php | 10 +- classes/Page.php | 6 +- classes/PaymentModule.php | 4 +- classes/Product.php | 12 +- classes/Search.php | 8 +- classes/controller/AdminController.php | 50 +++---- classes/controller/FrontController.php | 8 +- classes/helper/HelperForm.php | 12 +- classes/helper/HelperOptions.php | 6 +- classes/order/OrderDetail.php | 4 +- classes/shop/Shop.php | 138 ++++++------------ classes/shop/ShopUrl.php | 4 +- classes/stock/StockAvailable.php | 16 +- classes/stock/Warehouse.php | 6 +- config/config.inc.php | 4 +- .../AdminAccountingManagementController.php | 6 +- .../admin/AdminCategoriesController.php | 6 +- .../admin/AdminCustomersController.php | 4 +- .../admin/AdminGroupShopController.php | 4 +- controllers/admin/AdminImportController.php | 2 +- controllers/admin/AdminMetaController.php | 4 +- controllers/admin/AdminModulesController.php | 8 +- .../admin/AdminModulesPositionsController.php | 8 +- controllers/admin/AdminOrdersController.php | 8 +- controllers/admin/AdminPaymentController.php | 10 +- controllers/admin/AdminProductsController.php | 16 +- controllers/admin/AdminThemesController.php | 12 +- controllers/front/ContactController.php | 12 +- controllers/front/ManufacturerController.php | 4 +- controllers/front/OrderDetailController.php | 4 +- controllers/front/ProductController.php | 4 +- modules/blockadvertising/blockadvertising.php | 2 +- modules/blockcategories/blockcategories.php | 8 +- modules/blockcms/BlockCMSModel.php | 10 +- modules/blockcms/blockcms.php | 33 ++--- modules/blocklanguages/blocklanguages.php | 2 +- modules/blocklayered/blocklayered.php | 12 +- modules/blocknewsletter/blocknewsletter.php | 14 +- modules/blockstore/blockstore.php | 2 +- modules/blocktopmenu/blocktopmenu.php | 4 +- modules/favoriteproducts/FavoriteProduct.php | 4 +- .../controllers/front/actions.php | 2 +- .../favoriteproducts-ajax.php | 2 +- modules/homeslider/HomeSlide.php | 4 +- modules/homeslider/homeslider.php | 4 +- modules/pagesnotfound/pagesnotfound.php | 2 +- modules/sekeywords/sekeywords.php | 2 +- .../statsbestcategories.php | 2 +- modules/statscheckup/statscheckup.php | 3 - modules/statssearch/statssearch.php | 2 +- modules/themeinstallator/themeinstallator.php | 2 +- modules/watermark/watermark.php | 8 +- 71 files changed, 377 insertions(+), 425 deletions(-) diff --git a/admin-dev/ajax.php b/admin-dev/ajax.php index cfc707e4c..ca3759695 100644 --- a/admin-dev/ajax.php +++ b/admin-dev/ajax.php @@ -503,7 +503,7 @@ if (Tools::isSubmit('saveHook')) $hooks_list = explode(',', Tools::getValue('hooks_list')); $id_shop = (int)Tools::getValue('id_shop'); if (!$id_shop) - $id_shop = Context::getContext()->shop->getId(true); + $id_shop = Context::getContext()->shop->id; $res = true; $hookableList = array(); diff --git a/admin-dev/functions.php b/admin-dev/functions.php index 605aae742..3ec961410 100644 --- a/admin-dev/functions.php +++ b/admin-dev/functions.php @@ -1,6 +1,6 @@ $group_data) { $disabled = ($group_data['totalShops'] != count($group_data['shops'])) ? 'disabled="disabled"' : ''; - - if ($context->controller->multishop_context & Shop::CONTEXT_GROUP) - $html .= ''; - else - $html .= ''; - - if ($context->controller->multishop_context & Shop::CONTEXT_SHOP) - foreach ($group_data['shops'] as $sID => $shopData) - if ($shopData['active']) - $html .= ''; - - if (!($context->controller->multishop_context & Shop::CONTEXT_GROUP)) - $html .= ''; + $html .= ''; + foreach ($group_data['shops'] as $sID => $shopData) + if ($shopData['active']) + $html .= ''; } $html .= ''; @@ -511,12 +501,12 @@ function runAdminTab($tab, $ajaxMode = false) '.translate('Back Office').' '.$bread.''; - if (!$ajaxMode && Shop::isFeatureActive() && Context::shop() != Shop::CONTEXT_ALL) + if (!$ajaxMode && Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_ALL) { echo '
'; - if (Context::shop() == Shop::CONTEXT_GROUP) + if (Shop::getContext() == Shop::CONTEXT_GROUP) printf(translate('You are configuring your store for group shop %s'), ''.Context::getContext()->shop->getGroup()->name.''); - elseif (Context::shop() == Shop::CONTEXT_SHOP) + elseif (Shop::getContext() == Shop::CONTEXT_SHOP) printf(translate('You are configuring your store for shop %s'), ''.Context::getContext()->shop->name.''); echo '
'; } diff --git a/admin-dev/header.inc.php b/admin-dev/header.inc.php index 719bd8f25..60b4efa0c 100644 --- a/admin-dev/header.inc.php +++ b/admin-dev/header.inc.php @@ -1,6 +1,6 @@ '.Context::getContext()->shop->getGroup()->name.''); else $youEditFieldFor = sprintf(translate('A modification of this field will be applied for the shop %s'), ''.Context::getContext()->shop->name.''); diff --git a/admin-dev/init.php b/admin-dev/init.php index 2ef72e4d4..60c067a7d 100644 --- a/admin-dev/init.php +++ b/admin-dev/init.php @@ -1,6 +1,6 @@ {$shop_name}"; {else} var youEditFieldFor = "{l s='A modification of this field will be applied for the shop ' slashes=1 }{$shop_name}"; diff --git a/classes/AdminTab.php b/classes/AdminTab.php index b0b1d4a56..c85ed52b5 100644 --- a/classes/AdminTab.php +++ b/classes/AdminTab.php @@ -995,7 +995,7 @@ abstract class AdminTabCore { foreach ($fields as $key => $options) { - if (isset($options['visibility']) && $options['visibility'] > Context::getContext()->shop->getContextType()) + if (isset($options['visibility']) && $options['visibility'] > Shop::getContext()) continue; if (Shop::isFeatureActive() && isset($_POST['configUseDefault'][$key])) @@ -1315,13 +1315,13 @@ abstract class AdminTabCore $filterKey = $assos[$this->table]['type']; $idenfierShop = $this->context->shop->getListOfID(); } - else if (Context::shop() == Shop::CONTEXT_GROUP) + else if (Shop::getContext() == Shop::CONTEXT_GROUP) { $assos = GroupShop::getAssoTables(); if (isset($assos[$this->table]) && $assos[$this->table]['type'] == 'group_shop') { $filterKey = $assos[$this->table]['type']; - $idenfierShop = array($this->context->shop->getGroupID()); + $idenfierShop = array(Shop::getContextGroupShopID()); } } @@ -1333,7 +1333,7 @@ abstract class AdminTabCore else if (!preg_match('#(\s|,)\s*a\.`?'.pSQL($this->identifier).'`?(\s|,|$)#', $this->_group)) $this->_group .= ', a.'.pSQL($this->identifier); - if (Shop::isFeatureActive() && Context::shop() != Shop::CONTEXT_ALL && !preg_match('#`?'.preg_quote(_DB_PREFIX_.$this->table.'_'.$filterKey).'`? *sa#', $this->_join)) + if (Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_ALL && !preg_match('#`?'.preg_quote(_DB_PREFIX_.$this->table.'_'.$filterKey).'`? *sa#', $this->_join)) $filterShop = 'JOIN `'._DB_PREFIX_.$this->table.'_'.$filterKey.'` sa ON (sa.'.$this->identifier.' = a.'.$this->identifier.' AND sa.id_'.$filterKey.' IN ('.implode(', ', $idenfierShop).'))'; } /////////////////////// @@ -1869,12 +1869,12 @@ abstract class AdminTabCore $isDisabled = $isInvisible = false; if (Shop::isFeatureActive()) { - if (isset($field['visibility']) && $field['visibility'] > $this->context->shop->getContextType()) + if (isset($field['visibility']) && $field['visibility'] > Shop::getContext()) { $isDisabled = true; $isInvisible = true; } - else if (Context::shop() != Shop::CONTEXT_ALL && !Configuration::isOverridenByCurrentContext($key)) + else if (Shop::getContext() != Shop::CONTEXT_ALL && !Configuration::isOverridenByCurrentContext($key)) $isDisabled = true; } @@ -1903,7 +1903,7 @@ abstract class AdminTabCore $this->$method($key, $field, $value); // Multishop default value - if (Shop::isFeatureActive() && Context::shop() != Shop::CONTEXT_ALL && !$isInvisible) + if (Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_ALL && !$isInvisible) echo '