// goodies de phpfrance
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);
}
function enleveaccents($chaine){
$chaine = strtr($chaine,
"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
return $chaine;
}
$host = "sql.free.fr";
$user = "acro.dico";
$passwd ="xxxxxxxx";
$database = $user; // par defaut chez free.fr
$admin_url = "dico_saisie.php3";
// test de la liaison sql
// chez free, elle n'est pas toujours dispo
$mylink = mysql_connect($host, $user, $passwd);
if ($mylink==0) {
$direct = true;
echo "no sql";
} else {
$direct = false;
mysql_close($mylink);
echo "sql";
}
// LA TETE
// =======
$myfilename = "dico_intro.htm";
$myfile = fopen($myfilename,"r");
if(!$myfile) {
print("erreur d'ouverture");
exit;
}
$tete = fread($myfile, filesize($myfilename));
fclose ($myfile);
// la lettre sera A si absente ou trop longue
if (isset($lettre)) {
if (!strlen($lettre) == 1) {$lettre = "A";}
} else {
$lettre = "A";
}
if (isset($rech)) {
$rech = ereg_replace("%", "", $rech);
//$lettre = "%" . $rech . "%";
$lettre = $rech;
// la rech sur une lettre explose le navigateur!!!
if(strlen($rech)<2) {unset($rech);}
}
$lettre = strtoupper($lettre);
$tete = ereg_replace("<!--repere -->A", $lettre, $tete);
//$tete = ereg_replace("<!--repere -->A", $lettre, $tete);
if (isset($rech)) {
$tete = eregi_replace("lettre ", "recherche ", $tete);
}
// absorber la fin de la page
$tete = ereg_replace("</TABLE></BODY></HTML>", "",
$tete);
print($tete);
print("<UL>");
// LE CORPS
// ========
if ($direct) {
// pas de sql
$myfilename = "dictionnaire.htm";
$myfile = fopen($myfilename,"r");
if(!$myfile) {
print("erreur d'ouverture");
exit;
}
$dico = fread($myfile, filesize($myfilename));
// on tronque jusqu'a l'ancre de la $lettre
$dico = strstr($dico,"<a name=\"" . $lettre . "\"></a>");
// recherche de la position de la fin de la $lettre
$i = strpos($dico, "<a name=\"" . $lettre . $lettre . "\"></a>");
// on tronque le reste de la page
$dico = substr($dico, 0, $i);
if (strlen($dico) < 30) {
// la lettre est vide
$dico = "<P><P> acro.dico n'aime
pas la lettre "
. $lettre . " !!!<P>";
}
print($dico);
fclose ($myfile);
} else {
// connexion mysql
// ===============
$mylink = @mysql_connect($host, $user, $passwd);
if ($mylink<1) { echo "<br>erreur de connexion mysql<br>";
}
if (!@mysql_select_db($database) ) { /*echo "<br>erreur mysql<br>"*/;
}
if (isset($rech)) {
$lettre1 = "%" . strtolower($lettre) ."%";
$result = @mysql_query("SELECT * FROM acronymes WHERE
(acro like '$lettre1') or (valeur like '$lettre1')
order by acro");
} else {
$result = @mysql_query("SELECT * FROM acronymes
WHERE (acro 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> acro.dico n'aime pas $lettre <br>";
} else {
// echo "c'est bon";
// initiale
$nb = 0;
$i = "";
while ($ligneacro = @mysql_fetch_array($result)) {
$nb++;
/* ordre des champs id, acro, valeur, timestamp, url */
$id = "$ligneacro[0]";
$acro = "$ligneacro[1]";
$valeur = "$ligneacro[2]";
$url = "$ligneacro[4]";
// test de nouvelle initiale
if (!($i == substr($acro, 0 ,1))) {
$i = substr($acro, 0 ,1);
print("<P><font size=\"4\"><B>" . $i .
"</B><BR>");
}
// coloration en mode recherche
// orange
// <font color="#FF6600">
// vert
// <font color="#009900">
// capture avec () !!!!!
// on ne passe pas le mot en orange s'il y a un site
// sinon le tag <A> est abime
// mise en forme des liens textes en liens hypertextes
if (isset($rech) and !(eregi("http:", $valeur))) {
$valeur = eregi_replace("($lettre)",
"<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 . "?rech=" . $acro
. "&submit=rechercher\">"
. $acro . "</A></b> " . lienhtml($valeur) );
} else {
print ("<li><FONT color=#009900><B>
<FONT face=\"Arial, Helvetica, sans-serif\" size=2>"
. $acro . "</b> " . lienhtml($valeur) );
}
}
// fin de la liste
print ("</ul><P>");
if ($nb>1) {
print (" " . $nb . " lignes trouvées<P>");
} elseif ($nb>0) {
print (" Une ligne trouvée<P>");
}
}
@mysql_close($mylink);
}
// LE PIED
// =======
$myfilename = "dico_fin.htm";
$myfile = fopen($myfilename,"r");
if(!$myfile) {
print("erreur d'ouverture");
exit;
}
$pied = fread($myfile, filesize($myfilename));
// recalage de l'url du compteur
if (isset($rech)) {
$pied = ereg_replace("p=acro_a", "p=acro_rech", $pied);
} else {
$pied = ereg_replace("p=acro_a", "p=acro_" . $lettre, $pied);
}
fclose ($myfile);
// et on livre le pied
print("</UL>");
print($pied);
print ("</TR></TABLE></BODY></HTML>");
?>