Changeset 317
Legend:
- Unmodified
- Added
- Removed
-
HACKING
r315 r317 1 Modularisation d'AlternC :2 ======================== ==1 Modularisation d'AlternC 2 ======================== 3 3 4 - Chaque classe a un nom en lettres (pas trop long).5 - Chaque classe fournit :6 * Un fichier m_<classname>.php contenant la déclaration de la classe php7 * La classes'appelle "m_<classname>"8 * La variable globale instanciant la classe est $<classname>, elle est créée automatiquement par config.php9 * Un fichier .po dans locales/<lang>/LC_MESSAGES/<classname>.po10 * Les messages d'erreur sont du type "err_<classname>_<errno>" ou <errno> est un entier positif. 0 pour "OK"11 * Une classe PEUT présenter un fichier "menu_<classname>.php" dans4 - Chaque classe a un nom en lettres (pas trop long). 5 - Chaque classe fournit : 6 * Un fichier m_<classname>.php contenant la déclaration de la classe php 7 * Une classe qui s'appelle "m_<classname>" 8 * La variable globale instanciant la classe est $<classname>, elle est créée automatiquement par config.php 9 * Un fichier .po dans locales/<lang>/LC_MESSAGES/<classname>.po 10 * Les messages d'erreur sont du type "err_<classname>_<errno>" ou <errno> est un entier positif. 0 pour "OK" 11 * Une classe PEUT présenter un fichier "menu_<classname>.php" dans 12 12 13 - Une classe peut présenter les fonctions particulières suivantes :14 * alternc_add_domain($domain) qui est appellée quand un domaine est créé sur le compte membre courant15 * alternc_del_domain($domain) qui est appellée quand un domaine est supprimé sur le compte membre courant16 * alternc_add_member($uid) quand un membre est créé17 * alternc_del_member($uid) quand un membre est détruit18 * alternc_quota_check($uid) pour recalculer le quota utilisé par un membre13 - Une classe peut présenter les fonctions particulières suivantes : 14 * alternc_add_domain($domain) qui est appellée quand un domaine est créé sur le compte membre courant 15 * alternc_del_domain($domain) qui est appellée quand un domaine est supprimé sur le compte membre courant 16 * alternc_add_member($uid) quand un membre est créé 17 * alternc_del_member($uid) quand un membre est détruit 18 * alternc_quota_check($uid) pour recalculer le quota utilisé par un membre 19 19 si elle ne les contient pas, ces fonctions ne seront pas appellées... 20 - Une classe peut contenir les variables suivantes : 21 * alternc_quota_name contient le nom court du quota géré par la classe. 22 Le fichier locales correspondant à la classe DOIT dans ce cas contenir la référence "quota_name" qui retourne le 23 nom en toute lettre (long) du type de quota utilisé par la classe 20 21 - Une classe peut contenir les variables suivantes : 22 * alternc_quota_name contient le nom court du quota géré par la classe. 23 Le fichier locales correspondant à la classe DOIT dans ce cas contenir la référence "quota_name" qui retourne le 24 nom en toute lettre (long) du type de quota utilisé par la classe 24 25 25 26 26 27 AlternC est fourni en standard avec les classes : 27 - domain28 - ftp29 30 - quota31 - bro32 - admin33 - membre34 - mysql (ajouter la fonctionalité 'name_' + quota de BDD)35 - err36 - tools (cette classe particulière permet l'intégration facile d'outils (dmanager, spip, forum, chat ...) )28 - domain 29 - ftp 30 - mail 31 - quota 32 - bro 33 - admin 34 - membre 35 - mysql (ajouter la fonctionalité 'name_' + quota de BDD) 36 - err 37 - tools (cette classe particulière permet l'intégration facile d'outils (dmanager, spip, forum, chat ...) ) 37 38 38 39 Les classes supplémentaires à mettre en oeuvre sont : 39 - sympa40 - mailman41 - stats42 - webaccess43 - procmail_builder (plugin spécial)40 - sympa 41 - mailman 42 - stats 43 - webaccess 44 - procmail_builder (plugin spécial) 44 45 45 46 Donc, pour s'installer, une classe a besoin de : 46 - Créer les éventuelles structures de données nécessaires (mysql) 47 - Copier le fichier m_<classname> dans bureau/class/ 48 - Copier l'eventuel fichier menu_<classname>.php 49 - Copier les éventuels autres fichiers dans bureau/admin, bureau/locales/* ... 47 - Créer les éventuelles structures de données nécessaires (mysql) 48 - Copier le fichier m_<classname> dans bureau/class/ 49 - Copier l'eventuel fichier menu_<classname>.php 50 - Copier les éventuels autres fichiers dans bureau/admin, bureau/locales/* ... 51 52 Quotas 53 ------ 50 54 51 55 Le système de quota est simple : la classe peut appeler 52 56 $quota->inc dec ... 53 pour le membre donné, sur le nom de quota utilisé par celle-ci, (utiliser <classname> est conseillé ;) 54 quand un nouveau membre est créé, la valeur par défaut choisi par l'admin lui est associé, et cette valeur vaut 0 par défaut. 57 pour le membre donné, sur le nom de quota utilisé par celle-ci, 58 (utiliser <classname> est conseillé ;) 55 59 56 Il est conseillé que chaque classe non standard fournisse un dossier dans /bureau/admin/ dans lequel elle stocke les pages web correspondantes. 57 Ceci afin de ne pas alourdir le dossier bureau/admin... 60 Quand un nouveau membre est créé, la valeur par défaut choisi par 61 l'admin lui est associé, et cette valeur vaut 0 par défaut. 62 63 Autres 64 ------ 65 66 Il est conseillé que chaque classe non standard fournisse un dossier 67 dans /bureau/admin/ dans lequel elle stocke les pages web 68 correspondantes, ceci afin de ne pas alourdir le dossier bureau/admin... 58 69 59 70 Ajout à l'API : 60 - La variable globale "$classes" contient un tableau avec le nom des classes disponibles (nom court sans m_ =>mail, quota, err...) 71 - La variable globale "$classes" contient un tableau avec le nom des 72 classes disponibles (nom court sans m_ =>mail, quota, err...) 73 74 Hooks ou "events" AlternC 75 ========================= 61 76 62 77 Liste des fonctions "events" appellées lorsqu'un évènement particulier a lieu 63 78 sur un compte, tel que l'ajout d'un domaine, la suppression d'un domaine etc. 64 =============================================================================65 79 66 80 - Ces fonctions commencent TOUJOURS par "alternc_" … … 105 119 retourne la chaine ou la liste de chaine de description du module, traduit par gettext. 106 120 permet de savoir à quoi sert un module ou les éléments d'un module. 107
Note: See TracChangeset
for help on using the changeset viewer.
