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é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> L'é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
. "\">é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
. "\">éditer</A>"
. " - <A href=\"http:/" . $PHP_SELF . "?delete=1&id="
. $id . "\">supprimer</A>");
}
}
print ("</ul><P>");
if ($nb>1) {
print (" " . $nb . " lignes trouvées<P>");
} elseif ($nb>0) {
print (" Une ligne trouvé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è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é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
à 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è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è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>");
?>