Subversion Repositories Applications.annuaire

Rev

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

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