2005-02-13 16:40:15 +01:00
< ? php
2006-08-12 19:59:41 +02:00
/* Copyright ( C ) 2004 - 2005 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2007-03-06 19:30:16 +01:00
* Copyright ( C ) 2004 - 2007 Laurent Destailleur < eldy @ users . sourceforge . net >
2006-08-12 19:59:41 +02:00
* Copyright ( C ) 2005 Marc Barilley / Oc<EFBFBD> bo < marc @ ocebo . com >
2005-02-13 16:40:15 +01:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*
* $Id $
* $Source $
*/
/**
2005-10-03 03:14:50 +02:00
\file htdocs / install / check . php
\ingroup install
\brief Test si le fichier conf est modifiable et si il n ' existe pas , test la possibilit<EFBFBD> de le cr<EFBFBD> er
\version $Revision $
2005-02-13 16:40:15 +01:00
*/
2005-10-03 03:14:50 +02:00
2005-04-02 12:06:57 +02:00
$err = 0 ;
2005-10-03 03:14:50 +02:00
$allowinstall = 0 ;
$allowupgrade = 0 ;
2006-09-09 02:54:59 +02:00
$checksok = 1 ;
2005-02-13 16:40:15 +01:00
include_once ( " ./inc.php " );
2005-11-01 15:41:27 +01:00
$setuplang = isset ( $_POST [ " selectlang " ]) ? $_POST [ " selectlang " ] : ( isset ( $_GET [ " selectlang " ]) ? $_GET [ " selectlang " ] : $langs -> getDefaultLang ());
2005-10-30 02:07:00 +01:00
$langs -> setDefaultLang ( $setuplang );
2005-02-13 16:40:15 +01:00
$langs -> load ( " install " );
2005-10-03 03:14:50 +02:00
2007-05-10 19:58:57 +02:00
dolibarr_install_syslog ( " check: Dolibarr install/upgrade process started " );
2006-06-17 16:13:49 +02:00
2005-10-03 03:14:50 +02:00
pHeader ( $langs -> trans ( " DolibarrWelcome " ), " " ); // Etape suivante = license
2005-02-13 16:40:15 +01:00
2006-08-12 19:59:41 +02:00
print '<center><img src="../theme/dolibarr_logo_2.png" alt="Dolibarr logo"></center><br>' ;
2006-08-20 04:06:48 +02:00
print " <br> \n " ;
2006-08-12 19:59:41 +02:00
2006-09-09 02:54:59 +02:00
print $langs -> trans ( " InstallEasy " ) . " <br><br> \n " ;
print '<b>' . $langs -> trans ( " MiscellanousChecks " ) . " </b>:<br> \n " ;
2007-04-18 19:38:55 +02:00
2006-09-09 02:54:59 +02:00
// Check PHP version
if ( versioncompare ( versionphp (), array ( 4 , 1 )) < 0 )
{
2007-04-18 19:38:55 +02:00
print '<img src="../theme/eldy/img/error.png" alt="Error"> ' . $langs -> trans ( " ErrorPHPVersionTooLow " , '4.1' );
2006-09-09 02:54:59 +02:00
$checksok = 0 ;
}
else
{
2007-04-18 19:38:55 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " PHPVersion " ) . " " . versiontostring ( versionphp ());
2006-09-09 02:54:59 +02:00
}
2007-04-18 19:38:55 +02:00
print ' (<a href="phpinfo.php" target="_info">' . $langs -> trans ( " MoreInformation " ) . '</a>)' ;
print " <br> \n " ;
2006-09-09 02:54:59 +02:00
2007-03-06 19:30:16 +01:00
// Check PHP support for $_POST
if ( ! isset ( $_GET [ " testget " ]) && ! isset ( $_POST [ " testpost " ]))
{
2007-04-10 20:54:34 +02:00
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 " <br> \n " ;
2007-03-06 19:30:16 +01:00
$checksok = 0 ;
}
else
{
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " PHPSupportPOSTGETOk " ) . " <br> \n " ;
}
2007-04-18 19:38:55 +02:00
// Check if sessions enabled
2006-09-09 02:54:59 +02:00
if ( ! function_exists ( " session_id " ))
{
print '<img src="../theme/eldy/img/error.png" alt="Error"> ' . $langs -> trans ( " ErrorPHPDoesNotSupportSessions " ) . " <br> \n " ;
$checksok = 0 ;
}
else
{
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " PHPSupportSessions " ) . " <br> \n " ;
2006-12-16 16:40:37 +01:00
/*
// 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<6E> e en session.' . " <br> \n " ;;
@ session_start ();
$_SESSION [ 'test' ] = 1 ;
session_write_close ();
@ session_start ();
if ( ! $_SESSION [ 'test' ]) print '<img src="../theme/eldy/img/error.png" alt="Error"> Echec r<> cup<75> ration donn<6E> e en session. Votre PHP ne fonctionne pas correctement. Votre r<> pertoire de sauvegarde des sessions est peut-<2D> tre plein.' . " <br> \n " ;
else print '<img src="../theme/eldy/img/tick.png" alt="Ok"> Succ<63> s r<> cup<75> ration donn<6E> e en session.' . " <br> \n " ;
session_write_close ();
*/
2006-09-09 02:54:59 +02:00
}
2005-02-13 16:40:15 +01:00
2005-11-03 00:13:13 +01:00
// Si fichier pr<70> sent et lisible et renseign<67>
2005-11-03 19:00:17 +01:00
clearstatcache ();
if ( is_readable ( $conffile ) && filesize ( $conffile ) > 8 )
2005-02-13 16:40:15 +01:00
{
2007-05-10 19:58:57 +02:00
dolibarr_install_syslog ( " check: conf file ' $conffile ' already exists " );
2005-10-03 03:14:50 +02:00
$confexists = 1 ;
include_once ( $conffile );
// Deja install<6C> , on peut upgrader
// \todo Test if database ok
$allowupgrade = 1 ;
2005-02-13 16:40:15 +01:00
}
else
{
2005-10-03 03:14:50 +02:00
// Si non on le cr<63> e
2007-05-10 19:58:57 +02:00
dolibarr_install_syslog ( " check: we try to creat conf file ' $conffile ' " );
2005-10-03 03:14:50 +02:00
$confexists = 0 ;
2007-05-10 19:58:57 +02:00
# First we try by copying example
if ( copy ( $conffile . " .example " , $conffile ))
{
# Success
dolibarr_install_syslog ( " check: copied file " . $conffile . " .example into " . $conffile . " done successfully. " );
}
else
{
# If failed, we try to create an empty file
dolibarr_install_syslog ( " check: failed to copy file " . $conffile . " .example into " . $conffile . " . We try to create it. " );
$fp = @ fopen ( $conffile , " w " );
if ( $fp )
{
@ fwrite ( $fp , '<?php' );
@ fputs ( $fp , " \n " );
@ fputs ( $fp , " ?> " );
fclose ( $fp );
}
2005-02-13 16:40:15 +01:00
}
2007-05-10 19:58:57 +02:00
2005-10-03 03:14:50 +02:00
// First install, on ne peut pas upgrader
$allowupgrade = 0 ;
2005-02-13 16:40:15 +01:00
}
2007-04-18 19:38:55 +02:00
2005-03-26 13:15:11 +01:00
// Si fichier absent et n'a pu etre cr<63> <72>
2006-09-09 02:54:59 +02:00
if ( ! file_exists ( $conffile ))
2005-02-13 16:40:15 +01:00
{
2006-11-18 04:16:56 +01:00
//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 " <br /><br /> " ;
2005-11-03 00:13:13 +01:00
print $langs -> trans ( " YouMustCreateWithPermission " , 'htdocs/conf/conf.php' );
print " <br /><br /> " ;
2007-04-17 22:54:24 +02:00
print $langs -> trans ( " CorrectProblemAndReloadPage " , $_SERVER [ 'PHP_SELF' ] . '?testget=ok' );
2005-11-03 00:13:13 +01:00
$err ++ ;
2005-02-13 16:40:15 +01:00
}
else
{
2005-11-03 00:13:13 +01:00
// Si fichier pr<70> sent mais ne peut etre modifi<66>
2005-03-26 13:15:11 +01:00
if ( ! is_writable ( $conffile ))
2005-02-13 16:40:15 +01:00
{
2005-11-03 00:13:13 +01:00
if ( $confexists )
{
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " ConfFileExists " , 'conf.php' );
2005-03-26 13:15:11 +01:00
}
2005-11-03 00:13:13 +01:00
else
{
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " ConfFileCouldBeCreated " , 'conf.php' );
2005-03-26 13:15:11 +01:00
}
print " <br /> " ;
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Warning"> ' . $langs -> trans ( " ConfFileIsNotWritable " , 'htdocs/conf/conf.php' );
2006-08-20 04:06:48 +02:00
print " <br /> \n " ;
2005-03-26 13:15:11 +01:00
2005-10-03 03:14:50 +02:00
$allowinstall = 0 ;
2005-02-13 16:40:15 +01:00
}
2005-03-26 13:15:11 +01:00
// Si fichier pr<70> sent et peut etre modifi<66>
else
2005-02-13 16:40:15 +01:00
{
2005-11-03 00:13:13 +01:00
if ( $confexists )
{
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " ConfFileExists " , 'conf.php' );
2005-03-26 13:15:11 +01:00
}
2005-11-03 00:13:13 +01:00
else
{
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " ConfFileCouldBeCreated " , 'conf.php' );
2005-03-26 13:15:11 +01:00
}
print " <br /> " ;
2006-09-09 02:54:59 +02:00
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs -> trans ( " ConfFileIsWritable " , 'conf.php' );
2006-08-20 04:06:48 +02:00
print " <br /> \n " ;
2005-03-26 13:15:11 +01:00
2005-10-03 03:14:50 +02:00
$allowinstall = 1 ;
2005-02-13 16:40:15 +01:00
}
2005-10-03 03:14:50 +02:00
print " <br /> \n " ;
print " <br /> \n " ;
2006-09-09 02:54:59 +02:00
// Si prerequis ok, on affiche le bouton pour passer <20> l'<27> tape suivante
if ( $checksok )
{
print $langs -> trans ( " ChooseYourSetupMode " );
print '<table width="100%" cellspacing="1" cellpadding="4" border="1">' ;
print '<tr><td nowrap="nowrap"><b>' . $langs -> trans ( " FreshInstall " ) . '</b></td><td>' ;
print $langs -> trans ( " FreshInstallDesc " ) . '</td>' ;
print '<td align="center">' ;
if ( $allowinstall )
{
print '<a href="licence.php?selectlang=' . $setuplang . '">' . $langs -> trans ( " Start " ) . '</a>' ;
}
else
{
print $langs -> trans ( " InstallNotAllowed " );
}
print '</td>' ;
print '</tr>' . " \n " ;
2007-05-06 16:12:36 +02:00
# Upgrade
$versionfrom = '2.0.0' ;
$versionto = '2.2.0' ;
print '<tr><td nowrap="nowrap"><b>' . $langs -> trans ( " Upgrade " ) . ' ' . $versionfrom . ' -> ' . $versionto . '</b></td><td>' ;
2006-09-09 02:54:59 +02:00
print $langs -> trans ( " UpgradeDesc " ) . '</td>' ;
print '<td align="center">' ;
if ( $allowupgrade )
{
2007-05-06 16:12:36 +02:00
print '<a href="upgrade.php?action=upgrade&selectlang=' . $setuplang . '&versionfrom=' . $versionfrom . '&versionto=' . $versionto . '">' . $langs -> trans ( " Start " ) . '</a>' ;
2006-09-09 02:54:59 +02:00
}
else
{
print $langs -> trans ( " NotAvailable " );
}
print '</td>' ;
print '</tr>' . " \n " ;
2007-05-06 16:12:36 +02:00
# 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&selectlang=' . $setuplang . '&versionfrom=' . $versionfrom . '&versionto=' . $versionto . '">' . $langs -> trans ( " Start " ) . '</a>' ;
}
else
{
print $langs -> trans ( " NotAvailable " );
}
print '</td>' ;
print '</tr>' . " \n " ;
2006-09-09 02:54:59 +02:00
print '</table>' ;
print " \n " ;
}
2005-10-03 03:14:50 +02:00
2005-02-13 16:40:15 +01:00
}
2005-10-03 03:14:50 +02:00
2007-04-18 19:38:55 +02:00
2006-09-09 02:54:59 +02:00
pFooter ( 1 ); // 1 car ne doit jamais afficher bouton Suivant
2005-02-13 16:40:15 +01:00
?>