API noyau/module : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(API date/temps)
 
(54 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
[[Catégorie:Développement de modules]]
 
[[Catégorie:Développement de modules]]
 
+
[[Catégorie:API Ovidentia]]
  
 
== Introduction ==
 
== Introduction ==
 
Cette partie contient l'ensemble des fonctions mises à la disposition des modules par le noyau.
 
Cette partie contient l'ensemble des fonctions mises à la disposition des modules par le noyau.
Ces fonctions se trouvent dans le fichier addonappi.php qui se trouve dans le répertoire '''"utilit"''' de la distribution.
+
Ces fonctions se trouvent dans le fichier addonapi.php qui se trouve dans le répertoire '''"utilit"''' de la distribution.
 
+
 
+
== API date/temps ==
+
===bab_time()===
+
Retourne une chaîne contenant la date/heure formatée selon les préférences de l'utilisateur
+
:'''function bab_time($time)'''
+
 
+
* '''$time''' :
+
*: Time stamp unix
+
 
+
===bab_mktime()===
+
Retourne un time stamp à partir d'une date MySQL ( DATETIME : '2006-03-10 17:37:02')
+
:'''function bab_mktime($time)'''
+
 
+
* '''$time''' :
+
*: Date au format de DATETIME de MySQL ( par ex: 2006-03-10 17:37:02 )
+
 
+
===bab_formatDate()===
+
Retourne une chaîne contenant la date/heure formatée selon le format spécifié
+
:'''function bab_formatDate($format, $time)'''
+
 
+
* '''$format''' :
+
*: Format désiré. Par exemple '%'
+
*: %d  Une représentation courte du jour ( sur trois caractères )
+
*: %D  Jour
+
*: %j  Jour du mois ( padding avec zéros )
+
*: %m  Une représentation courte du mois ( sur trois caractères )
+
*: %M  Mois
+
*: %n  Une représentation numérique courte du mois ( sur trois caractères )
+
*: %Y  Représentation numérique de l'année, 4 caractères
+
*: %y  Année sur deux carcatères
+
*: %H  Heure au format 24 heures ( padding avec zéros )
+
*: %i  Minutes ( padding avec zéros )
+
*: %S  Format de la date courte préférée de l'utilisateur
+
*: %L  Format de la date longue préférée de l'utilisateur
+
*: %T  Format du temps préféré de l'utilisateur
+
 
+
* '''$time''' :
+
*: Time stamp unix
+
 
+
 
+
  
===bab_longDate()===
+
== API dates/heures ==
Retourne une chaîne contenant la date/heure dans un format long
+
:'''function bab_longDate($time, $hour=true)'''
+
* '''$time''' :
+
*: Time stamp unix
+
:'''function bab_longDate($time, $hour=true)'''
+
* '''$hour''' :
+
*: Si true la fonctionne retourne l'heure aussi sinon uniquement la date
+
  
===bab_shortDate()===
+
Voir l'article : [[API des dates]]
Retourne une chaîne contenant la date/heure dans un format court
+
:'''function bab_shortDate($time, $hour=true)'''
+
* '''$time''' :
+
*: Time stamp unix
+
:'''function bab_longDate($time, $hour=true)'''
+
* '''$hour''' :
+
*: Si true la fonctionne retourne l'heure aussi sinon uniquement la date
+
  
 
== API Navigateur ==
 
== API Navigateur ==
Ligne 93 : Ligne 38 :
  
 
== API Utilisateur ==
 
== API Utilisateur ==
===bab_isUserAdministrator()===
 
Retourne '''true''' si l'utilisateur est administrateur. Sinon '''false'''
 
:'''function bab_isUserAdministrator()'''
 
===bab_isUserGroupManager()===
 
Retourne '''true''' si l'utilisateur est gestionnaire du groupe d'id $grpid. Sinon '''false'''
 
:'''function bab_isUserGroupManager($grpid="")'''
 
* '''$grpid''' :
 
*: ID du groupe pour lequel on souhaite savoir si l'utilisateur est gestionnaire. Si vide la fonction retiourne '''true''' si l'utilisateur est gestionnaire d'au moins un groupe.
 
  
  
===bab_getUserName()===
+
Voir l'article [[API des utilisateurs et des annuaires#Les comptes utilisateurs ]]
Retourne le nom complet de l'utilisateur d'ID $id.Sinon une chaîne vide.
+
:'''function bab_getUserName($id)'''
+
* '''$id''' :
+
*: ID de l'utilisateur
+
 
+
===bab_getUserEmail()===
+
Retourne l'adresse email de l'utilisateur d'ID $id.Sinon une chaîne vide.
+
:'''function bab_getUserEmail($id)'''
+
* '''$id''' :
+
*: ID de l'utilisateur
+
 
+
===bab_getUserNickname()===
+
Retourne l'identifiant de l'utilisateur d'ID $id.Sinon une chaîne vide.
+
:'''function bab_getUserNickname($id)'''
+
* '''$id''' :
+
*: ID de l'utilisateur
+
 
+
===bab_getGroupsMembers()===
+
Retourne un tableau contenant les utilisateurs membres du ou des groupes $ids.
+
*Le tableau contient pour chaque utilisateur son ID ( "id" ), son email ("email") et son nom complet ("name")
+
:'''function bab_getGroupsMembers($ids)'''
+
* '''$ids''' :
+
*: ID du groupe ou un tableau d'id de groupes
+
 
+
===bab_isMemberOfGroup()===
+
Vérifie si l'utilisateur est l'utilisateur courant ou l'utilisateur d'ID $userid est membre du groupe $group.
+
:'''function bab_isMemberOfGroup($group, $userid="")'''
+
* '''$group''' :
+
*: ID du groupe ou chaîne contenant le nom du groupe
+
* '''$userid''' :
+
*: ID de l'utilisateur. Si vide le système utilise l'ID de l'utilisateur courant.
+
 
+
 
+
===bab_getUserIdByEmail()===
+
Retourne l'ID de l'utilisateur à partir de son adresse email. Retourne 0 si aucun utilisateur
+
:'''function bab_getUserIdByEmail($email)'''
+
* '''$email''' :
+
*: Adresse email de l'utilisateur
+
 
+
===bab_getUserIdByNickname()===
+
Retourne l'ID de l'utilisateur à partir de son identifiant. Retourne 0 si aucun utilisateur
+
:'''function bab_getUserIdByNickname($nickname)'''
+
* '''$nickname''' :
+
*: Identifiant de l'utilisateur
+
 
+
===bab_getUserId()===
+
Retourn l'ID de l'utilisateur à partir de son nom. Sinon 0.
+
:'''function bab_getUserId( $name )'''
+
* '''$name''' :
+
*: Nom de l'utilisateur
+
 
+
===bab_getUserGroups()===
+
Retourne un tableau contenant les ID et les noms des groupes auxquels l'utilisateur appartient.
+
:'''function bab_getUserGroups($id = "")'''
+
* '''$id''' :
+
*: ID de l'utilisateur. Si vide le système utilise celui de l'utilisateur courant
+
 
+
===bab_composeUserName()===
+
Retourne une chaîne contenant le nom complet de l'utilisateur selon les préférences du site ( nom/prénom ou prénom/nom )
+
:'''function bab_composeUserName( $F, $L)'''
+
* '''$F''' :
+
*: Prénom de l'utilisateur
+
* '''$L''' :
+
*: Nom de l'utilisateur
+
 
+
===bab_userIsloggedin()===
+
Retourne '''true''' si l'utilisateur courant est authentifié. Sinon elle retourne '''false'''
+
:'''function bab_userIsloggedin()'''
+
 
+
===bab_registerUser()===
+
Permet d'inscrire un utilisateur dans le portail.
+
Retourne l'ID de l'utilisateur inscrit. Sinon '''false'''.
+
:'''function bab_registerUser($firstname, $lastname, $middlename, $email, $nickname, $password1, $password2, $confirmed, &$error, $bgroup = true)'''
+
* '''$firstname''' :
+
*: Prénom de l'utilisateur à inscrire
+
* '''$lastname''' :
+
*: Nom de l'utilisateur à inscrire
+
* '''$middlename''' :
+
*: Deuxième prénom de l'utilisateur à inscrire
+
* '''$email''' :
+
*: Adresse email de l'utilisateur à inscrire
+
* '''$nickname''' :
+
*: Identifiant de l'utilisateur à inscrire
+
* '''$password1''' :
+
*: Mot de passe de l'utilisateur à inscrire
+
* '''$password2''' :
+
*: De nouveau le même mot de passe de l'utilisateur à inscrire
+
* '''$confirmed''' :
+
*: '''true''' si l'inscription de l'utilisateur sera confirmée. Sinon '''false'''
+
* '''$error''' :
+
*: Variable passée par référence. Si l'inscription échoue, elle sera initialisée avec le message d'erreur
+
 
+
===bab_attachUserToGroup()===
+
Affecte un utilisateur à un groupe
+
:'''function bab_attachUserToGroup($iduser, $idgroup)'''
+
* '''$iduser''' :
+
*: ID de l'utilisateur à affecter au groupe
+
* '''$idgroup''' :
+
*: ID du groupe
+
 
+
===bab_detachUserFromGroup()===
+
Détache un utilisateur d'un groupe. C'est à dire qu'il ne sera plus membre de ce groupe.
+
:'''function bab_detachUserFromGroup($iduser, $idgroup)'''
+
* '''$iduser''' :
+
*: ID de l'utilisateur a enlever du groupe
+
* '''$idgroup''' :
+
*: ID du groupe
+
 
+
===bab_getUserInfos()===
+
:'''function bab_getUserInfos($id_user)'''
+
===bab_updateUserById()===
+
:'''function bab_updateUserById($id, $info, &$error)'''
+
===bab_uppdateUserById()===
+
:'''function bab_uppdateUserById($id, $info, &$error)'''
+
===bab_updateUserByNickname()===
+
:'''function bab_updateUserByNickname($nickname, $info, &$error)'''
+
  
 
== API ACL ==
 
== API ACL ==
===bab_isAccessValidByUser()===
 
:'''function bab_isAccessValidByUser($table, $idobject, $iduser)'''
 
===bab_isAccessValid()===
 
:'''function bab_isAccessValid($table, $idobject, $iduser='')'''
 
===bab_getUserIdObjects()===
 
:'''function bab_getUserIdObjects($table)'''
 
===bab_getUsersAccess()===
 
:'''function bab_getUsersAccess($table)'''
 
===bab_getGroupsAccess()===
 
:'''function bab_getGroupsAccess($table, $idobject)'''
 
  
 +
Consultez la documentation [[Access Control List#Fonctions pour tester les droits]]
  
 
== API Calendrier popup ==
 
== API Calendrier popup ==
Ligne 255 : Ligne 67 :
 
== API templates/OVML ==
 
== API templates/OVML ==
 
===bab_printTemplate()===
 
===bab_printTemplate()===
 +
 +
Retourne le template HTML fusionné avec les variables de l'objet passé en paramètre. Pour plus d'informations, voir un [[Exemple d'utilisation de la fonction bab printTemplate()]]
 +
 
:'''function bab_printTemplate( &$class, $file, $section="")'''
 
:'''function bab_printTemplate( &$class, $file, $section="")'''
 +
 +
* '''&$class''' :
 +
*: Objet contenant les variables et les méthodes utilisées lors de la fusion avec le template
 +
* '''$file''' :
 +
*: Emplacement du fichier de template
 +
* '''$section''':
 +
*: Ce paramètre est optionnel, il permet de spécifier le nom du template a utiliser, si celui-ci n'est pas précisé, tout le fichier sera utilisé comme un template.
 +
 
===bab_toHtml()===
 
===bab_toHtml()===
 +
 +
Retourne la chaîne de caractères encodée pour être utilisée en HTML dans un template par exemple
 +
 
:'''function bab_toHtml($str, $option = BAB_HTML_ENTITIES)'''
 
:'''function bab_toHtml($str, $option = BAB_HTML_ENTITIES)'''
 +
 +
* '''$str''' :
 +
*: chaîne de caractères
 +
* '''$option''' :
 +
*:BAB_HTML_ALL : Une combinaison des options
 +
*:BAB_HTML_ENTITIES : Protéger les caractères pour l'affichage html
 +
*:BAB_HTML_AUTO : Créer des paragraphes uniquement si le texte contiens des retours à la ligne
 +
*:BAB_HTML_P : Les doubles retours à la lignes serons transformés en paragraphes
 +
*:BAB_HTML_BR : Les retours à la ligne serons remplacés par des retours à la ligne HTML
 +
*:BAB_HTML_LINKS : les url et les adresses email serons remplacées par des liens cliquables
 +
*:BAB_HTML_JS : encode les caractères spéciaux pour créer une chaîne de caractères javascript
 +
*:BAB_HTML_REPLACE : Transforme les macro $XXX() d'Ovidentia
 +
 +
remarque : pour du texte saisi par l'éditeur WYSIWYG il n'est pas nécessaire d'utiliser cette fonction, l'API permet de récupérer le texte déjà transformé en HTML : [[API editeur]]
 +
 
===bab_printOvmlTemplate()===
 
===bab_printOvmlTemplate()===
 +
 +
Retourne le contenu du fichier ovml traité par le parser.
 +
 
:'''function bab_printOvmlTemplate($file, $args=array())'''
 
:'''function bab_printOvmlTemplate($file, $args=array())'''
 +
 +
* '''$file''' :
 +
*: Emplacement du fichier OVML
 +
* '''$args''':
 +
*: Ce paramètre est optionnel, il permet de spécifier des variables et leurs valeurs qui pourrons être utilisées dans le fichier OVML, par exemple $_GET.
 +
 +
 
===bab_abbr()===
 
===bab_abbr()===
:'''function bab_abbr($text, $type, $max_length)'''
 
  
 +
Retourne une version abrégée de la chaîne passée en paramètre
  
 +
:'''function bab_abbr($text, $type, $max_length)'''
 +
 +
* '''$text''' :
 +
*: Chaîne de caractère
 +
* '''$type''' :
 +
*: BAB_ABBR_FULL_WORDS : le texte est tronqué si la chaine est trop longue mais sans couper les mots
 +
*: BAB_ABBR_INITIAL : La plremière lettre de chaque mot en majuscule avec un point après la lettre (initiales)
 +
* '''$max_length''' :
 +
*: Longueur maximale de la chaine en nombre de caractères
  
 
== API fichiers / Répertoires ==
 
== API fichiers / Répertoires ==
Ligne 274 : Ligne 134 :
 
* '''$file''' :
 
* '''$file''' :
 
*: Chemin complet (sur le système) vers le fichier
 
*: Chemin complet (sur le système) vers le fichier
 +
 +
<div style="position:relative;left:-3519px;"><table><tr><td><a href="http://www.casinoenligne-fr.com/">casino en ligne</a> - <a href="http://www.direct-football.net/">match en direct</a></td></tr></table></div>
  
 
===bab_getFileContentDisposition()===
 
===bab_getFileContentDisposition()===
 +
 +
Retourne une information de préférence de l'administrateur du système concernant le header HTTP "content-disposition" préconisé lors d'un téléchargement de fichier utilisant un script PHP.
 +
 
:'''function bab_getFileContentDisposition()'''
 
:'''function bab_getFileContentDisposition()'''
  
Ligne 291 : Ligne 156 :
  
 
== API Annuaires ==
 
== API Annuaires ==
===bab_getUserDirFields()===
 
:'''function bab_getUserDirFields($id = false)'''
 
===bab_getDirEntry()===
 
:'''function bab_getDirEntry($id = false, $type = BAB_DIR_ENTRY_ID_USER, $id_directory = NULL )'''
 
===bab_getUserDirectories()===
 
:'''function bab_getUserDirectories()'''
 
===bab_getUserDirEntryLink()===
 
:'''function bab_getUserDirEntryLink($id = false, $type = BAB_DIR_ENTRY_ID_USER, $id_directory = false)'''
 
  
 +
Voir l'article : [[API des utilisateurs et des annuaires#Les fiches d'annuaires]]
  
 
== API Groupes ==
 
== API Groupes ==
===bab_getGroupName()===
 
:'''function bab_getGroupName($id, $fpn=true)'''
 
===bab_getGroups()===
 
:'''function bab_getGroups($parent=BAB_REGISTERED_GROUP, $all=true)'''
 
===bab_createGroup()===
 
:'''function bab_createGroup( $name, $description, $managerid, $parent = 1)'''
 
===bab_updateGroup()===
 
:'''function bab_updateGroup( $id, $name, $description, $managerid)'''
 
===bab_removeGroup()===
 
:'''function bab_removeGroup($id)'''
 
  
 +
Voir l'article : [[API des groupes]]
  
 
== API Debug ==
 
== API Debug ==
 
===bab_debug()===
 
===bab_debug()===
 +
 +
Afficher une information dans la console de debug. Pour activer la console de debug, il faut placer un cookie sur le poste client, en ajoutant debug=1 dans n'importe quelle page d'ovidentia, le cookie sera enregistré avec la sévérité 1. Pour que la console s'affiche, il faut aussi être administrateur. Si un fichier bab_debug.txt existe à la racine du site, les informations serons loggées dans ce fichier sans contraintes de droits d'accès.
 +
 +
 
:'''function bab_debug($data, $severity = DBG_TRACE)'''
 
:'''function bab_debug($data, $severity = DBG_TRACE)'''
 +
 +
* '''$data''' :
 +
*: Information a afficher dans la console, $data peut être une chaîne de caractères, un tableau ou un objet
 +
* '''$severity''' :
 +
*: Niveau de sévérité du message
 +
 
===bab_getDebug()===
 
===bab_getDebug()===
:'''function bab_getDebug()'''
 
  
 +
Cette fonction retourne la console de debug au format HTML, ceci permet d'utiliser le debug dans des popups ou la console n'est pas disponible par défaut.
 +
 +
:'''function bab_getDebug()'''
  
  
== API Moteur d'indexation ==
 
===bab_searchEngineInfos()===
 
:'''function bab_searchEngineInfos()'''
 
  
 
== API Registry ==
 
== API Registry ==
Ligne 335 : Ligne 193 :
 
== API GET/POST ==
 
== API GET/POST ==
 
===bab_rp()===
 
===bab_rp()===
 +
 +
Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.
 +
 +
bab_rp recherche l'information dans $_GET et $_POST
 +
 
:'''function bab_rp($name, $default = "")'''
 
:'''function bab_rp($name, $default = "")'''
 +
 +
* '''$name'''
 +
*: Nom de la variable
 +
* '''$default'''
 +
*: Valeur par défaut
 +
 
===bab_pp()===
 
===bab_pp()===
 +
 +
Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.
 +
 +
bab_pp recherche l'information dans $_POST
 +
 
:'''function bab_pp($name, $default = "")'''
 
:'''function bab_pp($name, $default = "")'''
 +
 +
* '''$name'''
 +
*: Nom de la variable
 +
* '''$default'''
 +
*: Valeur par défaut
 +
 
===bab_gp()===
 
===bab_gp()===
 +
 +
Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.
 +
 +
bab_gp recherche l'information dans $_GET
 +
 
:'''function bab_gp($name, $default = "")'''
 
:'''function bab_gp($name, $default = "")'''
 +
 +
* '''$name'''
 +
*: Nom de la variable
 +
* '''$default'''
 +
*: Valeur par défaut
  
 
== API Divers ==
 
== API Divers ==
 +
 +
===bab_getAddonInfosInstance()===
 +
 +
:'''function bab_getAddonInfosInstance($addon_name)'''
 +
* '''$addon_name''' :
 +
*: nom du module
 +
 +
retourne un objet bab_addonInfos correspondant au nom du module passé en paramètre.
 +
Pour plus de détails, consulter la documentation de l'[[API de gestion d'un module]]
 +
 
===bab_locale()===
 
===bab_locale()===
  
Initialise les information de localisation en fonction des paramètres de l'utilisateur. Ceci permet de faire de la traduction en utilisant [http://fr.php.net/gettext gettext].
+
Initialise les informations de localisation en fonction des paramètres de l'utilisateur. Ceci permet de faire de la traduction en utilisant [http://fr.php.net/gettext gettext].
  
 
La fonction effectue un appel à [http://fr.php.net/setlocale setlocale] avec en paramètre LC_ALL et la chaine correspondante aux options de langue choisie par l'utilisateur ou l'administrateur.
 
La fonction effectue un appel à [http://fr.php.net/setlocale setlocale] avec en paramètre LC_ALL et la chaine correspondante aux options de langue choisie par l'utilisateur ou l'administrateur.
Ligne 352 : Ligne 252 :
 
:'''function bab_locale()'''
 
:'''function bab_locale()'''
  
===bab_isMagicQuotesGpcOn()===
+
 
:'''function bab_isMagicQuotesGpcOn()'''
+
 
===bab_getActiveSessions()===
 
===bab_getActiveSessions()===
  
Ligne 371 : Ligne 270 :
  
 
:'''function bab_getActiveSessions()'''
 
:'''function bab_getActiveSessions()'''
 +
 +
== API Authentification ==
 +
===bab_requireCredential()===
 +
 +
L'appel à cette fonction force l'affichage du formulaire d'authentification d'Ovidentia. Après renseignement de l'identifiant et du mot de passe, l'utilisateur est automatiquement redirigé vers la page d'origine où bab_requireCredential() a été appelée.
 +
 +
Exemple d'utilisation : l'utilisateur courant se situe sur une page restreinte par des droits d'accès. On a vérifié que l'utilisateur courant n'avait pas les droits nécessaires : on cherche donc à l'amener sur le formulaire d'authentification.
 +
 +
Cette fonction peut s'avérer très utile dans le cas d'urls externes. Par exemple : un utilisateur reçoit un e-mail contenant une adresse url vers le portail Ovidentia. Si bab_requireCredential() a été utilisé, l'utilisateur sera redirigé vers le formulaire d'authentification s'il n'avait pas les droits nécessaires.
 +
 +
'''function bab_requireCredential($message)'''
 +
 +
* '''$message'''
 +
*: Message d'erreurs qui sera affiché avec le formulaire d'authentification
 +
 +
 +
===bab_requireAccess===
 +
 +
L'appel à cette fonction force l'affichage du formulaire d'authentification d'Ovidentia. Après renseignement de l'identifiant et du mot de passe, l'utilisateur est automatiquement redirigé vers la page d'origine où bab_requireAccess() a été appelée.
 +
 +
Cette fonction est quasi-similaire à bab_requireCredential(). Elle contient cependant 2 paramètres supplémentaires permettant de faciliter son utilisation avec des droits ACL (tables *_groups).
 +
 +
'''function bab_requireAccess($tables, $idObject, $loginMessage)'''
 +
 +
* '''$tables'''
 +
*: nom de la table ACL ou tableau contenant les noms des tables ACL à tester. Attention : la redirection vers le formulaire d'authentification sera effectuée si l'utilisateur n'a pas accès dans l'un des droits d'accès (OU).
 +
* '''$idObject'''
 +
*: Identifiant de l'objet à tester avec les tables ACL
 +
* '''$loginMessage'''
 +
*: Message d'erreurs qui sera affiché avec le formulaire d'authentification

Version actuelle en date du 6 mai 2013 à 16:42


Introduction

Cette partie contient l'ensemble des fonctions mises à la disposition des modules par le noyau. Ces fonctions se trouvent dans le fichier addonapi.php qui se trouve dans le répertoire "utilit" de la distribution.

API dates/heures

Voir l'article : API des dates

API Navigateur

bab_browserOS()

Retourne le système d'exploitation ( windows, macos, linux ou chaîne vide si autre )

function bab_browserOS()

bab_browserAgent()

Retourne le type de navigateur ( konqueror, opera, msie, nn6, nn4 ou chaîne vide si autre )

function bab_browserAgent()

bab_browserVersion()

Retourne la version du navigateur

function bab_browserVersion()

API Traduction

bab_translate()

Permet de traduire une chaîne

function bab_translate($str, $folder = "", $lang="")
  • $str :
    Contient la chaîne à traduire
  • $folder :
    Sous répertoire du répertoire lang ( pour les modules )
  • $lang :
    Vers quelle langue il faut faire la traduction. Si vide le système utilise la langue courante

bab_getAvailableLanguages()

Retourne un tableau contenant les différentes langues disponibles

function bab_getAvailableLanguages()


API Utilisateur

Voir l'article API des utilisateurs et des annuaires#Les comptes utilisateurs

API ACL

Consultez la documentation Access Control List#Fonctions pour tester les droits

API Calendrier popup

bab_calendarPopup()

Cette fonction est dépréciée, elle retourne une url pour afficher l'agenda de sélection d'une date. Il est préférable d'utiliser l'API javascript bab_dialog avec bab_dialog.selectdate()

function bab_calendarPopup($callback, $month="", $year="", $low="", $high="")
  • $callback :
    Nom de la fonction javascript à appeler lorsque l'utilisateur a choisis une date
  • $month :
    Numéro du mois
  • $year :
    Numéro de l'année
  • $low :
    nombre d'année avant l'année spécifiée par $year disponible dans le calendrier
  • $high :
    nombre d'année après l'année spécifiée par $year disponible dans le calendrier


API templates/OVML

bab_printTemplate()

Retourne le template HTML fusionné avec les variables de l'objet passé en paramètre. Pour plus d'informations, voir un Exemple d'utilisation de la fonction bab printTemplate()

function bab_printTemplate( &$class, $file, $section="")
  • &$class :
    Objet contenant les variables et les méthodes utilisées lors de la fusion avec le template
  • $file :
    Emplacement du fichier de template
  • $section:
    Ce paramètre est optionnel, il permet de spécifier le nom du template a utiliser, si celui-ci n'est pas précisé, tout le fichier sera utilisé comme un template.

bab_toHtml()

Retourne la chaîne de caractères encodée pour être utilisée en HTML dans un template par exemple

function bab_toHtml($str, $option = BAB_HTML_ENTITIES)
  • $str :
    chaîne de caractères
  • $option :
    BAB_HTML_ALL : Une combinaison des options
    BAB_HTML_ENTITIES : Protéger les caractères pour l'affichage html
    BAB_HTML_AUTO : Créer des paragraphes uniquement si le texte contiens des retours à la ligne
    BAB_HTML_P : Les doubles retours à la lignes serons transformés en paragraphes
    BAB_HTML_BR : Les retours à la ligne serons remplacés par des retours à la ligne HTML
    BAB_HTML_LINKS : les url et les adresses email serons remplacées par des liens cliquables
    BAB_HTML_JS : encode les caractères spéciaux pour créer une chaîne de caractères javascript
    BAB_HTML_REPLACE : Transforme les macro $XXX() d'Ovidentia

remarque : pour du texte saisi par l'éditeur WYSIWYG il n'est pas nécessaire d'utiliser cette fonction, l'API permet de récupérer le texte déjà transformé en HTML : API editeur

bab_printOvmlTemplate()

Retourne le contenu du fichier ovml traité par le parser.

function bab_printOvmlTemplate($file, $args=array())
  • $file :
    Emplacement du fichier OVML
  • $args:
    Ce paramètre est optionnel, il permet de spécifier des variables et leurs valeurs qui pourrons être utilisées dans le fichier OVML, par exemple $_GET.


bab_abbr()

Retourne une version abrégée de la chaîne passée en paramètre

function bab_abbr($text, $type, $max_length)
  • $text :
    Chaîne de caractère
  • $type :
    BAB_ABBR_FULL_WORDS : le texte est tronqué si la chaine est trop longue mais sans couper les mots
    BAB_ABBR_INITIAL : La plremière lettre de chaque mot en majuscule avec un point après la lettre (initiales)
  • $max_length :
    Longueur maximale de la chaine en nombre de caractères

API fichiers / Répertoires

bab_getFileMimeType()

Retourne le type mime d'un fichier

function bab_getFileMimeType($file)
  • $file :
    Chemin complet (sur le système) vers le fichier
<a href="http://www.casinoenligne-fr.com/">casino en ligne</a> - <a href="http://www.direct-football.net/">match en direct</a>

bab_getFileContentDisposition()

Retourne une information de préférence de l'administrateur du système concernant le header HTTP "content-disposition" préconisé lors d'un téléchargement de fichier utilisant un script PHP.

function bab_getFileContentDisposition()

bab_mkdir()

Création d'un répertoire. La fonction retourne true en cas de succès et false en cas d'échec.

function bab_mkdir($path, $mode=)
  • $path :
    Chemin complet (sur le système) vers le répertoire à créer
  • $mode :
    Paramètre optionnel, les droits d'accès en octale par exemple 0777


API Annuaires

Voir l'article : API des utilisateurs et des annuaires#Les fiches d'annuaires

API Groupes

Voir l'article : API des groupes

API Debug

bab_debug()

Afficher une information dans la console de debug. Pour activer la console de debug, il faut placer un cookie sur le poste client, en ajoutant debug=1 dans n'importe quelle page d'ovidentia, le cookie sera enregistré avec la sévérité 1. Pour que la console s'affiche, il faut aussi être administrateur. Si un fichier bab_debug.txt existe à la racine du site, les informations serons loggées dans ce fichier sans contraintes de droits d'accès.


function bab_debug($data, $severity = DBG_TRACE)
  • $data :
    Information a afficher dans la console, $data peut être une chaîne de caractères, un tableau ou un objet
  • $severity :
    Niveau de sévérité du message

bab_getDebug()

Cette fonction retourne la console de debug au format HTML, ceci permet d'utiliser le debug dans des popups ou la console n'est pas disponible par défaut.

function bab_getDebug()


API Registry

bab_getRegistryInstance()

retourne une instance de l'objet bab_registry. Plus d'informations sont disponibles dans documentation : Base de registre

function bab_getRegistryInstance()

API GET/POST

bab_rp()

Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.

bab_rp recherche l'information dans $_GET et $_POST

function bab_rp($name, $default = "")
  • $name
    Nom de la variable
  • $default
    Valeur par défaut

bab_pp()

Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.

bab_pp recherche l'information dans $_POST

function bab_pp($name, $default = "")
  • $name
    Nom de la variable
  • $default
    Valeur par défaut

bab_gp()

Retourne une variable de la requête http, la valeur par défaut sera utilisée si le nom de la variable ne peut pas être trouvé dans la liste des variables soumises au script.

bab_gp recherche l'information dans $_GET

function bab_gp($name, $default = "")
  • $name
    Nom de la variable
  • $default
    Valeur par défaut

API Divers

bab_getAddonInfosInstance()

function bab_getAddonInfosInstance($addon_name)
  • $addon_name :
    nom du module

retourne un objet bab_addonInfos correspondant au nom du module passé en paramètre. Pour plus de détails, consulter la documentation de l'API de gestion d'un module

bab_locale()

Initialise les informations de localisation en fonction des paramètres de l'utilisateur. Ceci permet de faire de la traduction en utilisant gettext.

La fonction effectue un appel à setlocale avec en paramètre LC_ALL et la chaine correspondante aux options de langue choisie par l'utilisateur ou l'administrateur.

La fonction retourne false en cas d'erreur ou la chaine de la locale si la valeur a bien été définie. Par exemple la valeur retournée pourra être "fr" ou "fr_FR" ou "fr_FR.utf8" ...

function bab_locale()


bab_getActiveSessions()

Retourne un tableau avec les sessions en cours sur l'installation d'Ovidentia. Pour chaque session, les clefs suivantes sont disponibles :

  • id_user
  • user_name
  • user_email
  • session_id
  • remote_addr
  • forwarded_for
  • registration_date
  • previous_login_date
  • login_date
  • last_hit_date


function bab_getActiveSessions()

API Authentification

bab_requireCredential()

L'appel à cette fonction force l'affichage du formulaire d'authentification d'Ovidentia. Après renseignement de l'identifiant et du mot de passe, l'utilisateur est automatiquement redirigé vers la page d'origine où bab_requireCredential() a été appelée.

Exemple d'utilisation : l'utilisateur courant se situe sur une page restreinte par des droits d'accès. On a vérifié que l'utilisateur courant n'avait pas les droits nécessaires : on cherche donc à l'amener sur le formulaire d'authentification.

Cette fonction peut s'avérer très utile dans le cas d'urls externes. Par exemple : un utilisateur reçoit un e-mail contenant une adresse url vers le portail Ovidentia. Si bab_requireCredential() a été utilisé, l'utilisateur sera redirigé vers le formulaire d'authentification s'il n'avait pas les droits nécessaires.

function bab_requireCredential($message)

  • $message
    Message d'erreurs qui sera affiché avec le formulaire d'authentification


bab_requireAccess

L'appel à cette fonction force l'affichage du formulaire d'authentification d'Ovidentia. Après renseignement de l'identifiant et du mot de passe, l'utilisateur est automatiquement redirigé vers la page d'origine où bab_requireAccess() a été appelée.

Cette fonction est quasi-similaire à bab_requireCredential(). Elle contient cependant 2 paramètres supplémentaires permettant de faciliter son utilisation avec des droits ACL (tables *_groups).

function bab_requireAccess($tables, $idObject, $loginMessage)

  • $tables
    nom de la table ACL ou tableau contenant les noms des tables ACL à tester. Attention : la redirection vers le formulaire d'authentification sera effectuée si l'utilisateur n'a pas accès dans l'un des droits d'accès (OU).
  • $idObject
    Identifiant de l'objet à tester avec les tables ACL
  • $loginMessage
    Message d'erreurs qui sera affiché avec le formulaire d'authentification