Subversion Repositories Applications.annuaire

Rev

Rev 363 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 363 Rev 431
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Modèle d'accès à la base de données des listes
4
 * Modèle d'accès à la base de données des listes
5
 * d'ontologies
5
 * d'ontologies
6
 *
6
 *
7
 * PHP Version 5
7
 * PHP Version 5
8
 *
8
 *
9
 * @package   Framework
9
 * @package   Framework
10
 * @category  Class
10
 * @category  Class
11
 * @author	aurelien <aurelien@tela-botanica.org>
11
 * @author	aurelien <aurelien@tela-botanica.org>
12
 * @copyright 2009 Tela-Botanica
12
 * @copyright 2009 Tela-Botanica
13
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
14
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
15
 * @version   SVN: $$Id: ListeAdmin.php 128 2009-09-02 12:20:55Z aurelien $$
15
 * @version   SVN: $$Id: ListeAdmin.php 128 2009-09-02 12:20:55Z aurelien $$
16
 * @link	  /doc/framework/
16
 * @link	  /doc/framework/
17
 *
17
 *
18
 */
18
 */
19
class OntologieModele extends Modele {
19
class OntologieModele extends Modele {
20
 
20
 
21
	private $config = array();
21
	private $config = array();
22
 
22
 
23
	/**
23
	/**
24
	 * Charge la liste complète des listes
24
	 * Charge la liste complète des listes
25
	 * return array un tableau contenant des objets d'informations sur les listes
25
	 * return array un tableau contenant des objets d'informations sur les listes
26
	 * @return array un tableau d'objets contenant la liste des listes
26
	 * @return array un tableau d'objets contenant la liste des listes
27
	 */
27
	 */
28
   	public function chargerListeListes() {
28
   	public function chargerListeListes() {
29
		return $this->chargerListeOntologie(0);
29
		return $this->chargerListeOntologie(0);
30
	}
30
	}
31
 
31
 
32
 
32
 
33
	/**
33
	/**
34
	 * Charge une liste d'ontologie par son identifiant donné en paramètres
34
	 * Charge une liste d'ontologie par son identifiant donné en paramètres
35
	 * @param int l'identifiant de la liste dont on veut charger les élements
35
	 * @param int l'identifiant de la liste dont on veut charger les élements
36
	 * @return array un tableau contenant les éléments de la liste
36
	 * @return array un tableau contenant les éléments de la liste
37
	 */
37
	 */
38
   public function chargerListeOntologie($identifiant) {
38
   public function chargerListeOntologie($identifiant) {
39
   	
39
   	
40
   		$listes = array();
40
   		$listes = array();
41
   		if(trim($identifiant) != '') {
41
   		if(trim($identifiant) != '') {
42
   	
42
   	
43
			$requete = 	'SELECT * '.
43
			$requete = 	'SELECT * '.
44
						'FROM  annu_meta_ontologie '.
44
						'FROM  annu_meta_ontologie '.
45
						'WHERE amo_ce_parent = '.$identifiant.' '.
45
						'WHERE amo_ce_parent = '.$identifiant.' '.
46
						'ORDER BY amo_id_ontologie';
46
						'ORDER BY amo_id_ontologie';
47
			$resultat = $this->requeteTous($requete);
47
			$resultat = $this->requeteTous($requete);
48
			foreach ($resultat as $ligne) {
48
			foreach ($resultat as $ligne) {
49
				$listes[] = $ligne;
49
				$listes[] = $ligne;
50
			}
50
			}
51
   		}
51
   		}
52
		
52
		
53
		return $listes;
53
		return $listes;
54
	}
54
	}
55
 
55
 
56
	/**
56
	/**
57
	 * Charge les informations concernant une liste d'ontologie
57
	 * Charge les informations concernant une liste d'ontologie
58
	 * @param int l'identifiant de la liste dont on veut les informations
58
	 * @param int l'identifiant de la liste dont on veut les informations
59
	 * @return array un tableau contenant les infos sur la liste
59
	 * @return array un tableau contenant les infos sur la liste
60
	 */
60
	 */
61
   	public function chargerInformationsOntologie($identifiant) {
61
   	public function chargerInformationsOntologie($identifiant) {
62
   		
62
   		
63
   		if(trim($identifiant) == '') {
63
   		if(trim($identifiant) == '') {
64
   			return array();
64
   			return array();
65
   		}
65
   		}
66
   		
66
   		
67
		$requete = 	'SELECT * '.
67
   		$requete = 	'SELECT * '.
68
					'FROM  annu_meta_ontologie '.
68
					'FROM  annu_meta_ontologie '.
69
					'WHERE amo_id_ontologie = '.$identifiant;
69
					'WHERE amo_id_ontologie = '.$identifiant;
70
		$resultat = $this->requeteTous($requete);
70
		$resultat = $this->requeteTous($requete);
71
		$ontologie = array();
71
		$ontologie = array();
72
 
72
 
73
		if(!$resultat) {
73
		if(!$resultat) {
74
		} else {
74
		} else {
75
			foreach ($resultat as $ligne) {
75
			foreach ($resultat as $ligne) {
76
				$ontologie = $ligne;
76
				$ontologie = $ligne;
77
			}
77
			}
78
		}
78
		}
79
		return $ontologie;
79
		return $ontologie;
80
	}
80
	}
81
 
81
 
82
	/**
82
	/**
83
	 * Ajoute une nouvelle liste d'ontologie
83
	 * Ajoute une nouvelle liste d'ontologie
84
	 * @param array un tableau de valeurs
84
	 * @param array un tableau de valeurs
85
	 * @return boolean true ou false selon le succès de la requete
85
	 * @return boolean true ou false selon le succès de la requete
86
	 */
86
	 */
87
	public function ajouterNouvelleListeOntologie($valeurs) {
87
	public function ajouterNouvelleListeOntologie($valeurs) {
88
 
88
 
89
		$parent = $this->proteger($valeurs['amo_ce_parent']);
89
		$parent = $this->proteger($valeurs['amo_ce_parent']);
90
		$nom = $this->proteger($valeurs['amo_nom']);
90
		$nom = $this->proteger($valeurs['amo_nom']);
91
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
91
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
92
		$description = $this->proteger($valeurs['amo_description']);
92
		$description = $this->proteger($valeurs['amo_description']);
93
 
93
 
94
		$requete = 'INSERT INTO annu_meta_ontologie '.
94
		$requete = 'INSERT INTO annu_meta_ontologie '.
95
					'(amo_ce_parent, amo_nom, amo_abreviation, amo_description) '.
95
					'(amo_ce_parent, amo_nom, amo_abreviation, amo_description) '.
96
					'VALUES ('.$parent.', '.$nom.','.$abreviation.','.$description.')';
96
					'VALUES ('.$parent.', '.$nom.','.$abreviation.','.$description.')';
97
 
97
 
98
		return $this->requete($requete);
98
		return $this->requete($requete);
99
	}
99
	}
100
 
100
 
101
	/**
101
	/**
102
	 * Modifie une liste d'ontologie
102
	 * Modifie une liste d'ontologie
103
	 * @param array un tableau de valeurs
103
	 * @param array un tableau de valeurs
104
	 * @return boolean true ou false selon le succès de la requete
104
	 * @return boolean true ou false selon le succès de la requete
105
	 */
105
	 */
106
	public function modifierListeOntologie($valeurs) {
106
	public function modifierListeOntologie($valeurs) {
107
 
107
 
108
		$id = $this->proteger($valeurs['amo_id_ontologie']);
108
		$id = $this->proteger($valeurs['amo_id_ontologie']);
109
		$nom = $this->proteger($valeurs['amo_nom']);
109
		$nom = $this->proteger($valeurs['amo_nom']);
110
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
110
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
111
		$description = $this->proteger($valeurs['amo_description']);
111
		$description = $this->proteger($valeurs['amo_description']);
112
 
112
 
113
		$requete = 'UPDATE annu_meta_ontologie '.
113
		$requete = 'UPDATE annu_meta_ontologie '.
114
					'SET '.
114
					'SET '.
115
					'amo_nom='.$nom.', '.
115
					'amo_nom='.$nom.', '.
116
					'amo_abreviation='.$abreviation.', '.
116
					'amo_abreviation='.$abreviation.', '.
117
					'amo_description='.$description.' '.
117
					'amo_description='.$description.' '.
118
					'WHERE amo_id_ontologie ='.$id;
118
					'WHERE amo_id_ontologie ='.$id;
119
 
119
 
120
		return $this->requete($requete);
120
		return $this->requete($requete);
121
	}
121
	}
122
 
122
 
123
	/**
123
	/**
124
	 * Supprime une liste d'ontologie et toutes ses valeurs filles
124
	 * Supprime une liste d'ontologie et toutes ses valeurs filles
125
	 * @param array un identifiant de liste
125
	 * @param array un identifiant de liste
126
	 * @return boolean true ou false selon le succès de la requete
126
	 * @return boolean true ou false selon le succès de la requete
127
	 */
127
	 */
128
	public function supprimerListeOntologie($id) {
128
	public function supprimerListeOntologie($id) {
129
 
129
 
130
		$id = $this->proteger($id);
130
		$id = $this->proteger($id);
131
 
131
 
132
		$requete_suppression_liste = 'DELETE FROM annu_meta_ontologie '.
132
		$requete_suppression_liste = 'DELETE FROM annu_meta_ontologie '.
133
					'WHERE amo_id_ontologie ='.$id;
133
					'WHERE amo_id_ontologie ='.$id;
134
 
134
 
135
		$requete_suppression_fils = 'DELETE FROM annu_meta_ontologie '.
135
		$requete_suppression_fils = 'DELETE FROM annu_meta_ontologie '.
136
					'WHERE amo_ce_parent ='.$id;
136
					'WHERE amo_ce_parent ='.$id;
137
 
137
 
138
		return ($this->requete($requete_suppression_liste) && $this->requete($requete_suppression_fils));
138
		return ($this->requete($requete_suppression_liste) && $this->requete($requete_suppression_fils));
139
 
139
 
140
	}
140
	}
141
 
141
 
142
}
142
}
143
?>
143
?>