Subversion Repositories Applications.annuaire

Rev

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

Rev 79 Rev 121
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
		$requete = 	'SELECT * '.
39
		$requete = 	'SELECT * '.
40
					'FROM  annu_meta_ontologie '.
40
					'FROM  annu_meta_ontologie '.
41
					'WHERE amo_ce_parent = '.$identifiant.' '.
41
					'WHERE amo_ce_parent = '.$identifiant.' '.
42
					'ORDER BY amo_id_ontologie';
42
					'ORDER BY amo_id_ontologie';
43
		$resultat = $this->requeteTous($requete);
43
		$resultat = $this->requeteTous($requete);
44
		$listes = array();
44
		$listes = array();
45
		foreach ($resultat as $ligne) {
45
		foreach ($resultat as $ligne) {
46
			$listes[] = $ligne;
46
			$listes[] = $ligne;
47
		}
47
		}
48
		return $listes;
48
		return $listes;
49
	}
49
	}
50
 
50
 
51
	/**
51
	/**
52
	 * Charge les informations concernant une liste d'ontologie
52
	 * Charge les informations concernant une liste d'ontologie
53
	 * @param int l'identifiant de la liste dont on veut les informations
53
	 * @param int l'identifiant de la liste dont on veut les informations
54
	 * @return array un tableau contenant les infos sur la liste
54
	 * @return array un tableau contenant les infos sur la liste
55
	 */
55
	 */
56
   	public function chargerInformationsOntologie($identifiant) {
56
   	public function chargerInformationsOntologie($identifiant) {
57
		$requete = 	'SELECT * '.
57
		$requete = 	'SELECT * '.
58
					'FROM  annu_meta_ontologie '.
58
					'FROM  annu_meta_ontologie '.
59
					'WHERE amo_id_ontologie = '.$identifiant;
59
					'WHERE amo_id_ontologie = '.$identifiant;
60
		$resultat = $this->requeteTous($requete);
60
		$resultat = $this->requeteTous($requete);
61
		$ontologie = array();
61
		$ontologie = array();
62
 
62
 
63
		if(!$resultat) {
63
		if(!$resultat) {
64
		} else {
64
		} else {
65
			foreach ($resultat as $ligne) {
65
			foreach ($resultat as $ligne) {
66
				$ontologie = $ligne;
66
				$ontologie = $ligne;
67
			}
67
			}
68
		}
68
		}
69
		return $ontologie;
69
		return $ontologie;
70
	}
70
	}
71
 
71
 
72
	/**
72
	/**
73
	 * Ajoute une nouvelle liste d'ontologie
73
	 * Ajoute une nouvelle liste d'ontologie
74
	 * @param array un tableau de valeurs
74
	 * @param array un tableau de valeurs
75
	 * @return boolean true ou false selon le succès de la requete
75
	 * @return boolean true ou false selon le succès de la requete
76
	 */
76
	 */
77
	public function ajouterNouvelleListeOntologie($valeurs) {
77
	public function ajouterNouvelleListeOntologie($valeurs) {
78
 
78
 
79
		$parent = $this->proteger($valeurs['amo_ce_parent']);
79
		$parent = $this->proteger($valeurs['amo_ce_parent']);
80
		$nom = $this->proteger($valeurs['amo_nom']);
80
		$nom = $this->proteger($valeurs['amo_nom']);
81
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
81
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
82
		$description = $this->proteger($valeurs['amo_description']);
82
		$description = $this->proteger($valeurs['amo_description']);
83
 
83
 
84
		$requete = 'INSERT INTO annu_meta_ontologie '.
84
		$requete = 'INSERT INTO annu_meta_ontologie '.
85
					'(amo_ce_parent, amo_nom, amo_abreviation, amo_description) '.
85
					'(amo_ce_parent, amo_nom, amo_abreviation, amo_description) '.
86
					'VALUES ('.$parent.', '.$nom.','.$abreviation.','.$description.')';
86
					'VALUES ('.$parent.', '.$nom.','.$abreviation.','.$description.')';
87
 
87
 
88
		return $this->requete($requete);
88
		return $this->requete($requete);
89
	}
89
	}
90
 
90
 
91
	/**
91
	/**
92
	 * Modifie une liste d'ontologie
92
	 * Modifie une liste d'ontologie
93
	 * @param array un tableau de valeurs
93
	 * @param array un tableau de valeurs
94
	 * @return boolean true ou false selon le succès de la requete
94
	 * @return boolean true ou false selon le succès de la requete
95
	 */
95
	 */
96
	public function modifierListeOntologie($valeurs) {
96
	public function modifierListeOntologie($valeurs) {
97
 
97
 
98
		$id = $this->proteger($valeurs['amo_id_ontologie']);
98
		$id = $this->proteger($valeurs['amo_id_ontologie']);
99
		$nom = $this->proteger($valeurs['amo_nom']);
99
		$nom = $this->proteger($valeurs['amo_nom']);
100
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
100
		$abreviation = $this->proteger($valeurs['amo_abreviation']);
101
		$description = $this->proteger($valeurs['amo_description']);
101
		$description = $this->proteger($valeurs['amo_description']);
102
 
102
 
103
		$requete = 'UPDATE annu_meta_ontologie '.
103
		$requete = 'UPDATE annu_meta_ontologie '.
104
					'SET '.
104
					'SET '.
105
					'amo_nom='.$nom.', '.
105
					'amo_nom='.$nom.', '.
106
					'amo_abreviation='.$abreviation.', '.
106
					'amo_abreviation='.$abreviation.', '.
107
					'amo_description='.$description.' '.
107
					'amo_description='.$description.' '.
108
					'WHERE amo_id_ontologie ='.$id;
108
					'WHERE amo_id_ontologie ='.$id;
109
 
109
 
110
		return $this->requete($requete);
110
		return $this->requete($requete);
111
	}
111
	}
112
 
112
 
113
	/**
113
	/**
114
	 * Supprime une liste d'ontologie et toutes ses valeurs filles
114
	 * Supprime une liste d'ontologie et toutes ses valeurs filles
115
	 * @param array un identifiant de liste
115
	 * @param array un identifiant de liste
116
	 * @return boolean true ou false selon le succès de la requete
116
	 * @return boolean true ou false selon le succès de la requete
117
	 */
117
	 */
118
	public function supprimerListeOntologie($id) {
118
	public function supprimerListeOntologie($id) {
119
 
119
 
120
		$id = $this->proteger($id);
120
		$id = $this->proteger($id);
121
 
121
 
122
		$requete_suppression_liste = 'DELETE FROM annu_meta_ontologie '.
122
		$requete_suppression_liste = 'DELETE FROM annu_meta_ontologie '.
123
					'WHERE amo_id_ontologie ='.$id;
123
					'WHERE amo_id_ontologie ='.$id;
124
 
124
 
125
		$requete_suppression_fils = 'DELETE FROM annu_meta_ontologie '.
125
		$requete_suppression_fils = 'DELETE FROM annu_meta_ontologie '.
126
					'WHERE amo_ce_parent ='.$id;
126
					'WHERE amo_ce_parent ='.$id;
127
 
127
 
128
		return ($this->requete($requete_suppression_liste) && $this->requete($requete_suppression_fils));
128
		return ($this->requete($requete_suppression_liste) && $this->requete($requete_suppression_fils));
129
 
129
 
130
	}
130
	}
-
 
131
 
131
}
132
}
132
?>
133
?>