Subversion Repositories Applications.framework

Rev

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

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