Subversion Repositories Applications.framework

Rev

Rev 128 | 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 233 2010-11-19 17:14:01Z jpm $$
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');
233 jpm 34
		$data['url'] = new Url(Config::get('url_base'));
5 aurelien 35
		$data['erreurs'] = $erreurs;
36
		$data['admin'] = $this->ListeAdmin->chargerAdmin();
233 jpm 37
		$html = $this->getVue('liste_admin', $data);
5 aurelien 38
 
233 jpm 39
		return $html;
5 aurelien 40
	}
100 jpm 41
 
5 aurelien 42
	/**
105 aurelien 43
	 * Charge les détails d'un administrateur demandé et l'envoi à la
5 aurelien 44
	 * vue qui permet de les modifier
105 aurelien 45
	 * @id string l'id de l'administrateur à modifier
5 aurelien 46
	 * @return string la vue correspondante
47
	 */
83 jpm 48
	public function modifAdmin($id) {
5 aurelien 49
		$this->chargerModele('ListeAdmin');
50
		$data['admin'] = $this->ListeAdmin->loadDetailsAdmin($id);
233 jpm 51
		$html = $this->getVue('modif_admin',$data);
100 jpm 52
 
233 jpm 53
		return $html;
5 aurelien 54
	}
100 jpm 55
 
5 aurelien 56
	/**
105 aurelien 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,
5 aurelien 60
	 * sinon elle charge la liste des administrateurs
128 aurelien 61
	 * @param string l'identifiant de l'administrateur
5 aurelien 62
	 * @param string le nom
105 aurelien 63
	 * @param string le prénom
5 aurelien 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
	 */
233 jpm 69
	public function modifAdminVa($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf) {
83 jpm 70
		$this->chargerModele('ListeAdmin') ;
233 jpm 71
		$res = $this->ListeAdmin->modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf);
100 jpm 72
 
5 aurelien 73
		if (count($res) == 0) {
128 aurelien 74
			return $this->chargerAdmin();
5 aurelien 75
		} else {
76
			$admin['ga_id_administrateur'] = $id;
77
			$admin['ga_nom'] = $nom;
78
			$admin['ga_prenom'] = $prenom;
100 jpm 79
			$admin['ga_mail']  = $mail;
5 aurelien 80
			$admin['ga_ce_i18n'] = $lang;
81
			$data['admin'] = $admin;
82
			$data['erreurs'] = $res;
233 jpm 83
			$html = $this->getVue('modif_admin', $data);
84
			return $html;
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;
233 jpm 117
		$data['url'] = new Url(Config::get('url_base'));
118
		$html = $this->getVue('ajout_admin', $data);
100 jpm 119
 
233 jpm 120
		return $html;
5 aurelien 121
	}
100 jpm 122
 
5 aurelien 123
	/**
105 aurelien 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
5 aurelien 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
105 aurelien 129
	 * @param string le prénom
5 aurelien 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
	 */
233 jpm 135
	public function ajoutAdminVa($nom, $prenom, $mail, $lang, $pass, $pass_conf) {
83 jpm 136
		if (empty($nom) || empty($prenom) || empty($mail) || empty($pass) || empty($pass_conf)) {
233 jpm 137
			$data['url'] = new Url(Config::get('url_base'));
138
			$data['erreurs'] = array('champs' => 'Tous les champs sont obligatoires');
83 jpm 139
			$admin['ga_nom'] = $nom;
140
			$admin['ga_prenom'] = $prenom;
100 jpm 141
			$admin['ga_mail']  = $mail;
83 jpm 142
			$admin['ga_ce_i18n'] = $lang;
143
			$data['admin'] = $admin;
233 jpm 144
			$html = $this->getVue('ajout_admin', $data);
100 jpm 145
 
233 jpm 146
			return $html;
5 aurelien 147
		} else {
233 jpm 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
			}
100 jpm 164
		}
5 aurelien 165
	}
100 jpm 166
 
105 aurelien 167
	 /** Apelle le formulaire d'identification (dans le cas où l'utilisateur n'est pas identifié)
5 aurelien 168
	  * @return string la vue permettant de s'identifier
169
	 */
83 jpm 170
	public function demanderIdent() {
233 jpm 171
		$html = $this->getVue('ident_admin', null);
172
		return $html;
5 aurelien 173
	}
100 jpm 174
 
5 aurelien 175
	/**
122 aurelien 176
	 * Renvoie la tête de page de l'application
5 aurelien 177
	 * @return string la tete de page de l'application
178
	 */
83 jpm 179
	public function adminTete() {
5 aurelien 180
		$tete = '<h1>Gestion des administrateurs de Papyrus</h1>';
181
		return $tete;
182
	}
100 jpm 183
 
5 aurelien 184
	/**
185
	 * Renvoie le pied de page de l'application
186
	 * @return string le pied de page de l'application
187
	 */
83 jpm 188
	public function adminPied() {
5 aurelien 189
		$pied = '';
190
		return $pied;
191
	}
192
}
83 jpm 193
?>