| Version 2 (modified by squidly, 15 months ago) (diff) |
|---|
M export
Une classe nomme m_export.php a été ajouter afin de permettre l'export complet d'un compte alternc. L'export peut se faire pour une configuration particuliaire ou pour des données; le contenu de la classe est le suivant :
class m_export {
function m_export() {
}
function export_conf(){
global $hooks;
$conf = array();
$conf=$hooks->invoke('alternc_export_conf');
return $conf;
}
function export_data($dir){
global $hooks, $mem;
$hooks->invoke('alternc_export_data', Array($dir));
}
}
Elle ne contient donc que deux fonctions export_data et export_conf qui vont elles mêmes appeler des hooks qui auront été implémentés dans les classes concernées. Ces hooks ce referent aus fonctions alternc_export_conf et alternc_export_data.
Utilisation
Un administrateur ayant la main sur le serveur alternc peut invoquer le script "/usr/lib/alternc/export_account.php" directement depuis la ligne de commande avec en paramètre l'iud du compte a exporter et le répertoire ou doivent être deposé les données.
exemple : pour exporter la configuration et les données de l'admninistrateur principal du serveur ( iud 2000)
/usr/lib/alternc/export_account.php 2000 /export/data/
Cette commande va génerer l'arborescence suivante:
/export/data/admin/
/export/data/admin/<date>/html/admin_html_<heure>.tar.gz
/export/data/admin/<date>/sql/admin_<nom base>_<heure>.tar.gz
/export/data/admin/<date>/dump_conf_<heure>
le fichier dump_conf_<heure> contient la configuration des éléments formaté en html, car je pensais au départ permettre l'afficher quelque part dans le panel. Donc si quelqu'un veut le changer: no problemo.
Dev
Pour que les informations puissent être exportées il suffit que la classe crée implémente au moins l'une des deux fonctions appelé par les hooks : "alternc_export_conf" et "alternc_export_data"
La fonction alternc_export_conf():
Elle ne prend aucun paramètre, et renvoi une chaine de caractère contenant les informations à exportées, formatées dans un tableau html ( pour le moment ).
exemple pour la classe m_dom:
function alternc_export_conf() {
global $db,$err;
$err->log("ftp","export");
$f=$this->get_list();
$str="<table border=\"1\"><caption> FTP </caption>\n";
foreach ($f as $d=>$v) {
$str.=" <tr>\n";
$str.=" <td>".$v["id"]."</td>\n";
$str.=" <td>".($v["encrypted_password"])."</td>\n";
$str.=" <td>".($v["login"])."</td>\n";
$str.=" <td>".($v["dir"])."<td>\n";
$str.=" </tr>\n";
}
$str.="</table>\n";
return $str;
}
La fonction alternc_export_data($repertoire)
Cette fonction prend en paramètre le repertoire paramettre du script ( /export/data/ dans l'exemple du dessus ) modifié pour etre de la forme /export/data/<login>/date/ . Elle ne renvoie rien mais se charge d'écrire les données dans le sous répertoire choisi par le programmeur.
