diff --git a/mvc/secho.php b/mvc/secho.php index 62cbb6d..d76a81e 100755 --- a/mvc/secho.php +++ b/mvc/secho.php @@ -1,55 +1,29 @@ les retours à la lignes sont transformé en
. A vrai -> ils sont conservés tels quels - - boolean $escape_quotes : Par défaut à faux -> les guillemets ne sont pas échappés. A vrai -> ils sont transformés en entitées HTML - - boolean $authorize_null : Par défaut à vrai -> Les valeurs '', 0, null, ou false sont considérées comme définies. A faux -> considérées comme non définies - - RETOUR : Cette fonction retourne le texte transformé en cas de success, false sinon - */ - - function secho($text_source, $no_nl2br = false, $escape_quotes = false, $authorize_null = true) //On utilise une reference, si la variable n'existe pas, ça ne lévera pas d'erreur + /** + * Cette fonction permet d'afficher un texte de façon sécurisée. + * + * @param string $text : Le texte à afficher + * @param boolean $nl2br (= true) : Si vrai, on transforme le "\n" en
. + * @param boolean $escapeQuotes (= true) : Si vrai, on transforme les ' et " en équivalent html + * @param boolean $echo (= true) : Si vrai, on affiche directement la chaine modifiée. Sinon, on la retourne sans l'afficher. + * + * @return mixed : Si $echo est vrai, void. Sinon, la chaine modifiée + */ + function secho($text, $nl2br = true, $escapeQuotes = true, $echo = true) { - if ($authorize_null) //Si on les variables null, false ou '' doivent être prises comme définies + //On echappe le html, potentiellement avec les quotes + $text = $escapeQuotes ? htmlspecialchars($text, ENT_QUOTES) : htmlspecialchars($text); + + //On transforme les "\n" en
+ $text = $nl2br ? nl2br($text) : $text; + + //On retourne le texte ou on l'affiche + if ($echo) { - if(!isset($text_source)) //Si la variable n'existe pas - { - return false; //On retourne faux - } + echo $text; } else { - if(empty($text_source)) //Si la variable n'existe pas OU est vide - { - return false; //On retourne faux - } + return $text; } - - //On met dans une nouvelle variable le texte, pour ne pas le modifier - $text = $text_source; - - if($escape_quotes) - { - $text = htmlspecialchars($text, ENT_QUOTES); //On échappe le html - } - else - { - $text = htmlspecialchars($text); //On échappe le html - } - - if(!$no_nl2br) //Si doit activer la transformation des retours à la ligne - { - $text = nl2br($text); //On affiche la variable - } - - echo $text; //On retourne le texte echappé }