Mise a jour depuis 2.0.0 ou 2.1.0

This commit is contained in:
Laurent Destailleur 2007-05-06 14:12:36 +00:00
parent 94a89b8e6d
commit 75dead629d
2 changed files with 72 additions and 23 deletions

View File

@ -210,13 +210,16 @@ else
} }
print '</td>'; print '</td>';
print '</tr>'."\n"; print '</tr>'."\n";
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").'</b></td><td>'; # Upgrade
$versionfrom='2.0.0';
$versionto='2.2.0';
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.'</b></td><td>';
print $langs->trans("UpgradeDesc").'</td>'; print $langs->trans("UpgradeDesc").'</td>';
print '<td align="center">'; print '<td align="center">';
if ($allowupgrade) if ($allowupgrade)
{ {
print '<a href="upgrade.php?action=upgrade&amp;selectlang='.$setuplang.'">'.$langs->trans("Start").'</a>'; print '<a href="upgrade.php?action=upgrade&amp;selectlang='.$setuplang.'&amp;versionfrom='.$versionfrom.'&amp;versionto='.$versionto.'">'.$langs->trans("Start").'</a>';
} }
else else
{ {
@ -224,7 +227,24 @@ else
} }
print '</td>'; print '</td>';
print '</tr>'."\n"; print '</tr>'."\n";
# Upgrade
$versionfrom='2.1.0';
$versionto='2.2.0';
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.'</b></td><td>';
print $langs->trans("UpgradeDesc").'</td>';
print '<td align="center">';
if ($allowupgrade)
{
print '<a href="upgrade.php?action=upgrade&amp;selectlang='.$setuplang.'&amp;versionfrom='.$versionfrom.'&amp;versionto='.$versionto.'">'.$langs->trans("Start").'</a>';
}
else
{
print $langs->trans("NotAvailable");
}
print '</td>';
print '</tr>'."\n";
print '</table>'; print '</table>';
print "\n"; print "\n";
} }

View File

@ -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 . "/lib/databases/".$dolibarr_main_db_type.".lib.php");
require_once($dolibarr_main_document_root . "/conf/conf.class.php"); require_once($dolibarr_main_document_root . "/conf/conf.class.php");
$migfile='^2.1.0-2.2.0.sql$';
$grant_query=''; $grant_query='';
$etape = 2; $etape = 2;
$ok = 0; $ok = 0;
@ -48,6 +47,8 @@ error_reporting($err);
$setuplang=isset($_POST["selectlang"])?$_POST["selectlang"]:(isset($_GET["selectlang"])?$_GET["selectlang"]:'auto'); $setuplang=isset($_POST["selectlang"])?$_POST["selectlang"]:(isset($_GET["selectlang"])?$_GET["selectlang"]:'auto');
$langs->setDefaultLang($setuplang); $langs->setDefaultLang($setuplang);
$versionfrom=isset($_GET["versionfrom"])?$_GET["versionfrom"]:'';
$versionto=isset($_GET["versionto"])?$_GET["versionto"]:'';
$langs->load("admin"); $langs->load("admin");
$langs->load("install"); $langs->load("install");
@ -66,6 +67,12 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
{ {
print '<h2>'.$langs->trans("DatabaseMigration").'</h2>'; print '<h2>'.$langs->trans("DatabaseMigration").'</h2>';
if (! $versionfrom && ! $versionto)
{
print '<div class="error">Parameter versionfrom or version to missing.</div>';
exit;
}
print '<table cellspacing="0" cellpadding="1" border="0" width="100%">'; print '<table cellspacing="0" cellpadding="1" border="0" width="100%">';
$error=0; $error=0;
@ -132,13 +139,39 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
if ($choix==1) $dir = "../../mysql/migration/"; if ($choix==1) $dir = "../../mysql/migration/";
else $dir = "../../pgsql/migration/"; else $dir = "../../pgsql/migration/";
$filelist=array();
$i = 0; $i = 0;
$ok = 0; $ok = 0;
$from='^'.$versionfrom;
$to=$versionto.'\.sql$';
# Recupere list fichier
$filesindir=array();
$handle=opendir($dir); $handle=opendir($dir);
while (($file = readdir($handle))!==false) 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 '<tr><td nowrap>'; print '<tr><td nowrap>';
print $langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>'; print $langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>';
@ -228,23 +261,19 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
} }
} }
} if ($error == 0)
{
} print '<tr><td>'.$langs->trans("ProcessMigrateScript").'</td>';
closedir($handle); print '<td align="right">'.$langs->trans("OK").'</td></tr>';
$ok = 1;
if ($error == 0) }
{ else
print '<tr><td>'.$langs->trans("ProcessMigrateScript").'</td>'; {
print '<td align="right">'.$langs->trans("OK").'</td></tr>'; print '<tr><td>'.$langs->trans("ProcessMigrateScript").'</td>';
$ok = 1; print '<td align="right"><font class="error">'.$langs->trans("KO").'</font></td></tr>';
} $ok = 0;
else }
{ }
print '<tr><td>'.$langs->trans("ProcessMigrateScript").'</td>';
print '<td align="right"><font class="error">'.$langs->trans("KO").'</font></td></tr>';
$ok = 0;
}
} }
print '</table>'; print '</table>';