Subversion Repositories Applications.annuaire

Rev

Rev 96 | Rev 179 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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