API noyau/module
Sommaire
- 1 Introduction
- 2 API date/temps
- 3 API Navigateur
- 4 API Traduction
- 5 API Utilisateur
- 5.1 bab_isUserAdministrator()
- 5.2 bab_isUserGroupManager()
- 5.3 bab_getUserName()
- 5.4 bab_getUserEmail()
- 5.5 bab_getUserNickname()
- 5.6 bab_getGroupsMembers()
- 5.7 bab_isMemberOfGroup()
- 5.8 bab_getUserIdByEmail()
- 5.9 bab_getUserIdByNickname()
- 5.10 bab_getUserId()
- 5.11 bab_getUserGroups()
- 5.12 bab_composeUserName()
- 5.13 bab_userIsloggedin()
- 5.14 bab_registerUser()
- 5.15 bab_attachUserToGroup()
- 5.16 bab_detachUserFromGroup()
- 5.17 bab_getUserInfos()
- 5.18 bab_updateUserById()
- 5.19 bab_updateUserByNickname()
- 6 API ACL
- 7 API Calendrier popup
- 8 API templates/OVML
- 9 API fichiers / Répertoires
- 10 API Annuaires
- 11 API Groupes
- 12 API Debug
- 13 API Moteur d'indexation
- 14 API Registry
- 15 API GET/POST
- 16 API Divers
Introduction
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.
API date/temps
bab_mktime()
Retourne un time stamp à partir d'une date MySQL ( ISO DATE ou ISO DATETIME par exemple : '2006-03-10 17:37:02' ou '2006-03-10')
- function bab_mktime($time)
- $time :
- Date au format de ISO 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 de la semaine complet par exemple Lundi
- %j Jour du mois ( padding avec zéros )
- %m Une représentation courte du mois ( sur trois caractères )
- %M Mois complet par exemple Avril
- %n Une représentation abrégée 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_time()
Retourne une chaîne contenant l'heure formatée selon les préférences de l'utilisateur
- function bab_time($time)
- $time :
- Time stamp unix
bab_longDate()
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()
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
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
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()
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()
Obtenir les informations d'un utilisateur, la fonction retourne un tableau contenant la fiche annuaire de l'utilisateur et les champs spécifiques obligatoires. Les information obtenues peuvent être utilisées en entrée avec la fonction bab_uppdateUserById()
les champs retournés par la fonction qui sont toujours présents sont :
- disabled
- password_md5
- changepwd
- is_confirmed
- cn
- sn
- mn
- givenname
- jpegphoto
- btel
- mobile
- htel
- bfax
- title
- departmentnumber
- organisationname
- bstreetaddress,
- bcity
- bpostalcode
- bstate
- bcountry
- hstreetaddress
- hcity
- hpostalcode
- hstate
- hcountry
- user1
- user2
- user3
remarque : il peut y avoir des champ d'annuaire optionnels.
- function bab_getUserInfos($id_user)
bab_updateUserById()
Modification d'un utilisateur
- function bab_updateUserById($id, $info, &$error)
- $id :
- ID de l'utilisateur à modifier
- $info :
- $info est une variable tableau contenant les nouvelles valeurs à enregistrées, le format du tableau correspond au format retourné par la fonction bab_getUserInfos()
- &$error :
- En cas d'erreur, cette variable sera renseignée avec un message d'erreur
bab_updateUserByNickname()
Modifier les informations d'un utilisateur a partir de l'identifiant
- function bab_updateUserByNickname($nickname, $info, &$error)
- $nickname :
- Identifiant de l'utilisateur à modifier
- $info :
- $info est une variable tableau contenant les nouvelles valeurs à enregistrées, le format du tableau correspond au format retourné par la fonction bab_getUserInfos()
- &$error :
- En cas d'erreur, cette variable sera renseignée avec un message d'erreur
API ACL
Il existe d'autres fonctions dans le fichier admin/acl.php qui sont disponibles. Pour voir toutes les fonctions en rapport avec les ACL, consultez la documentation Access Control List
bab_isAccessValidByUser()
Tester les droits d'accès pour un utilisateur spécifique
- function bab_isAccessValidByUser($table, $idobject, $iduser)
- $table :
- Nom de la table de droit
- $idobject :
- Nombre entier, id de l'objet concerné par le droit a tester, par exemple l'id du thème d'article ou l'id du forum
- $iduser :
- id de l'utilisateur
bab_isAccessValid()
Tester les doits d'accès pour l'utilisateur courant
- function bab_isAccessValid($table, $idobject)
- $table :
- Nom de la table de droit
- $idobject :
- Nombre entier, id de l'objet concerné par le droit a tester, par exemple l'id du thème d'article ou l'id du forum
bab_getUserIdObjects()
Retourne un tableau contenant la liste des accessibles par l'utilisateur courant
- function bab_getUserIdObjects($table)
- $table :
- Nom de la table de droit
bab_getGroupsAccess()
Retourne la liste des groupes d'Ovidentia qui ont accès à un objet
- function bab_getGroupsAccess($table, $idobject)
- $table :
- Nom de la table de droit
- $idobject :
- Nombre entier, id de l'objet concerné par le droit a tester, par exemple l'id du thème d'article ou l'id du forum
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()
- function bab_printTemplate( &$class, $file, $section="")
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()
- function bab_printOvmlTemplate($file, $args=array())
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
bab_getFileContentDisposition()
- 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
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)
API Groupes
bab_getGroupName()
Obtenir le nom du groupe en fonction de son ID
- function bab_getGroupName($id, $fpn=true)
- $id :
- Id numérique du groupe
- $fpn :
- Boolean qui permet de spécifier si le nom retourné contiens les groupes parents, si le paramètre n'est pas indiqué, le chemain complet vers le groupe est retourné.
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)
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 Moteur d'indexation
bab_searchEngineInfos()
Retourne des informations sur le moteur d'indexation installé ou false si aucun moteur n'est installé.
Si un moteur est utilisé, la fonction retourne un tableau avec les clefs suivantes :
- name : nom du moteur
- description : description du moteur
- types : un tableau avec les types mimes supportés par l'indexation
- indexes' : un tableau avec la liste des fichiers d'index is le moteur gère des fichiers d'index
Pour plus d'information sur l'indexation, voir la documentation spécifique : Indexation
- function bab_searchEngineInfos()
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()
- function bab_rp($name, $default = "")
bab_pp()
- function bab_pp($name, $default = "")
bab_gp()
- function bab_gp($name, $default = "")
API Divers
bab_locale()
Initialise les information 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_isMagicQuotesGpcOn()
- function bab_isMagicQuotesGpcOn()
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()