Subversion Repositories eFlore/Applications.cel

Rev

Rev 631 | Details | Compare with Previous | 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'];
631 aurelien 78
 
79
     	$valeur = str_replace('null','',$valeur);
416 aurelien 80
     	$valeur = trim($valeur, "null");
81
       	$valeur = trim($valeur, ";;");
82
 
83
     	$query="UPDATE cel_inventory SET " ;
84
		$query .= "mots_cles = CONCAT(IFNULL(mots_cles,''),'".$DB->escapeSimple($valeur).";') ";
85
		$query .= "WHERE ordre IN (".$uid[1].") AND identifiant = '".$DB->escapeSimple($uid[0])."'";
86
 
87
		echo $query;
88
 
89
		$res =& $DB->query($query);
90
 
91
        if (PEAR::isError($res)) {
92
        	$this->logger("CEL_bugs","Erreur d'ajout de plusieurs observations :".$res->getMessage()." ".$query);
93
        	die($res->getMessage());
94
        }
95
        echo $query;
96
 
97
        return	true;
98
	}
99
 
100
	function deleteElement($uid){
101
 
102
	 	// Controle detournement utilisateur
103
	    session_start();
104
	 	if (($_SESSION['user']!="") && $_SESSION['user']['name']!=$uid[0]) {
105
	 		print "Acces interdit";
106
 			return;
107
     	}
108
 
109
     	$DB=$this->connectDB($this->config,'database_cel');
110
 
111
     	if(!isset($uid[2]) || !isset($uid[1])) {
112
     		echo 'pas de mots clés';
113
     		return;
114
     	}
115
 
116
     	$valeur = $uid[2] ;
117
 
118
     	$valeur = trim($valeur, "null");
119
       	$valeur = trim($valeur, ";;");
120
 
121
     	$query="UPDATE cel_inventory SET " ;
122
		$chaine = $DB->escapeSimple($valeur);
123
 
124
		$query .= "mots_cles = REPLACE(REPLACE(mots_cles,'".$chaine."',''),';;',';') ";
125
		$query .= "WHERE ordre IN (".$uid[1].") AND identifiant = '".$DB->escapeSimple($uid[0])."'";
126
 
127
		$res =& $DB->query($query);
128
 
129
        if (PEAR::isError($res)) {
130
        	$this->logger("CEL_bugs","Erreur de suppression des mots clés de plusieurs observations :".$res->getMessage()." ".$query);
131
        	die($res->getMessage());
132
        }
133
 
134
        return true;
135
 
136
 
137
	}
138
 
139
}
140
?>