Subversion Repositories eFlore/Applications.cel

Rev

Rev 631 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
416 aurelien 1
<?php
2
 
3
/**
4
 
5
 Aurelien Peronnet aurelienperonnet@gmail.com 2008
6
 
7
 Ce logiciel est r?gi par la licence CeCILL soumise au droit fran?ais et
8
 respectant les principes de diffusion des logiciels libres. Vous pouvez
9
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
10
 de la licence CeCILL telle que diffus?e par le CEA, le CNRS et l'INRIA
11
 sur le site "http://www.cecill.info".
12
 En contrepartie de l'accessibilit? au code source et des droits de copie,
13
 de modification et de redistribution accord?s par cette licence, il n'est
14
 offert aux utilisateurs qu'une garantie limit?e.  Pour les m?mes raisons,
15
 seule une responsabilit? restreinte p?se sur l'auteur du programme,  le
16
 titulaire des droits patrimoniaux et les conc?dants successifs.
17
 
18
 A cet ?gard  l'attention de l'utilisateur est attir?e sur les risques
19
 associ?s au chargement,  ? l'utilisation,  ? la modification et/ou au
20
 d?veloppement et ? la reproduction du logiciel par l'utilisateur ?tant
21
 donn? sa sp?cificit? de logiciel libre, qui peut le rendre complexe ?
22
 manipuler et qui le r?serve donc ? des d?veloppeurs et des professionnels
23
 avertis poss?dant  des  connaissances  informatiques approfondies.  Les
24
 utilisateurs sont donc invit?s ? charger  et  tester  l'ad?quation  du
25
 logiciel ? leurs besoins dans des conditions permettant d'assurer la
26
 s?curit? de leurs syst?mes et ou de leurs donn?es et, plus g?n?ralement,
27
 ? l'utiliser et l'exploiter dans les m?mes conditions de s?curit?.
28
 
29
 Le fait que vous puissiez acc?der ? cet en-t?te signifie que vous avez
30
 pris connaissance de la licence CeCILL, et que vous en avez accept? les
31
 termes.
32
 
33
 */
34
 
35
 
36
// in : utf8
37
// out : utf8
38
/*
39
 * InventoryImageLink.php
40
 *
41
 * Cas d'utilisation :
42
 * Service de liaisons d'images à des observations
43
 *
44
 * 2: Le service lie une ou plusieurs images à une ou plusieurs observations
45
 * 3: Le service renvoie les observations liées à une image
46
 */
47
 
48
 Class InventoryKeyWordObsLink extends DBAccessor {
49
 
50
	var $config;
51
 
52
	function InventoryKeyWordObsLink($config) {
53
 
54
		$this->config=$config;
55
	}
56
 
57
	// met à jour les associations entre images et observations
58
	function updateElement($uid,$pairs)
59
	{
60
		// Controle detournement utilisateur
61
	    session_start();
62
	 	if (($_SESSION['user']!="") && $_SESSION['user']['name']!=$uid[0]) {
63
	 		print "Acces interdit";
64
 			return;
65
     	}
66
 
67
     	$DB=$this->connectDB($this->config,'database_cel');
68
 
69
     	if(!isset($pairs['mots_cles']) || !isset($uid[1])) {
70
     		return;
71
     	}
72
 
73
     	if(isset($pairs['action'])) {
74
     		$action = $pairs['action'];
75
     	}
76
 
77
     	$valeur = $pairs['mots_cles'];
78
 
79
     	$valeur = trim($valeur, "null");
80
       	$valeur = trim($valeur, ";;");
81
 
82
     	$query="UPDATE cel_inventory SET " ;
83
		$query .= "mots_cles = CONCAT(IFNULL(mots_cles,''),'".$DB->escapeSimple($valeur).";') ";
84
		$query .= "WHERE ordre IN (".$uid[1].") AND identifiant = '".$DB->escapeSimple($uid[0])."'";
85
 
86
		echo $query;
87
 
88
		$res =& $DB->query($query);
89
 
90
        if (PEAR::isError($res)) {
91
        	$this->logger("CEL_bugs","Erreur d'ajout de plusieurs observations :".$res->getMessage()." ".$query);
92
        	die($res->getMessage());
93
        }
94
        echo $query;
95
 
96
        return	true;
97
	}
98
 
99
	function deleteElement($uid){
100
 
101
	 	// Controle detournement utilisateur
102
	    session_start();
103
	 	if (($_SESSION['user']!="") && $_SESSION['user']['name']!=$uid[0]) {
104
	 		print "Acces interdit";
105
 			return;
106
     	}
107
 
108
     	$DB=$this->connectDB($this->config,'database_cel');
109
 
110
     	if(!isset($uid[2]) || !isset($uid[1])) {
111
     		echo 'pas de mots clés';
112
     		return;
113
     	}
114
 
115
     	$valeur = $uid[2] ;
116
 
117
     	$valeur = trim($valeur, "null");
118
       	$valeur = trim($valeur, ";;");
119
 
120
     	$query="UPDATE cel_inventory SET " ;
121
		$chaine = $DB->escapeSimple($valeur);
122
 
123
		$query .= "mots_cles = REPLACE(REPLACE(mots_cles,'".$chaine."',''),';;',';') ";
124
		$query .= "WHERE ordre IN (".$uid[1].") AND identifiant = '".$DB->escapeSimple($uid[0])."'";
125
 
126
		$res =& $DB->query($query);
127
 
128
        if (PEAR::isError($res)) {
129
        	$this->logger("CEL_bugs","Erreur de suppression des mots clés de plusieurs observations :".$res->getMessage()." ".$query);
130
        	die($res->getMessage());
131
        }
132
 
133
        return true;
134
 
135
 
136
	}
137
 
138
}
139
?>