/**
* AlertManager
*
* @version $Id$
* @copyright 2009
*/
/** Documentation technique
*
* ------------------
* Oouverture de l'objet :
* Vous pouvez récupérer l'objet d'alert dans Alert::Open().
* Exemple : $Objet_Alert = Alert::Open()
* après vous pouvez vous amuser a faire toutes les alerts que vous voulez.
*
* ------------------
* Capturer un Event
* Objet: Alert
* Method: $id = CaptureEvent($function, $action = ALERT_ALL, $module = ALERT_ALL)
*
* Ouvrez un objet alert pour pouvoir enregister l'event. Ensuite appellez
* la méthode CaptureEvent selon la syntaxe ci-dessus.
*
* ---- Liste des paramètres :
* --$function : non de la fonction à executer quand l'alert est déclanché.
* Peux aussi être un script PHP sous la forme d'une chaine de caractère.
* Cette fonction doit retourner true pour autoriser l'environnement à faire
* l'action qui a été demandé, false pour empêcher l'action. Cette fonction est
* appelé avec trois argument dans un ordre précis : $param qui est un tableau des fonctions qui ont
* été demandés à être executé avec l'alert, $mod qui est le nom du module visé
* et $action qui est l'action capturé.
*
* --$action (défaut: ALERT_ALL) : Action que l'on veut capturer. On peux aussi mettre la constante
* ALERT_ALL pour capturer tous les alertes d'un module en particulier.
*
* --$module (défaut: ALERT_ALL) : Module que l'on surveiller. On peux mettre
* ALERT_ALL pour surveiller tous les modules.
*
* ---- Valeur de retour :
* Si la capture a été enregistré avec succés, alors la méthode renvoit
* l'identifiant de l'enregistrement.
*
* -----------------
* Envoyer une alerte
* Objet: Alert
* Method: $result = SendAlert($module, $action, $parameter)
*
* ---- Liste des paramètres :
* --$module : nom du module que l'on veut déclancher.
*
* --$action : action que l'on veux executer.
*
* --parameter : Tableau contenant les paramètres à utiliser pour executer
* l'action du module spécifié.
*
* ---- Valeur de retour
* retourne un booléen qui dit si l'action est autorisé ou non par tous les
* modules qui surveiller cette action.
*
* -----------------
* Déboguer l'environnement d'alert.
* Objet: Alert
* Method: Debug()
*
* Permet d'afficher la liste de tous les events capturés ainsi que leurs
* configuration.
*
* -----------------
* Executer l'action d'un module en annançant l'alert
* Function ExeModFun($module, $action, $parameter)
*
* ---- Liste des paramètres :
* --$module : Module que l'on souhaite executer
*
* --$action : Action du module que l'on veux faire
*
* --$parameter (défaut: NULL) : Soit une chaine de caractère, soit un tableau. Contient le(s)
* arguments à utiliser pour executer l'action du module.
* */