Subversion Repositories Applications.annuaire

Rev

Rev 7 | Rev 62 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 11
1
<?php
1
<?php
2
/**
2
/**
3
* PHP Version 5
3
* PHP Version 5
4
*
4
*
5
* @category  PHP
5
* @category  PHP
6
* @package   annuaire
6
* @package   annuaire
7
* @author    aurelien <aurelien@tela-botanica.org>
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2010 Tela-Botanica
8
* @copyright 2010 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
10
* @version   SVN: <svn_id>
11
* @link      /doc/annuaire/
11
* @link      /doc/annuaire/
12
*/
12
*/
13
 
13
 
14
class MetadonneeControleur extends Controleur {
14
class MetadonneeControleur extends Controleur {
15
 
15
 
16
	/**
16
	/**
17
	 * (fonction héritée de la classe Controleur)
17
	 * (fonction héritée de la classe Controleur)
18
	 * Avant chaque chargement de vue, on ajoute l'url de la page dans
18
	 * Avant chaque chargement de vue, on ajoute l'url de la page dans
19
	 * les variables à insérer.
19
	 * les variables à insérer.
20
	 * @param Array $donnes les données à insérer dans la vue
20
	 * @param Array $donnes les données à insérer dans la vue
21
	 * @return Array $donnees les données modifiées
21
	 * @return Array $donnees les données modifiées
22
	 */
22
	 */
23
	public function preTraiterDonnees($donnees) {
23
	public function preTraiterDonnees($donnees) {
24
		$donnees['base_url'] = Registre::getInstance()->get('base_url_application');
24
		$donnees['base_url'] = Registre::getInstance()->get('base_url_application');
25
		return $donnees;
25
		return $donnees;
26
	}
26
	}
27
 
27
 
28
	/**
28
	/**
29
	 * Charge la vue contenant les informations d'un annuaire géré par l'application
29
	 * Charge la vue contenant les informations d'un annuaire géré par l'application
30
	 * @param int $id l'annuaire dont on veut consulter les informations
30
	 * @param int $id l'annuaire dont on veut consulter les informations
31
	 * @return string la vue contenant les informations
31
	 * @return string la vue contenant les informations
32
	 */
32
	 */
33
	public function chargerAnnuaire($id) {
33
	public function chargerAnnuaire($id) {
34
		$this->chargerModele('AnnuaireModele');
34
		$this->chargerModele('AnnuaireModele');
35
		$this->chargerModele('MetadonneeModele');
35
		$this->chargerModele('MetadonneeModele');
36
		$data['erreurs'] = array();
36
		$data['erreurs'] = array();
37
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true);
37
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true);
38
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
38
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
39
		$annuaire = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire', $data);
39
		$annuaire = $this->getVue(Config::get('dossier_squelettes_annuaires').'annuaire', $data);
40
 
40
 
41
		return $annuaire;
41
		return $annuaire;
42
	}
42
	}
43
 
43
 
44
/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*/
44
/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*/
45
	/**
45
	/**
46
	 * Affiche le formulaire d'ajout d'une metadonnee
46
	 * Affiche le formulaire d'ajout d'une metadonnee
47
	 * @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)
47
	 * @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)
48
	 * @return string la vue contenant le formulaire
48
	 * @return string la vue contenant le formulaire
49
	 */
49
	 */
50
	public function afficherFormulaireAjoutMetadonnee($valeurs) {
50
	public function afficherFormulaireAjoutMetadonnee($valeurs) {
51
 
51
 
52
		if(!isset($valeurs['amc_nom'])) {
52
		if(!isset($valeurs['amc_nom'])) {
53
			$valeurs['amc_nom'] = '';
53
			$valeurs['amc_nom'] = '';
54
		}
54
		}
55
 
55
 
56
		if(!isset($valeurs['amc_abreviation'])) {
56
		if(!isset($valeurs['amc_abreviation'])) {
57
				$valeurs['amc_abreviation'] = '';
57
				$valeurs['amc_abreviation'] = '';
58
		}
58
		}
59
 
59
 
60
		if(!isset($valeurs['amc_description'])) {
60
		if(!isset($valeurs['amc_description'])) {
61
				$valeurs['amc_description'] = '';
61
				$valeurs['amc_description'] = '';
62
		}
62
		}
63
		$data['valeur'] = $valeurs;
63
		$data['valeur'] = $valeurs;
64
 
64
 
65
		$this->chargerModele('MetadonneeModele');
65
		$this->chargerModele('MetadonneeModele');
66
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
66
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
67
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
67
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
68
		$metadonnee_ajout = $this->getVue(config::get('chemin_squelettes_metadonnees').'metadonnee_ajout',$data);
68
		$metadonnee_ajout = $this->getVue(Config::get('dossier_squelettes_metadonnees').'metadonnee_ajout',$data);
69
 
69
 
70
		return $metadonnee_ajout;
70
		return $metadonnee_ajout;
71
	}
71
	}
72
 
72
 
73
	/**
73
	/**
74
	 * Affiche le formulaire de modification d'une metadonnee
74
	 * Affiche le formulaire de modification d'une metadonnee
75
	 * @param Array $valeurs les valeurs à inclure dans le formulaire
75
	 * @param Array $valeurs les valeurs à inclure dans le formulaire
76
	 * @return string la vue contenant le formulaire
76
	 * @return string la vue contenant le formulaire
77
	 */
77
	 */
78
	public function afficherFormulaireModificationMetadonnee($valeurs) {
78
	public function afficherFormulaireModificationMetadonnee($valeurs) {
79
 
79
 
80
		if(!isset($valeurs['amc_nom'])) {
80
		if(!isset($valeurs['amc_nom'])) {
81
			$valeurs['amc_nom'] = '';
81
			$valeurs['amc_nom'] = '';
82
		}
82
		}
83
 
83
 
84
		if(!isset($valeurs['amc_abreviation'])) {
84
		if(!isset($valeurs['amc_abreviation'])) {
85
				$valeurs['amc_abreviation'] = '';
85
				$valeurs['amc_abreviation'] = '';
86
		}
86
		}
87
 
87
 
88
		if(!isset($valeurs['amc_description'])) {
88
		if(!isset($valeurs['amc_description'])) {
89
				$valeurs['amc_description'] = '';
89
				$valeurs['amc_description'] = '';
90
		}
90
		}
91
		$data['valeur'] = $valeurs;
91
		$data['valeur'] = $valeurs;
92
 
92
 
93
		$this->chargerModele('MetadonneeModele');
93
		$this->chargerModele('MetadonneeModele');
94
		$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']);
94
		$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']);
95
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
95
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
96
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
96
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
97
		$metadonnee_modification = $this->getVue(config::get('chemin_squelettes_metadonnees').'metadonnee_modification',$data);
97
		$metadonnee_modification = $this->getVue(Config::get('dossier_squelettes_metadonnees').'metadonnee_modification',$data);
98
 
98
 
99
		return $metadonnee_modification;
99
		return $metadonnee_modification;
100
	}
100
	}
101
 
101
 
102
	/**
102
	/**
103
	 * Ajoute un nouveau champ de métadonnée à un annuaire
103
	 * Ajoute un nouveau champ de métadonnée à un annuaire
104
	 * @param Array $valeurs les valeurs à ajouter
104
	 * @param Array $valeurs les valeurs à ajouter
105
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
105
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
106
	 */
106
	 */
107
	public function ajouterNouvelleMetadonnee($valeurs) {
107
	public function ajouterNouvelleMetadonnee($valeurs) {
108
 
108
 
109
		if(isset($valeurs['amc_nom'])
109
		if(isset($valeurs['amc_nom'])
110
			&& isset($valeurs['amc_abreviation'])
110
			&& isset($valeurs['amc_abreviation'])
111
			&& isset($valeurs['amc_description'])
111
			&& isset($valeurs['amc_description'])
112
			&& isset($valeurs['amc_ce_annuaire'])
112
			&& isset($valeurs['amc_ce_annuaire'])
113
			&& isset($valeurs['amc_ce_type_affichage'])) {
113
			&& isset($valeurs['amc_ce_type_affichage'])) {
114
			$this->chargerModele('MetadonneeModele');
114
			$this->chargerModele('MetadonneeModele');
115
			$this->MetadonneeModele->ajouterNouvelleMetadonnee($valeurs);
115
			$this->MetadonneeModele->ajouterNouvelleMetadonnee($valeurs);
116
		} else  {
116
		} else  {
117
			return $this->afficherFormulaireAjoutMetadonnee($valeurs);
117
			return $this->afficherFormulaireAjoutMetadonnee($valeurs);
118
		}
118
		}
119
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
119
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
120
	}
120
	}
121
 
121
 
122
	/**
122
	/**
123
	 * Modifie un champ de métadonnée associé à un annuaire
123
	 * Modifie un champ de métadonnée associé à un annuaire
124
	 * @param Array $valeurs les valeurs à modifier
124
	 * @param Array $valeurs les valeurs à modifier
125
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
125
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
126
	 */
126
	 */
127
	public function modifierMetadonnee($valeurs) {
127
	public function modifierMetadonnee($valeurs) {
128
 
128
 
129
		if(isset($valeurs['amc_id_champ'])
129
		if(isset($valeurs['amc_id_champ'])
130
			&& isset($valeurs['amc_nom'])
130
			&& isset($valeurs['amc_nom'])
131
			&& isset($valeurs['amc_abreviation'])
131
			&& isset($valeurs['amc_abreviation'])
132
			&& isset($valeurs['amc_description'])
132
			&& isset($valeurs['amc_description'])
133
			&& isset($valeurs['amc_ce_annuaire'])
133
			&& isset($valeurs['amc_ce_annuaire'])
134
			&& isset($valeurs['amc_ce_type_affichage'])) {
134
			&& isset($valeurs['amc_ce_type_affichage'])) {
135
			$this->chargerModele('MetadonneeModele');
135
			$this->chargerModele('MetadonneeModele');
136
			$this->MetadonneeModele->modifierMetadonnee($valeurs);
136
			$this->MetadonneeModele->modifierMetadonnee($valeurs);
137
		} else  {
137
		} else  {
138
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
138
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
139
		}
139
		}
140
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
140
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
141
	}
141
	}
142
 
142
 
143
	/**
143
	/**
144
	 * Supprime un champ de métadonnée associé à un annuaire
144
	 * Supprime un champ de métadonnée associé à un annuaire
145
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
145
	 * @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec
146
	 */
146
	 */
147
	public function supprimerMetadonnee($id_metadonnee) {
147
	public function supprimerMetadonnee($id_metadonnee) {
148
 
148
 
149
		if(isset($valeurs['amc_id_champ'])) {
149
		if(isset($valeurs['amc_id_champ'])) {
150
			$this->chargerModele('MetadonneeModele');
150
			$this->chargerModele('MetadonneeModele');
151
			$this->MetadonneeModele->supprimerMetadonneeParId($id_metadonnee);
151
			$this->MetadonneeModele->supprimerMetadonneeParId($id_metadonnee);
152
		} else  {
152
		} else  {
153
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
153
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
154
		}
154
		}
155
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
155
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
156
	}
156
	}
157
 
157
 
158
}
158
}