";
// comment are not execute
if ( substr($buffer,0,2) == "--" ) {
//echo "comment $buffer";
continue;
}
// Blank Lines Are Skipped
If ( Strlen($buffer)==0) {
//echo "Blank $buffer";
Continue;
}
if ( strpos(strtolower($buffer),"create function")===0 ) {
echo "found a function";
$flag_function=true;
$sql=$buffer;
continue;
}
if ( strpos(strtolower($buffer),"create or replace function")===0 ) {
echo "found a function";
$flag_function=true;
$sql=$buffer;
continue;
}
// No semi colon -> multiline command
if ( $flag_function== false && strpos($buffer,';') == false ) {
$sql.=$buffer;
continue;
}
if ( $flag_function ) {
if ( strpos(strtolower($buffer), "language plpgsql") === false &&
strpos(strtolower($buffer), "language 'plpgsql'") === false ) {
$sql.=$buffer;
continue;
}
} else {
// cut the semi colon
$buffer=str_replace (';','',$buffer);
}
$sql.=$buffer;
if ( ExecSql($p_cn,$sql) == false ) {
Rollback($p_cn);
if ( DEBUG=='false' ) ob_end_flush();
print "ERROR : $sql";
exit();
}
$sql="";
$flag_function=false;
print "
";
} // while (feof)
fclose($hf);
}
// Verify some PHP parameters
// magic_quotes_gpc = Off
// magic_quotes_runtime = Off
// magic_quotes_sybase = Off
// include_path
?>
Info
Vous utilisez le domaine
Php setting
';
else {
print ("$a has a bad value !!!
");
$flag_php++;
}
}
$module=get_loaded_extensions();
if ( in_array('pgsql',$module) == false )
{
print 'Désolé mais soit vous n\'avez pas installé le package pour postgresql soit php n\'a pas pas été compilé avec les bonnes options
';
$flag_php++;
}
if ( ini_get("max_execution_time") < 60 ) {
print ' max_execution_time should be set to 60 minimum
';
}
if ( ini_get("session.auto_start") == false ) {
print ' session.auto_start must be set to true
';
$flag_php++;
}
if ( ini_get("session.use_trans_sid") == false ) {
print ' avertissement session.use_trans_sid should be set to true
';
}
if ( ereg("..\/include",$inc_path) == 0 and ereg("..\\include",$inc_path) == 0)
{
print ("include_path incorrect !!!".$inc_path."
");
$flag_php++;
}
else
if ( ereg("addon",$inc_path) == 0) {
print ("include_path incorrect !!!".$inc_path."
");
$flag_php++;
}else
print 'include_path : ok ('.$inc_path.')
';
if ( $flag_php==0 ) {
echo 'php.ini est bien configuré
';
} else {
echo ' php mal configuré
';
exit -1;
}
$cn=DbConnect(-2,'phpcompta');
if ($cn == false ) {
print " Vous devez absolument taper dans une console la commande 'createuser -A -d -P phpcompta et vous donnez dany comme mot de passe (voir la documentation)'
puis la commande 'createdb -O phpcompta phpcompta'.
Ces commandes créeront l'utilisateur phpcompta
puis la base de données par défaut de phpcompta.
";
exit();
}
?>
Database version
Vous devez absolument utiliser au minimum une version 8 de PostGresql, si votre distribution n'en
offre pas, installez en une en la compilant.
Lisez attentivement la notice sur postgresql.org pour migrer
vos bases de données en 8
Database Setting
Vous devez installer le langage plpgsql pour permettre aux fonctions SQL de fonctionner.
Pour cela, sur la ligne de commande, faites
createlang plpgsql pour chaque base de données que vous possédez (y compris template0 et template1).
Pour afficher toutes les bases de données, tapez sur la ligne de commande "psql -l"
Attention le paramètre effective_cache_size est de '.
$a['setting']." au lieu de 1000 ";
$flag++;
}
break;
case 'shared_buffers':
if ( $a['setting'] < 640 ){
print 'Attention le paramètre shared_buffer est de '.
$a['setting']."au lieu de 640
";
$flag++;
}
break;
case 'work_mem':
if ( $a['setting'] < 8192 ){
print 'Attention le paramètre work_mem est de '.
$a['setting']." au lieu de 8192
";
$flag++;
}
break;
}
}
if ( $flag == 0 ) {
echo 'La base de données est bien configurée
';
} else {
echo 'Il y a '.$flag.' paramètre qui sont trop bas
';
}
if ( ! isset($_POST['go']) ) {
?>
".__LINE__." test has failed !!!");
}
if ( ($Res=ExecSql($a,"select * from ac_users") ) == false ) {
exit ("".__LINE__." test has failed !!!
");
} else
print "Connect to database success
";
echo " Congratulation : Test successfull
";
echo " Patching databases
";
$cn=DbConnect();
$Resdossier=ExecSql($cn,"select dos_id, dos_name from ac_dossier");
$MaxDossier=pg_NumRows($Resdossier);
for ($e=0;$e < $MaxDossier;$e++) {
$db_row=pg_fetch_array($Resdossier,$e);
$db=DbConnect($db_row['dos_id'],'dossier');
echo "Patching ".$db_row['dos_name']." from the version ".GetVersion($db)."
";
if ( DEBUG=='false' ) ob_start();
if ( GetVersion($db) <= 4 ) {
ExecuteScript($db,'sql/patch/upgrade4.sql');
$sql="select jrn_def_id from jrn_def ";
$Res=ExecSql($db,$sql);
$Max=pg_NumRows($Res);
for ($seq=0;$seq<$Max;$seq++) {
$row=pg_fetch_array($Res,$seq);
$sql=sprintf ("create sequence s_jrn_%d",$row['jrn_def_id']);
ExecSql($db,$sql);
}
} // version == 4
//--
// update to the version 5
//--
if ( GetVersion($db) == 5 ) {
ExecuteScript($db,'sql/patch/upgrade5.sql');
} // version == 5
//--
// update to the version 7
//--
if ( GetVersion($db) == 6 ) {
ExecuteScript($db,'sql/patch/upgrade6.sql');
} // version == 6
//--
// update to the version 8
//--
if ( GetVersion($db) == 7 ) {
ExecuteScript($db,'sql/patch/upgrade7.sql');
// now we use sequence instead of computing a max
//
$Res2=ExecSql($db,'select coalesce(max(jr_grpt_id),1) as l from jrn');
$Max2= pg_NumRows($Res2) ;
if ( $Max2 == 1) {
$Row=pg_fetch_array($Res2,0);
var_dump($Row);
$M=$Row['l'];
ExecSql($db,"select setval('s_grpt',$M,true)");
}
} // version == 7
// version 8 -> 9
if ( GetVersion($db) == 8 ) {
ExecuteScript($db,'sql/patch/upgrade8.sql');
} // version == 9->10
if ( GetVersion($db) == 9 ) {
ExecuteScript($db,'sql/patch/upgrade9.sql');
} // version == 10->11
if ( GetVersion($db) == 10 ) {
ExecuteScript($db,'sql/patch/upgrade10.sql');
} // version
if ( GetVersion($db) == 11 ) {
ExecuteScript($db,'sql/patch/upgrade11.sql');
} // version
if ( GetVersion($db) == 12 ) {
ExecuteScript($db,'sql/patch/upgrade12.sql');
} // version
if ( GetVersion($db) == 13 ) {
ExecuteScript($db,'sql/patch/upgrade13.sql');
} // version
if ( GetVersion($db) == 14 ) {
ExecuteScript($db,'sql/patch/upgrade14.sql');
} // version
if ( GetVersion($db) == 15 ) {
ExecuteScript($db,'sql/patch/upgrade15.sql');
} // version
if ( GetVersion($db) == 16 ) {
ExecuteScript($db,'sql/patch/upgrade16.sql');
} // version
if ( GetVersion($db) == 17 ) {
ExecuteScript($db,'sql/patch/upgrade17.sql');
$max=getDbValue($db,'select last_value from s_jnt_fic_att_value');
AlterSequence($db,'s_jnt_fic_att_value',$max+1);
} // version
if ( GetVersion($db) == 18 ) {
ExecuteScript($db,'sql/patch/upgrade18.sql');
} // version
if ( GetVersion($db) == 19 ) {
ExecuteScript($db,'sql/patch/upgrade19.sql');
} // version
if ( GetVersion($db) == 20 ) {
ExecuteScript($db,'sql/patch/upgrade20.sql');
} // version
if ( GetVersion($db) == 21 ) {
ExecuteScript($db,'sql/patch/upgrade21.sql');
} // version
if ( GetVersion($db) == 22 ) {
ExecuteScript($db,'sql/patch/upgrade22.sql');
} // version
if ( GetVersion($db) == 23 ) {
ExecuteScript($db,'sql/patch/upgrade23.sql');
} // version
if ( GetVersion($db) == 24 ) {
ExecuteScript($db,'sql/patch/upgrade24.sql');
} // version
if ( GetVersion($db) == 25 ) {
ExecuteScript($db,'sql/patch/upgrade25.sql');
} // version
if ( GetVersion($db) == 26 ) {
ExecuteScript($db,'sql/patch/upgrade26.sql');
} // version
if ( GetVersion($db) == 27 ) {
ExecuteScript($db,'sql/patch/upgrade27.sql');
} // version
if ( GetVersion($db) == 28 ) {
ExecuteScript($db,'sql/patch/upgrade28.sql');
} // version
if ( DEBUG == 'false') ob_end_clean();
}//for
$Resdossier=ExecSql($cn,"select mod_id, mod_name from modeledef");
$MaxDossier=pg_NumRows($Resdossier);
echo "Upgrading Dossier";
for ($e=0;$e < $MaxDossier;$e++) {
$db_row=pg_fetch_array($Resdossier,$e);
echo "Patching ".$db_row['mod_name']."
";
$db=DbConnect($db_row['mod_id'],'mod');
if (DEBUG == 'false' ) ob_start();
if ( GetVersion($db) <= 4 ) {
ExecuteScript($db,'sql/patch/upgrade4.sql');
$sql="select jrn_def_id from jrn_def ";
$Res=ExecSql($db,$sql);
$Max=pg_NumRows($Res);
for ($seq=0;$seq<$Max;$seq++) {
$row=pg_fetch_array($Res,$seq);
$sql=sprintf ("create sequence s_jrn_%d",$row['jrn_def_id']);
ExecSql($db,$sql);
}
} // version == 4
if ( GetVersion($db) == 5 ) {
ExecuteScript($db,'sql/patch/upgrade5.sql');
} // version == 5
//--
// update to the version 7
//--
if ( GetVersion($db) == 6 ) {
ExecuteScript($db,'sql/patch/upgrade6.sql');
} // version == 6
//--
// update to the version 8
//--
if ( GetVersion($db) == 7 ) {
ExecuteScript($db,'sql/patch/upgrade7.sql');
// now we use sequence instead of computing a max
//
$Res2=ExecSql($db,'select coalesce(max(jr_grpt_id),1) as l from jrn');
$Max2= pg_NumRows($Res2) ;
if ( $Max2 == 1) {
$Row=pg_fetch_array($Res2,0);
$M=$Row['l'];
ExecSql($db,"select setval('s_grpt',$M,true)");
}
} // version == 8
//--
// update to the version 9
//--
if ( GetVersion($db) == 8 ) {
ExecuteScript($db,'sql/patch/upgrade8.sql');
} // version == 9
// update to the version 10
//--
if ( GetVersion($db) == 9 ) {
ExecuteScript($db,'sql/patch/upgrade9.sql');
} // version == 9
if ( GetVersion($db) == 10 ) {
ExecuteScript($db,'sql/patch/upgrade10.sql');
} // version
if ( GetVersion($db) == 11 ) {
ExecuteScript($db,'sql/patch/upgrade11.sql');
} // version
if ( GetVersion($db) == 12 ) {
ExecuteScript($db,'sql/patch/upgrade12.sql');
} // version
if ( GetVersion($db) == 13 ) {
ExecuteScript($db,'sql/patch/upgrade13.sql');
} // version
if ( GetVersion($db) == 14 ) {
ExecuteScript($db,'sql/patch/upgrade14.sql');
} // version
if ( GetVersion($db) == 15 ) {
ExecuteScript($db,'sql/patch/upgrade15.sql');
} // version
if ( GetVersion($db) == 16 ) {
ExecuteScript($db,'sql/patch/upgrade16.sql');
} // version
if ( GetVersion($db) == 17 ) {
ExecuteScript($db,'sql/patch/upgrade17.sql');
$max=getDbValue($db,'select last_value from s_jnt_fic_att_value');
AlterSequence($db,'s_jnt_fic_att_value',$max+1);
} // version
if ( GetVersion($db) == 18 ) {
ExecuteScript($db,'sql/patch/upgrade18.sql');
} // version
if ( GetVersion($db) == 19 ) {
ExecuteScript($db,'sql/patch/upgrade19.sql');
} // version
if ( GetVersion($db) == 20 ) {
ExecuteScript($db,'sql/patch/upgrade20.sql');
} // version
if ( GetVersion($db) == 21 ) {
ExecuteScript($db,'sql/patch/upgrade21.sql');
} // version
if ( GetVersion($db) == 22 ) {
ExecuteScript($db,'sql/patch/upgrade22.sql');
} // version
if ( GetVersion($db) == 23 ) {
ExecuteScript($db,'sql/patch/upgrade23.sql');
} // version
if ( GetVersion($db) == 24 ) {
ExecuteScript($db,'sql/patch/upgrade24.sql');
} // version
if ( GetVersion($db) == 25 ) {
ExecuteScript($db,'sql/patch/upgrade25.sql');
} // version
if ( GetVersion($db) == 26 ) {
ExecuteScript($db,'sql/patch/upgrade26.sql');
} // version
if ( GetVersion($db) == 27 ) {
ExecuteScript($db,'sql/patch/upgrade27.sql');
} // version
if ( GetVersion($db) == 28 ) {
ExecuteScript($db,'sql/patch/upgrade28.sql');
} // version
if ( DEBUG == 'false') ob_end_clean();
}
echo "Upgrading Repository";
$cn=DbConnect();
if ( DEBUG == 'false') ob_start();
if ( GetVersion($cn) <= 4 ) {
ExecuteScript($cn,'sql/patch/ac-upgrade4.sql');
}
if ( GetVersion($cn) == 5 ) {
ExecuteScript($cn,'sql/patch/ac-upgrade5.sql');
}
if ( GetVersion($cn) == 6 ) {
ExecuteScript($cn,'sql/patch/ac-upgrade6.sql');
}
if ( GetVersion($cn) == 7 ) {
ExecuteScript($cn,'sql/patch/ac-upgrade7.sql');
}
if (DEBUG=='false') ob_end_clean();
echo "Voilà tout est installé ;-)
";