New file |
0,0 → 1,170 |
<?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 configuration |
if(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 appli |
while (false !== ($repertoire = $d->read())) { |
if ($repertoire != '.' || $repertoire != '..') { |
// on recherche un fichier de la forme nom_appli_inscription.inc.php |
if (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; |
} |
} |
|
|
?> |