Subversion Repositories Applications.annuaire

Rev

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