Tutoriels

Installation du framework Premiers pas Mises à jour du framework Gérer les utilisateurs Gestion des textes et des langues Gestion des erreurs Créer ses classes & librairies

Classes & librairies

DSM.class.php DSMUser.class.php DSMMessage.class.php Libraire LJ Librairies internes

DSM.class.php

Attributs Méthodes

DSM.class.php

Description

La classe DSM est le coeur du moteur, elle permet de gérer tous les fichiers de développement lors de l'affichage de la page. La classe gère la base de donnée, les erreurs, les logs, et contient de nombreuses fonctions utiles au développement de votre site. Il n'est pas recommandé de modifier cette classe.

Au sein d'une page géré par le DSM, il n'est pas nécessaire d'instancier un nouvel objet DSM, utilisez la variable $dsm déjà instancié correctement. L'instanciation d'un tel objet n'est utile que lors de la création de pages personnalisées (sans utiliser l'architecture en cascade du moteur), mais dans ce cas, il est conseillé d'utiliser les versions portable et exportable du moteur.

Constructeurs

Dans le cas où l'architecture en cascade du moteur n'est pas utilisée (page personnalisée), l'utilisation de ce constructeur est recommandée :

$dsm = new DSM($project, $site, $failed);

Dans le cas classique, où l'architecture en cascade est utilisée, l'instanciation de la classe se fait de cette manière :

$dsm = new DSM ($project, $site, $dev, $location, $failed);

Lorsque l'objet DSM est instancié dans des pages générées, on passe en paramètre $project et $site les constantes définies dans le fichier config :

$dsm = new DSM (DSM_PROJECT, DSM_SITE, $dev, $location, $failed);

Paramètres

$project Rentrez le nom du projet dans lequel s'inscrit le DSM, il est conseillé d'utiliser celui que vous avez configurez dans le fichier config. Ce nom de projet est notamment utilisé pour les sessions et les cookies, ainsi que l'ouverture des tables utilisateurs (dans votre base de données).
$site Rentrez l'URL du site, l'adresse source du projet, c'est à dire l'adresse où est situé le dossier motor (qui contient core/DSM.class.php. Par exemple pour ce site, l'adresse du projet est http://www.laurentjerber.com/
$dev La variable dev est un tableau contenant toutes les informations sur chaque page et sous-dossiers. C'est grâce à lui que l'architecture en cascade du moteur est appliqué à une page. Elle est générée par le moteur en mode développement est est stockée dans le fichier motor/generated/dev.php.
$location C'est la localisation de la page par rapport au dossier source du projet. Par exemple la localisation de cette page par rapport au dossier source du projet est lj
$failed Cette variable permet d'indiquer au moteur si une erreur fatale à l'execution de la page est apparue. $failed peut valoir false dans le cas où il n'y a pas eu d'erreur fatale, où peut être un tableau de type failure.

Attributs pratiques

La liste des attributs pratiques du DSM contiennent de nombreuses variables internes du DSM qui pourront vous être utile au cours de votre développement.

- version (public) : Contient la même valeur que la constante VERSION
- build (public) : Contient la même valeur que la constante BUILD
- project (public) : Le nom de votre projet de site
- site (public) : Adresse absolue de votre site
- tcs (public) : Contient l'objet TCS initialisé avec la clé du fichier config
- db (public) : Contient l'objet PDO connecté à votre base de donnée
- start (public) : Contient le timestamp de début d'execution
- distance (public) : Contient l'adresse pour revenir au dossier source, exemple : ../../ pour une page située à deux dossiers du dossier soruce
- pageLocation (public) : Contient le nom de la page à partir du dossier source, par exemple pour la page index : index
- title (public) : La valeur de cette variable sera le contenu entre les balises html title. Définissez sa valeur dans un header
- settings (public) : Tableau contenant les variables que vous souhaitez stocker pour la session courante
- guest (public) : Tableau contenant les informations de l'utilisateur courant (informations fournies par le client) :

  • guest['lang'] : contient la langue de l'utilisateur donnée par le navigateur
  • guest['user_agent'] : contient le user_agent de l'utilisateur
  • guest['ip'] : contient l'ip de l'utilisateur (v4 ou v6)
  • guest['previous'] : contient l'url de la page précédente visitée par l'utilisateur

- visitor (public) : identique à visitor
- redirecting (public) : Si cette variable vaut true, cela veut dire que la méthode redirect a été appelée
- noErrors (public) : Booléan valant true si la méthode error n'a pas encore été appelé
- settings (public) : Tableau contenant les paramètres du visiteurs pour la session
- user (public) : correspond à l'utilisateur actuel de la page
- DSM::VERSION : Contient la version actuelle du DSM
- DSM::BUILD : Contient la numéro de build actuelle du DSM
- DSM::RELEASE : Contient le timestamp de la date de sortie de la version du DSM
- DSM::HEADER : 101 Permet de désigner les fichiers de type header
- DSM::META : 102 Permet de désigner les fichiers de type meta
- DSM::BODY : 103 Permet de désigner les fichiers de type body
- DSM::FOOTER : 104 Permet de désigner les fichiers de type footer
- DSM::JAVASCRIPT : 105 Permet de désigner une action ou un fichier de type javascript
- DSM::STYLES : 106 Permet de désigner les fichiers de type css
- DSM::FOOTER : 107 Permet de désigner les fichiers de type css s'appliquant à certains écrans uniquement
- DSM::RESET : 200 Action de RESET pour la méthode integrity
- DSM::HARD_RESET : 201 Action de HARD_RESET pour la méthode integrity
- DSM::ADD : + Pour les exceptions, cela correspond à l'action de vouloir faire un ajout de fichier
- DSM::EXCLUDE : - Pour les exceptions, cela correspond à l'action de vouloir faire une exclusion de fichier
- DSM::BAN_ID : 300 Désigne l'action du bannissement par identifiant
- DSM::BAN_IP : 301 Désigne l'action du bannissement par adresse IP
- DSM::FOREVER : -1 Pour le DSM, cette constante correspond au temps infini

Attributs utilisés par le DSM

Ces attributs ne sont pas forcéments pertinents pour une utilisation courante par un développeur, ils sont utilisés pour le fonctionnement interne du DSM.

- banPage (private) : Contient la page de redirection en cas de ban (la page vers laquelle l'utilisateur banni est redirigé)
- body (public) : Tableau contenant tous les fichiers body.php ajoutés à la page
- default (private) : Contient les options par défaut du site (mode debug, encoding par défaut, version HTML par défaut)
- debug (private) : Booléen valant true si le mode développement est activé sur cette page
- dev (private) : Contient le tableau du fichier motor/generated/dev.php, c'est à dire toutes les informations des fichiers/dossiers du dossier dev (accessible via méthode get)
- databases (private) : contient toutes les instances PDO
- default (private) : contient toutes les valeurs par défaut (contenues dans le dossier generated/default.php).
- dontPrint (public) : Tableau contenant les erreurs à ne pas afficher sur la page
- encoding (public) : Encoding actuel de la page
- errorPattern (private) : Contient le pattern d'affichage des erreurs
- errors (private) : Tableau contenant les erreurs renvoyés (erreurs elle-même convertit sous forme de tableau)(accessible par la méthode get)
- exceptions (private) : Tableau contenant toutes les exceptions
- execution (public)(bientôt déprécié) : Censé contenir le timestamp d'éxecution
- failed (public) : des fonctions critiques du moteur ont échoués si failed vaut true
- footer (public) : Tableau contenant tous les fichiers footer.php ajoutés à la page
- header (public) : Tableau contenant tous les fichiers header.php ajoutés à cette page
- htmlVersion (public) : Version HTML de la page
- key (private) : Valeur de la clé TCS
- libs (public) : Tableau contenant la liste des librairies ajoutés à la page
- loadedDev (public) : contient le tableau de tous les fichiers dev incluts dans la page
- logFile (private) : Booléen correspondant à l'écriture dans un fichier des logs (activé ou désactivé)
- maintenance (private) : Booléen indiquant si la page est en maintenance ou non
- maintenanceSettings (private) : Tableau contenant les options de maintenance (right et page)
- measures (private) : Tableau contenant toutes les mesures d'execution
- messages (private) : Tableau contenant tous les messages (succès, erreurs, warnings) apparues au cours de l'execution
- messagesIds (private) : Tableau contenant tous les identifiants de messagess apparues au cours de l'execution
- meta (public) : Tableau contenant tous les fichiers meta.php ajoutés à la page
- notLoadedDev (private) : Tableau contenant tous les fichiers dev dont l'ajout a été annulé (ou échoués)
- oneID (private) : identifiant unique permettant d'identifier cette execution de page parmi des milliers
- page (private) : Contient le tableau de la page du tableau dev
- panel (private) : Booléen correspondant au statut du panneau de développement (activé ou desactivé)
- parents (private) : Contient tous les dossiers parents de la page actuelle
- patterns (public) : Tableau contenant les patterns d'affichage des messages
- redirecting (public) : Si cette variable vaut true, cela veut dire que la méthode redirect a été appelée
- seed (private) : Grain de sable des mots de passe des utilisateurs
- specificStyles (public) : Tableau contenant tous les fichiers CSS qui doivent être affichés suivant la résolution de l'écran
- styles (public) : Tableau contenant tous les fichiers CSS ajoutés à la page
- temporaryExceptions (private) : Tableau contenant toutes les exceptions temporaires ajoutées via addExceptions
- user (public) : Instance User de l'utilisateur courant
- zoomable (public) : Bool, Si la page n'est pas zoomable, une balise meta sera ajoutée pour empêcher le zoom sur téléphone

Méthodes pertinentes pour le développeur

void public addException ( constant operation, string file )
boolean public addGroup ( int level, string name, string description, array[] | string rights, boolean invisible )
boolean public addRight ( string name, string description )
boolean public addGroup ( int level, string name, string description, array[] | string rights, boolean invisible )
void public ban ( constant type, int | string value, string reason, int duration )
boolean public bannedByID ( int id )
boolean public bannedByIP ( string ip )
string public bbstring ( string id )
string | false public createPageDev ( string location )
string public crypt ( string needle )
boolean public dbConnect ( array[key] db )
boolean public dbConnect ( string host, string name, string user )
boolean public dbConnect ( string host, string name, string user, string password )
boolean public deleteGroup ( int level )
boolean public deleteRight ( string name )
string public static doctype ( string version )
void public doNotLoadType ( constant type )
void public dontPrintMessage ( int pattern )
void public error ( int id )
void public error ( int id, string message )
void public error ( int id, string message, string file )
void public error ( int id, string message, string file, string location )
void public error ( int id, string message, string file, string location, boolean print )
void public error ( int id, string message, boolean print )
void public errorPattern ( string pattern )
int public executionTime ( )
void public forwardMessages ( )
int|string|array public get ( string variable )
array[key] public getBan ( constant type, int | string value )
PDO public getDatabase ( string address )
string public getDistance ( )
string public getDomain ( string url )
array[] public getParents ( string page )
string public getUrl ( )
boolean public generateGroups ( array[key][] groups )
boolean public generateRights ( array[key][] rights )
constant public identifyDevType ( string filename )
void public initBBCode ( )
int public integrityChecker ( string distance, array[key][] devBase )
int public integrityChecker ( string distance, array[key][] devBase, constant flag )
boolean public isError ( ? test )
boolean public isMessage ( ? test )
string public jsHref ( string url )
void public log ( string type )
void public log ( string type, string message )
void public log ( string type, string message, int id )
void public log ( string type, string message, int id, string file )
void public log ( string type, string message, int id, string file, string location )
void public log ( string type, string message, int id, string file, string location, string more )
float public measure ( string name )
User public newUser ( )
boolean public notLoadedDev ( constant type )
void public open ( string url )
void public prepare ( string query )
void public query ( string query )
boolean public redirect ( string url )
boolean public redirect ( string url, constant DSM::HEADER )
boolean public redirect ( string url, constant DSM::HEADER, boolean forward )
boolean public redirect ( string url, constant DSM::META )
boolean public redirect ( string url, constant DSM::META, int delay )
boolean public redirect ( string url, constant DSM::META, int delay, boolean hideAll )
boolean public redirect ( string url, contant DSM::META, int delay, boolean hideAll, boolean forward )
boolean public redirect ( string url, constant DSM::JAVASCRIPT )
boolean public redirect ( string url, constant DSM::JAVASCRIPT )
boolean public redirect ( string url, constant DSM::JAVASCRIPT, boolean tab, boolean forward )
string public removeDistance ( string url )
string public remoteSiteUrl ( string link )
array[key][key] public scanDevs ( string diatance, array[key][key] devBase )
void public setStrings ( string xml )
string public string ( string id, string lang, string category )
void public success ( int id )
void public success ( int id, string message )
void public success ( int id, string message, string file )
void public success ( int id, string message, string file, string location )
void public success ( int id, string message, string file, string location, boolean print )
void public success ( int id, string message, boolean print )
string public uncrypt ( string str )
boolean public underMaintenance ( )
boolean public updateGroup ( int old, array[] modify )
boolean public updateRight ( string right, array[] modify )
void public warning ( int id )
void public warning ( int id, string message )
void public warning ( int id, string message, string file )
void public warning ( int id, string message, string file, string location )
void public warning ( int id, string message, string file, string location, boolean print )
void public warning ( int id, string message, boolean print )
void public wstr ( int id )

Méthodes utilisés uniquement par le DSM

- __construct (Constructeur)
- setup
- initiate
- setStartTime
- logLoad
- setDevs
- addDev
- removeDev
- generatePasswordSeed : génère un seed (grain de sel) pour un mot de passe
- generateSSID : Permet de générer un identifiant de session
- messagesToPrint : Retourne la liste de toutes les erreurs apparus qui doivent être affichés
- saveSettings : enregistre les options pour la sessions du visiteur
- validPasswordSeed : Vérifie que le seed est valide
- clearDevs
- setStyles
- addStyle
- removeStyle
- setEncoding
- setHtmlVersion
- setTcs
- exploreDevDir
- exploreDevForFiles
- exploreDevStructure
- compareDevAndGenerated
- generatePage
- exploreSiteDir
- scanDevFiles
- generateOptions
- generateGroups
- isError
- errorsToPrint
- getLogFile
- saveSettings

addException

Syntaxe

public void addException ( constant string operation, string file )

Description

La méthode addException est une méthode qui permet au développeur d'ajouter une exception temporaire à la page. C'est à dire que vous pouvez choisir d'exclure un fichier de développement, juste pour cette execution de page. L'exception ne sera pas enregistrée par la suite (dans le fichier motor/generated/dev).

Cette méthode fonctionne pour tous les types de fichiers de développement (body, header, meta, footer, css, ..).

Attention, dans le cas d'une exclusion, cette méthode doit être appelée avant le fichier à exclure pour que l'exclusion fonctionne.

Paramètres

  • constant string operation : correspond à l'opération à effectuer (ajout ou exclusion d'un fichier). Utilisez les constantes DSM::ADD et DSM::EXCLUDE.
  • string file : correspond au fichier auquel s'applique l'exception. Pensez à mettre dev/ dans l'adresse relative.

Valeur de retour

  • void : La méthode ne renvoie rien

Erreurs

Plage erreur : 11167xx

  • #1116700 : The file has not a correct file type
  • #1116701 : The file could not have been identify
  • #1116702 : The operation must be + or -

Exemple

$dsm -> addException(DSM::EXCLUDE, "dev/style.css");

addGroup

Syntaxe

public void addGroup ( int level, string name, string description, array[] | string rights, boolean invisible )

decription

La méthode addGroup permet de créer un groupe (anciennement addRank). Après formatage des informations données en paramètre, la méthode génère un nouveau fichier DSMGroups.class.php en appelant la méthode generateGroups.

Paramètres

  • int level : Niveau du groupe, plus sa valeur est grande, plus le groupe est important. Deux groupes ne peuvent pas avoir le même niveau.
  • string name : Nom du groupe.
  • string description : Petite description du groupe pour la page d'administration.
  • array|string rights : Liste de droits dont tous les utilisateurs appaternant au groupe hériteront. Si vous fournissez une chaîne de caractères, celle-ci sera split selon les virgules.
  • bool invisible : Rend le groupe invisible lorsqu'il vaut true.

Valeur de retour

  • boolean : La méthode ne renvoie rien

Erreurs

Plage erreur : 11128xx

  • #1112804 : The object in parameter #0 must be a DSMGroups, or DSMUser, or User ({class_name} given).
  • #1112805 : The group level is already used !
  • #1112807 : Invisible parameter, must be a boolean.

Exemple

$dsm -> addGroup(12, "Premium", "Groupe des utilisateurs premium", array("account.premium","features.preview"));
$dsm -> addGroup(12, "Premium", "Groupe des utilisateurs premium", "account.premium,features.preview");
$dsm -> addGroup(12, "Premium", "Groupe des utilisateurs premium", array("account.premium","features.preview"), true);

addRight

La méthode addRight permet de créer un droit. La méthode appelle automatiquement la méthode generateRights.

$dsm -> addRight($name, $description);
  • name (string) : Nom du droit (droit en lui même). N'accepte que les minuscules et les points
  • description (string) : Description du droit pour l'affichage sur la page d'administration

Valeur de retour : Retourne false ou la valeur de retour de generateRights
Plage erreur : 11135xx

ban

La méthode ban, comme son nom l'indique, permet de bannir un visiteur de votre site. Deux techniques de bannissement sont disponibles : le ban par identifiant (si l'utilisateur est inscrit) permet d'empêcher toute connexion de l'utilisateur en question.
Le ban par adresse IP quant à elle, redirige le visiteur possedant l'IP banni vers une page que vous avez définit (par défaut ban.php).

Syntaxes :

$dsm -> ban($type, $value, $reason, $duration);

Paramètres :

  • type (int) : définit si vous souhaitez faire un ban par identifiant ou par IP, valeurs : DSM::BAN_ID et DSM::BAN_IP.
  • value (string|int) : l'identifiant (int) ou l'adresse IP v4 (string) qui doit être bannit.
  • reason (string) : la raison du bannissement (qui apparaîtra sur la page ban.php).
  • duration (int) : c'est le temps en secondes du bannissement. Pour un bannissement définitif, mettre la valeur DSM::FOREVER.

Plage erreur : 11170--

Exemples :

$dsm -> ban(DSM::BAN_ID, 12, "Tu n'as pas été sage", 3*24*60*60); //Ban de 3 jours pour l'ID 12
$dsm -> ban(DSM::BAN_IP, "11.22.33.44", "Toi, tu rentres plus", DSM::FOREVER);//Ban définitif pour l'IP 11.22.33.44

bannedByID

La méthode bannedByID permet de vérifier si un utilisateur d'un ID donnée (que vous fournissez en paramètre) est banni.

Syntaxe :

$dsm -> bannedByID($id);

Paramètre :

  • id (int) : l'identifiant de l'utilisateur dont vous souhaitez vérifier s'il est banni

Valeur de retour : (boolean) retourne true si l'utilisateur est banni
Plage erreur : 11171--
Exemple :

if ($dsm -> bannedByID(12))
	echo "L'utilisateur 12 est banni";

bannedByIP

La méthode bannedByIP permet de vérifier si une adresse IP (que vous fournissez en paramètre) est bannie.

Syntaxe :

$dsm -> bannedByIP($ip);

Paramètre :

  • ip (string) : l'adresse IP dont vous souhaitez vérifier si elle est banni

Valeur de retour : (boolean) retourne true si l'adresse est banni
Plage erreur : 11172--
Exemple :

if ($dsm -> bannedByIP("11.22.33.44"))
	echo "L'adresse 11.22.33.44 est banni";

dbConnect

La méthode dbConnect permet d'instancier un objet PDO, qui correspond à la connexion à une base de donnée. Cette instance est stockée par le DSM et est accessible par la méthode getDatabase.

Syntaxes :

$dsm -> dbConnect($array);
$dsm -> dbConnect($host, $name, $user);
$dsm -> dbConnect($host, $name, $user, $password);

Paramètres :

  • array (array) : tableau associatif, contenant les couples clés/valeurs : host, name, user, password (valeurs identiques aux paramètres ci-dessous).
  • host (string) : hostname de la base de donnée (comme localhost par exemple).
  • name (string) : nom de la base de donnée à laquelle il faut se connecter.
  • user (string) : nom de l'utilisateur MySQL qui se connecte à la base de donnée.
  • password (string) : mot de passe associé à l'utilisateur qui se connecte.

Valeur de retour : (boolean) retourne vrai si la connexion a réussi, false sinon.
Plage erreur : 11104--

dontPrintMessage

La méthode dontPrintMessage permet d'empêcher l'affichage de tous les messages (erreurs, warnings, succès) ayant un identifiant commençant pour le paramètre fournit dans dontPrintMessage.

Syntaxe :

$dsm -> dontPrintMessage($pattern);

Paramètre :

  • pattern (int) : début d'identifiant des messages à ne pas afficher (pour une seule erreur, vous pouvez mettre son identifiant en entier)

Plage erreur : 11157--
Exemple :
Imaginons que vous souhaitez ne pas afficher toutes les erreurs ayant un identifiant commençant par 5004, mais souhaitez aussi empêcher l'affichage de l'erreur 520001 :

$dsm -> dontPrintMessage(5004); //On empêche l'affichage des erreurs commençant par 5004
$dsm -> dontPrintMessage(520001); //On empêche l'affichage de l'erreur 520001

forwardMessages

La méthode forwardMessages permet d'afficher les messages (erreurs, succès, warnings) qui apparaissent au cours de l'execution de cette page sur la page suivante.

Par exemple, vous êtes sur la page page1.php, vous cliquez sur lien sur cette page qui vous mène à page2.php, pour que les messages de la page1 s'affichent sur la page2, vous devez appeler la méthode forwardMessages.

A quoi cela sert-il ? Dans le cas d'une redirection de page par exemple. Sur la page traitement.php, vous effectuez l'action PHP demandé mais une erreur apparaît et empêche le traitement de s'executer correctement. Dans ce cas, vous souhaitez que les messages apparus dans la page traitement.php apparaissent dans la page redirigé après traitement.php. Cette page, resultat.php, pourra afficher les messages apparus dans la page traitement.php si forwardMessages a été appelé sur la page traitement.php.

Syntaxe :

$dsm -> forwardMessages();

Plage erreur : 11158--
Exemple :

 //traitement.php

//Votre traitement

$dsm -> forwardMessages();
$dsm -> redirect("resultat.php", DSM::META, 5, true);

Conseil : Dans cet exemple de la redirection, il est possible d'activer le forward des messages directement dans l'appel de la méthode redirect :

//traitement.php
			
//votre traitement

$dsm -> redirect("resultat.php", DSM::META, 5, true, true); //Le dernier paramètre correspond au forward

get

La méthode get permet de récupérer des attributs privés de la classe DSM.
Syntaxe :

$dsm -> get($value);

Le paramètre value peut prendre les valeurs suivantes :

  • dev
  • errors
  • encoding
  • htmlVersion
  • defaultEncoding
  • defaultHtmlVersion
  • defaultLang
  • scriptLocation
  • maintenanceStatus
  • maintenanceRight
  • maintenancePage
  • banPage
  • banList
  • ssid
  • debug
  • panel
  • logFile
  • seed
  • sqlQueries

Chacune de ces valeurs correspond au nom d'une des propriétés du DSM. Vous pouvez ainsi voir dans la catégorie décrivant les propriétés de la classe à quoi correspondent ces propriétés.
Plage erreur : 11103--

getBan

La méthode getBan permet de récupérer les informations correspondant au bannissement d'une IP/d'un utilisateur.

Syntaxe :

$ban = $dsm -> getBan($type, $value);

Paramètres :

  • type (int) : c'est le type de bannissement : par identifiant (mettre DSM::BAN_ID) ou par adresse IP (mettre DSM::BAN_IP) ?
  • value (int|string) : c'est la valeur, c'est l'identifiant de l'utilisateur ou l'adresse IP en elle-même

Valeurs de retour : (array) C'est un tableau associatif contenant les variables :

  • id (int) : l'identifiant du ban (uniquement si c'est un ban par identifiant)
  • ip (string) : l'adresse IP du ban (uniquement si c'est un ban par adresse IP)
  • reason (string) : la raison donnée pour le ban
  • end (int) : timestamp de fin du bannissement (vaut -1 pour un ban définitif)
  • author (int) : identifiant de l'utilisateur ayant effectué le bannissement
  • time (int) : timestamp à laquelle le banissement a été effectué

Plage erreur : 11173--

getDatabase

La méthode getDatabase permet de récupérer l'instance PDO d'une base de donnée à laquelle on s'est connecté via dbConnect.

Syntaxe :

$db = $dsm -> getDatabase($address);

Paramètre :

  • address (string) : vous devez préciser ici le nom de la base de donnée et son host sous le format : name@host

Valeur de retour : Objet PDO correspondant à la connexion à la base de donnée.
Plage erreur : 11147--
Exemple :

$dsm -> dbConnect('localhost', 'monsite', 'root', '');

$monsite = $dsm -> getDatabase('monsite@localhost');

getDomain

Récupère le nom de domaine de l'URL fournit.

Syntaxe :

$domain = DSM::getDomain($url);

Paramètre :

  • url (string) : adresse dont on doit récupérer le nom de domain

Valeur de retour : (string) le nom de domaine du site.
Plage erreur : 11111--
Exemple :

echo DSM::getDomain("http://www.laurentjerber.com/dsm/doc/DSM");

Cela affichera : laurentjerber.com

isError

La méthode permet de vérifier si une variable donnée est une instance de DSMError (une erreur).

Syntaxe :

$dsm -> isError($test);

Paramètre :

  • test (...) : la variable à tester

Valeur de retour : (boolean) retourne true si la variable est bien une instance de DSMError.
Plage erreur : 11133--

isMessage

La méthode permet de vérifier si une variable donnée est une instance de DSMMessage (une erreur, un warning, un succès).

Syntaxe :

$dsm -> isMessage($test);

Paramètre :

  • test (...) : la variable à tester

Valeur de retour : (boolean) retourne true si la variable est bien une instance de DSMMessage.
Plage erreur : 11161--

jsHref

La méthode jsHref encapsule une URL dans un attribut HTML onclick. Cela permet de faire des liens javascripts facilement.

Syntaxe :

$dsm -> jsHref($url);

Paramètre :

  • url (string) : l'URL qui doit être encapsulé.

Valeur de retour : (string) balise HTML contenant le lien javascript vers votre URL.
Plage erreur : 11144--
Exemple :

$dsm -> jsHref("dsm/");
//Valeur retourné :
onclick="document.location = 'dsm/';"

measure

Cette méthode permet de mesurer le temps d'execution entre 2 points du code. Vous pouvez prendre plusieurs temps de référence en leur précisant des noms différents.

Vous pouvez consulter l'exemple plus bas pour mieux comprendre l'utilisation de la méthode.

Syntaxe :

$t0 = $dsm -> measure($name);
$dt = $dsm -> measure($name);

Paramètre :

  • name (string) : nom de la mesure.

Valeurs de retour :

  • temps de référence (float) : lorsque c'est la première fois que ce nom est utilisé par measure dans la page courante.
  • différence de temps (float) : lorsque ce n'est pas la première utilisation de ce nom par measure dans la page courante

Plage erreur : 11151--
Exemple : On souhaite mesurer le temps d'execution depuis le début d'un traitement :

//Votre Code PHP ou HTML précédent

$dsm -> measure('traitement'); //T0 = T : c'est le temps de référence, c'est depuis ce point qu'on va comparer toutes les mesures de nom 'traitement'

//Partie 1 du traitement

$t1 = $dsm -> measure('traitement'); //T1 = T - T0 : c'est la différence de temps entre ce moment et T0 (le temps de référence de la mesure 'traitement')
//Ici $t1 représente le temps d'execution de la partie 1 du traitement

//Partie 2 du traitement

$t2 = $dsm -> measure('traitement'); //T2 = T - T0 : c'est la différence de temps  entre ce moment et T0 (le temps de référence de la mesure 'traitement')
//Ici $t2 représente le temps d'execution de la partie 1 + partie 2 du traitement

saveSettings

La méthode saveSettings permet de sauvegarder le tableau settings pour qu'il soit utilisable sur toutes les pages (enregistré via une session). Ce tableau, accessible facilement, peut être utilisé comme vous le souhaitez. La méthode saveSettings vous permet juste de le sauvegarder à chaque modification pour une utilisation ultérieure sur toutes les pages.

La méthode est appelé automatiquement après votre dernier footer.
Syntaxe :

$dsm -> saveSettings();

Plage erreur : 11113--

setStrings

La méthode setStrings permet d'ajouter un fichier ressource de type 'strings'. Consultez la page Gestion des langues pour comprendre le fonctionnement des pages multilingues et des fichiers ressources.

Cette méthode permet d'ajouter toutes les strings d'un fichier xml spécifié en argument. Ce nom de fichier doit être celui de la langue par défaut du site (définit dans $dsm -> default), pour cette documentation, toutes les strings sont contenues dans le fichier resources/langs/fr/doc.xml. Ici, pour setStrings, on précise juste doc. Pour le fichier resources/langs/fr/admin.xml, on précise juste admin.

La méthode setStrings s'occupe d'ajouter le fichier xml de la bonne langue automatiquement.

Syntaxe :

$dsm -> setStrings($xml);

Paramètre :

  • xml (string) : le nom du fichier xml à ajouter sans son emplacement et son extension.

Plage erreur : 11162--

string

La méthode string permet de récupérer une string (contenu dans un fichier xml) selon son identifiant et la langue précisé.

Syntaxe :

$str = $dsm -> string($id, $lang, $category);

Paramètres :

  • id (string) : l'identifiant de la string spécifié par l'attribut id dans les xml.
  • lang (string) : la langue dans laquelle on veut récupérer la string, mettre null si vous souhaitez laisser le DSM décider de la langue suivant les paramètres du visiteur et du site.
  • category (string) : si la string provient d'une categorie (balise category dans le xml, mettre null s'il provient d'une balise page (façon classique de faire).

Valeur de retour : (string) la chaîne de caractère demandée.
Plage erreur : 11163--

success

La méthode success permet d'envoyer un message de type DSMSuccess. Un message DSMSuccess, à l'inverse de DSMError, correspond au succès d'une partie de votre code. Ce message sera affiché dans une div de classe DSMSUCCESS, elle-même contenu dans la div DSMMESSAGES.

Syntaxes :

$dsm -> success($id);
$dsm -> success($id, $message);
$dsm -> success($id, $message, $file);
$dsm -> success($id, $message, $file, $location);
$dsm -> success($id, $message, $file, $location, $print);
$dsm -> success($id, $message, $print);

Paramètres :

  • id (int) : identifiant de le message
  • message (string) : message de succès
  • file (string) : dans quel fichier le succès est apparue
  • location (string) : à quel endroit du code ce succès correspond
  • print (boolean) : si le succès doit être affiché ou non. Dans le cas où il n'est pas affiché, il sera tout de même présent dans la base de donnée.

Plage erreur : 11159--

warning

La méthode warning permet d'envoyer un message de type DSMWarning. Un message DSMWarning, correspond à l'envoie d'un avertissement (moins fort qu'une erreur). Ce message sera affiché dans une div de classe DSMWARNING, elle-même contenu dans la div DSMMESSAGES.

Syntaxes :

$dsm -> warning($id);
$dsm -> warning($id, $message);
$dsm -> warning($id, $message, $file);
$dsm -> warning($id, $message, $file, $location);
$dsm -> warning($id, $message, $file, $location, $print);
$dsm -> warning($id, $message, $print);

Paramètres :

  • id (int) : identifiant de le message
  • message (string) : message du warning
  • file (string) : dans quel fichier le warning est apparu
  • location (string) : à quel endroit du code ce warning correspond
  • print (boolean) : si le warning doit être affiché ou non. Dans le cas où il n'est pas affiché, il sera tout de même présent dans la base de donnée.

Plage erreur : 11137--

wstr

La méthode wstr est une version très simplifiée de string, elle permet d'afficher une string contenu dans un fichier xml en choisissant la langue selon les préférences de l'utilisateur et du site. Elle ne permet de récupérer que les strings contenues dans une balise page dans le xml.
Attention, wstr fait un echo automatique de la valeur récupérée.

Syntaxe :

$dsm -> wstr($id);

Paramètre :

  • id (string) : l'identifiant de la string spécifié par l'attribut id dans les xml.

Valeur de retour : aucune
Plage erreur : 11164--
Remarque :

$dsm -> wstr('machaine');
// est équivalent :
echo $dsm -> string('machaine', null, null);
<

executionTime

La méthode executionTime calcule le temps qu'il s'est passé entre le début de l'execution de la page et l'appel de executionTime.
Syntaxe :

$dsm -> executionTime();

Valeur de retour : Temps en secondes
Plage erreur : 11105--

log

La méthode log permet d'insérer dans la table log de votre projet une entrée.
Syntaxes :

$dsm -> log($type);
$dsm -> log($type, $message);
$dsm -> log($type, $message, $id);
$dsm -> log($type, $message, $id, $file);
$dsm -> log($type, $message, $id, $file, $location);
$dsm -> log($type, $message, $id, $file, $location, $more);

Paramètres :

  • type : varchar(16)
  • message : varchar(1024)
  • id : identifiant que vous pouvez donner à votre log (int)
  • file : fichier de provenance du log, varchar(128), utilisable pour un autre paramètre
  • location : localisation dans le fichier de l'appel du log, varchar(128)
  • more : text, pour plus d'informations sur votre log

Plage erreur : 11107--

redirect

La méthode redirect permet de créer une redirection vers une autre page en Javascript, HTML, ou PHP.
Syntaxes :

$dsm -> redirect($url);
$dsm -> redirect($url, DSM::HEADER);
$dsm -> redirect($url, DSM::HEADER, $forward)
$dsm -> redirect($url, DSM::META);
$dsm -> redirect($url, DSM::META, $delay);
$dsm -> redirect($url, DSM::META, $delay, $hideAll);
$dsm -> redirect($url, DSM::META, $delay, $hideAll, $forward);
$dsm -> redirect($rul, DSM::JAVASCRIPT);
$dsm -> redirect($url, DSM::JAVASCRIPT, $tab);
$dsm -> redirect($url, DSM::JAVASCRIPT, $tab, $forward);

Paramètres :

  • $url (string) : URL de redirection, peut être relatif ou absolu.
  • $type (int) : Type de redirection. Peut prendre comme valeur DSM::HEADER, DSM::META, et DSM::JAVASCRIPT. Sinon, la méthode de balise meta est choisie par défaut (DSM::META).
  • $delay (int) : Temps en secondes avant la redirection. Fonctionne uniquement en redirection HTML (meta).
  • $hideAll (bool) : Si le contenu de la page doit être remplacé par la div 'DSMREDIRECT' contenant le texte "Redirecting..." (style formatable)
  • $tab (bool) : Ouvre l'adresse dans un nouvel onglet. Fonctionne en redirection javascript.
  • $forward (bool) : Permet d'afficher les erreurs apparues sur la page en cours (celle où on appelle la méthode redirect) sur la page ouverte (dans l'argument url).

Valeur de retour : Booléen
Plage erreur : 11108--

open

La méthode ouvre dans un nouvel onglet une URL passé en paramètre. Syntaxe :

$dsm -> open($url);
// est équivalant à :
$dsm -> redirect($url, DSM::JAVASCRIPT, true);

Valeur de retour : Ne renvoit rien.
Plage erreur : 11112--

integrityChecker

La méthode permet d'effectuer une vérification d'intégrité du moteur. Il vérifie la validité et la compatibilité des fichiers moteurs ainsi que des fichiers dev. Elle appelle notamment la méthode scanDevs.

Cette méthode est appelée lorsque le "mode développement" du moteur est activé.
Syntaxes :

$dsm -> integrityChecker($distance, $devBase);
$dsm -> integrityChecker($distance, $devBase, $flag)

Paramètres :

  • distance (string) : Distance par rapport au dossier du moteur, vous pouvez utiliser $dsm -> distance lorsque l'appel est effectué depuis une page classique.
  • devBase (array) : Base 'dev'. Par défaut, mettez $dsm -> get('dev').
  • flag (int) : Action supplémentaire à effectuer, flags disponibles :
    • DSM::RESET : remet toutes les valeurs par défaut des fichiers de développement, des droits, et des groupes tout en gardant tout ce qui a été ajouté (toutes les pages, les droits, et les groupes ajoutées sont conservés)
    • DSM::HARD_RESET : remet toutes les valeurs par défaut des fichiers de développement, des droits, et des groupes : tous les droits, groupes, et paramètres sur les pages (exceptions,...) sont supprimés.

Valeur de retour : Retourne le temps d'execution de l'integrity checker en secondes.
Plage erreur : 11119--

scanDevs

La méthode scanDevs scanne tous les fichiers du dossier dev afin de les indexer dans le fichier motor/generated/dev.php. cela permet d'actualiser les modifications de développement : pour qu'un nouveau fichier soit ajouté à la page en développement).
Syntaxe :

$dsm -> scanDevs($distance, $devBase);

Paramètres :

  • $distance : Distance par rapport au dossier du moteur, vous pouvez utiliser $dsm -> distance lorsque l'appel est effectué depuis une page classique.
  • $devBase : Base 'dev'. Par défaut, mettez $dsm -> get('dev').

Valeur de retour : Retourne le tableau de dev contenu dans le fichier dev.php généré (le nouvel index des fichiers)
Plage erreur : 11120--

createPageDev

La fonction créé une page dev dans l'emplacement spécifié. Si le dossier parent était une simple page, il déplace son cotenu dans un sous-dossier index et créé le dossier demandé.
Syntaxe :

$dsm -> createPageDev($location);

Valeur de retour : Retourne la localisation du dossier créé en cas de succès. Ou false en cas d'échec.
Plage erreur : 11126--

newUser

Créé un nouvel objet User.
Syntaxe :

$user = $dsm -> newUser();
// est équivalent à :
$user = new User($dsm);

Valeur de retour : Objet User créé

errorPattern

Cette méthode a été déprécié depuis la version 0.5.39 (build 93)
Définit le pattern d'affichage des erreurs. La méthode doit être appelée dans un fichier header. Syntaxe :

$dsm -> errorPattern($pattern);

Paramètre :

  • $pattern : Message d'erreur qui s'affiche à l'écran. Ecrire les mots clés !id, !message, !file et !location pour y placer les informations concernant l'erreur à afficher.

Valeur de retour : void
Plage erreur : 11137--

error

Permet de logger une erreur et de l'afficher sur la page dans une div de class DSMERROR. Chaque erreur placée est contenu dans la div d'id DSMERRORS. Chaque erreur est stocké dans la table logs.
Syntaxes :

$dsm -> error($id);
$dsm -> error($id, $message);
$dsm -> error($id, $message, $file);
$dsm -> error($id, $message, $file, $location);
$dsm -> error($id, $message, $file, $location, $print);
$dsm -> error($id, $message, $print);

Seul l'ordre de $message, $file et de $location doivent être respecté.

Paramètres :

  • $id : int, identifiant de l'erreur
  • $message : string, message d'erreur
  • $file : string, dans quel fichier l'erreur est apparue
  • $location : string, à quel endroit du code cette erreur correspond
  • $print : bool, si l'erreur doit être affiché ou non. Dans le cas où elle n'est pas affiché, elle sera tout de même présente dans la base de donnée.

Valeur de retour : void
Plage erreur : 11136--

doctype

Renvoie le doctype HTML correspondant à la version demandée.
Syntaxe :

DSM::doctype($version);

Paramètre :

  • $version : string, peut prendre comme valeur : 4.01S, 4.01T, 4.01F, 1.0S, 1.0F, 1.0T, 1.1, et 5

Valeur de retour : string, renvoie le doctype. Si $version n'est pas valide, il renverra le doctype d'HTML5.

query

Effectue une requête SQL dans la table base de donnée renseignée dans le fichier config. Permet d'utiliser des raccourcis sur l'ecriture des tables DSM.
Syntaxe :

$dsm -> query($query);
// est équivalant à :
$dsm -> db -> query($query);

Paramètre :

  • $query : Requête SQL classique. Vous pouvez utiliser les mots clés *core*, *logs*, *loads* et surtout *users* pour écrire le nom de la table dsm correspondante.

Exemple : Je veux lire l'utilisateur d'identifiant '7' dans ma table users :

$dsm -> query("SELECT * FROM *users* WHERE id='7'");

Plage erreur : 11131-- Plage erreur : 11131--

prepare

Prépare une requête SQL dans la base de donnée renseignée dans le fichier config. Permet d'utiliser des raccourcis sur l'ecriture des tables DSM.
Syntaxe :

$dsm -> prepare($query);
// est équivalant à :
$dsm -> db -> prepare($query);

Paramètre :

  • $query : Requête SQL classique. Vous pouvez utiliser les mots clés *core*, *logs*, *loads* et surtout *users* pour écrire le nom de la table dsm correspondante.

Exemple :
Je souhaite lire l'utilisateur d'identifiant '7' dans ma table users :

$go = $dsm -> prepare("SELECT * FROM *users* WHERE id = ?");
$go -> bind(1, $get['id'], PDO::PARAM_INT);
if ($go -> execute())
	$result = $go -> fetch();
else $dsm -> error(0, "Failed to grab the user by its id");

Plage erreur : 11131--

getUrl

Retourne l'URL de la page courante

Syntaxe :

$url = $dsm -> getUrl();

Valeur de retour : (string) l'url de la page courante
Plage erreur : 11134--

removeDistance

Retire toutes les occurences de ../ dans une URL relative

Syntaxe :

$clean = $dsm -> removeUrl($url);

Paramètre :

  • url : URL relative qui doit se voir retiré les occurences de ../

Valeur de retour : string
Exemple :

$clean = $dsm -> removeDistance('../../resources/images/');
echo $clean; // Retourne : resources/images/

Plage erreur : 11138--

removeSiteURL

Retire l'adresse du dossier source du moteur du lien $link

Syntaxe :

$relative = $dsm -> remoteSiteURL($link);

Paramètre :

  • link : adresse absolue à laquelle on doit retirer l'adresse du site

Valeurs de retour : adresse relative épurée de l'adresse du site dans le cas où l'adresse du site était présent dans link. Ou retourne link dans le cas où l'adresse du site n'était pas compris dans link.

Exemple 1 :

//L'adresse du site est http://www.laurentjerber.com/
$relative = $dsm -> remoteSiteUrl('http://www.laurentjerber.com/dsm/doc/DSM.class.php');
echo $relative; //Retourne dsm/doc/DSM.class.php

Exemple 2 :

//L'adresse du site est http://www.laurentjerber.com/
$relative = $dsm -> remoteSiteUrl('http://www.google.com/gmail');
echo $relative; //Retourne http://www.google.com/gmail

Plage erreur : 11146--

href

Déprécié en build 100.

initBBCode

Cette méthode permet d'initiliser la librairie jBBCode. Elle doit être appelé avant le premier appel de la méthode bbstring.
Syntaxe :

$dsm -> initBBCode();

VValeur de retour : aucune
Plage erreur : 11181xx

getParentURL

A venir

stopDevLoading

Arrête le chargement de tous les fichiers de développement de la page à partir d'un certain type (header, body, meta,...).
Syntaxes :

//Arrêter le chargement de tous les fichiers à partir des fichiers $flag
$dsm -> stopDevLoading($flag);

//Arrêter le chargement des fichiers à partir de maintenant (tous les fichiers) :
$dsm -> stopDevLoading();

Paramètre :

  • flag : signifie à partir de quels fichiers dev on arrête le chargement des dev. Peut prendre les valeurs : DSM::HEADER, DSM::META, DSM::STYLES, DSM::SPECIFICSTYLES, DSM::BODY, DSM::FOOTER.

A noter que les fichiers de développements s'ajoutent dans l'ordre suivant : header, meta, styles, specificStyles, body, et footer.
Plage erreur : 11130--

notLoadedDev

Retourne si un type de fichiers dev (header, body,...) a été chargé ou non.
Syntaxe :

$dsm -> notLoadedDev($type);

Paramètre :

  • type : est le type de fichier que vous souhaiter savoir si ils ont été ajoutés. La variable peut prendre les valeurs : DSM::HEADER, DSM::META, DSM::STYLES, DSM::SPECIFICSTYLES, DSM::BODY, DSM::FOOTER.

Valeur de retour : boolean
Plage erreur : 11153--

doNotLoadType

Annule le chargement d'un certain type de fichier de développement de votre page.
Syntaxe :

$dsm -> doNotLoadType($type);

Paramètre :

  • type : est le type de fichier que vous souhaiter annuler le chargement. La variable peut prendre les valeurs : DSM::HEADER, DSM::META, DSM::STYLES, DSM::SPECIFICSTYLES, DSM::BODY, DSM::FOOTER.

Plage erreur : 11154--

underMaintenance

Permet de savoir si la page actuelle est en maintenance (ne prend pas en compte les droits de l'utilisateur courant).
Syntaxe :

$dsm -> underMaintenance();

Valeur de retour : boolean
Plage erreur : 11116--

crypt

Permet de chiffrer une chaîne de caractère grâce à l'objet TCS instancié (avec la clé du fichier config).
Syntaxe :

$cryted = $dsm -> crypt($str);

Paramètre :

  • str : C'est la chaîne de caractère que vous souhaitez chiffrer

Valeur de retour : string chiffré
Remarque : cette méthode permet de simplifier l'écriture :

$crypted = $dsm -> tcs -> crypt($str);

Plage erreur : /

uncrypt

Permet de déchiffrer une chaîne de caractère grâce à l'objet TCS instancié (avec la clé du fichier config).
Syntaxe :

$uncryted = $dsm -> uncrypt($str);

Paramètre :

  • str : C'est la chaîne de caractère que vous souhaitez déchiffrer

Valeur de retour : string échiffré
Remarque : cette méthode permet de simplifier l'écriture :

$crypted = $dsm -> tcs -> uncrypt($str);

Plage erreur : /

getDistance

getDistance permet d'obtenir la distance par rapport au dossier source de la page courante.
Syntaxe :

$distance = $dsm -> getDistance();

Valeur de retour : string composé uniquement d'une succession de ../ (dans le cas où la page est dans le dossier source, elle renvoie une chaîne vide).
Exemple :

//Pour le dossier source : http://www.laurentjerber.com/dsm/doc/DSM.class.php :
$distance = $dsm -> getDistance(); // $distance vaudra ../../

Plage erreur : N/A

refresh

Vous permer de raffraîchir la page courante.
Syntaxes :

$dsm -> refresh();
$dsm -> refresh($delay);

Paramètre :

  • delay : temps en seconde avant d'effectuer le raffracihissement

Remarque : Le raffrachissement se fera en PHP (via le header), en HTML, ou en javascript suivant l'endroit où vous appelez cette méthode dans votre page.
Plage erreur : 11148--

getParents

Retourne un tableau contenant tous les dossiers parents de la page demandé.
Syntaxe :

$arr = $dsm -> getParents($page);

Paramètre :

  • page : Page (en relatif) à laquelle il faut lister les parents

Valeur de tableau : Retourne un tableau de tous les noms de dossiers parents de la page.
Plage erreur : 11152--

dontPrintError

Permet d'empêcher l'affichage sur la page de toutes les erreurs qui ont un identifiant qui commence par $flag (paramètre fournit)
Syntaxe

$dsm -> dontPrintError($flag);

Paramètre :

  • $flag (int) : Début d'identifiant dont on doit empêcher tous les affichages

Valeur de retour : void
Exemple :

$dsm -> error(1115701, "Erreur 1 !");
$dsm -> error(1115702, "Erreur 2 !");
$dsm -> error(1131201, "Erreur 3 !");
$dsm -> dontPrintError(11157);

//Dans la div DSMErrors, seul l'erreur 3 (1131201) sera affichée !

updateGroup

La méthode permet de mettre à jour un groupe. Appelle la méthode generateGroups afin de générer un nouveau fichier DSMGroups.class.php.
Syntaxe :

$dsm -> updateGroup($old, $modify);

Paramètres :

  • old (int) : Le niveau du groupe à éditer
  • modify (array) : Tableau associatif des paramètres du groupe à modifier

Valur de retour : (boolean) Retourne false ou la valeur de retour de generateGroups
Plage erreur : 11155xx
Exemple :

//Ici on cherche à modifier le groupe de niveau 10 en groupe de niveau 8 avec différents attributs
$group = array('value' => 8, 'name' => 'Joueur', 'description' => 'Groupe de joueurs', 'rights' => array('game', 'game.play'), 'invisible' => false);
$dsm -> updateGroup(10, $group);

updateRight

La méthode updateRight permet de mettre à jour un droit. updateRight appelle la méthode generateRights afin de générer un nouveau fichier DSMRights.class.php.
Syntaxe :

$right = array($right, $modify);

Paramètres :

  • right (string) : nom du droit à modifier
  • modify (array) : tableau associatif contenant les valeurs du droits à modifier (name ou description)

Valeur de retour : (boolean) Retourne false ou la valeur de retour de generateRights
Plage erreur : 11156xx
Exemple :

$right = array('name' => 'profil.voir', 'description' => "Permet de voir les profil d'autres membres");
$dsm -> updateRight('profil.voir', $right);
//Modifie juste la description de profil.voir

deleteGroup

Cette méthode permet de supprimer un groupe (dans le fichier DSMGroups.class.php. Cette méthode appelle generateGroups.
Attention ! Cette méthode n'enlève pas les utilisateurs de ce groupe. Cela signifie que si vous supprimez un groupe de niveau 8. Les utilisateurs faisant partie du groupe 8 auront toujours la valeur 8 dans le tableau groups de DSMUser.

Syntaxe

$dsm -> deleteGroup($group);

Paramètre :

  • group (int) : Niveau du groupe à supprimer (rappel : deux groupes ne peuvent pas avoir le même niveau)

Valeur de retour : (boolean) Renvoie la valeur de generateGroups. Si une erreur apparaît avant l'appelle de generateGroups, deleteGroup renvoie false
Plage erreur : 11139xx

deleteRight

Cette méthode permet de supprimer un droit (dans le fichier DSMRights.class.php. Cette méthode appelle generateRights.
Attention ! Cette méthode ne supprime pas ce droit aux utilisateurs qui le possèdent. Cela signifie que si vous supprimez le droit profil.voir. Les utilisateurs ayant le droit profil.voir auront toujours profil.voir dans le tableau rights de DSMUser.

Syntaxe

$dsm -> deleteRight($right);

Paramètre :

  • right (string) : Nom du droit à supprimer (rappel : deux droits ne peuvent pas avoir le même nom)

Valeur de retour : (boolean) Renvoie la valeur de generateRights. Si une erreur apparaît avant l'appelle de generateRights, deleteRight renvoie false
Plage erreur : 11140xx

generateGroups

La méthode generateGroups permet de générer un fichier motor/generated/DSMGroups.class.php. La classe générée, DSMGroups, hérite de DSMRights (DSMRights.class.php). A noter que la classe DSMUser hérite de DSMGroups.
Syntaxe :

$dsm -> generateGroups($groups);

Paramètre :

  • groups (array) : tableau associatif contenant tous les groupes existant. Le tableau groups s'écrit de cette manière :
$groups = array(
	1 => array('value' => 1, 'name' => 'Utilisateur', 'description' => "Groupe des utilisateurs inscrits", 'rights' => 'profil,profil.voir,message,message.voir,message.ecrire', 'invisible' => false),
	2 => array('value' => 2, 'name' => 'Premium', 'desccription' => "Groupe des membres premiums du site", 'rights' => 'extra,extra.goodies', 'invisible' => false)
);

Valeur de retour : (boolean) Retourne true si le fichier a été correctement créé, dans tous les autres cas il émet une erreur et renvoie false.
Plage erreur : 11129xx

generateRights

La méthode generateRights permet de générer un fichier motor/generated/DSMRights.class.php. La classe générée, DSMRights, est parente des classes DSMGroups (DSMGroups.class.php). et de DSMUser.
Syntaxe :

$dsm -> generateRights($rights);

Paramètre :

  • rights (array) : tableau associatif contenant tous les droits existant. Le tableau droits s'écrit de cette manière :
$rights = array(
	'profil.voir' => array('name' => 'profil.voir', 'description' => "Permet de voir le profil d'un autre utilisateur"),
	'profil.message' => array('name' => 'profil.message', 'description' => "Permet d'envoyer un message depuis la page de profil")
);

Valeur de retour : (boolean) Retourne true si le fichier a été correctement créé, dans tous les autres cas il émet une erreur et renvoie false.
Plage erreur : 11160xx

identifyDevType

La méthode statique identifyDevType permet de retourner une constante correspondant au type de fichiers de développement donné en paramètre. C'est à dire d'identifier si le nom du fichier correspond à un fichier header, body, meta, footer, ou de style (css)

$type = DSM::identifyDevType($filename);

Paramètre :

  • filename (string) : nom du fichier à identifier. Le fichier ne sera pas ouvert, seul son nom sera analyser : cela peut donc être un nom d'un lien relatif ou absolu, cela n'a pas d'importance.

Valeur de retour :

  • int DSM::HEADER
  • int DSM::META
  • int DSM::BODY
  • int DSM::FOOTER
  • int DSM::STYLES
  • boolean false

Plage erreur : 11178xx

bbstring

La méthode bbstring permet d'utiliser les ressources de strings de la même manière que la méthode string mais traité en BBCode.

echo $dsm -> bbstring($id);

Paramètre :

  • id (string) : l'identifiant spécifié par l'attribut id dans les xml de ressources.

Valeur de retour : Retourne une string traité en BBCode

Plage erreur : 11180xx