TiGeR
Roarr!!!
Enregistré le 16/01/2003
Messages: 3794
Non connecté
|
Sujet : [TUTORIAL] Variables globales du forum
Ajouté le : 11/03/2004 20:18
Message :
Tutorial sur les variables globales du forum
(première partie)
Les variables globales du forum sont les variables assignées lors de l’initialisation du forum. Elles peuvent être réutilisée à n’importe quel moment dans le script du forum.
Les variables globales les plus courantes pour un développeur de mods sont $_FORUMCFG, $_SKIN et $_USER. Nous allons donc les aborder dans ce tutorial.
Commençons par le cas de $_FORUMCFG. Cette variable globale se présente sous la forme d’un tableau contenant la configuration du forum, c'est-à-dire le contenu de la table CF_config. Elle est assignée par la fonction getconfig() à la fin du fichier functions.php
Dans la table CF_config, vous pouvez observer qu’il y a deux champs : un contenant le nom de l’élément de configuration (appelé ‘options’), et le second contenant la valeur associée à cet élément de configuration (appelé ‘valeur’). Lorsque vous souhaitez appeler la valeur de configuration associée à l’élément ‘xxxxx’, il vous suffit tout simplement d’appeler la variable comme suit : $_FORUMCFG[‘xxxxx’]
Prenons un exemple. Supposons que vous souhaitez créer une modif affichant le record de connectés sur le forum sur la page d’index. Il vous faudra faire appel à la valeur associée à ‘topmembers’, et bien cette valeur est tout simplement stockée dans $_FORUMCFG[‘topmembers’], c’est aussi simple que ça. (Une petite remarque au passage : vous ne pouvez pas utiliser directement la syntaxe PHP dans les templates, il vous faudra utiliser {% ::_FORUMCFG[topmembers]%}. Mais nous évoquerons cela dans un autre tutorial dédié à l’utilisation des templates.)
A partir de ce moment, vous pouvez vous poser cette question : mais à quoi correspondent les différentes valeurs de configuration ? Je vais donc vous donner ici la liste des différents éléments de configuration que vous pouvez appeler avec $_FORUMCFG :
[quote1]- openforum : indique si le forum est ouvert ou fermé (respectivement Y ou N)
- closeforummsg : contient le message qui est affiché lorsque le forum est fermé
- forumname : contient le nom du forum
- sitename : contient le nom du site
- siteurl : contient l’url du site
- contactmail : l’email de l’administrateur
- topicparpage : le nombre de topics affichés sur une page list.php
- msgparpage : le nombre de messages affichés sur une page detail.php
- confirmparmail : indique si la confirmation par mail est activée (respectivement Y ou N)
- cookiedomain : le domaine pour les cookies
- cookierep : le répertoire de limitation pour les cookies
- limitmsglength : la limite de caractères dans un message
- limittopiclength : la limite de caractères dans le titre d’un message
- limitusercitlength : la limite de caractères dans la citation d’un membre
- limitusersignlength : la limite de caractères dans la signature d’un membre
- limittimepost : le temps en seconde pour l’anti-flood
- forumjump : indique si le forumjump est activé ou non (respectivement Y ou N)
- chainecodage : la chaîne de codage du forum, utilisée pour crypter les mots de passe, ne la modifiez en aucun cas !!
- ajouthtml : le code HTML qui est affiché en haut du forum
- htmlbas : le code HTML qui est affiché en bas du forum
- initialise : le timestamp UNIX de la dernière réinitialisation des cookies
- indexnews : contient les news qui défilent sur la page d’index
- limitpmlength : la limite de caractères dans les messages privés
- timezone : le fuseau horaire dans laquelle est situé le serveur de votre forum (-12 à +12)
- mailnotify : indique si la notification par mail est activée ou non (respectivement Y ou N)
- limitloginlength : la limite de caractères dans le pseudo d’un membre
- canpostmsgcache : indique si les membres peuvent poster des messages cachés dans leur topic ou non (respectivement Y ou N)
- openinscriptions : indique si les inscriptions sont ouvertes ou non sur le forum (respectivement Y ou N)
- viewmsgedit : indique s’il faut rajouter « Editer par XXX le XXX » ou non lors de l’édition d’un message (respectivement Y ou N)
- urlforum : l’url du forum
- defaulttimezone : le fuseau horaire qui est assigné par défaut à un nouveau membre et qui est utilisé par les visiteurs (-12 à +12)
- bbcodeinsign : indique si les BBCodes sont autorisés ou non dans les signatures (respectivement Y ou N)
- smileinsign : indique si les smileys sont autorisés ou non dans les signatures (respectivement Y ou N)
- topmembers : contient le nombre record de membres connectés au même moment
- timetopmembers : contient le timestamp UNIX de la date à laquelle le nombre record de membres connectés au même moment a été atteint
- catseparate : contient le caractère de séparation utilisé dans l’arborescence du forum
- limitpoll : contient le nombre maximum de choix autorisés lors de la création d’un sondage
- ForumDBVersion : numéro de version de votre DB. Ne modifiez cette valeur sous aucun prétexte !!
- activePersoLogo : indique si les membres peuvent uploader leur propre avatar ou non (respectivement Y ou N)
- activeDefaultLogo : indique si la galerie d’avatars du forum est accessible aux membres
- closeregmsg : contient le message qui est affiché lorsque les inscriptions sont closes
- defaultlangage : contient le code langage utilisé par défaut sur le forum
- emailmask : contient le masque email qui remplace le @ dans les mails
- statnbtopics : contient le nombre de topics du forum
- statnbposts : contient le nombre de réponses du forum
- statnbuser : contient le nombre de membres inscrits sur le forum
- statlastmember : contient le pseudo du dernier membre inscrit
- defaultskin : contient l’id du skin par défaut du forum
- statsconfig : configuration de l’accès aux statistiques du forum ; les 6 chiffres correspondent respectivement à : stats activées, stats accessibles aux invités, aux membres, aux modérateurs, aux administrateurs, aux super-administrateurs (1 pour oui, 0 pour non)
- logosparams : contient les paramètres pour l’upload d’avatars : la largeur, la hauteur, et le poids
- activateLogos : définit si l’usage d’avatars est autorisé ou non sur le forum (respectivement Y ou N)
- mustbeidentify : définit si le login est obligatoire ou optionnel pour accéder au forum (respectivement Y ou N)
- mailfunction : contient le type à utiliser pour l’envoi d’email : normal, online, nexen
- censuredwords : contient la liste des mots censurés
- usepub : définit si le forum utilise le système de pub ou d’insertion HTML du forum (respectivement Y ou N)
- usemails : définit si l’envoi d’email est autorisé ou non sur le forum (respectivement Y ou N)
- editionlibre : définit si les membres peuvent éditer librement leurs messages ou non (respectivement Y ou N)[/quote1]
Comme vous le voyez, il y a pas mal d’options de configurations. Je pense que vous saurez rapidement savoir à quoi elles correspondent ;)
Bien entendu, vous pouvez rajouter vous-même des options de configuration dans la table CF_config si vous en avez besoin lors d’un hack.
Passons maintenant à la variable globale $_SKIN. La variable $_SKIN est associée à la table CF_skins, mais vous constaterez que cette table contient 3 champs : id, propriete, valeur. Le champ ‘id’ est utilisé uniquement pour sélectionner les valeurs associées au skin de l’utilisateur, il n’intervient pas directement dans la variable $_SKIN. Par exemple, si un membre utilise le skin numéro 2, la variable $_SKIN contiendra les valeurs du skin numéro 2.
La variable $_SKIN est assignée par la fonction getskin() au début du fichier entete.php.
Le fonctionnement de $_SKIN est similaire à celui de $_FORUMCFG c'est-à-dire : $_SKIN[‘propriete’] = ‘valeur’
Il est rare que la variable $_SKIN soit directement utilisée dans le code PHP. En règle générale, elle est utilisée dans les templates sous cette forum : {% ::_SKIN[xxxxxxxx]%}
Les différentes propriétés de la variable $_SKIN sont les suivantes :
[quote2]- bg1 : couleur de fond 1
- bg2 : couleur de fond 2
- bordercolor : couleur de bordure
- bgtable1 : couleur de fond de tableau 1
- bgtable2 : couleur de fond de tableau 2
- bgtable3 : couleur de fond de tableau 3
- colsupadm : couleur de pseudo super admin
- coladm : couleur de pseudo admin
- colmodo : couleur de pseudo modérateur
- colmb : couleur de pseudo membre
- colinvit : couleur de pseudo invité
- colban : couleur de pseudo banni
- lien1col : couleur de lien 1
- lien1visit : couleur de lien visité 1
- lien1hov : couleur de survol de lien 1
- lien2col : couleur de lien 2
- lien2visit : couleur de lien visité 2
- lien2hov : couleur de survol de lien 2
- textcol1 : couleur de texte 1
- textcol2 : couleur de texte 2
- smallfont : taille de fond petite
- middlefont : taille de fond moyenne
- bigfont : taille de fond grande
- repimg : répertoire des images (dans le dossier skins)
- reptpl : répertoire de templates (dans le dossier templates)
- skinname : nom du skin
- font : police de caractères
- affdegrad : définit si les dégradés sont affichés ou non (Y ou N)[/quote2]
A vous de les utiliser dans les templates si nécessaire. Vous pouvez bien entendu rajouter vos propres propriétés si cela est nécessaire ;)
(fin de la première partie)
*** Message édité par TiGeR le 11/03/2004 19:42 ***
CFP : Portail Web basé sur CF
CF Last Posts 0.8 : Derniers messages de votre CF sur votre site
Mods : Générateur de fichiers hackés pour CF
|