NEW Can enable a module, even external module, from command line

Conflicts:
	htdocs/install/upgrade2.php
This commit is contained in:
Laurent Destailleur 2018-07-09 13:02:01 +02:00
parent e92052353d
commit 45a45b0dec
4 changed files with 112 additions and 51 deletions

View File

@ -241,10 +241,10 @@ class ExtraFields
if ($type == 'varchar' && empty($lengthdb)) $lengthdb='255'; if ($type == 'varchar' && empty($lengthdb)) $lengthdb='255';
} }
$field_desc = array( $field_desc = array(
'type'=>$typedb, 'type'=>$typedb,
'value'=>$lengthdb, 'value'=>$lengthdb,
'null'=>($required?'NOT NULL':'NULL'), 'null'=>($required?'NOT NULL':'NULL'),
'default' => $default_value 'default' => $default_value
); );
$result=$this->db->DDLAddField(MAIN_DB_PREFIX.$table, $attrname, $field_desc); $result=$this->db->DDLAddField(MAIN_DB_PREFIX.$table, $attrname, $field_desc);
@ -360,8 +360,8 @@ class ExtraFields
$sql.= " ".$list.","; $sql.= " ".$list.",";
$sql.= " ".($default?"'".$this->db->escape($default)."'":"null").","; $sql.= " ".($default?"'".$this->db->escape($default)."'":"null").",";
$sql.= " ".($computed?"'".$this->db->escape($computed)."'":"null").","; $sql.= " ".($computed?"'".$this->db->escape($computed)."'":"null").",";
$sql .= " " . $user->id . ","; $sql .= " " . (is_object($user) ? $user->id : 0). ",";
$sql .= " " . $user->id . ","; $sql .= " " . (is_object($user) ? $user->id : 0). ",";
$sql .= "'" . $this->db->idate(dol_now()) . "',"; $sql .= "'" . $this->db->idate(dol_now()) . "',";
$sql.= " ".($enabled?"'".$this->db->escape($enabled)."'":"1"); $sql.= " ".($enabled?"'".$this->db->escape($enabled)."'":"1");
$sql.=')'; $sql.=')';

View File

@ -765,28 +765,36 @@ class DoliDBMysqli extends DoliDB
// ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
$sql= "ALTER TABLE ".$table." ADD ".$field_name." "; $sql= "ALTER TABLE ".$table." ADD ".$field_name." ";
$sql.= $field_desc['type']; $sql.= $field_desc['type'];
if(preg_match("/^[^\s]/i",$field_desc['value'])) if (preg_match("/^[^\s]/i",$field_desc['value']))
{
if (! in_array($field_desc['type'],array('date','datetime'))) if (! in_array($field_desc['type'],array('date','datetime')))
{ {
$sql.= "(".$field_desc['value'].")"; $sql.= "(".$field_desc['value'].")";
} }
if(preg_match("/^[^\s]/i",$field_desc['attribute'])) }
$sql.= " ".$field_desc['attribute']; if (isset($field_desc['attribute']) && preg_match("/^[^\s]/i",$field_desc['attribute']))
if(preg_match("/^[^\s]/i",$field_desc['null'])) {
$sql.= " ".$field_desc['null']; $sql.= " ".$field_desc['attribute'];
if(preg_match("/^[^\s]/i",$field_desc['default'])) }
if (isset($field_desc['null']) && preg_match("/^[^\s]/i",$field_desc['null']))
{
$sql.= " ".$field_desc['null'];
}
if (isset($field_desc['default']) && preg_match("/^[^\s]/i",$field_desc['default']))
{ {
if(preg_match("/null/i",$field_desc['default'])) if(preg_match("/null/i",$field_desc['default']))
$sql.= " default ".$field_desc['default']; $sql.= " default ".$field_desc['default'];
else else
$sql.= " default '".$field_desc['default']."'"; $sql.= " default '".$field_desc['default']."'";
} }
if(preg_match("/^[^\s]/i",$field_desc['extra'])) if (isset($field_desc['extra']) && preg_match("/^[^\s]/i",$field_desc['extra']))
$sql.= " ".$field_desc['extra']; {
$sql.= " ".$field_desc['extra'];
}
$sql.= " ".$field_position; $sql.= " ".$field_position;
dol_syslog(get_class($this)."::DDLAddField ".$sql,LOG_DEBUG); dol_syslog(get_class($this)."::DDLAddField ".$sql,LOG_DEBUG);
if($this->query($sql)) { if ($this->query($sql)) {
return 1; return 1;
} }
return -1; return -1;

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2018 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* *
@ -21,10 +21,13 @@
* *
* cd htdocs/install * cd htdocs/install
* php upgrade.php 3.4.0 3.5.0 [dirmodule|ignoredbversion] * php upgrade.php 3.4.0 3.5.0 [dirmodule|ignoredbversion]
* php upgrade2.php 3.4.0 3.5.0 * php upgrade2.php 3.4.0 3.5.0 [MODULE_NAME1_TO_ENABLE,MODULE_NAME2_TO_ENABLE]
* *
* Option 'dirmodule' allows to provide a path for an external module, so we migrate from command line a script from a module. * And for final step:
* Option 'ignoredbversion' allows to run migration even if database is a bugged database version. * php step5.php 3.4.0 3.5.0
*
* Option 'dirmodule' allows to provide a path for an external module, so we migrate from command line using a script from a module.
* Option 'ignoredbversion' allows to run migration even if database version does not match start version of migration
* Return code is 0 if OK, >0 if error * Return code is 0 if OK, >0 if error
*/ */
@ -84,7 +87,7 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial
if (! $versionfrom && ! $versionto) if (! $versionfrom && ! $versionto)
{ {
print 'Error: Parameter versionfrom or versionto missing.'."\n"; print 'Error: Parameter versionfrom or versionto missing.'."\n";
print 'Upgrade must be ran from command line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n"; print 'Upgrade must be ran from command line with parameters or called from page install/index.php (like a first install)'."\n";
// Test if batch mode // Test if batch mode
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com> /* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2018 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
@ -18,13 +18,19 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
* Upgrade scripts can be ran from command line with syntax: * Upgrade2 scripts can be ran from command line with syntax:
* *
* cd htdocs/install * cd htdocs/install
* php upgrade.php 3.4.0 3.5.0 * php upgrade.php 3.4.0 3.5.0 [dirmodule|ignoredbversion]
* php upgrade2.php 3.4.0 3.5.0 [MODULE_NAME1_TO_ENABLE,MODULE_NAME2_TO_ENABLE] * php upgrade2.php 3.4.0 3.5.0 [MAIN_MODULE_NAME1_TO_ENABLE,MAIN_MODULE_NAME2_TO_ENABLE]
*
* And for final step:
* php step5.php 3.4.0 3.5.0
* *
* Return code is 0 if OK, >0 if error * Return code is 0 if OK, >0 if error
*
* Note: To just enable a module from command line, use this syntax:
* php upgrade2.php 0.0.0 0.0.0 [MAIN_MODULE_NAME1_TO_ENABLE,MAIN_MODULE_NAME2_TO_ENABLE]
*/ */
/** /**
@ -77,7 +83,7 @@ if ($dolibarr_main_db_type == 'pgsql') $choix=2;
if ($dolibarr_main_db_type == 'mssql') $choix=3; if ($dolibarr_main_db_type == 'mssql') $choix=3;
dolibarr_install_syslog("--- upgrade2: entering upgrade2.php page"); dolibarr_install_syslog("--- upgrade2: entering upgrade2.php page ".$versionfrom." ".$versionto." ".$enablemodules);
if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initialized", LOG_ERR); if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initialized", LOG_ERR);
@ -89,14 +95,14 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial
if ((! $versionfrom || preg_match('/version/', $versionfrom)) && (! $versionto || preg_match('/version/', $versionto))) if ((! $versionfrom || preg_match('/version/', $versionfrom)) && (! $versionto || preg_match('/version/', $versionto)))
{ {
print 'Error: Parameter versionfrom or versionto missing or having a bad format.'."\n"; print 'Error: Parameter versionfrom or versionto missing or having a bad format.'."\n";
print 'Upgrade must be ran from command line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n"; print 'Upgrade must be ran from command line with parameters or called from page install/index.php (like a first install)'."\n";
// Test if batch mode // Test if batch mode
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=dirname(__FILE__).'/'; $path=dirname(__FILE__).'/';
if (substr($sapi_type, 0, 3) == 'cli') if (substr($sapi_type, 0, 3) == 'cli')
{ {
print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n"; print 'Syntax from command line: '.$script_file." x.y.z a.b.c [MAIN_MODULE_NAME1_TO_ENABLE,MAIN_MODULE_NAME2_TO_ENABLE...]\n";
} }
exit; exit;
} }
@ -507,12 +513,12 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09
dolCopyDir($srcroot, $destroot, 0, 0); dolCopyDir($srcroot, $destroot, 0, 0);
// Actions for all versions (no database change, delete files and directories) // Actions for all versions (no database change but delete some files and directories)
migrate_delete_old_files($db, $langs, $conf); migrate_delete_old_files($db, $langs, $conf);
migrate_delete_old_dir($db, $langs, $conf); migrate_delete_old_dir($db, $langs, $conf);
// Actions for all versions (no database change, create directories) // Actions for all versions (no database change but create some directories)
dol_mkdir(DOL_DATA_ROOT.'/bank'); dol_mkdir(DOL_DATA_ROOT.'/bank');
// Actions for all versions (no database change, rename directories) // Actions for all versions (no database change but rename some directories)
migrate_rename_directories($db, $langs, $conf, '/banque/bordereau', '/bank/checkdeposits'); migrate_rename_directories($db, $langs, $conf, '/banque/bordereau', '/bank/checkdeposits');
print '<div><br>'.$langs->trans("MigrationFinished").'</div>'; print '<div><br>'.$langs->trans("MigrationFinished").'</div>';
@ -4502,11 +4508,11 @@ function migrate_delete_old_dir($db,$langs,$conf)
* @param int $force 1=Reload module even if not already loaded * @param int $force 1=Reload module even if not already loaded
* @return void * @return void
*/ */
function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0) function migrate_reload_modules($db, $langs, $conf, $listofmodule=array(), $force=0)
{ {
if (count($listofmodule) == 0) return; if (count($listofmodule) == 0) return;
dolibarr_install_syslog("upgrade2::migrate_reload_modules force=".$force); dolibarr_install_syslog("upgrade2::migrate_reload_modules force=".$force.", listofmodule=".join(',', array_keys($listofmodule)));
foreach($listofmodule as $moduletoreload => $reloadmode) // reloadmodule can be 'noboxes', 'newboxdefonly', 'forceactivate' foreach($listofmodule as $moduletoreload => $reloadmode) // reloadmodule can be 'noboxes', 'newboxdefonly', 'forceactivate'
{ {
@ -4524,7 +4530,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_API') elseif ($moduletoreload == 'MAIN_MODULE_API')
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Rest API module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Rest API module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modApi.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modApi.class.php';
@ -4534,7 +4540,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_BARCODE') elseif ($moduletoreload == 'MAIN_MODULE_BARCODE')
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Barcode module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Barcode module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modBarcode.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modBarcode.class.php';
@ -4544,7 +4550,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_CRON') elseif ($moduletoreload == 'MAIN_MODULE_CRON')
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Cron module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Cron module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCron.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCron.class.php';
@ -4554,7 +4560,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_SOCIETE') elseif ($moduletoreload == 'MAIN_MODULE_SOCIETE')
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Societe module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Societe module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSociete.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSociete.class.php';
@ -4564,7 +4570,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_PRODUIT') // Permission has changed into 2.7 elseif ($moduletoreload == 'MAIN_MODULE_PRODUIT') // Permission has changed into 2.7
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Produit module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Produit module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modProduct.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modProduct.class.php';
@ -4574,7 +4580,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_SERVICE') // Permission has changed into 2.7 elseif ($moduletoreload == 'MAIN_MODULE_SERVICE') // Permission has changed into 2.7
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Service module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Service module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modService.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modService.class.php';
@ -4584,7 +4590,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_COMMANDE') // Permission has changed into 2.9 elseif ($moduletoreload == 'MAIN_MODULE_COMMANDE') // Permission has changed into 2.9
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Commande module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Commande module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCommande.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCommande.class.php';
@ -4594,7 +4600,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_FACTURE') // Permission has changed into 2.9 elseif ($moduletoreload == 'MAIN_MODULE_FACTURE') // Permission has changed into 2.9
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Facture module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Facture module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFacture.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFacture.class.php';
@ -4604,7 +4610,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_FOURNISSEUR') // Permission has changed into 2.9 elseif ($moduletoreload == 'MAIN_MODULE_FOURNISSEUR') // Permission has changed into 2.9
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Fournisseur module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Fournisseur module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFournisseur.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFournisseur.class.php';
@ -4614,7 +4620,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_HOLIDAY') // Permission and tabs has changed into 3.8 elseif ($moduletoreload == 'MAIN_MODULE_HOLIDAY') // Permission and tabs has changed into 3.8
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Leave Request module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Leave Request module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modHoliday.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modHoliday.class.php';
@ -4624,7 +4630,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_DEPLACEMENT') // Permission has changed into 3.0 elseif ($moduletoreload == 'MAIN_MODULE_DEPLACEMENT') // Permission has changed into 3.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Deplacement module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Deplacement module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modDeplacement.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modDeplacement.class.php';
@ -4634,7 +4640,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_DON') // Permission has changed into 3.0 elseif ($moduletoreload == 'MAIN_MODULE_DON') // Permission has changed into 3.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Don module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Don module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modDon.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modDon.class.php';
@ -4644,7 +4650,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_ECM') // Permission has changed into 3.0 and 3.1 elseif ($moduletoreload == 'MAIN_MODULE_ECM') // Permission has changed into 3.0 and 3.1
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate ECM module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate ECM module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modECM.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modECM.class.php';
@ -4654,7 +4660,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_PAYBOX') // Permission has changed into 3.0 elseif ($moduletoreload == 'MAIN_MODULE_PAYBOX') // Permission has changed into 3.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Paybox module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Paybox module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modPaybox.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modPaybox.class.php';
@ -4664,7 +4670,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_SUPPLIERPROPOSAL') // Module after 3.5 elseif ($moduletoreload == 'MAIN_MODULE_SUPPLIERPROPOSAL') // Module after 3.5
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Supplier Proposal module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Supplier Proposal module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSupplierProposal.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSupplierProposal.class.php';
@ -4674,7 +4680,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_OPENSURVEY') // Permission has changed into 3.0 elseif ($moduletoreload == 'MAIN_MODULE_OPENSURVEY') // Permission has changed into 3.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Opensurvey module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Opensurvey module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modOpenSurvey.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modOpenSurvey.class.php';
@ -4684,7 +4690,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_SALARIES') // Permission has changed into 6.0 elseif ($moduletoreload == 'MAIN_MODULE_SALARIES') // Permission has changed into 6.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Salaries module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Salaries module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSalaries.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modSalaries.class.php';
@ -4694,7 +4700,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_USER') // Permission has changed into 3.0 elseif ($moduletoreload == 'MAIN_MODULE_USER') // Permission has changed into 3.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate User module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate User module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modUser.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modUser.class.php';
@ -4704,7 +4710,7 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
if ($moduletoreload == 'MAIN_MODULE_WEBSITE') // Module added in 7.0 elseif ($moduletoreload == 'MAIN_MODULE_WEBSITE') // Module added in 7.0
{ {
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Website module"); dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Website module");
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modWebsite.class.php'; $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modWebsite.class.php';
@ -4714,6 +4720,50 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array(),$force=0)
$mod->init($reloadmode); $mod->init($reloadmode);
} }
} }
else
{
$tmp = preg_match('/MAIN_MODULE_([a-zA-Z0-9]+)/', $moduletoreload, $reg);
if (! empty($reg[1]))
{
if (strtoupper($moduletoreload) == $moduletoreload) // If key is un uppercase
{
$moduletoreloadshort = ucfirst(strtolower($reg[1]));
}
else // If key is a mix of up and low case
{
$moduletoreloadshort = $reg[1];
}
dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module ".$moduletoreloadshort." with mode ".$reloadmode);
$res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/mod'.$moduletoreloadshort.'.class.php';
if ($res) {
$classname = 'mod'.$moduletoreloadshort;
$mod=new $classname($db);
//$mod->remove('noboxes');
$mod->init($reloadmode);
}
else
{
dolibarr_install_syslog('Failed to include '.DOL_DOCUMENT_ROOT.'/core/modules/mod'.$moduletoreloadshort.'.class.php');
$res=@dol_include_once(strtolower($moduletoreloadshort).'/core/modules/mod'.$moduletoreloadshort.'.class.php');
if ($res) {
$classname = 'mod'.$moduletoreloadshort;
$mod=new $classname($db);
//$mod->remove('noboxes');
$mod->init($reloadmode);
}
else
{
dolibarr_install_syslog('Failed to include '.strtolower($moduletoreloadshort).'/core/modules/mod'.$moduletoreloadshort.'.class.php');
}
}
}
else
{
dolibarr_install_syslog("Error, can't find module with name ".$moduletoreload, LOG_WARNING);
print "Error, can't find module with name ".$moduletoreload;
}
}
if (! empty($mod) && is_object($mod)) if (! empty($mod) && is_object($mod))
{ {