Subversion Repositories Applications.annuaire

Rev

Rev 33 | Rev 63 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 33 Rev 56
Line 15... Line 15...
15
 * Controleur chargé de la propagation et le rassemblement d'informations extérieures
15
 * Controleur chargé de la propagation et le rassemblement d'informations extérieures
16
 * lors dce la consultation et modification des fiches utilisateurs
16
 * lors dce la consultation et modification des fiches utilisateurs
17
 */
17
 */
18
Class ApplicationExterneControleur extends Controleur {
18
Class ApplicationExterneControleur extends Controleur {
Line 19... Line 19...
19
 
19
 
-
 
20
	private $applications_resume = null;
20
	private $applications = null;
21
	private $applications_gestion = null;
-
 
22
	private $repertoire_applications = null;
Line 21... Line 23...
21
	private $repertoire_applications = null;
23
	private $mode_reponse = 'json';
Line 22... Line 24...
22
 
24
 
Line 23... Line 25...
23
	public function ApplicationExterneControleur() {
25
	public function ApplicationExterneControleur() {
24
 
26
 
Line 25... Line 27...
25
		$this->__construct();
27
		$this->__construct();
26
 
28
 
27
		// on charge les variables de classes à partir du fichier de configuration
29
		// on charge les variables de classes à partir du fichier de configuration
28
		if(Config::get('applications_externes') != null) {
30
		if(Config::get('url_services_applications_resume') != null) {
29
 
31
 
Line -... Line 32...
-
 
32
			$application_str = Config::get('url_services_applications_resume');
30
			$application_str = Config::get('applications_externes');
33
			$this->applications_resume = explode('##',$application_str);
-
 
34
		} else {
31
			$this->applications = explode(';;',$application_str);
35
			$this->applications_resume = array();
-
 
36
		}
32
		} else {
37
 
33
			$this->applications = array();
38
		// on charge les variables de classes à partir du fichier de configuration
34
		}
39
		if(Config::get('url_services_applications_gestion') != null) {
35
 
40
 
Line 36... Line 41...
36
		if(Config::get('repertoire_applications_externes') != null) {
41
			$application_str = Config::get('url_services_applications_gestion');
37
			$this->repertoire_applications = Config::get('repertoire_applications_externes');
42
			$this->applications_gestion = explode('##',$application_str);
Line 46... Line 51...
46
	 * @param l'identifiant de l'utilisateur
51
	 * @param l'identifiant de l'utilisateur
47
	 * @param le mail de l'utilisateur
52
	 * @param le mail de l'utilisateur
48
	 */
53
	 */
49
	public function ajouterInscription($id_utilisateur, $mail) {
54
	public function ajouterInscription($id_utilisateur, $mail) {
Line 50... Line -...
50
 
-
 
51
		$d = dir($this->repertoire_applications);
-
 
52
 
-
 
53
		$msg = '';
-
 
54
 
-
 
55
		// parcours du répertoire des appli
-
 
56
		while (false !== ($repertoire = $d->read())) {
-
 
57
			if ($repertoire != '.' || $repertoire != '..') {
-
 
58
				// on recherche un fichier de la forme nom_appli_inscription.inc.php
-
 
59
				if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.inscription.inc.php')) {
-
 
60
					include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.inscription.inc.php' ;
-
 
61
				}
-
 
62
			}
-
 
63
			if ($msg != '') $res .= $msg;
-
 
64
		}
-
 
65
 
-
 
66
		if($msg != '') {
-
 
67
			$msg = 'Attention certaines erreurs se son produites lors de l\'inscription '.$msg;
-
 
68
			trigger_error($msg, E_USER_WARNING);
-
 
69
		}
-
 
70
 
-
 
71
		$d->close();
-
 
72
 
55
 
73
		return true;
56
		return true;
Line 74... Line 57...
74
	}
57
	}
Line 79... Line 62...
79
	 * et l'inclut, le cas échéant.
62
	 * et l'inclut, le cas échéant.
80
	 * @param l'identifiant de l'utilisateur
63
	 * @param l'identifiant de l'utilisateur
81
	 * @param le mail de l'utilisateur
64
	 * @param le mail de l'utilisateur
82
	 */
65
	 */
83
	public function modifierInscription($id_utilisateur, $mail) {
66
	public function modifierInscription($id_utilisateur, $mail) {
84
		$d = dir($this->repertoire_applications);
-
 
85
 
-
 
86
		$msg = '';
67
		return true;
87
 
-
 
88
		while (false !== ($repertoire = $d->read())) {
-
 
89
			if ($repertoire != '.' || $repertoire != '..') {
-
 
90
				if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.modification.inc.php')) {
-
 
91
					include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.modification.inc.php' ;
-
 
92
				}
-
 
93
			}
-
 
94
			if ($msg != '') $res .= $msg;
-
 
95
		}
-
 
96
 
-
 
97
		if($msg != '') {
-
 
98
			$msg = 'Attention certaines erreurs se sont produites lors de la modification de l\'inscription '.$msg;
-
 
99
			trigger_error($msg, E_USER_WARNING);
-
 
100
		}
-
 
101
 
-
 
102
		$d->close();
-
 
103
	}
68
	}
Line 104... Line 69...
104
 
69
 
105
	/**
70
	/**
106
	 * Parcourt le repertoire racine des application et cherche un fichier spécifique pour la suppression
71
	 * Parcourt le repertoire racine des application et cherche un fichier spécifique pour la suppression
107
	 * et l'inclut, le cas échéant.
72
	 * et l'inclut, le cas échéant.
108
	 * @param l'identifiant de l'utilisateur
73
	 * @param l'identifiant de l'utilisateur
109
	 * @param le mail de l'utilisateur
74
	 * @param le mail de l'utilisateur
110
	 */
75
	 */
-
 
76
	public function supprimerInscription($id_utilisateur, $mail) {
-
 
77
		return true;
Line -... Line 78...
-
 
78
	}
-
 
79
 
-
 
80
	/**
-
 
81
	 * Parcourt le repertoire racine des applications et appelle un web service contenant la méthode
111
	public function supprimerInscription($id_utilisateur, $mail) {
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) {
Line 112... Line 90...
112
 
90
 
-
 
91
		$resumes = array();
Line 113... Line 92...
113
		$d = dir($this->repertoire_applications);
92
 
-
 
93
		if(count($this->applications_resume) > 0) {
-
 
94
			foreach($this->applications_resume as $application) {
-
 
95
 
114
 
96
				$resume = @file_get_contents($application.'Resume'.DS.$id_utilisateur.DS.$mail);
115
		$msg = '';
97
 
-
 
98
 
-
 
99
				if($resume) {
116
 
100
					$resume = json_decode($resume, true);
117
		while (false !== ($repertoire = $d->read())) {
101
					//print_r($resume);
118
			if ($repertoire != '.' || $repertoire != '..') {
102
					$resumes[] = $resume;
119
				if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.desinscription.inc.php')) {
-
 
120
					include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.desinscription.inc.php' ;
103
				} else {
Line 121... Line -...
121
				}
-
 
122
			}
-
 
123
			if ($msg != '') $res .= $msg;
-
 
124
		}
-
 
125
 
-
 
126
		if($msg != '') {
104
					echo $application.'Resume'.DS.$id_utilisateur.DS.$mail;
127
			$msg = 'Attention certaines erreurs se sont produites lors de la desinscription '.$msg;
105
				}
Line 128... Line -...
128
			trigger_error($msg, E_USER_WARNING);
-
 
129
		}
106
			}
130
 
107
		}
131
		$d->close();
108
 
132
	}
109
		return $resumes;
133
 
110
	}
134
	/**
111
 
135
	 * Parcourt le repertoire racine des applications et cherche un fichier spécifique contenant la méthode
112
	 /** Parcourt le repertoire racine des applications et cherche un fichier spécifique contenant la méthode
136
	 * obtenirResume qui renvoie les informations associées à l'utilisateur qui seront affichées dans la fiche
113
	 * obtenirResume qui renvoie les informations associées à l'utilisateur qui seront affichées dans la fiche
137
	 * de profil
114
	 * de profil
Line 138... Line 115...
138
	 * @param l'identifiant de l'utilisateur
115
	 * @param l'identifiant de l'utilisateur
Line -... Line 116...
-
 
116
	 * @param le mail de l'utilisateur
139
	 * @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
Line 140... Line -...
140
	 * @return array un tableau associatif dont les clés sont les noms des applis et les valeurs sont le html qui sera
-
 
141
	 * inclus dans la fiche profil
-
 
142
	 */
-
 
143
	public function obtenirResume($id_utilisateur, $mail) {
118
	 * inclus dans la fiche profil
144
 
119
	 */
145
		$d = dir($this->repertoire_applications);
120
	public function gererInscription($id_utilisateur, $mail) {
146
 
-
 
147
		$resumes = array();
121
 
148
 
122
		$gestions = array();
-
 
123
 
149
		while (false !== ($repertoire = $d->read())) {
124
		if(count($this->applications_gestion) > 0) {
150
			if ($repertoire != '.' || $repertoire != '..') {
-
 
151
				if (file_exists($this->repertoire_applications.$repertoire.DS.$repertoire.'.resume.inc.php')) {
125
			foreach($this->applications_gestion as $application) {
152
					include_once $this->repertoire_applications.$repertoire.DS.$repertoire.'.resume.inc.php' ;
126
 
153
 
127
				$gestion = file_get_contents($application.'Gestion'.DS.$id_utilisateur.DS.$mail);
154
					if(class_exists($repertoire.'Resume')) {
-
 
Line 155... Line 128...
155
 
128
 
156
						$classe = $repertoire.'Resume';
129
				if($gestion) {
157
						$resume_appli = new $classe();
130
					$gestion = json_decode($gestion, true);
Line 158... Line 131...
158
						$resumes[$repertoire] = $resume_appli->obtenirResume($id_utilisateur, $mail);
131
					$gestions[] = $gestion;