Subversion Repositories Applications.annuaire

Rev

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