<?php
/*
Copyright (C) 2001, 2002, 2003 Bertand Pallie, Loc Dayot - Mairie Pierrefitte (93),
Vincent Vairelles - Mairie de Dijon (21)
EPNadmin - Version 0.7 - 22/06/2003
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
http://epnadmin.pierrefitte93.fr/
*/
//require_once("header.inc.php");
require_once("constantes.inc.php"); // dfinition des constantes
require_once("fonctions.inc.php"); // concernant des fonctions transversales inclassables
//require_once("mysql.inc.php"); // concernant mysql
//require_once("sessions.inc.php"); // concernant les sessions et initiations
//require_once("usagers.inc.php"); // concernant la gestion des usagers
//require_once("reservations.inc.php"); // concernant les rservations des postes en accs individuel par des usagers
//require_once("tableaux.inc.php"); // Concernant l'affichage transpos d'un tableau
//require_once("siteweb.inc.php"); // concernant les pages perso des usagers et les sites web des structures
//require_once("dateheure.inc.php"); // concernant la manipulation des heures et des dates, formulaire, conversion...
//require_once("structures.inc.php"); // concernant les structures
//require_once("initiations.inc.php"); // concernant les initiations et les thmes
//require_once("parcours.inc.php"); // concernant les parcours des usagers et leur positionnement
// Ajout LD 3 mai 2003 - sur conseils VV - indpendances vis vis du serveur de bdd
if ($type_base!="direct")
require_once("DB.php"); // C'est un module installer en plus sur le serveur.
// Ce module se nomme php-pear, installer en plus du module gd
// concernant mysql
// Connexion une base d'un serveur mysql (variables dans le script constantes.inc.php)
function Mysql_connecte($serveur, $identifiant, $motdepasse, $base, $affiche=TRUE)
{
global $db, $type_base, $smysqlpbserveur, $smysqlpbbase;
//debug("Mysql_connecte() : $serveur $identifiant ($base)");
switch ($type_base)
{
case "mysql" : // mysql over PEAR
{
$connexion = "$type_base://$identifiant:$motdepasse@$serveur";
if ($base>"")
$connexion.="/$base";
$db = DB::connect($connexion);
if (DB::isError($db))
{
if ($affiche)
{
if ($base>"")
die($smysqlpbbase);
else
die($smysqlpbserveur);
}
else
return FALSE; // Il y a une erreur
}
$db->setFetchMode(DB_FETCHMODE_OBJECT); // A quoi a sert ???
break;
}
case "direct" : // mysql direct en PHP
{
if (! ($toto=@mysql_connect($serveur, $identifiant, $motdepasse)))
{
if ($affiche)
die($smysqlpbserveur);
else
return FALSE; // Il y a une erreur
}
if ($base>"")
{
$titi = @mysql_select_db($base);
if (!($titi))
{
if ($affiche)
die($smysqlpbbase);
else
return FALSE;
}
}
break;
}
} // switch
return TRUE; // Il n'y a pas d'erreur.
}
// Recherche dans une table des enregistrement
function recherche($table, $champ, $valeur, $tri="")
{
$req = "SELECT * FROM $table WHERE ".$champ."=\"".$valeur."\"";
if ($tri!="") $req.=" ORDER BY ".$tri;
//$db->setFetchMode(DB_FETCHMODE_OBJECT); // A quoi a peut servir ?
$res = executeRequete($req);
return $res;
}
// Execute une requete mise dans une chaine. Affiche le message d'erreur s'il y en a.
function executeRequete($req)
{
global $db, $mysqlpbrequete, $type_base;
switch ($type_base)
{
case "mysql" : // mysql sur PEAR
{
$res = $db->query($req);
if (DB::iserror($res))
debug (sprintf($mysqlpbrequete, $req, DB::iserror($res)));
break;
}
case "direct" : // mysql direct en PHP
{
$res = mysql_query($req);
if (! $res)
debug (sprintf($mysqlpbrequete, $req, mysql_error()));
break;
}
} // switch
return $res;
}
// Pour remplacer mysql_fetch_object...
function fetch_object($resultat)
{
global $db, $type_base;
switch ($type_base)
{
case "mysql" : return $resultat->fetchrow(DB_FETCHMODE_OBJECT); break;
case "direct" : return mysql_fetch_object($resultat); break;
}
} // retourne un objet enregistrement
// Pour remplacer mysql_fetch_array...
function fetch_array($resultat)
{
global $type_base;
switch ($type_base)
{
case "mysql" : return $resultat->fetchrow(DB_FETCHMODE_ASSOC); break;
case "direct" : return mysql_fetch_array($resultat); break;
}
} // retourne un tableau enregistrement tableau
// Pour remplacer mysql_num_rows...
function num_rows($resultat)
{
global $type_base;
switch ($type_base)
{
case "mysql" : return $resultat->numrows(); break;
case "direct" : return mysql_num_rows($resultat); break;
}
} // retourne un nombre
function free_result($resultat)
{
global $type_base;
switch ($type_base)
{
case "mysql" : return $resultat->free(); break;
case "direct" : return mysql_free_result($resultat); break;
}
} // Pas de retour
function close()
{
global $db, $type_base;
switch ($type_base)
{
case "mysql" : return $db->disconnect(); break;
case "direct" : return mysql_close(); break;
}
}
function insert_id()
{ // Indique le numro du dernier enregistrement insr
global $db, $type_base;
switch ($type_base)
{
case "mysql" : return $db->getOne("SELECT LAST_INSERT_ID()"); break;
case "direct" : return mysql_insert_id(); break;
}
}
?>