Subversion Repositories Applications.framework

Rev

Rev 236 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
236 jpm 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 * classe Controleur, pour l'application d'administration des administrateurs
5
 *
6
 * PHP Version 5
7
 *
8
 * @package   Framework
9
 * @category  Class
10
 * @author	aurelien <aurelien@tela-botanica.org>
11
 * @copyright 2009 Tela-Botanica
12
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @version   SVN: $$Id: AdminAdministrateur.php 236 2010-11-23 12:31:08Z jpm $$
15
 * @link	  /doc/framework/
16
 *
17
 */
18
class AdminAdministrateur extends Controleur {
19
 
20
	/**
21
	 * Fonction d'affichage par défaut, elle appelle la liste des administrateurs
22
	 */
23
	public function index() {
24
		$this->charger_admin();
25
	}
26
 
27
	/**
28
	 * Charge la liste des administrateurs et l'envoie à la vue
29
	 * @param array un tableau contenant les erreurs à afficher s'il y en a
30
	 * @return string la vue correspondante
31
	 */
32
	public function chargerAdmin($erreurs = array()) {
33
		$this->chargerModele('ListeAdmin');
34
		$data['url'] = new Url(Config::get('url_base'));
35
		$data['erreurs'] = $erreurs;
36
		$data['admin'] = $this->ListeAdmin->chargerAdmin();
37
		$html = $this->getVue('liste_admin', $data);
38
 
39
		return $html;
40
	}
41
 
42
	/**
43
	 * Charge les détails d'un administrateur demandé et l'envoi à la
44
	 * vue qui permet de les modifier
45
	 * @id string l'id de l'administrateur à modifier
46
	 * @return string la vue correspondante
47
	 */
48
	public function modifAdmin($id) {
49
		$this->chargerModele('ListeAdmin');
50
		$data['admin'] = $this->ListeAdmin->loadDetailsAdmin($id);
51
		$html = $this->getVue('modif_admin',$data);
52
 
53
		return $html;
54
	}
55
 
56
	/**
57
	 * Fonction appelée lors de la validation du formulaire de modification
58
	 * des détails d'un administrateurs. Elle modifie les détails dans la base
59
	 * de données. S'il y a une erreur et rappelle la formulaire et notifie l'erreur,
60
	 * sinon elle charge la liste des administrateurs
61
	 * @param string l'identifiant de l'administrateur
62
	 * @param string le nom
63
	 * @param string le prénom
64
	 * @param string le mail
65
	 * @param string le mot de passe
66
	 * @param string la confirmation du mot de passe
67
	 * @return string la vue correspondante
68
	 */
69
	public function modifAdminVa($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf) {
70
		$this->chargerModele('ListeAdmin') ;
71
		$res = $this->ListeAdmin->modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf);
72
 
73
		if (count($res) == 0) {
74
			return $this->chargerAdmin();
75
		} else {
76
			$admin['ga_id_administrateur'] = $id;
77
			$admin['ga_nom'] = $nom;
78
			$admin['ga_prenom'] = $prenom;
79
			$admin['ga_mail']  = $mail;
80
			$admin['ga_ce_i18n'] = $lang;
81
			$data['admin'] = $admin;
82
			$data['erreurs'] = $res;
83
			$html = $this->getVue('modif_admin', $data);
84
			return $html;
85
		}
86
	}
87
 
88
	/**
89
	 * Supprime un administrateur dans la base de données,
90
	 * renvoie la liste des administrateurs, en affichant des erreurs
91
	 * s'il y en a.
92
	 * @return string la vue contenant la liste des administrateurs
93
	 *
94
	 */
95
	public function supprAdmin($id) {
96
		$this->chargerModele('ListeAdmin');
97
		$res = $this->ListeAdmin->suppAdmin($id);
98
		if ($res == '') {
99
			return $this->chargerAdmin();
100
		} else {
101
			$erreurs['supp'] = $res;
102
			return $this->chargerAdmin($erreurs);
103
		}
104
	}
105
 
106
	/**
107
	 * Appelle la vue contenant le formulaire d'ajout d'un administrateur
108
	 * @return string la vue contenant le formulaire d'ajout
109
	 */
110
	function ajoutAdmin() {
111
		$admin['ga_id_administrateur'] = '';
112
		$admin['ga_nom'] = '';
113
		$admin['ga_prenom'] = '';
114
		$admin['ga_mail']  = '';
115
		$admin['ga_ce_i18n'] = '';
116
		$data['admin'] = $admin;
117
		$data['url'] = new Url(Config::get('url_base'));
118
		$html = $this->getVue('ajout_admin', $data);
119
 
120
		return $html;
121
	}
122
 
123
	/**
124
	 * Fonction appelée lors de la validation du formulaire d'ajout d'un administrateur.
125
	 * Elle ajoute celui-ci les dans la base de données
126
	 * S'il y a une erreur et rappelle la formulaire et notifie l'erreur,
127
	 * sinon elle charge la liste des administrateurs
128
	 * @param string le nom
129
	 * @param string le prénom
130
	 * @param string le mail
131
	 * @param string le mot de passe
132
	 * @param string la confirmation du mot de passe
133
	 * @return string la vue correspondante
134
	 */
135
	public function ajoutAdminVa($nom, $prenom, $mail, $lang, $pass, $pass_conf) {
136
		if (empty($nom) || empty($prenom) || empty($mail) || empty($pass) || empty($pass_conf)) {
137
			$data['url'] = new Url(Config::get('url_base'));
138
			$data['erreurs'] = array('champs' => 'Tous les champs sont obligatoires');
139
			$admin['ga_nom'] = $nom;
140
			$admin['ga_prenom'] = $prenom;
141
			$admin['ga_mail']  = $mail;
142
			$admin['ga_ce_i18n'] = $lang;
143
			$data['admin'] = $admin;
144
			$html = $this->getVue('ajout_admin', $data);
145
 
146
			return $html;
147
		} else {
148
			$this->chargerModele('ListeAdmin');
149
			$res = $this->ListeAdmin->ajoutAdmin($nom, $prenom, $mail, $lang, $pass, $pass_conf);
150
			if (count($res) == 0) {
151
				return $this->chargerAdmin();
152
			} else {
153
				$admin['ga_nom'] = $nom;
154
				$admin['ga_prenom'] = $prenom;
155
				$admin['ga_mail']  = $mail;
156
				$admin['ga_ce_i18n'] = $lang;
157
				$data['url'] = new Url(Config::get('url_base'));
158
				$data['admin'] = $admin;
159
				$data['erreurs'] = $res;
160
				$html = $this->getVue('ajout_admin', $data);
161
 
162
				return $html;
163
			}
164
		}
165
	}
166
 
167
	 /** Apelle le formulaire d'identification (dans le cas où l'utilisateur n'est pas identifié)
168
	  * @return string la vue permettant de s'identifier
169
	 */
170
	public function demanderIdent() {
171
		$html = $this->getVue('ident_admin', null);
172
		return $html;
173
	}
174
 
175
	/**
176
	 * Renvoie la tête de page de l'application
177
	 * @return string la tete de page de l'application
178
	 */
179
	public function adminTete() {
180
		$tete = '<h1>Gestion des administrateurs de Papyrus</h1>';
181
		return $tete;
182
	}
183
 
184
	/**
185
	 * Renvoie le pied de page de l'application
186
	 * @return string le pied de page de l'application
187
	 */
188
	public function adminPied() {
189
		$pied = '';
190
		return $pied;
191
	}
192
}
193
?>