Subversion Repositories Applications.annuaire

Rev

Rev 147 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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