diff options
Diffstat (limited to 'beta_old1/app/install/RAZbase.php')
-rw-r--r-- | beta_old1/app/install/RAZbase.php | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/beta_old1/app/install/RAZbase.php b/beta_old1/app/install/RAZbase.php new file mode 100644 index 0000000..9b9fa25 --- /dev/null +++ b/beta_old1/app/install/RAZbase.php @@ -0,0 +1,130 @@ +<?php +function SQLConnect($mysql_host, $mysql_user, $mysql_pass, $mysql_base) +{ + + if ( ! ($link = @mysql_connect($mysql_host,$mysql_user,$mysql_pass)) ) + return('Erreur MySql : Impossible de se connecter : ' . mysql_error()); + if ( ! @mysql_select_db($mysql_base)) + return('Erreur Mysql : Impossible de sélectionner la database'); +} + +function SQLFileExec($filepath) +{ + // Chargement du fichier complet dans la variable $request... + + // C'est une méthode barbare, mais il est compliqué de faire mieux + if ( ! ($fd=fopen($filepath,'r') ) ) + { + echo '<div class="errmsg" style="color:#900">Impossible d\'ouvrir le fichier ' . $filepath . "</div>\n"; + } + else + { + if ( ! feof( $fd ) ) { $script = fgets($fd,4096); } + $request = ''; + while ( ! feof( $fd ) ) + { + $request .= fgets($fd,4096); + } + + // Explosion dans un tableau, requete par requete + $tabReq = explode(";", $request); + + // Pour chaque requete + foreach ( $tabReq as $req ) + { + $req=trim($req); + if ( $req !== "" ) + { + // affichage de verification + echo '<div class="sqlcode" style="color:#009">' . str_replace("\n", '<br />', htmlspecialchars( $req) ) ."</div>\n"; + + // execution de la requete et affichage de l'erreur s'il y a lieu + if ( ! mysql_query($req) ) + { + echo '<div class="sqlerr" style="color:#900">' . 'Erreur No ' . mysql_errno() . ' : ' . htmlspecialchars( mysql_error() ) . "</div>\n"; + } + } + } + } +} +echo '<?xml version="1.0" encoding="ISO-8859-1"?>' +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <title>AWOR - RAZBase</title> + <style> +body{ + margin : 0 25%; + font:80% sans-serif; +} +h1 { + text-align:center; +} +*.errmsg { + color : red +} +*.sqlerr { + color : orange +} +*.sqlcode { + border: thin solid gray; + color : blue; + margin : 2em 0; +} + </style> + </head> + <body> + <h1>Remise à zéro de la base de données</h1> + <form action='' method="post"> +<?php if ( ! isset($_POST['confirm']) ) { ?> + <p> + Ce script va détruire toutes les tables d'une précédente installation (si elles existent) et va les recréer, dépourvues de données.<br /> + Vous devrez utiliser un compte SQL qui ait les droits nécessaires (DROP, CREATE TABLE...). Notez que ces droits sont superflus pour le fonctionnement normal de l'application.<br /> + Etes-vous sûr de vouloir réinitialiser la base de données ?<br /> + <label>Addresse du serveur SQL : </label><input name="SQLhost" type="text" value="localhost" /><br /> + <label>Utilisateur SQL : </label><input name="SQLuser" type="text" /><br /> + <label>Mot de passe SQL : </label><input name="SQLpwd" type="password" /><br /> + <label>Database SQL : </label><input name="SQLdb" type="text" /><br /> + <input type="hidden" name="confirm" value="1" /> + <input type="submit" value="Confirmer" /> + </p> + </form> +<?php } ?> + +<? +if (isset($_POST['confirm']) ) +{ + echo ' <p>'; + $errmsg = SQLConnect( addslashes($_POST['SQLhost']),addslashes($_POST['SQLuser']),addslashes($_POST['SQLpwd']),addslashes($_POST['SQLdb']) ); + if ( $_POST['confirm'] === '1' ) + { + if ( is_string($errmsg) ) { echo $errmsg; } else + { + SQLFileExec('base.sql'); +?> + </p> + <form action="" method="post"> + <p> + Si vous le souhaitez, vous pouvez insérer un jeu d'essai pour tester l'application.<br /> + Vous pouvez effectuer l'insertion de ce jeu d'essai avec le compte MySQL qui sera utilisé au fonctionnement de l'application, pour tester si les droits sont suffisants. + <label>Addresse du serveur SQL : </label><input name="SQLhost" type="text" value="localhost" /><br /> + <label>Utilisateur SQL : </label><input name="SQLuser" type="text" /><br /> + <label>Mot de passe SQL : </label><input name="SQLpwd" type="password" /><br /> + <label>Database SQL : </label><input name="SQLdb" type="text" /><br /> + <input type="hidden" name="confirm" value="2" /> + <input type="submit" value="Insérer" /> + </p> + </form> +<?php + } + } + elseif ( $_POST['confirm'] === '2' ) + { + SQLFileExec('jeu_essai.sql'); + } +} +?> + <p><a href="../index.php">Retour à l'index</a></p> + </body> +</html> |