Subversion Repositories Applications.annuaire

Rev

Rev 29 | Rev 120 | 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
 
14
class OntologieControleur extends Controleur {
15
 
5 aurelien 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
	 */
4 aurelien 23
	public function preTraiterDonnees($donnees) {
24
		$donnees['base_url'] = Registre::getInstance()->get('base_url_application');
96 aurelien 25
		$donnees['base_url_styles'] = new Url(Config::get('base_url_styles'));
4 aurelien 26
		return $donnees;
27
	}
28
 
29
/**--------Fonctions de gestion des ontologies --------------------------------*/
5 aurelien 30
 
31
	/**
32
	 * charge et renvoie la vue contenant la liste des listes
33
	 * @return string le html contenant la liste des listes
34
	 */
4 aurelien 35
	public function chargerListeListe() {
36
 
37
		$this->chargerModele('OntologieModele');
38
		$data['ontologie'] = $this->OntologieModele->chargerListeListes();
39
		$data['titre'] = 'Liste des listes';
11 aurelien 40
		$liste_des_listes = $this->getVue(Config::get('dossier_squelettes_ontologies').'liste_des_listes', $data);
4 aurelien 41
 
7 aurelien 42
		return $liste_des_listes;
4 aurelien 43
	}
44
 
5 aurelien 45
	/**
46
	 * charge et renvoie la vue contenant la liste ontologie et ses éléments dont l'identifiant est passé en paramètre
47
	 * @param int $identifiant l'identifiant de la liste d'ontologie
48
	 * @return string le html contenant la liste et ses éléments
49
	 */
4 aurelien 50
	public function chargerListeOntologie($identifiant) {
51
 
52
		$this->chargerModele('OntologieModele');
53
 
54
		// On charge les informations de la liste (nom description etc...)
55
		$data['informations'] =  $this->OntologieModele->chargerInformationsOntologie($identifiant);
56
		$data['ontologie'] = $this->OntologieModele->chargerListeOntologie($identifiant);
57
 
11 aurelien 58
		$liste_ontologie = $this->getVue(Config::get('dossier_squelettes_ontologies').'liste_ontologie', $data);
4 aurelien 59
 
7 aurelien 60
		return $liste_ontologie;
4 aurelien 61
	}
62
 
63
	/**
64
	 * Affiche le formulaire d'ajout de liste ontologie
5 aurelien 65
	 * @param Array $valeurs un tableau de valeurs (dans le cas du retour erreur)
66
	 * @return string le formulaire de liste d'ontologie
4 aurelien 67
	 */
68
	public function afficherFormulaireAjoutListeOntologie($valeurs) {
69
 
70
		if(!isset($valeurs['amo_nom'])) {
71
			$valeurs['amo_nom'] = '';
72
		}
73
 
74
		if(!isset($valeurs['amo_abreviation'])) {
75
				$valeurs['amo_abreviation'] = '';
76
		}
77
 
78
		if(!isset($valeurs['amo_description'])) {
79
				$valeurs['amo_description'] = '';
80
		}
81
 
82
		if(!isset($valeurs['amo_ce_parent'])) {
83
				$valeurs['amo_ce_parent'] = '';
84
		}
85
 
11 aurelien 86
		$liste_ontologie_ajout = $this->getVue(Config::get('dossier_squelettes_ontologies').'liste_ontologie_ajout', $valeurs);
7 aurelien 87
 
88
		return $liste_ontologie_ajout;
4 aurelien 89
	}
90
 
91
	/**
92
	 * Affiche le formulaire de modification de liste ontologie
5 aurelien 93
	 * @param Array un tableau de valeurs contenant l'id de la liste (et les élements pour le retour erreur)
94
	 * @return string le formulaire de modification ou la liste des liste si l'id est invalide
4 aurelien 95
	 */
5 aurelien 96
	public function afficherFormulaireModificationListeOntologie($id_ontologie) {
4 aurelien 97
 
5 aurelien 98
		if(trim($id_ontologie) != '') {
4 aurelien 99
			$this->chargerModele('OntologieModele');
5 aurelien 100
			$data['valeurs'] = $this->OntologieModele->chargerInformationsOntologie($id_ontologie);
11 aurelien 101
			$liste_ontologie_modification = $this->getVue(Config::get('dossier_squelettes_ontologies').'liste_ontologie_modification', $data);
7 aurelien 102
			return $liste_ontologie_modification;
5 aurelien 103
		} else {
104
			return $this->chargerListeListe();
4 aurelien 105
		}
106
	}
107
 
108
	/**
109
	 * Ajoute une nouvelle liste d'ontologie
5 aurelien 110
	 * @param Array $valeurs les valeurs à ajouter
111
	 * @return string la vue contenant la liste des liste, ou bien le formulaire d'ajout en cas d'erreur
4 aurelien 112
	 */
113
	public function ajouterNouvelleListeOntologie($valeurs) {
114
 
115
		if(isset($valeurs['amo_nom'])
116
			&& isset($valeurs['amo_abreviation'])
117
			&& isset($valeurs['amo_description'])
118
			&& isset($valeurs['amo_ce_parent'])) {
119
			$this->chargerModele('OntologieModele');
120
			$this->OntologieModele->ajouterNouvelleListeOntologie($valeurs);
121
		} else  {
122
			return $this->afficherFormulaireAjoutListeOntologie($valeurs);
123
		}
124
		return $this->chargerListeListe();
125
	}
126
 
127
	/**
128
	 * Affiche le formulaire d'ajout ou de modification de liste ontologie
5 aurelien 129
	 * @param Array $valeurs les valeurs à modifier
130
	 * @return String la vue contenant liste des liste, ou le formulaire de modification si erreur
4 aurelien 131
	 */
132
	public function modifierListeOntologie($valeurs) {
133
 
134
		if(isset($valeurs['amo_nom']) &&isset($valeurs['amo_abreviation']) && isset($valeurs['amo_description'])) {
135
			$this->chargerModele('OntologieModele');
136
			$this->OntologieModele->modifierListeOntologie($valeurs);
137
		} else  {
138
			// TODO: afficher une erreur si la modification n'a pas fonctionné
139
			return $this->afficherFormulaireListeOntologie($valeurs, true);
140
		}
141
 
142
		return $this->chargerListeListe();
143
	}
144
 
145
	/**
5 aurelien 146
	 * Supprime une liste d'ontologie
147
	 * @param int $id_ontologie l'identifant de la liste à supprimer
148
	 * @return string la vue contenant la liste des listes
4 aurelien 149
	 */
5 aurelien 150
	public function supprimerListeOntologie($id_ontologie) {
4 aurelien 151
 
5 aurelien 152
		if(trim($id_ontologie) != '') {
4 aurelien 153
			$this->chargerModele('OntologieModele');
5 aurelien 154
			$this->OntologieModele->supprimerListeOntologie($id_ontologie);
4 aurelien 155
		} else  {
156
			// TODO: afficher une erreur si la suppression n'a pas fonctionné
157
			return $this->chargerListeListe();
158
		}
159
		return $this->chargerListeListe();
160
	}
161
}
162
?>