function temoignages_exec() { global $secteur, $page, $_path, $temoignage_delimit, $temoignage_ipvisiteur, $temoignage_validForm, $temoignage_message, $temoignage_nom, $temoignage_mail, $temoignage_MsgErreur, $temoignage_file; if ($page == 'temoignages') { // --------------------- // GUESTBOOK $temoignage_file = $_path . 'livredor.txt'; $temoignage_delimit = '-*-'; // délimiteur // --------------------- // IP du visiteur / date $temoignage_ipvisiteur = $_SERVER["REMOTE_ADDR"]; $date = date("d/m/Y H:i:s"); // --------------------- // Initialisation $temoignage_nom = ''; $temoignage_message = ''; $temoignage_mail = ''; $temoignage_validForm = true; $temoignage_MsgErreur = ''; // --------------------- // TRAITEMENT SI formulaire soumis if (request_confirm('LivredorSubmit')) { if (verifier_token(600, get_link('temoignages', 'Install'), 'Temoignage-Send')) { // --------------------- // RECUPERATION des DONNEES //On convertit les caracteres html $temoignage_nom = request_post('nom'); $temoignage_mail = request_post('mail'); // textarea :attention aux injections de code html ! $allowable_tags = '<b><a>'; // (facultatif) on autorise ces balises $temoignage_message = request_post('message'); $temoignage_message = strip_tags($temoignage_message, $allowable_tags); $temoignage_message = nl2br($temoignage_message); // nl2br() : change les sauts de ligne tapés par le visiteur en <br /> $temoignage_message = preg_replace("/(\r\n|\n|\r)/", " ", $temoignage_message); // enlève les sauts de ligne résiduels, pour l'écriture dans le fichier (sur une seule ligne) // On censure $newnom = censorWords($temoignage_nom); $newmessage = censorWords($temoignage_message); $newmail = censorWords($temoignage_mail); $champ_censure = array(); if ($temoignage_nom != $newnom) { $champ_censure[] = 'Nom'; } if ($temoignage_message != $newmessage) { $champ_censure[] = 'Message'; } if ($temoignage_mail != $newmail) { $champ_censure[] = 'Email'; } if (count($champ_censure) > 0) { $temoignage_MsgErreur .= 'Ces champs ont été censurés : ' . implode(', ', $champ_censure) . '<br />'; } // champs obligatoires $champ_obligatoire = array(); if ($temoignage_nom == '' || $newnom == '') { $temoignage_validForm = false; $champ_obligatoire[] = 'Nom'; } if ($temoignage_message == '' || $newmessage == '') { $temoignage_validForm = false; $champ_obligatoire[] = 'Message'; } if (count($champ_obligatoire) > 0) { $temoignage_MsgErreur .= 'Remplissez tous les champs obligatoires : ' . implode(', ', $champ_obligatoire) . '<br />'; } // ----------------------- // Vérification du format de l'Email if ($temoignage_mail != '' && !filter_var($temoignage_mail, FILTER_VALIDATE_EMAIL)) { $temoignage_validForm = false; $temoignage_MsgErreur .= 'Invalide Email !<br />'; } // ----------------------- // OK SI PAS D'ERREUR if ($temoignage_validForm === true) { // --------------------- if ($newnom != '' && $newmessage != '') { // ECRITURE dans le GESTBOOK //Ouverture du fichier en écriture $fp = fopen($temoignage_file, 'a'); // 'a' : à la fin du fichier $line = $newnom . $temoignage_delimit . $newmessage . $temoignage_delimit . $newmail . $temoignage_delimit . $date . $temoignage_delimit . $temoignage_ipvisiteur . "\n"; //On rajoute le message fwrite($fp, $line, strlen($line)); //fermeture du fichier fclose($fp); // --------------------- } // --------------------- // On vide $temoignage_nom = ''; $temoignage_message = ''; $temoignage_mail = ''; } } } // --------------------- //unset($_POST); // anti-F5 (évite de re-poster le formulaire en cas de F5 ("Actualiser la page") //$_SESSION['antiF5'] = rand(100000,999999); // --------------------- load_css('goldbook.css', 'goldbook'); load_js('goldbook.js', 'goldbook'); } }
{ foreach ($bannedWords as $censorWord) { $pattern = str_repeat('*', mb_strlen($censorWord)); $text = str_ireplace($censorWord, $pattern, $text); } return $text; } define("TEXT", "text"); define("BANNEDWORDS", "banned-words"); define("WHOLEWORDS", "whole-words"); if (!empty($_POST[TEXT]) && !empty($_POST[BANNEDWORDS])) { $inputText = $_POST[TEXT]; $inputBanedWords = mb_strtolower($_POST[BANNEDWORDS], 'UTF-8'); $bannedWords = preg_split('/\\P{L}+/u', parseInput($inputBanedWords), -1, PREG_SPLIT_NO_EMPTY); if (isset($_POST['whole-words'])) { $result = censorWords(parseInput($inputText), $bannedWords); } else { $result = censorSequence(parseInput($inputText), $bannedWords); } } else { $result = ''; } ?> <!DOCTYPE html> <html> <head> <title>Text Filter</title> <link rel="stylesheet" href="styles/style.css"/> </head> <body>