<?
// ===============================================================
// ACRO.DICO
// dico_saisie.php3
// version 1.0
// debut 20 juillet 2000
// jln@iut.univ-lehavre.fr
// ================================================================

function lienhtml($chaine){
// pour remplacer un lien texte en lien html
return eregi_replace(
"(http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)",
"<a href=\"\\1://\\2\">\\2</a>",
$chaine);
}

user = "acro.dico";
$passwd = "xxxxxxxxx";
$host = "sql.free.fr";
$database = $user;

$date_debut = "20 juillet 2000";

$admin_hosts ="193.48.166.249 193.48.166.250";

/*
// protection sur le host
if (!ereg("$REMOTE_ADDR ",$admin_hosts)) {
exit;
}
*/

// entete de la page
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">
<HTML>
<HEAD>
<TITLE>ACRO.DICO maintenance / administration</TITLE>
<link rel=\"stylesheet\" href=\"dico.css\">
</HEAD>

<BODY BGCOLOR=\"#eeeeee\" TEXT=\"#008800\" LINK=\"#009900\" VLINK=\"#005500\" ALINK=\"#005500\">
<font size=\"3\" color=\"#009900\" face=\"Arial, Helvetica, sans-serif\"><b><a name=\"HAUT\"></a></b></font>
";


// BODY
// ====

print "<FONT color=#009900><B><FONT face=\"Arial, Helvetica, sans-serif\" size=3>";
print("<A href=\"http://acro.dico.free.fr/\"><B>Administration de acro.dico</b></A><br>");


// LE FORMULAIRE DE RECHERCHE
// ==========================

echo "<form method=\"get\" action=\"http:/" . $PHP_SELF . "\">
<p align=\"right\">
<input type=\"text\" name=\"mot\" value=\"$mot\" >
<input type=\"hidden\" name=\"rech\" value=\"1\">
<input type=\"submit\" name=\"submit\" value=\"rechercher\">
<br>
</form>";

// LE FORMULAIRE D'AJOUT
// ====================

echo "<form method=\"get\" action=\"http:/" . $PHP_SELF . "\">
<p align=\"right\">
acronyme <input type=\"text\" name=\"acro\" value=\"$acro\" >
lien <input type=\"checkbox\" name=\"url\" value=\"1\"" ;
<input type=\"hidden\" name=\"add\" value=\"1\">
<input type=\"submit\" name=\"submit\" value=\"ajouter\">
<br>
<textarea name=\"texte\" rows=\"10\" cols=\"80\">$texte</textarea>
</p>
</form>";


// connexion mysql
// ===============

$mylink = @mysql_connect($host, $user, $passwd) or die ("<br>Pas de connexion MySQL<br>");
@mysql_select_db($database) or die ("<br>La base de donn&eacute;e n'est pas disponible. Bye!<br>");


if (isset($rech)) {
$lettre = "%" . strtolower($mot) ."%";
$result = @mysql_query("SELECT * FROM acronymes WHERE (acro like '$lettre') or (valeur like '$lettre') order by acro");

if (mysql_errno() != 0 ) { echo "<br>erreur mysql<br>"; }
if(@mysql_numrows($result)==0) {
echo "<br><FONT color=#009900><B><FONT face=\"Arial, Helvetica, sans-serif\"
size=3>&nbsp;&nbsp;&nbsp;L'&eacute;cole n'aime pas $mot <br>";
} else {
// initiale
$i = "";
$nb = 0;
while ($ligneacro = @mysql_fetch_array($result)) {

// test de nouvelle initiale
$id = "$ligneacro[0]";
$acro = "$ligneacro[1]";
$valeur = "$ligneacro[2]";
$url = "$ligneacro[4]";

if (!($i == substr($acro, 0 ,1))) {
$i = substr($acro, 0 ,1);
print("<P><font size=\"4\"><B>" . $i . "</B><BR>");
}

$nb++;

// coloration en mode recherche
// orange
// <font color="#FF6600">
// vert
// <font color="#009900">

if (!(eregi("http:", $valeur))) {
$valeur = eregi_replace("($mot)",
"<font color=\"#FF6600\"><b>\\1</b><font color=\"#009900\">",
$valeur);
}
if ($url) {
print ("<li><FONT color=#009900><B>
<FONT face=\"Arial, Helvetica, sans-serif\" size=2>
<A href=\"http:/" . $PHP_SELF . "?mot=" . $acro
. "&rech=1&submit=rechercher\">"
. $acro . "</A></b> " . lienhtml($valeur)
. " - <A href=\"http:/" . $PHP_SELF . "?id=" . $id . "\">&eacute;diter</A>"
. " - <A href=\"http:/" . $PHP_SELF . "?delete=1&id=" . $id . "\">supprimer</A>");
} else {
print ("<li><FONT color=#009900><B>
<FONT face=\"Arial, Helvetica, sans-serif\" size=2>"
. $acro . "</b> " . lienhtml($valeur)
. " - <A href=\"http:/" . $PHP_SELF . "?id=" . $id . "\">&eacute;diter</A>"
. " - <A href=\"http:/" . $PHP_SELF . "?delete=1&id=" . $id . "\">supprimer</A>");
}
}
print ("</ul><P>");
if ($nb>1) {
print ("&nbsp;&nbsp;" . $nb . " lignes trouv&eacute;es<P>");
} elseif ($nb>0) {
print ("&nbsp;&nbsp;Une ligne trouv&eacute;e<P>");
}

}

// suppression d'un enregistrement
// ===============================

} elseif ( !empty($id) and isset($delete) ) {

@mysql_query("DELETE from acronymes where id like '$id'") or die ("erreur de suppression de " . $id);
print ("Derni&egrave;re suppression<BR> enregistrement " . $id);
// vider les variables de la form
$acro = "";
$texte = "";
$id=0;
}


// formulaire de recherche d'un enregistrement pour modification
// =============================================================

if (!empty($id) and empty($acro)) {

print ("<FONT color=#009900><B><FONT face=\"Arial, Helvetica, sans-serif\" size=2>");

// trouver l'enregistrement
$result = @mysql_query("select * from acronymes where id like '$id'") or die ("erreur de recherche de " . $id);
if(@mysql_numrows($result)==0) {
echo "pas d'enregistrement de num&eacute;ro" . $id . "<P>";
} else {
// il n'y a qu'un enregistrement pas de while
$ligneacro = @mysql_fetch_array($result);

$id = "$ligneacro[0]";
$acro = "$ligneacro[1]";
$texte = "$ligneacro[2]";
$url = "$ligneacro[4]";

echo "<form method=\"get\" action=\"http:/" . $PHP_SELF . "\">
<p align=\"right\">
<input type=\"hidden\" name=\"id\" value=\"$id\">
<input type=\"hidden\" name=\"update\" value=\"1\">
acronyme <input type=\"text\" name=\"acro\" value=\"$acro\" >
lien <input type=\"checkbox\" name=\"url\" value=\"1\"" ;

if($url) echo " checked " ;

echo ">
<input type=\"submit\" name=\"submit\" value=\"mettre &agrave; jour\">
<br>
<textarea name=\"texte\" rows=\"10\" cols=\"80\">$texte</textarea>
</p>
</form>";
}
}


// modification effective d'un enregistrement si les champs sont saisis
// ====================================================================

elseif (!empty($acro) and !empty($texte) and !empty($id) and isset($update)) {

// si la case est cochee, la valeur url est transmise
if ($url) $u = 1; else $u = 0;

// mettre a jour l'enregistrement
/*
echo ("UPDATE acronymes set acro='" . strtoupper($acro) . "'
,valeur='$texte',date=NULL,url='$u' where id like '$id'");
*/

@mysql_query("UPDATE acronymes set acro='" . strtoupper($acro) . "'
,valeur='$texte',date=NULL,url='$u' where id like '$id'")
or die ("erreur de modification de " . $id);
print ("Derni&egrave;re modification<BR>" .$acro . "<br>" . $texte);
// vider les variables de la form
$id=0;
$acro = "";
$texte = "";
}


// ajout d'un enregistrement si les champs sont saisis
// ===================================================

elseif (!empty($acro) and !empty($texte) and empty($id) and isset($add)) {


// si la case est cochee, la valeur url est transmise
if ($url) $u = 1; else $u = 0;

// creer l'enregistrement
@mysql_query("INSERT acronymes
set acro='" . strtoupper($acro) . "',valeur='$texte',date=NULL",url='$u' )
or die("erreur d'insertion");

print ("Derni&egrave;re saisie<BR>" .$acro . "<br>" . $texte);

// vider les variables de la form
$acro = "";
$texte = "";
}

// inutile mais simple question d'hygiene
@mysql_close($mylink);

print ("</BODY></HTML>");

?>