Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 55 → Rev 56

/trunk/controleurs/ApplicationExterneControleur.php
17,8 → 17,10
*/
Class ApplicationExterneControleur extends Controleur {
 
private $applications = null;
private $applications_resume = null;
private $applications_gestion = null;
private $repertoire_applications = null;
private $mode_reponse = 'json';
 
public function ApplicationExterneControleur() {
 
25,18 → 27,21
$this->__construct();
 
// on charge les variables de classes à partir du fichier de configuration
if(Config::get('applications_externes') != null) {
if(Config::get('url_services_applications_resume') != null) {
 
$application_str = Config::get('applications_externes');
$this->applications = explode(';;',$application_str);
$application_str = Config::get('url_services_applications_resume');
$this->applications_resume = explode('##',$application_str);
} else {
$this->applications = array();
$this->applications_resume = array();
}
 
if(Config::get('repertoire_applications_externes') != null) {
$this->repertoire_applications = Config::get('repertoire_applications_externes');
// on charge les variables de classes à partir du fichier de configuration
if(Config::get('url_services_applications_gestion') != null) {
 
$application_str = Config::get('url_services_applications_gestion');
$this->applications_gestion = explode('##',$application_str);
} else {
$this->repertoire_applications = '';
$this->applications_gestion = array();
}
}
 
48,28 → 53,6
*/
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;
}
 
81,25 → 64,7
* @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();
return true;
}
 
/**
109,30 → 74,42
* @param le mail de l'utilisateur
*/
public function supprimerInscription($id_utilisateur, $mail) {
return true;
}
 
$d = dir($this->repertoire_applications);
/**
* Parcourt le repertoire racine des applications et appelle un web service contenant la méthode
* Resume 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) {
 
$msg = '';
$resumes = array();
 
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(count($this->applications_resume) > 0) {
foreach($this->applications_resume as $application) {
 
$resume = @file_get_contents($application.'Resume'.DS.$id_utilisateur.DS.$mail);
 
 
if($resume) {
$resume = json_decode($resume, true);
//print_r($resume);
$resumes[] = $resume;
} else {
echo $application.'Resume'.DS.$id_utilisateur.DS.$mail;
}
}
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();
return $resumes;
}
 
/**
* Parcourt le repertoire racine des applications et cherche un fichier spécifique contenant la méthode
/** 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
140,29 → 117,25
* @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) {
public function gererInscription($id_utilisateur, $mail) {
 
$d = dir($this->repertoire_applications);
$gestions = array();
 
$resumes = array();
if(count($this->applications_gestion) > 0) {
foreach($this->applications_gestion as $application) {
 
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' ;
$gestion = file_get_contents($application.'Gestion'.DS.$id_utilisateur.DS.$mail);
 
if(class_exists($repertoire.'Resume')) {
 
$classe = $repertoire.'Resume';
$resume_appli = new $classe();
$resumes[$repertoire] = $resume_appli->obtenirResume($id_utilisateur, $mail);
}
if($gestion) {
$gestion = json_decode($gestion, true);
$gestions[] = $gestion;
} else {
echo $application.'Gestion'.DS.$id_utilisateur.DS.$mail;
}
}
}
$d->close();
 
return $resumes;
return $gestions;
}
}