Subversion Repositories Applications.annuaire

Rev

Rev 33 | Rev 63 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
33 aurelien 1
<?php
2
/**
3
* PHP Version 5
4
*
5
* @category  PHP
6
* @package   annuaire
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2010 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
11
* @link      /doc/annuaire/
12
*/
13
 
14
/**
15
 * Controleur chargé de la propagation et le rassemblement d'informations extérieures
16
 * lors dce la consultation et modification des fiches utilisateurs
17
 */
18
Class ApplicationExterneControleur extends Controleur {
19
 
56 aurelien 20
	private $applications_resume = null;
21
	private $applications_gestion = null;
33 aurelien 22
	private $repertoire_applications = null;
56 aurelien 23
	private $mode_reponse = 'json';
33 aurelien 24
 
25
	public function ApplicationExterneControleur() {
26
 
27
		$this->__construct();
28
 
29
		// on charge les variables de classes à partir du fichier de configuration
56 aurelien 30
		if(Config::get('url_services_applications_resume') != null) {
33 aurelien 31
 
56 aurelien 32
			$application_str = Config::get('url_services_applications_resume');
33
			$this->applications_resume = explode('##',$application_str);
33 aurelien 34
		} else {
56 aurelien 35
			$this->applications_resume = array();
33 aurelien 36
		}
37
 
56 aurelien 38
		// on charge les variables de classes à partir du fichier de configuration
39
		if(Config::get('url_services_applications_gestion') != null) {
40
 
41
			$application_str = Config::get('url_services_applications_gestion');
42
			$this->applications_gestion = explode('##',$application_str);
33 aurelien 43
		} else {
56 aurelien 44
			$this->applications_gestion = array();
33 aurelien 45
		}
46
	}
47
 
48
	/**
49
	 * Parcourt le repertoire racine des application et cherche un fichier spécifique pour l'inscription
50
	 * et l'inclut, le cas échéant.
51
	 * @param l'identifiant de l'utilisateur
52
	 * @param le mail de l'utilisateur
53
	 */
54
	public function ajouterInscription($id_utilisateur, $mail) {
55
 
56
		return true;
57
	}
58
 
59
 
60
	/**
61
	 * Parcourt le repertoire racine des application et cherche un fichier spécifique pour la modification
62
	 * et l'inclut, le cas échéant.
63
	 * @param l'identifiant de l'utilisateur
64
	 * @param le mail de l'utilisateur
65
	 */
66
	public function modifierInscription($id_utilisateur, $mail) {
56 aurelien 67
		return true;
33 aurelien 68
	}
69
 
70
	/**
71
	 * Parcourt le repertoire racine des application et cherche un fichier spécifique pour la suppression
72
	 * et l'inclut, le cas échéant.
73
	 * @param l'identifiant de l'utilisateur
74
	 * @param le mail de l'utilisateur
75
	 */
76
	public function supprimerInscription($id_utilisateur, $mail) {
56 aurelien 77
		return true;
78
	}
33 aurelien 79
 
56 aurelien 80
	/**
81
	 * Parcourt le repertoire racine des applications et appelle un web service contenant la méthode
82
	 * Resume qui renvoie les informations associées à l'utilisateur qui seront affichées dans la fiche
83
	 * de profil
84
	 * @param l'identifiant de l'utilisateur
85
	 * @param le mail de l'utilisateur
86
	 * @return array un tableau associatif dont les clés sont les noms des applis et les valeurs sont le html qui sera
87
	 * inclus dans la fiche profil
88
	 */
89
	public function obtenirResume($id_utilisateur, $mail) {
33 aurelien 90
 
56 aurelien 91
		$resumes = array();
33 aurelien 92
 
56 aurelien 93
		if(count($this->applications_resume) > 0) {
94
			foreach($this->applications_resume as $application) {
95
 
96
				$resume = @file_get_contents($application.'Resume'.DS.$id_utilisateur.DS.$mail);
97
 
98
 
99
				if($resume) {
100
					$resume = json_decode($resume, true);
101
					//print_r($resume);
102
					$resumes[] = $resume;
103
				} else {
104
					echo $application.'Resume'.DS.$id_utilisateur.DS.$mail;
33 aurelien 105
				}
106
			}
107
		}
108
 
56 aurelien 109
		return $resumes;
33 aurelien 110
	}
111
 
56 aurelien 112
	 /** Parcourt le repertoire racine des applications et cherche un fichier spécifique contenant la méthode
33 aurelien 113
	 * obtenirResume qui renvoie les informations associées à l'utilisateur qui seront affichées dans la fiche
114
	 * de profil
115
	 * @param l'identifiant de l'utilisateur
116
	 * @param le mail de l'utilisateur
117
	 * @return array un tableau associatif dont les clés sont les noms des applis et les valeurs sont le html qui sera
118
	 * inclus dans la fiche profil
119
	 */
56 aurelien 120
	public function gererInscription($id_utilisateur, $mail) {
33 aurelien 121
 
56 aurelien 122
		$gestions = array();
33 aurelien 123
 
56 aurelien 124
		if(count($this->applications_gestion) > 0) {
125
			foreach($this->applications_gestion as $application) {
33 aurelien 126
 
56 aurelien 127
				$gestion = file_get_contents($application.'Gestion'.DS.$id_utilisateur.DS.$mail);
33 aurelien 128
 
56 aurelien 129
				if($gestion) {
130
					$gestion = json_decode($gestion, true);
131
					$gestions[] = $gestion;
132
				} else {
133
					echo $application.'Gestion'.DS.$id_utilisateur.DS.$mail;
33 aurelien 134
				}
135
			}
136
		}
137
 
56 aurelien 138
		return $gestions;
33 aurelien 139
	}
140
}
141
 
142
 
143
?>