118 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| Modularisation d'AlternC
 | |
| ========================
 | |
| 
 | |
| - Chaque classe a un nom en lettres (pas trop long).
 | |
| - Chaque classe fournit :
 | |
| 	* Un fichier m_<classname>.php contenant la déclaration de la classe php
 | |
| 	* Une classe qui s'appelle "m_<classname>"
 | |
| 	* La variable globale instanciant la classe est $<classname>, elle est créée automatiquement par config_real.php
 | |
| 	* Un fichier .pot dans locales/<classname>.po (et eventuellement <classname>_manual.po pour les entrees non détectées par gettext
 | |
| 	* Les messages d'erreur sont du type "err_<classname>_<errno>" ou <errno> est un entier positif. 0 pour "OK"
 | |
| 	* Une classe PEUT présenter un fichier "menu_<classname>.php" dans admin/
 | |
| 
 | |
| - Une classe peut présenter les fonctions particulières suivantes :
 | |
| 	* alternc_add_domain($domain) qui est appellée quand un domaine est créé sur le compte membre courant
 | |
| 	* alternc_del_domain($domain) qui est appellée quand un domaine est supprimé sur le compte membre courant
 | |
| 	* alternc_add_member($uid) quand un membre est créé
 | |
| 	* alternc_del_member($uid) quand un membre est détruit
 | |
| 	* alternc_quota_check($uid) pour recalculer le quota utilisé par un membre
 | |
| 	* alternc_quota_names() qui retourne une chaine ou un tableau avec le(s) noms des quota(s) gérés par cette classe.
 | |
| 	si elle ne les contient pas, ces fonctions ne seront pas appellées...
 | |
| 
 | |
| 
 | |
| AlternC est fourni en standard avec les classes :
 | |
| - domain (installation domaines / dns / mx)
 | |
| - ftp (maintenance des comptes ftp)
 | |
| - mail (maintenance des emails pop/alias)
 | |
| - quota (gestion globale des quotas de service et de disques)
 | |
| - bro (navigateur dans le système de fichier)
 | |
| - admin (panneau administrateur)
 | |
| - mem (connexion et préférences membre)
 | |
| - mysql (maintenance de bdd mysql)
 | |
| - err (gestion des erreurs) 
 | |
| - sta2 (demande de sortie de logs bruts apache)
 | |
| - hta (protection de dossiers web par htaccess/htpasswd)
 | |
| 
 | |
| Les modules additionnels dispo : 
 | |
| - alternc-webinstaller (cette classe particulière permet l'intégration facile d'outils (dmanager, spip, forum, chat ...) )
 | |
| - alternc-mailman (gestion de listes sous mailman)
 | |
| - alternc-sympa (gestion de listes sous sympa)
 | |
| - alternc-webalizer (gestion de stats webalizer)
 | |
| - procmail_builder (plugin spécial pour squirrelmail)
 | |
| 
 | |
| Donc, pour s'installer, une classe a besoin de :
 | |
| - Créer les éventuelles structures de données nécessaires (mysql)
 | |
| - Copier le fichier m_<classname> dans bureau/class/
 | |
| - Copier l'eventuel fichier menu_<classname>.php
 | |
| - Copier les éventuels autres fichiers dans bureau/admin, bureau/locales/* ...
 | |
| 
 | |
| Quotas
 | |
| ------
 | |
| 
 | |
| Le système de quota est simple : la classe peut appeler
 | |
| 	$quota->inc dec ...
 | |
| pour le membre donné, sur le nom de quota utilisé par celle-ci,
 | |
| (utiliser <classname> est conseillé ;)
 | |
| 
 | |
| 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.
 | |
| 
 | |
| Autres
 | |
| ------
 | |
| 
 | |
| Il est conseillé que chaque classe non standard fournisse un dossier
 | |
| dans /bureau/admin/ dans lequel elle stocke les pages web
 | |
| correspondantes, ceci afin de ne pas alourdir le dossier bureau/admin...
 | |
| 
 | |
| Ajout à l'API :
 | |
| - La variable globale "$classes" contient un tableau avec le nom des
 | |
|   classes disponibles (nom court sans m_  =>mail, quota, err...)
 | |
| 
 | |
| Hooks ou "events" AlternC
 | |
| =========================
 | |
| 
 | |
| Liste des fonctions "events" appellées lorsqu'un évènement particulier a lieu
 | |
| sur un compte, tel que l'ajout d'un domaine, la suppression d'un domaine etc.
 | |
| 
 | |
| - Ces fonctions commencent TOUJOURS par "alternc_"
 | |
| - SEULES ces fonctions ont le droit d'utiliser le prefixe alternc_ dans les 
 | |
| classes
 | |
| - Les fonctions ne peuvent apparaitre que dans les classes d'AlternC, ayant
 | |
| pour nom m_<nom du module>
 | |
| - Chaque fonction est prototypée ci-dessous et son évènement est expliqué en 
 | |
| détail
 | |
| 
 | |
| 
 | |
| 
 | |
| alternc_del_domain($dom)
 | |
| 	fonction appellée lorsqu'un domaine est effacé d'un compte AlternC.
 | |
| 	$dom est le nom de domaine concerné.
 | |
| 
 | |
| alternc_add_domain($dom)
 | |
| 	fonction appellée lorsqu'un domaine est installé sur un compte AlternC.
 | |
| 	$dom est le nom de domaine concerné.
 | |
| 
 | |
| alternc_quota_check($id)
 | |
| 	fonction appellée afin de recalculer le quota d'un membre pour le service correspondant.
 | |
| 	$id est le numéro unique du membre concerné.
 | |
| 
 | |
| alternc_add_member($id)
 | |
| 	fonction appellée lorsqu'un compte membre est créé sur le serveur AlternC.
 | |
| 	$id est le numéro unique du membre concerné, qui a déjà été créé dans les tables principales.
 | |
| 
 | |
| alternc_del_member($id)
 | |
| 	fonction appellée lorsqu'un compte membre est supprimé sur le serveur AlternC.
 | |
| 	$id est le numéro unique du membre concerné, qui sera détruit après l'appel.
 | |
| 
 | |
| alternc_add_mx_domain($dom)
 | |
| 	fonction appellée lorsqu'un domaine déjà hébergé mais n'ayant pas le mx pointant vers nous voit son mx
 | |
| 	pointer vers nous. Pour les classes sensible au mail, cela équivaut bien souvent à add_domain
 | |
| 
 | |
| alternc_del_mx_domain($dom)
 | |
| 	fonction appellée lorsqu'un domaine déjà hébergé et ayant son mx pointant vers nous voit son mx
 | |
| 	nous quitter. Pour les classes sensible au mail, cela équivaut bien souvent à del_domain
 | |
| 
 | |
| alternc_description()
 | |
| 	retourne la chaine ou la liste de chaine de description du module, traduit par gettext.
 | |
| 	permet de savoir à quoi sert un module ou les éléments d'un module.
 |