Subversion Repositories Applications.annuaire

Rev

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

Rev 4 Rev 5
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 la liste des annuaires gérés par l'application
29
	 * Charge la vue contenant la liste des annuaires gérés par l'application
30
	 * @return string la vue contenant la liste des annuaires
30
	 * @return string la vue contenant la liste des annuaires
31
	 */
31
	 */
32
	public function chargerAnnuaire($id) {
32
	public function chargerAnnuaire($id) {
33
		$this->chargerModele('AnnuaireModele');
33
		$this->chargerModele('AnnuaireModele');
34
		$this->chargerModele('MetadonneeModele');
34
		$this->chargerModele('MetadonneeModele');
35
		$data['erreurs'] = array();
35
		$data['erreurs'] = array();
36
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true);
36
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true);
37
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
37
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
38
		$this->chargerVue('annuaire', $data);
38
		$this->chargerVue('annuaire', $data);
39
 
39
 
40
		return $this->annuaire;
40
		return $this->annuaire;
41
	}
41
	}
42
 
42
 
43
/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*/
43
/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*/
44
	/**
44
	/**
45
	 * Affiche le formulaire d'ajout d'une metadonnee
45
	 * Affiche le formulaire d'ajout d'une metadonnee
46
	 * @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)
46
	 * @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)
47
	 */
47
	 */
48
	public function afficherFormulaireAjoutMetadonnee($valeurs) {
48
	public function afficherFormulaireAjoutMetadonnee($valeurs) {
49
 
49
 
50
		if(!isset($valeurs['amc_nom'])) {
50
		if(!isset($valeurs['amc_nom'])) {
51
			$valeurs['amc_nom'] = '';
51
			$valeurs['amc_nom'] = '';
52
		}
52
		}
53
 
53
 
54
		if(!isset($valeurs['amc_abreviation'])) {
54
		if(!isset($valeurs['amc_abreviation'])) {
55
				$valeurs['amc_abreviation'] = '';
55
				$valeurs['amc_abreviation'] = '';
56
		}
56
		}
57
 
57
 
58
		if(!isset($valeurs['amc_description'])) {
58
		if(!isset($valeurs['amc_description'])) {
59
				$valeurs['amc_description'] = '';
59
				$valeurs['amc_description'] = '';
60
		}
60
		}
61
		$data['valeur'] = $valeurs;
61
		$data['valeur'] = $valeurs;
62
 
62
 
63
		$this->chargerModele('MetadonneeModele');
63
		$this->chargerModele('MetadonneeModele');
64
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
64
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
65
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
65
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
66
		$this->chargerVue('metadonnee_ajout',$data);
66
		$this->chargerVue('metadonnee_ajout',$data);
67
 
67
 
68
		return $this->metadonnee_ajout;
68
		return $this->metadonnee_ajout;
69
	}
69
	}
70
 
70
 
71
	/**
71
	/**
72
	 * Affiche le formulaire de modification d'une metadonnee
72
	 * Affiche le formulaire de modification d'une metadonnee
73
	 * @param Array $valeurs les valeurs à inclure dans le formulaire
73
	 * @param Array $valeurs les valeurs à inclure dans le formulaire
74
	 */
74
	 */
75
	public function afficherFormulaireModificationMetadonnee($valeurs) {
75
	public function afficherFormulaireModificationMetadonnee($valeurs) {
76
 
76
 
77
		if(!isset($valeurs['amc_nom'])) {
77
		if(!isset($valeurs['amc_nom'])) {
78
			$valeurs['amc_nom'] = '';
78
			$valeurs['amc_nom'] = '';
79
		}
79
		}
80
 
80
 
81
		if(!isset($valeurs['amc_abreviation'])) {
81
		if(!isset($valeurs['amc_abreviation'])) {
82
				$valeurs['amc_abreviation'] = '';
82
				$valeurs['amc_abreviation'] = '';
83
		}
83
		}
84
 
84
 
85
		if(!isset($valeurs['amc_description'])) {
85
		if(!isset($valeurs['amc_description'])) {
86
				$valeurs['amc_description'] = '';
86
				$valeurs['amc_description'] = '';
87
		}
87
		}
88
		$data['valeur'] = $valeurs;
88
		$data['valeur'] = $valeurs;
89
 
89
 
90
		$this->chargerModele('MetadonneeModele');
90
		$this->chargerModele('MetadonneeModele');
91
		$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']);
91
		$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']);
92
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
92
		$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();
93
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
93
		$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();
94
		$this->chargerVue('metadonnee_modification',$data);
94
		$this->chargerVue('metadonnee_modification',$data);
95
 
95
 
96
		return $this->metadonnee_modification;
96
		return $this->metadonnee_modification;
97
	}
97
	}
98
 
98
 
99
	/**
99
	/**
100
	 * Ajoute un nouveau champ de métadonnée à un annuaire
100
	 * Ajoute un nouveau champ de métadonnée à un annuaire
101
	 */
101
	 */
102
	public function ajouterNouvelleMetadonnee($valeurs) {
102
	public function ajouterNouvelleMetadonnee($valeurs) {
103
 
103
 
104
		if(isset($valeurs['amc_nom'])
104
		if(isset($valeurs['amc_nom'])
105
			&& isset($valeurs['amc_abreviation'])
105
			&& isset($valeurs['amc_abreviation'])
106
			&& isset($valeurs['amc_description'])
106
			&& isset($valeurs['amc_description'])
107
			&& isset($valeurs['amc_ce_annuaire'])
107
			&& isset($valeurs['amc_ce_annuaire'])
108
			&& isset($valeurs['amc_ce_type_affichage'])) {
108
			&& isset($valeurs['amc_ce_type_affichage'])) {
109
			$this->chargerModele('MetadonneeModele');
109
			$this->chargerModele('MetadonneeModele');
110
			$this->MetadonneeModele->ajouterNouvelleMetadonnee($valeurs);
110
			$this->MetadonneeModele->ajouterNouvelleMetadonnee($valeurs);
111
		} else  {
111
		} else  {
112
			return $this->afficherFormulaireAjoutMetadonnee($valeurs);
112
			return $this->afficherFormulaireAjoutMetadonnee($valeurs);
113
		}
113
		}
114
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
114
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
115
	}
115
	}
116
 
116
 
117
	/**
117
	/**
118
	 * Modifie un champ de métadonnée associé à un annuaire
118
	 * Modifie un champ de métadonnée associé à un annuaire
119
	 */
119
	 */
120
	public function modifierMetadonnee($valeurs) {
120
	public function modifierMetadonnee($valeurs) {
121
 
121
 
122
		if(isset($valeurs['amc_id_champ'])
122
		if(isset($valeurs['amc_id_champ'])
123
			&& isset($valeurs['amc_nom'])
123
			&& isset($valeurs['amc_nom'])
124
			&& isset($valeurs['amc_abreviation'])
124
			&& isset($valeurs['amc_abreviation'])
125
			&& isset($valeurs['amc_description'])
125
			&& isset($valeurs['amc_description'])
126
			&& isset($valeurs['amc_ce_annuaire'])
126
			&& isset($valeurs['amc_ce_annuaire'])
127
			&& isset($valeurs['amc_ce_type_affichage'])) {
127
			&& isset($valeurs['amc_ce_type_affichage'])) {
128
			$this->chargerModele('MetadonneeModele');
128
			$this->chargerModele('MetadonneeModele');
129
			$this->MetadonneeModele->modifierMetadonnee($valeurs);
129
			$this->MetadonneeModele->modifierMetadonnee($valeurs);
130
		} else  {
130
		} else  {
131
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
131
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
132
		}
132
		}
133
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
133
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
134
	}
134
	}
135
 
135
 
136
	/**
136
	/**
137
	 * Modifie un champ de métadonnée associé à un annuaire
137
	 * Modifie un champ de métadonnée associé à un annuaire
138
	 */
138
	 */
139
	public function supprimerMetadonnee($valeurs) {
139
	public function supprimerMetadonnee($valeurs) {
140
 
140
 
141
		if(isset($valeurs['amc_id_champ'])) {
141
		if(isset($valeurs['amc_id_champ'])) {
142
			$this->chargerModele('MetadonneeModele');
142
			$this->chargerModele('MetadonneeModele');
143
			$this->MetadonneeModele->supprimerMetadonnee($valeurs);
143
			$this->MetadonneeModele->supprimerMetadonnee($valeurs['amc_id_champ']);
144
		} else  {
144
		} else  {
145
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
145
			return $this->afficherFormulaireModificationMetadonnee($valeurs);
146
		}
146
		}
147
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
147
		return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
148
	}
148
	}
149
 
149
 
150
}
150
}