// gestDB.php : gestion des bases de données (ie tables)
//VGR10062001 : création. NB : il est possible de lire des enregistrements de 'privés' sans en être l'auteur...
//VGR12062001 : Activation table upload
//VGR22102001 FIXed missing /tags (closing) - Netscape is stricter than IE (twice here, cf also gestDB and msgpriv)
//VGR22112001 FIXed bug pour les options des sondages
//VGR16122001 MODified all   in
//VGR11012002 MODification des mysql_connect() en mysql_pconnect()
//VGR06032002 MODified l'enc-type du FORM (ne passe pas pour Free...)
//VGR23062002 BUGFIX itou
//VGR08102002 MODified pconnect in connect for Windows server
//VGR22052003 ADDed messages privés des autres invisibles par défaut pour les admins (CM)
//
//VGR21062003 MODification : special EE version : everybody is admin and sees all data
//VGR24072003 MODification : cleaning of unused code, general release to EE people
//
//TODO : nil
//
session_start();
//VGR21062003 REM if you have register_globals=Off in your PHP.INI file, uncomment the following block :
/*
// GPCS order
foreach ($_GET as $var => $value) ${$var}=$value;
foreach ($_POST as $var => $value) ${$var}=$value;
foreach ($_COOKIE as $var => $value) ${$var}=$value;
foreach ($_SESSION as $var => $value) ${$var}=$value;
*/
//EoRem
//include 'typeforum.set'; // sets $dbHost,$dbLogin,$dbPassword and various particular cases for non-admin people (like $dbGenerale etc) - just ignore it and work as admin only
$dbHost='localhost';
$dbLogin='root';
$dbPassword='gogolito';
function LogAction($parpseudo,$parip,$parmsg,$parlevel) { // dummy
echo "$parmsg
";
} // dummy
//require 'session.inc'; // will throw out unregistered (not logged in) people ; defines also useful functions like LogAction() - dummy above
//VGR21062003 REM you may say for a start :
$sess_pseudo='yourself'; session_register('sess_pseudo');
$sess_admin="1"; session_register('sess_admin');
$dbGenerale='test'; // this has to be a database that always exists
//EoRem
//begin
header("Refresh: 9999"); /* set browser refresh period à 9999s (jamais, 2,77h) */
echo "
poor VGR's database handler";
echo "Bonjour $sess_pseudo. Quitter
";
if ($sess_pseudo=="visiteur") { LogAction($sess_pseudo,$REMOTE_ADDR,"se fait jeter de la gestDB.",2); echo "Cette page n'est pas accessible aux visiteurs, enregistrez-vous d'abord.(cf Aide)"; exit;}
if (isset($getTable)) {
LogAction($sess_pseudo,$REMOTE_ADDR,"DB : accède à la table $table dans $datab.",2);
}
if (isset($quitte)) {
session_unregister("datab");
session_unregister("table");
session_unregister("globTableLue");
session_unregister("globChAcc");
session_unregister("globLimited");
session_unregister("globChLon");
session_unregister("globNbChamps");
session_unregister("globChNom");
session_unregister("globChTyp");
LogAction($sess_pseudo,$REMOTE_ADDR,"DB : quitte.",2);
echo "Session de gestion des DBs tuée, utilisez le menu de gauche.";
echo "";
exit;
}
if (isset($change)) {
session_unregister("table");
unset($table);
session_unregister("datab");
unset($datab);
session_unregister("globTableLue");
session_unregister("globLimited");
session_unregister("globChAcc");
session_unregister("globChLon");
session_unregister("globNbChamps");
session_unregister("globChNom");
session_unregister("globChTyp");
LogAction($sess_pseudo,$REMOTE_ADDR,"DB : change de DB.",2);
}
if (isset($change2)) {
session_unregister("table");
unset($table);
session_unregister("globTableLue");
session_unregister("globLimited");
session_unregister("globChAcc");
session_unregister("globChLon");
session_unregister("globNbChamps");
session_unregister("globChNom");
session_unregister("globChTyp");
LogAction($sess_pseudo,$REMOTE_ADDR,"DB : change de table.",2);
}
//test
//echo "table $table in database $datab
";
//
if (!isset($datab)) {
//lecture des tables disponibles et tri selon rang de l'utilisateur, puis présentation du choix
if ($sess_admin=="1") {
$linkID=mysql_connect("$dbHost","$dbLogin","$dbPassword") or die ("bad connect".mysql_error());
mysql_select_db($dbGenerale,$linkID) or die ("bad select DB ".mysql_error());
$query="SHOW DATABASES;";
$result=mysql_query($query,$linkID) or die ("bad query get databases in $dbGenerale. ".mysql_error());
while ($res=mysql_fetch_array($result)) $globDatab[]=$res[0];
} else { // valeurs par défaut
$datab=$dbGenerale; // unset now
} // liste des tables disponibles
// formulaire avec présentation des choix possibles
echo "
Hôte : $dbHost
";
echo "";
echo "