Subversion Repositories Applications.annuaire

Rev

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

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