* * * This software is protected by copyright, please * read the file COPYRIGHT. * This program is distributed in the hope that it * will be useful, but without any warranty; without * even the implied warranty of merchantability or * fitness for a particular purpose. Please * read the file LICENCE. * * Fichier Plugin.php * *Ce fichier contient la classe Plugin * * @author Rooty * @link www.rooty.me * @since 2004/04/14 * @version 0.3 * @package system_plugin * @copyright Copyright © 2009-2018, Rooty */ ##################################################################################################### ################################# Parametrage ##################################################################################################### /** * declaration du system... si cette variable n'est pas définie, les fichier inclus ne marche pas... * cette variable est déclarée sur la page d'execution du script. *

if ( !defined('SYSTEM_IN') ) * { * die("Hacking attempt"); * }

*/ if ( !defined('SYSTEM_IN') ) { die("Hacking attempt"); } /** * Classe Plugin * *

Cette classe a pour but d'être étendue et sert à ajouter des fonctionalitées aux system

* Les classe plugin doivent être placés dans lib/plugin pour être prise en compte *

* @package system_plugin */ class Plugin { /** * @access private * @var chaine * @desc version du plugin */ var $version = null; /** * @access private * @var chaine * @desc auteur du plugin */ var $autor = null; /** * @access private * @var chaine * @desc commentaires liès aux plugin */ var $comment = null; // // Constructor // /** * Constructeur de la classe Plugin * @access public */ function __construct($version, $autor, $comment) { $this->setVersion($version); $this->setAutor($autor); $this->setComment($comment); } /** * getVersion : récupere le version du plugin * @access public * @return chaine */ function getVersion() { return $this->version; } /** * setVersion : affecte la version du plugin * @access public * @return booleen */ function setVersion($version) { $this->version=$version; return true; } /** * getAutor : Récupere l'auteur * @access public * @return chaine */ function getAutor() { return $this->autor; } /** * setAutor : affecte l'auteur * @access public * @return booleen */ function setAutor($autor) { $this->autor=$autor; return true; } /** * getComment : Récupere les commentaires * @access public * @return chaine */ function getComment() { return $this->comment; } /** * setComment : affecte les commentaires * @access public * @return booleen */ function setComment($comment) { $this->comment=$comment; return true; } // // Méthodes executées sur chaque pages pour tous les plugins et a divers moment dans l'execution d'une page // /** * __beforeSessionStart : methode executée avant que la session commence *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée avant l'initialisation du system

* @abstract * @access public * @return booleen */ function __beforeSessionStart() { return true; } /** * __beforeProcess : methode executée avant que le system ne soit executé *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée avant l'execution system

* @abstract * @access public * @return booleen */ function __beforeProcess() { return true; } /** * __beforeExec : methode executée avant que l'objet de coordination ne soit appele *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée avant l'execution de l'objet de coordination

* @abstract * @access public * @return booleen */ function __beforeExec() { return true; } /** * __afterExec : methode executée aprés l'execution de l'objet de coordination *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée aprés l'execution de l'objet de coordination

* @abstract * @access public * @return booleen */ function __afterExec() { return true; } /** * __afterProcess : methode executée après que le system ne soit executé *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée après l'execution system (et avant l'envoi de la page!)

* @abstract * @access public * @return booleen */ function __afterProcess() { return true; } /** * __beforeSessionClose : methode executée après que le system ne soit executé *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée après l'execution system et avant la fermeture de la session

* @abstract * @access public * @return booleen */ function __beforeSessionClose() { return true; } // // Evenementiel sur la partie systéme // // Permet d'interagir avec les modifications systeme // // CoordinationObject // /** * __insertCoordinationObj : methode apres ajout d'un objet de coordination * @abstract * @access public * @param object CoordinationObj * @return booleen */ function __insertCoordinationObj($CoordinationObj) { return true; } /** * __updateCoordinationObj : methode apres modification d'un objet de coordination * @abstract * @access public * @param object CoordinationObj * @return booleen */ function __updateCoordinationObj($CoordinationObj) { return true; } /** * __deleteCoordinationObj : methode avant suppression d'un objet de coordination * @abstract * @access public * @param object CoordinationObj * @return booleen */ function __deleteCoordinationObj($CoordinationObj) { return true; } // // Utilisateur // /** * __insertUser : methode apres ajout d'un utilisateur * @abstract * @access public * @param object User * @return booleen */ function __insertUser($User) { return true; } /** * __updateUser : methode apres modification d'un utilisateur * @abstract * @access public * @param object User * @return booleen */ function __updateUser($User) { return true; } /** * __deleteUser : methode avant suppression d'un utilisateur * @abstract * @access public * @param object User * @return booleen */ function __deleteUser($User) { return true; } // // Groupe // /** * __insertGroup : methode apres ajout d'un groupe * @abstract * @access public * @param object Group * @return booleen */ function __insertGroup($Group) { return true; } /** * __updateGroup : methode apres modification d'un groupe * @abstract * @access public * @param object Group * @return booleen */ function __updateGroup($Group) { return true; } /** * __deleteGroup : methode avant suppression d'un groupe * @abstract * @access public * @param object Group * @return booleen */ function __deleteGroup($Group) { return true; } // // Noeud de navigation // /** * __insertNode : methode apres ajout d'un noeud de navigation * @abstract * @access public * @param object Node * @return booleen */ function __insertNode($Node) { return true; } /** * __updateNode : methode apres modification d'un noeud de navigation * @abstract * @access public * @param object Node * @return booleen */ function __updateNode($Node) { return true; } /** * __deleteNode : methode avant suppression d'un noeud de navigation * @abstract * @access public * @param object Node * @return booleen */ function __deleteNode($Node) { return true; } // // NodeSettings // /** * __insertNodeSettings : methode apres ajout d'un nodesettings * @abstract * @access public * @param object NodeSettings * @return booleen */ function __insertNodeSettings($Node) { return true; } /** * __updateNodeSettings : methode apres modification d'un nodesettings * @abstract * @access public * @param object NodeSettings * @return booleen */ function __updateNodeSettings($Node) { return true; } /** * __deleteNodeSettings : methode avant suppression d'un nosesettings * @abstract * @access public * @param object NodeSettings * @return booleen */ function __deleteNodeSettings($Node) { return true; } // // Language // /** * __insertLanguage : methode apres ajout d'une langue * @abstract * @access public * @param object Language * @return booleen */ function __insertLanguage($Language) { return true; } /** * __updateLanguage : methode apres modification d'une langue * @abstract * @access public * @param object Language * @return booleen */ function __updateLanguage($Language) { return true; } /** * __deleteLanguage : methode avant suppression d'une langue * @abstract * @access public * @param object Language * @return booleen */ function __deleteLanguage($Language) { return true; } // // Preferences utilisateur // /** * __insertUserPreference : methode apres ajout d'une preferences utilisateur * @abstract * @access public * @param object UserPreference * @return booleen */ function __insertUserPreference($UserPreference) { return true; } /** * __updateUserPreference : methode apres modification d'une preferences utilisateur * @abstract * @access public * @param object UserPreference * @return booleen */ function __updateUserPreference($UserPreference) { return true; } /** * __deleteUserPreference : methode avant suppression d'une preferences utilisateur * @abstract * @access public * @param object UserPreference * @return booleen */ function __deleteUserPreference($UserPreference) { return true; } // // Session utilisateur // /** * __insertUserSession : methode apres ajout d'une session utilisateur * @abstract * @access public * @param object UserSession * @return booleen */ function __insertUserSession($UserSession) { return true; } /** * __updateUserSession : methode apres modification d'une session utilisateur * @abstract * @access public * @param object UserSession * @return booleen */ function __updateUserSession($UserSession) { return true; } /** * __deleteUserSession : methode avant suppression d'une session utilisateur * @abstract * @access public * @param object UserSession * @return booleen */ function __deleteUserSession($UserSession) { return true; } // // Dependance entre les objets principaux // // // Droit (association entre noeud / utilisateur ou groupe / object de coordination // /** * __insertRight : methode apres ajout d'un droit * @abstract * @access public * @param object Right * @return booleen */ function __insertRight($Right) { return true; } /** * __updateRight : methode apres modification d'un droit * @abstract * @access public * @param object Right * @return booleen */ function __updateRight($Right) { return true; } /** * __deleteRight : methode avant suppression d'un droit * @abstract * @access public * @param object Right * @return booleen */ function __deleteRight($Right) { return true; } // // GroupUser // /** * __insertGroupUser : methode apres ajout d'une association goupe et utilisateur * @abstract * @access public * @param object GroupUser * @return booleen */ function __insertGroupUser($GroupUser) { return true; } /** * __updateGroupUser : methode apres modification d'une association goupe et utilisateur * @abstract * @access public * @param object GroupUser * @return booleen */ function __updateGroupUser($GroupUser) { return true; } /** * __deleteGroupUser : methode avant suppression d'une association goupe et utilisateur * @abstract * @access public * @param object GroupUser * @return booleen */ function __deleteGroupUser($GroupUser) { return true; } // // NodeGroupUser // /** * __insertNodeGroupUser : methode apres ajout d'une association noeud et goupe ou utilisateur * @abstract * @access public * @param object NodeGroupUser * @return booleen */ function __insertNodeGroupUser($NodeGroupUser) { return true; } /** * __updateNodeGroupUser : methode apres modification d'une association noeud et goupe ou utilisateur * @abstract * @access public * @param object NodeGroupUser * @return booleen */ function __updateNodeGroupUser($NodeGroupUser) { return true; } /** * __deleteNodeGroupUser : methode avant suppression d'une association noeud et goupe ou utilisateur * @abstract * @access public * @param object NodeGroupUser * @return booleen */ function __deleteNodeGroupUser($NodeGroupUser) { return true; } // // Element de cache systeme // // // TreeGroup (arbre de groupes) // /** * __addTreeGroup : methode apres ajout d'un arbre de groupe * @abstract * @access public * @param object TreeGroup * @return booleen */ function __insertTreeGroup($TreeGroup) { return true; } /** * __updateTreeGroup : methode apres modification d'un arbre de groupe * n'est pas utilisé actuellement. * @abstract * @access public * @param object TreeGroup * @return booleen */ function __updateTreeGroup($TreeGroup) { return true; } /** * __deleteTreeGroup : methode avant suppression d'un arbre de groupe * @abstract * @access public * @param object TreeGroup * @return booleen */ function __deleteTreeGroup($TreeGroup) { return true; } // // TreeNode (arbre de Noeuds) // /** * __insertTreeNode : methode apres ajout d'un arbre de groupe * @abstract * @access public * @param object TreeNode * @return booleen */ function __insertTreeNode($TreeNode) { return true; } /** * __updateTreeNode : methode apres modification d'un arbre de groupe * n'est pas utilisé actuellement. * @abstract * @access public * @param object TreeNode * @return booleen */ function __updateTreeNode($TreeNode) { return true; } /** * __deleteTreeNode : methode avant suppression d'un arbre de groupe * @abstract * @access public * @param object TreeNode * @return booleen */ function __deleteTreeNode($TreeNode) { return true; } // // ListUserGroup (arbres de groupes pour un utilisateur) // /** * __insertListUserGroup : methode apres ajout du cache des groupes d'un utilisateur * @abstract * @access public * @param object ListUserGroup * @return booleen */ function __insertListUserGroup($ListUserGroup) { return true; } /** * __updateListUserGroup : methode apres modification du cache des groupes d'un utilisateur * n'est pas utilisé actuellement. * @abstract * @access public * @param object ListUserGroup * @return booleen */ function __updateListUserGroup($ListUserGroup) { return true; } /** * __deleteListUserGroup : methode avant suppression du cache des groupes d'un utilisateur * @abstract * @access public * @param object ListUserGroup * @return booleen */ function __deleteListUserGroup($ListUserGroup) { return true; } // // ListUserNode (arbres de navigation pour un utilisateur) // /** * __insertListUserNode : methode apres ajout du cache de navigation d'un utilisateur * @abstract * @access public * @param object ListUserNode * @return booleen */ function __insertListUserNode($ListUserNode) { return true; } /** * __updateListUserNode : methode apres modification du cache de navigation d'un utilisateur * n'est pas utilisé actuellement. * @abstract * @access public * @param object ListUserNode * @return booleen */ function __updateListUserNode($ListUserNode) { return true; } /** * __deleteListUserNode : methode avant suppression du cache de navigation d'un utilisateur * @abstract * @access public * @param object ListUserNode * @return booleen */ function __deleteListUserNode($ListUserNode) { return true; } // // Permission (ensemble des droits d'un utilisateur) // /** * __insertPermission : methode apres ajout d'un objet permission * @abstract * @access public * @param object TreeNode * @return booleen */ function __insertPermission($Permission) { return true; } /** * __updatePermission : methode apres modification d'un objet permission * n'est pas utilisé actuellement. * @abstract * @access public * @param object Permission * @return booleen */ function __updatePermission($Permission) { return true; } /** * __deletePermission : methode avant suppression d'un objet permission * @abstract * @access public * @param object Permission * @return booleen */ function __deletePermission($Permission) { return true; } /** * __getInfo : methode executée après que le system ne soit executé *

Cette methode à pour but d'être surchagée par le plugin
*pour être executée lors de la demande d'information sur le plugin

* @abstract * @access public * @return booleen */ function __getInfo() { $tab=array(); $tab["className"]=get_class($this); $tab["version"] =$this->getVersion(); $tab["autor"] =$this->getAutor(); $tab["comment"] =$this->getComment(); return $tab; } } ?>