Add 2.4 to 2.5 mmigration script

This commit is contained in:
Laurent Destailleur 2008-08-28 21:28:59 +00:00
parent 80a3de1a56
commit eafc19fe3e

View File

@ -19,11 +19,11 @@
*/ */
/** /**
\file htdocs/install/check.php \file htdocs/install/check.php
\ingroup install \ingroup install
\brief Test si le fichier conf est modifiable et si il n'existe pas, test la possibilité de le créer \brief Test si le fichier conf est modifiable et si il n'existe pas, test la possibilité de le créer
\version $Id$ \version $Id$
*/ */
include_once("./inc.php"); include_once("./inc.php");
$err = 0; $err = 0;
@ -44,8 +44,8 @@ dolibarr_install_syslog("check: Dolibarr install/upgrade process started");
/* /*
* View * View
*/ */
pHeader($langs->trans("DolibarrWelcome"),""); // Etape suivante = license pHeader($langs->trans("DolibarrWelcome"),""); // Etape suivante = license
@ -61,12 +61,12 @@ print '<b>'.$langs->trans("MiscellanousChecks")."</b>:<br>\n";
// Check PHP version // Check PHP version
if (versioncompare(versionphparray(),array(4,1)) < 0) if (versioncompare(versionphparray(),array(4,1)) < 0)
{ {
print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'4.1'); print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'4.1');
$checksok=0; $checksok=0;
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray()); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray());
} }
if (empty($force_install_nophpinfo)) print ' (<a href="phpinfo.php" target="_blank">'.$langs->trans("MoreInformation").'</a>)'; if (empty($force_install_nophpinfo)) print ' (<a href="phpinfo.php" target="_blank">'.$langs->trans("MoreInformation").'</a>)';
print "<br>\n"; print "<br>\n";
@ -78,35 +78,35 @@ if (! isset($_GET["testget"]) && ! isset($_POST["testpost"]))
print '<img src="../theme/eldy/img/warning.png" alt="Warning"> '.$langs->trans("PHPSupportPOSTGETKo"); print '<img src="../theme/eldy/img/warning.png" alt="Warning"> '.$langs->trans("PHPSupportPOSTGETKo");
print ' (<a href="'.$_SERVER["PHP_SELF"].'?testget=ok">'.$langs->trans("Recheck").'</a>)'; print ' (<a href="'.$_SERVER["PHP_SELF"].'?testget=ok">'.$langs->trans("Recheck").'</a>)';
print "<br>\n"; print "<br>\n";
$checksok=0; $checksok=0;
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportPOSTGETOk")."<br>\n"; print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportPOSTGETOk")."<br>\n";
} }
// Check if sessions enabled // Check if sessions enabled
if (! function_exists("session_id")) if (! function_exists("session_id"))
{ {
print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPDoesNotSupportSessions")."<br>\n"; print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPDoesNotSupportSessions")."<br>\n";
$checksok=0; $checksok=0;
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportSessions")."<br>\n"; print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportSessions")."<br>\n";
/* /*
// On se fout des warning sur session_start, meme si pas moyen de mettre cookie dans http, car on ne test pas entre 2 pages mais au sein de la meme // On se fout des warning sur session_start, meme si pas moyen de mettre cookie dans http, car on ne test pas entre 2 pages mais au sein de la meme
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> Test sauvegarde donnée en session.'."<br>\n";; print '<img src="../theme/eldy/img/tick.png" alt="Ok"> Test sauvegarde donnée en session.'."<br>\n";;
@session_start(); @session_start();
$_SESSION['test']=1; $_SESSION['test']=1;
session_write_close(); session_write_close();
@session_start(); @session_start();
if (! $_SESSION['test']) print '<img src="../theme/eldy/img/error.png" alt="Error"> Echec récupération donnée en session. Votre PHP ne fonctionne pas correctement. Votre répertoire de sauvegarde des sessions est peut-être plein.'."<br>\n"; if (! $_SESSION['test']) print '<img src="../theme/eldy/img/error.png" alt="Error"> Echec récupération donnée en session. Votre PHP ne fonctionne pas correctement. Votre répertoire de sauvegarde des sessions est peut-être plein.'."<br>\n";
else print '<img src="../theme/eldy/img/tick.png" alt="Ok"> Succès récupération donnée en session.'."<br>\n"; else print '<img src="../theme/eldy/img/tick.png" alt="Ok"> Succès récupération donnée en session.'."<br>\n";
session_write_close(); session_write_close();
*/ */
} }
@ -114,12 +114,12 @@ else
if (! function_exists("imagecreate")) if (! function_exists("imagecreate"))
{ {
$langs->load("errors"); $langs->load("errors");
print '<img src="../theme/eldy/img/warning.png" alt="Error"> '.$langs->trans("ErrorPHPDoesNotSupportGD")."<br>\n"; print '<img src="../theme/eldy/img/warning.png" alt="Error"> '.$langs->trans("ErrorPHPDoesNotSupportGD")."<br>\n";
// $checksok=0; // If image ko, just warning. So check must still be 1 (otherwise no way to install) // $checksok=0; // If image ko, just warning. So check must still be 1 (otherwise no way to install)
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportGD")."<br>\n"; print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPSupportGD")."<br>\n";
} }
@ -138,11 +138,11 @@ if ($memmaxorig != '')
} }
if ($memmax >= $memrequired) if ($memmax >= $memrequired)
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPMemoryOK",$memmaxorig,$memrequiredorig)."<br>\n"; print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("PHPMemoryOK",$memmaxorig,$memrequiredorig)."<br>\n";
} }
else else
{ {
print '<img src="../theme/eldy/img/warning.png" alt="Warning"> '.$langs->trans("PHPMemoryTooLow",$memmaxorig,$memrequiredorig)."<br>\n"; print '<img src="../theme/eldy/img/warning.png" alt="Warning"> '.$langs->trans("PHPMemoryTooLow",$memmaxorig,$memrequiredorig)."<br>\n";
} }
} }
@ -152,18 +152,18 @@ clearstatcache();
if (is_readable($conffile) && filesize($conffile) > 8) if (is_readable($conffile) && filesize($conffile) > 8)
{ {
dolibarr_install_syslog("check: conf file '$conffile' already exists"); dolibarr_install_syslog("check: conf file '$conffile' already exists");
$confexists=1; $confexists=1;
include_once($conffile); include_once($conffile);
// Deja installé, on peut upgrader // Deja installé, on peut upgrader
// \todo Test if database ok // \todo Test if database ok
$allowupgrade=1; $allowupgrade=1;
} }
else else
{ {
// Si non on le crée // Si non on le crée
dolibarr_install_syslog("check: we try to creat conf file '$conffile'"); dolibarr_install_syslog("check: we try to creat conf file '$conffile'");
$confexists=0; $confexists=0;
# First we try by copying example # First we try by copying example
if (@copy($conffile.".example", $conffile)) if (@copy($conffile.".example", $conffile))
@ -184,10 +184,10 @@ else
@fputs($fp,"?>"); @fputs($fp,"?>");
fclose($fp); fclose($fp);
} }
} }
// First install, on ne peut pas upgrader // First install, on ne peut pas upgrader
$allowupgrade=0; $allowupgrade=0;
} }
@ -195,128 +195,100 @@ else
// Si fichier absent et n'a pu etre créé // Si fichier absent et n'a pu etre créé
if (! file_exists($conffile)) if (! file_exists($conffile))
{ {
//print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated",$conffile); //print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated",$conffile);
print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated",'conf.php'); print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated",'conf.php');
print "<br /><br />"; print "<br /><br />";
print $langs->trans("YouMustCreateWithPermission",'htdocs/conf/conf.php'); print $langs->trans("YouMustCreateWithPermission",'htdocs/conf/conf.php');
print "<br /><br />"; print "<br /><br />";
print $langs->trans("CorrectProblemAndReloadPage",$_SERVER['PHP_SELF'].'?testget=ok'); print $langs->trans("CorrectProblemAndReloadPage",$_SERVER['PHP_SELF'].'?testget=ok');
$err++; $err++;
} }
else else
{ {
// Si fichier présent mais ne peut etre modifié // Si fichier présent mais ne peut etre modifié
if (!is_writable($conffile)) if (!is_writable($conffile))
{ {
if ($confexists) if ($confexists)
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists",'conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists",'conf.php');
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated",'conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated",'conf.php');
} }
print "<br />"; print "<br />";
print '<img src="../theme/eldy/img/tick.png" alt="Warning"> '.$langs->trans("ConfFileIsNotWritable",'htdocs/conf/conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Warning"> '.$langs->trans("ConfFileIsNotWritable",'htdocs/conf/conf.php');
print "<br />\n"; print "<br />\n";
$allowinstall=0; $allowinstall=0;
} }
// Si fichier présent et peut etre modifié // Si fichier présent et peut etre modifié
else else
{ {
if ($confexists) if ($confexists)
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists",'conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists",'conf.php');
} }
else else
{ {
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated",'conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated",'conf.php');
} }
print "<br />"; print "<br />";
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileIsWritable",'conf.php'); print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileIsWritable",'conf.php');
print "<br />\n"; print "<br />\n";
$allowinstall=1; $allowinstall=1;
} }
print "<br />\n"; print "<br />\n";
print "<br />\n"; print "<br />\n";
// Si prerequis ok, on affiche le bouton pour passer à l'étape suivante // Si prerequis ok, on affiche le bouton pour passer à l'étape suivante
if ($checksok) if ($checksok)
{ {
print $langs->trans("ChooseYourSetupMode"); print $langs->trans("ChooseYourSetupMode");
print '<table width="100%" cellspacing="1" cellpadding="4" border="1">'; print '<table width="100%" cellspacing="1" cellpadding="4" border="1">';
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("FreshInstall").'</b></td><td>'; print '<tr><td nowrap="nowrap"><b>'.$langs->trans("FreshInstall").'</b></td><td>';
print $langs->trans("FreshInstallDesc").'</td>'; print $langs->trans("FreshInstallDesc").'</td>';
print '<td align="center">'; print '<td align="center">';
if ($allowinstall) if ($allowinstall)
{ {
print '<a href="licence.php?selectlang='.$setuplang.'">'.$langs->trans("Start").'</a>'; print '<a href="licence.php?selectlang='.$setuplang.'">'.$langs->trans("Start").'</a>';
} }
else else
{ {
print $langs->trans("InstallNotAllowed"); print $langs->trans("InstallNotAllowed");
} }
print '</td>'; print '</td>';
print '</tr>'."\n"; print '</tr>'."\n";
# Upgrade $migrationscript=array(array('from'=>'2.0.0', 'to'=>'2.1.0'),
$versionfrom='2.0.0'; array('from'=>'2.1.0', 'to'=>'2.2.0'),
$versionto='2.1.0'; array('from'=>'2.2.0', 'to'=>'2.4.0'),
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.'</b></td><td>'; array('from'=>'2.4.0', 'to'=>'2.5.0'));
print $langs->trans("UpgradeDesc").'</td>'; # Upgrade lines
print '<td align="center">'; foreach ($migrationscript as $migarray)
if ($allowupgrade) {
{ $versionfrom=$migarray['from'];
print '<a href="upgrade.php?action=upgrade&amp;selectlang='.$setuplang.'&amp;versionfrom='.$versionfrom.'&amp;versionto='.$versionto.'">'.$langs->trans("Start").'</a>'; $versionto=$migarray['to'];
} print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.'</b></td><td>';
else print $langs->trans("UpgradeDesc").'</td>';
{ print '<td align="center">';
print $langs->trans("NotAvailable"); if ($allowupgrade)
} {
print '</td>'; print '<a href="upgrade.php?action=upgrade&amp;selectlang='.$setuplang.'&amp;versionfrom='.$versionfrom.'&amp;versionto='.$versionto.'">'.$langs->trans("Start").'</a>';
print '</tr>'."\n"; }
else
# Upgrade {
$versionfrom='2.1.0'; print $langs->trans("NotAvailable");
$versionto='2.2.0'; }
print '<tr><td nowrap="nowrap"><b>'.$langs->trans("Upgrade").' '.$versionfrom.' -> '.$versionto.'</b></td><td>'; print '</td>';
print $langs->trans("UpgradeDesc").'</td>'; print '</tr>'."\n";
print '<td align="center">'; }
if ($allowupgrade) print '</table>';
{ print "\n";
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";
# Upgrade
$versionfrom='2.2.0';
$versionto='2.4.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 "\n";
} }
} }