From 13c6eec6fd2ef7825b40c5974f72f430ce80d0aa Mon Sep 17 00:00:00 2001 From: lLefevre Date: Fri, 18 May 2012 14:52:20 +0000 Subject: [PATCH] [-] BO : fix #PSCFV-2364 : Now we can selected of modules which must be disabled git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15385 b9a71923-0436-4b27-9f14-aed3839534dd --- modules/themeinstallator/themeinstallator.php | 28 +++++++++++++++++-- modules/themeinstallator/translations/fr.php | 1 + 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/modules/themeinstallator/themeinstallator.php b/modules/themeinstallator/themeinstallator.php index 563359638..47f2286f3 100644 --- a/modules/themeinstallator/themeinstallator.php +++ b/modules/themeinstallator/themeinstallator.php @@ -40,6 +40,7 @@ class ThemeInstallator extends Module private $selected_shops = array(); private $selected_variations = array(); + private $selected_disable_modules = array(); private $native_modules = array(); private $module_list = array(); private $hook_list= array(); @@ -209,6 +210,9 @@ class ThemeInstallator extends Module else $this->selected_shops = array($this->context->shop->id); + if (Tools::isSubmit('submitModules')) + $this->selected_disable_modules = Tools::getValue('modulesToDisable', array()); + $_POST = @array_map('trim', $_POST); define('DEFAULT_COMPATIBILITY_FROM', _PS_VERSION_); define('DEFAULT_COMPATIBILITY_TO', _PS_VERSION_); @@ -362,8 +366,8 @@ class ThemeInstallator extends Module if (_PS_MODE_DEMO_) { return '
'.$this->l('This functionality has been disabled.').'
'; - } + self::initDefines(); if (!Tools::isSubmit('cancelExport') && $this->page == 'exportPage') return self::getContentExport(); @@ -539,7 +543,7 @@ class ThemeInstallator extends Module $flag = 0; // Disable native modules if ($val == 2 && $this->to_disable && count($this->to_disable)) - foreach ($this->to_disable as $row) + foreach (array_merge($this->to_disable, $this->selected_disable_modules) as $row) { $obj = Module::getInstanceByName($row); if (Validate::isLoadedObject($obj)) @@ -713,6 +717,26 @@ class ThemeInstallator extends Module

 

'; } + + $var = ''; + foreach (array_diff($this->native_modules, $this->to_disable) as $row) + { + $obj = Module::getInstanceByName($row); + if (Validate::isLoadedObject($obj)) + if (!file_exists(_IMPORT_FOLDER_.'modules/'.$row) && $obj->tab == 'front_office_features') + { + $var .= ' +
'; + } + } + + $this->_html .= ' +
+ '.$this->l('Select modules which must be disabled for this theme').' +

'.$var.'

+
+

 

'; + $this->_html .= '
'.$this->l('Native modules configuration').' diff --git a/modules/themeinstallator/translations/fr.php b/modules/themeinstallator/translations/fr.php index da5b325eb..559bd44c3 100644 --- a/modules/themeinstallator/translations/fr.php +++ b/modules/themeinstallator/translations/fr.php @@ -31,6 +31,7 @@ $_MODULE['<{themeinstallator}prestashop>themeinstallator_a20ddccbb6f808ec42cd663 $_MODULE['<{themeinstallator}prestashop>themeinstallator_33167fe8de7517798cf2e95c7680d6a4'] = 'Les thèmes suivants ont correctement été importés'; $_MODULE['<{themeinstallator}prestashop>themeinstallator_f4ef3a40f287dd9849004a7f5af73f00'] = 'Attention : un module avec le même nom existe déjà'; $_MODULE['<{themeinstallator}prestashop>themeinstallator_df8703a4066393da85e8188261660717'] = 'Sélectionnez les modules du thème que vous souhaitez installer'; +$_MODULE['<{themeinstallator}prestashop>themeinstallator_7b8e139260e50dd81e70b6ef6910e6f6'] = 'Sélectionnez les modules qui doivent être désactivé pour ce thème'; $_MODULE['<{themeinstallator}prestashop>themeinstallator_7651cc4a979c5e21ee50de988ce574b0'] = 'Configuration des modules natifs'; $_MODULE['<{themeinstallator}prestashop>themeinstallator_8ab378b3ad05e14cbe61bff60c50afa6'] = 'Configuration actuelle'; $_MODULE['<{themeinstallator}prestashop>themeinstallator_f94545e00cff9d0395194458b2245702'] = 'Configuration du thème';