Changeset 317


Ignore:
Timestamp:
02/22/06 00:06:33 (7 years ago)
Author:
anarcat
Message:

[project @ alternc: changeset 2004-06-01 04:15:03 by anonymous]
essayer de clarifier un peu l'architecture de ce fichier

Original author: anonymous
Date: 2004-06-01 04:15:03

File:
1 edited

Legend:

Unmodified
Added
Removed
  • HACKING

    r315 r317  
    1 Modularisation d'AlternC : 
    2 ========================== 
     1Modularisation d'AlternC 
     2======================== 
    33 
    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 php 
    7                 * La classe 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 
     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 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 
    1212 
    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 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 
     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 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 
    1919        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 
    2425 
    2526 
    2627AlternC est fourni en standard avec les classes : 
    27         - domain 
    28         - ftp 
    29         - mail 
    30         - quota 
    31         - bro 
    32         - admin 
    33         - membre 
    34         - mysql (ajouter la fonctionalité 'name_' + quota de BDD) 
    35         - err 
    36         - 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 ...) ) 
    3738 
    3839Les classes supplémentaires à mettre en oeuvre sont : 
    39         - sympa 
    40         - mailman 
    41         - stats 
    42         - webaccess 
    43         - procmail_builder (plugin spécial) 
     40- sympa 
     41- mailman 
     42- stats 
     43- webaccess 
     44- procmail_builder (plugin spécial) 
    4445 
    4546Donc, 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 
     52Quotas 
     53------ 
    5054 
    5155Le système de quota est simple : la classe peut appeler 
    5256        $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. 
     57pour le membre donné, sur le nom de quota utilisé par celle-ci, 
     58(utiliser <classname> est conseillé ;) 
    5559 
    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... 
     60Quand un nouveau membre est créé, la valeur par défaut choisi par 
     61l'admin lui est associé, et cette valeur vaut 0 par défaut. 
     62 
     63Autres 
     64------ 
     65 
     66Il est conseillé que chaque classe non standard fournisse un dossier 
     67dans /bureau/admin/ dans lequel elle stocke les pages web 
     68correspondantes, ceci afin de ne pas alourdir le dossier bureau/admin... 
    5869 
    5970Ajout à 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 
     74Hooks ou "events" AlternC 
     75========================= 
    6176 
    6277Liste des fonctions "events" appellées lorsqu'un évènement particulier a lieu 
    6378sur un compte, tel que l'ajout d'un domaine, la suppression d'un domaine etc. 
    64 ============================================================================= 
    6579 
    6680- Ces fonctions commencent TOUJOURS par "alternc_" 
     
    105119        retourne la chaine ou la liste de chaine de description du module, traduit par gettext. 
    106120        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.