Subversion Repositories Applications.annuaire

Rev

Rev 147 | Details | Compare with Previous | Last modification | View Log | RSS feed

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