Rev 63 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** PHP Version 5** @category PHP* @package annuaire* @author aurelien <aurelien@tela-botanica.org>* @copyright 2010 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @version SVN: <svn_id>* @link /doc/annuaire/*//*** Controleur chargé de la propagation et le rassemblement d'informations extérieures* lors dce la consultation et modification des fiches utilisateurs*/Class ApplicationExterneControleur extends Controleur {private $applications = null;private $repertoire_applications = null;public function ApplicationExterneControleur() {$this->__construct();// on charge les variables de classes à partir du fichier de configurationif(Config::get('applications_externes') != null) {$application_str = Config::get('applications_externes');$this->applications = explode(';;',$application_str);} else {$this->applications = array();}if(Config::get('repertoire_applications_externes') != null) {$this->repertoire_applications = Config::get('repertoire_applications_externes');} else {$this->repertoire_applications = '';}}/*** Parcourt le repertoire racine des application et cherche un fichier spécifique pour l'inscription* et l'inclut, le cas échéant.* @param l'identifiant de l'utilisateur* @param le mail de l'utilisateur*/public function ajouterInscription($id_utilisateur, $mail) {$d = dir($this->repertoire_applications);$msg = '';// parcours du répertoire des appliwhile (false !== ($repertoire = $d->read())) {if ($repertoire != '.' || $repertoire != '..') {// on recherche un fichier de la forme nom_appli_inscription.inc.phpif (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.inscription.inc.php')) {include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.inscription.inc.php' ;}}if ($msg != '') $res .= $msg;}if($msg != '') {$msg = 'Attention certaines erreurs se son produites lors de l\'inscription '.$msg;trigger_error($msg, E_USER_WARNING);}$d->close();return true;}/*** Parcourt le repertoire racine des application et cherche un fichier spécifique pour la modification* et l'inclut, le cas échéant.* @param l'identifiant de l'utilisateur* @param le mail de l'utilisateur*/public function modifierInscription($id_utilisateur, $mail) {$d = dir($this->repertoire_applications);$msg = '';while (false !== ($repertoire = $d->read())) {if ($repertoire != '.' || $repertoire != '..') {if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.modification.inc.php')) {include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.modification.inc.php' ;}}if ($msg != '') $res .= $msg;}if($msg != '') {$msg = 'Attention certaines erreurs se sont produites lors de la modification de l\'inscription '.$msg;trigger_error($msg, E_USER_WARNING);}$d->close();}/*** Parcourt le repertoire racine des application et cherche un fichier spécifique pour la suppression* et l'inclut, le cas échéant.* @param l'identifiant de l'utilisateur* @param le mail de l'utilisateur*/public function supprimerInscription($id_utilisateur, $mail) {$d = dir($this->repertoire_applications);$msg = '';while (false !== ($repertoire = $d->read())) {if ($repertoire != '.' || $repertoire != '..') {if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.desinscription.inc.php')) {include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.desinscription.inc.php' ;}}if ($msg != '') $res .= $msg;}if($msg != '') {$msg = 'Attention certaines erreurs se sont produites lors de la desinscription '.$msg;trigger_error($msg, E_USER_WARNING);}$d->close();}/*** Parcourt le repertoire racine des applications et cherche un fichier spécifique contenant la méthode* obtenirResume qui renvoie les informations associées à l'utilisateur qui seront affichées dans la fiche* de profil* @param l'identifiant de l'utilisateur* @param le mail de l'utilisateur* @return array un tableau associatif dont les clés sont les noms des applis et les valeurs sont le html qui sera* inclus dans la fiche profil*/public function obtenirResume($id_utilisateur, $mail) {$d = dir($this->repertoire_applications);$resumes = array();while (false !== ($repertoire = $d->read())) {if ($repertoire != '.' || $repertoire != '..') {if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.resume.inc.php')) {include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.resume.inc.php' ;if(class_exists($repertoire.'Resume')) {$classe = $repertoire.'Resume';$resume_appli = new $classe();$resumes[$repertoire] = $resume_appli->obtenirResume($id_utilisateur, $mail);}}}}$d->close();return $resumes;}}?>