ébauche NPDS propose bien entendu des dizaines de fonctions. Voici une liste des fonctions les plus utiles.
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
<?php include('header.php'); if(autorisation(-127)) { //Admin echo 'Vous êtes administrateur<br />'; } if(autorisation(1)) { //Membre echo 'Vous êtes membre du site <br />'; } if(autorisation(-1)) { //Anonyme echo "Vous êtes anonyme<br />"; } if(autorisation(10)) { //Membre du groupe d'ID 10 echo "Vous êtes membre du groupe d'ID 10<br />"; } if(autorisation(0)) { //Tous echo "Vous faites partie d'une réalité où 1=1. Félicitations! ;-)<br />"; } include('footer.php'); ?>
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.
Envoie un e-mail. Contrairement à la simple 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 |
---|---|
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<webmaster@votre-site> |
$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<webmaster@mail.com>', '3', 'text');
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! <script type="text/javascript">alert('Haha!');</script>'; 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! <script type="text/!javascript!">alert('Haha!');</script>
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.'<br />'; $chaine = delQuotes($chaine); echo $chaine;
Affichera
J\'ai faim J'ai faim
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 <b>gras</b> et un en <i>italique</i>'; echo check_html($chaine, "nohtml");
Affichera
Voici un mot en gras et un en italique
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é
Englobe check_html et check_words : revient à faire check_words(check_html(str[,strip])).
Exemple:
$chaine = "I've a <b>big</b> cock"; echo filter_text($chaine, "nohtml");
Affichera
I've a big ****