API du gestionnaire d'événement
Sommaire
table des listener
- id
- event_class_name
- function_name
- require_file
- addon_name
event_class_name est le nom d'une classe héritée de bab_event
function_name est le nom d'une fonction déclarée dans le ficher spécifié dans la colonne require_file
le paramètre require_file est le chemin relatif au noyau d'ovidentia d'un fichier php
Ajouter un listener :
bab_addEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');
Enlever un listener :
bab_removeEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');
La fonction inscrite dans la colonne function_name sera délarée dans le fichier 'require_file' comme ceci :
function ats_onBabPasswordModified(&$event) {
}
Appel d'événement
Lors de l'appel d'un événement, toutes les fonctions enregistrées dans la tables des "listener" qui ont pour event_class_name, le nom de l'objet ou le nom d'un des parentsde l'objet sont appelés, pour chaque enregistrement on effectue les actions suivantes :
- si 'addon_name' est un nom de module valide, le contexte du module est créé
- le nom du fichier contenu dans 'require_file' est inclu avec la fonction require_once
- la fonction 'function_name' est appelée avec un seul paramètre qui est l'instance de l'événement
class bab_userModified extends bab_event {
}
class bab_passwordModified extends bab_userModified {
}
$event_obj = new bab_passwordModified();
bab_fireEvent($event_obj);
L'ordre d'appel des fonction enregistrées dans le listener est indéterminé (le premier enregistré est le premier appelé)
Tout les événements disponibles
Ovidentia
| Evenement | Parent | Description |
| bab_eventCreatePeriods | bab_event | Événement appelé au moment de la création d'un planning (agenda, planning de congés...), il est utilisé pour collecter les événements à afficher pour une période donnée |
| bab_eventModifyPeriod | bab_event | Événement appelé lors de la modification d'un ou plusieurs événements sur une période donnée |
| bab_eventWaitingItems | bab_event | Événement appelé lors de l'affichage des instances d'approbation en attente sur la page "approbations" |
| bab_eventDirectory | bab_event | Événement appelé lors d'une intervention sur une fiche d'annuaire ou d'un utilisateur d'ovidentia |
| bab_eventDirectoryEntryCreated | bab_eventDirectory | Événement appelé lors de la création d'une fiche d'annuaire |
| bab_eventDirectoryEntryModified | bab_eventDirectory | Événement appelé lors de la modification d'une fiche d'annuaire |
| bab_eventDirectoryEntryDeleted | bab_eventDirectory | Événement appelé lors de la suppression d'une fiche d'annuaire |
| bab_eventUserCreated | bab_eventDirectory | Événement appelé lors de la création d'un utilisateur |
| bab_eventUserModified | bab_eventDirectory | Événement appelé lors de la modification d'un utilisateur |
| bab_eventUserDeleted | bab_eventDirectory | Événement appelé lors de la suppression d'un utilisateur |