[-] 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
This commit is contained in:
lLefevre
2012-05-18 14:52:20 +00:00
parent 5a01b62e6b
commit 13c6eec6fd
2 changed files with 27 additions and 2 deletions
+26 -2
View File
@@ -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 '<div class="error">'.$this->l('This functionality has been disabled.').'</div>';
}
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
</fieldset>
<p>&nbsp;</p>';
}
$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 .= '<input type="checkbox" name="modulesToDisable[]" id="'.$row.'" value="'.$row.'" />
<label style="display:bock;float:none" for="'.$row.'">'.$row.'</label><br />';
}
}
$this->_html .= '
<fieldset>
<legend>'.$this->l('Select modules which must be disabled for this theme').'</legend>
<p class="margin-form">'.$var.'</p>
</fieldset>
<p>&nbsp;</p>';
$this->_html .= '
<fieldset>
<legend>'.$this->l('Native modules configuration').'</legend>
@@ -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';