]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['nb_inscrits']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } //fonction contrôlant l'apparition d'un formaulaire de génération de graphiques function fl_graphiqueform($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['graphique']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition d'un formulaire d'inscription function fl_inscriptionform($fl_txt){ global $notif_email; // On récupère le/les email(s) pour la notification $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['inscription']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition de la cartographie (mrflos) function fl_cartographie($fl_txt){ global $notif_email; // On récupère le/les email(s) pour la notification $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['cartographie']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition de la cartographie (mrflos) function fl_annuaire($fl_txt){ global $notif_email; // On récupère le/les email(s) pour la notification $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['annuaire']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition d'un formulaire d'envoi d'observations function fl_historiqueform($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['historique']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition d'un formulaire d'envoi d'observations function fl_envoiobsform($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['envoi_obs']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition d'un formulaire d'envoi d'observations function fl_carteform($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['carteform']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition de la liste des participants function fl_listepart($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['liste']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // fonction contrôlant l'apparition d'un formulaire d'envoi d'observations function fl_protocolesobsform($fl_txt){ $fl_patern_in="|]*?)>|i"; $fl_replace_in1=""; if (preg_match($fl_patern_in, $fl_txt, $matches) ) { $GLOBALS['protocoles_obs']=true; if (trim($matches[1])<>""){ $notif_email=trim($matches[1]); } $fl_txt = preg_replace($fl_patern_in, "$fl_replace_in1", $fl_txt); } return $fl_txt; } // Fonctions génériques provenant du livre PHP4 // Utilisées entre autre pour les inscriptions aux colloques function supprimer_encodage_MQ($valeur) { // si magic quotes est actif, retourner // la valeur après suppression de l'encodage // (appel à stripslashes), sinon, retourner // la valeur return (get_magic_quotes_gpc())? stripslashes($valeur):$valeur; } function valeur_saisie($valeur) { return supprimer_encodage_MQ ( trim($valeur)); } function vers_formulaire($valeur) { // affichage dans un formulaire // encoder tous les caractères HTML spéciaux // - ENT_QUOTES : dont " et ' return htmlentities($valeur,ENT_QUOTES); } function vers_page($valeur) { // affichage direct dans une page // 1. encoder tous les caractères HTML spéciaux // - ENT_QUOTES : dont " et ' // 2. transformer les sauts de ligne en
return nl2br(htmlentities($valeur,ENT_QUOTES)); } function vers_base($valeur) { // le seul caractère qui pose vraiment problème est // l'apostrophe (') ; c'est donc le seul qui est échappé // par cette fonction // une solution valable pour toutes les bases consiste à // l'échapper par lui-même remplacement de ' par '' return str_replace("'","''",$valeur); } function construire_requete($requete) { // récupérer le nombre de paramètre $nombre_param = func_num_args(); // boucler sur tous les paramètres à partir du deuxième // (le premier contient la requête de base) for($i=1;$i<$nombre_param;$i++) { // récupérer la valeur du paramètre $valeur = func_get_arg($i); // si c'est une chaîne, remplacer ' par '' if (is_string($valeur)) { $valeur = str_replace("'","''",$valeur); } // mettre la valeur à son emplacement %n (n = $i) $requete = str_replace("%$i",$valeur,$requete); } // retourner la requête return $requete; } function affiche_msg($message) { $message=addslashes($message); echo "\n"; } function fl_at($fl_txt){ $rechercher="@"; $remplacer="\"at\""; $fl_txt = str_replace($rechercher,$remplacer,$fl_txt); return $fl_txt; } ?>