diff --git a/htdocs/install/check.php b/htdocs/install/check.php index ae599880dc0..df8254eee9f 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -210,13 +210,16 @@ else } print ''; print ''."\n"; - - print ''.$langs->trans("Upgrade").''; + + # Upgrade + $versionfrom='2.0.0'; + $versionto='2.2.0'; + print ''.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.''; print $langs->trans("UpgradeDesc").''; print ''; if ($allowupgrade) { - print ''.$langs->trans("Start").''; + print ''.$langs->trans("Start").''; } else { @@ -224,7 +227,24 @@ else } print ''; print ''."\n"; - + + # Upgrade + $versionfrom='2.1.0'; + $versionto='2.2.0'; + print ''.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.''; + print $langs->trans("UpgradeDesc").''; + print ''; + if ($allowupgrade) + { + print ''.$langs->trans("Start").''; + } + else + { + print $langs->trans("NotAvailable"); + } + print ''; + print ''."\n"; + print ''; print "\n"; } diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 1cedb3d39d1..c1144755054 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -33,7 +33,6 @@ define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix); require_once($dolibarr_main_document_root . "/lib/databases/".$dolibarr_main_db_type.".lib.php"); require_once($dolibarr_main_document_root . "/conf/conf.class.php"); -$migfile='^2.1.0-2.2.0.sql$'; $grant_query=''; $etape = 2; $ok = 0; @@ -48,6 +47,8 @@ error_reporting($err); $setuplang=isset($_POST["selectlang"])?$_POST["selectlang"]:(isset($_GET["selectlang"])?$_GET["selectlang"]:'auto'); $langs->setDefaultLang($setuplang); +$versionfrom=isset($_GET["versionfrom"])?$_GET["versionfrom"]:''; +$versionto=isset($_GET["versionto"])?$_GET["versionto"]:''; $langs->load("admin"); $langs->load("install"); @@ -66,6 +67,12 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade") { print '

'.$langs->trans("DatabaseMigration").'

'; + if (! $versionfrom && ! $versionto) + { + print '
Parameter versionfrom or version to missing.
'; + exit; + } + print ''; $error=0; @@ -132,13 +139,39 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade") if ($choix==1) $dir = "../../mysql/migration/"; else $dir = "../../pgsql/migration/"; + $filelist=array(); $i = 0; $ok = 0; + $from='^'.$versionfrom; + $to=$versionto.'\.sql$'; + + # Recupere list fichier + $filesindir=array(); $handle=opendir($dir); while (($file = readdir($handle))!==false) { - if (eregi($migfile,$file)) + if (eregi('\.sql$',$file)) $filesindir[]=$file; + } + sort($filesindir); + + # Determine les fichiers sql a passer + foreach($filesindir as $file) + { + if (eregi($from,$file)) { + $filelist[]=$file; + + // Mettre from avec valeur fin de $file + } + else if (eregi($to,$file)) + { + $filelist[]=$file; + } + } + + # Boucle sur chaque fichier + foreach($filelist as $file) + { print ''; @@ -228,23 +261,19 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade") } } - } - - } - closedir($handle); - - if ($error == 0) - { - print ''; - print ''; - $ok = 1; - } - else - { - print ''; - print ''; - $ok = 0; - } + if ($error == 0) + { + print ''; + print ''; + $ok = 1; + } + else + { + print ''; + print ''; + $ok = 0; + } + } } print '
'; print $langs->trans("ChoosedMigrateScript").''.$file.'
'.$langs->trans("ProcessMigrateScript").''.$langs->trans("OK").'
'.$langs->trans("ProcessMigrateScript").''.$langs->trans("KO").'
'.$langs->trans("ProcessMigrateScript").''.$langs->trans("OK").'
'.$langs->trans("ProcessMigrateScript").''.$langs->trans("KO").'
';