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