====== Quelques fonctions utiles ====== {{message>ébauche}} NPDS propose bien entendu des dizaines de fonctions. Voici une liste des fonctions les plus utiles. ===== autorisation(int) ===== Retourne ''true'' ou ''false'' selon les droits d'accès du visiteur. Dans certains codes, il peut être très intéressant de limiter l'accès à certaines personnes, ou d'afficher un contenu différent. NPDS permet différents niveaux de protection : anonyme, membre, administrateur ou membre d'un groupe Voici la liste des nombres que vous pouvez mettre en paramètre. ^ Nombre ^ autorisation() retourne true si... ^ ^ -127 | le visiteur est administrateur | ^ -1 | le visiteur est anonyme (et n'est pas membre) | ^ 1 | le visiteur est membre | ^ > 1 | le visiteur est membre du groupe ayant l'ID indiqué | ^ 0 | inutile donc indispensable : retourne true dans tous les cas | **Exemple** '; } if(autorisation(1)) { //Membre echo 'Vous êtes membre du site
'; } if(autorisation(-1)) { //Anonyme echo "Vous êtes anonyme
"; } if(autorisation(10)) { //Membre du groupe d'ID 10 echo "Vous êtes membre du groupe d'ID 10
"; } if(autorisation(0)) { //Tous echo "Vous faites partie d'une réalité où 1=1. Félicitations! ;-)
"; } include('footer.php'); ?>
===== get_userdata(pseudo) et get_userdata_from_id(id) ===== Retourne les informations de l'utilisateur ''user'' ou d'id ''id'' sous forme de tableau associatif. **Astuce:** vous pouvez récupérer le pseudo du visiteur grâce à la varibale ''$cookie[1]''. **Exemple:** $user = get_userdata_from_id($cookie[0]); echo $user["email"]; Affiche l'e-mail du visiteur. ===== send_email(...) ===== Envoie un e-mail. Contrairement à la simple [[http://php.net/manual/fr/function.mail.php|fonction mail]], send_email respecte les paramètres de NPDS (par exemple le choix de la fonction mail ou email). Les paramètres sont: ''send_email($email, $subject, $message, $from, $priority, $mime)''. Voici l'explication de chaque paramètre : ^ Paramètre ^ Description ^ ^ $email | L'adresse de destination. Ex: //toto@mail.com// | ^ $subject | L'objet du message. Ex: //Merci de votre inscription// | ^ $message | Le contenu du message. Ex: //Vous êtes maintenant inscrit!// | ^ $from | L'expéditeur du message. Ex: //webmaster@votre-site// ou //VotreSite// | ^ $priority | Nombre définissant le niveau d'importance de votre message. Va de 1(très haut) à 5(très bas). Normal: 3. Ex: //3// | ^ $mime | Format du message (et donc de $message). //html// ou //text// | **Exemple** send_email('toto@mail.com', 'Sujet', 'Message', 'Webmaster', '3', 'text'); ===== Filtres ===== ==== removeHack(str) ==== Supprime les tentatives de piratage dans la chaine que vous lui soumettez. Il est conseillé de faire passer toutes les chaines que les utilisateurs peuvent modifier (formulaires, cookie) dans cette fonction. **Exemple** $chaine = 'Je suis un vilain pirate qui va mettre du javascript pour pouvoir pirater tous les gentils visiteurs ignorants! '; echo removeHack($chaine); Ceci mettra des ! autour de jascript: Je suis un vilain pirate qui va mettre du !javascript! pour pouvoir pirater tous les gentils visiteurs ignorants! ==== FixQuotes(str) et delQuotes(str) ==== FixQuotes retourne la chaîne str, après avoir échappé tous les caractères qui doivent l'être, pour être utilisée dans une requête de base de données. Ces caractères sont les guillemets simples ('), guillemets doubles ("), anti-slashes (\) et NULL. delQuotes supprime l'effet de FixQuotes. **Exemple:** $chaine = "J'ai faim"; $chaine = FixQuotes($chaine); echo $chaine.'
'; $chaine = delQuotes($chaine); echo $chaine;
Affichera J\'ai faim J'ai faim ==== check_html(str[,strip]) ==== Supprime tout ou une partie des tags HTML d'une chaine. Si **strip** est défini à "**nohtml**", tous les tags HTML seront supprimés. S'il est différent ou non défini, les seuls tags qui resteront sont ceux définis par la variable ''$AllowableHTML'' de votre fichier config.php. **Exemple:** $chaine = 'Voici un mot en gras et un en italique'; echo check_html($chaine, "nohtml"); Affichera Voici un mot en gras et un en italique ==== check_words(str) ==== Censure les mots interdits par la variable ''$CensorList'' **Exemple:** $chaine = "I've a big cock"; echo check_words($chaine); Affichera I've a big **** //Cette fonction devrait évoluée (notamment avec les meta-mot) mais elle restera pour assurer la compatibilité// ==== filter_text(str[,strip]) ==== Englobe check_html et check_words : revient à faire check_words(check_html(str[,strip])). **Exemple:** $chaine = "I've a big cock"; echo filter_text($chaine, "nohtml"); Affichera I've a big ****