| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
/**
|
2 |
/**
|
| 3 |
* PHP Version 5.2
|
3 |
* PHP Version 5.2
|
| 4 |
*
|
4 |
*
|
| 5 |
* @category PHP
|
5 |
* @category CEL
|
| 6 |
* @package jrest
|
6 |
* @package Services
|
| - |
|
7 |
* @subpackage Bibliothèque
|
| 7 |
* @author Raphaël Droz <raphael@tela-botanica.org>
|
8 |
* @author Raphaël Droz <raphael@tela-botanica.org>
|
| 8 |
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
|
9 |
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
|
| 9 |
* @copyright 2010, 2013 Tela-Botanica
|
10 |
* @copyright 2010, 2013 Tela-Botanica
|
| 10 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
11 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
| 11 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
12 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
| Line 66... |
Line 67... |
| 66 |
$requete_insertion_observation = $requete_insertion_observation.$sous_requete_colonnes;
|
67 |
$requete_insertion_observation = $requete_insertion_observation.$sous_requete_colonnes;
|
| Line 67... |
Line 68... |
| 67 |
|
68 |
|
| 68 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete
|
69 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete
|
| 69 |
// contient des | (pipes) ce qui peut arriver dans les commentaires
|
70 |
// contient des | (pipes) ce qui peut arriver dans les commentaires
|
| 70 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
71 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
| Line 71... |
Line 72... |
| 71 |
$resultat_ajout_observation = Cel::db()->executerRequeteSimple($requete_insertion_observation);
|
72 |
$resultat_ajout_observation = Cel::db()->executer($requete_insertion_observation);
|
| 72 |
|
73 |
|
| 73 |
$retour = true;
|
74 |
$retour = true;
|
| 74 |
if ($resultat_ajout_observation === false) {
|
75 |
if ($resultat_ajout_observation === false) {
|
| Line 88... |
Line 89... |
| 88 |
*
|
89 |
*
|
| 89 |
* @return int le nouveau numero d'ordre relatif à l'utilisateur ou bien 0 s'il n'a jamais créé d'observations
|
90 |
* @return int le nouveau numero d'ordre relatif à l'utilisateur ou bien 0 s'il n'a jamais créé d'observations
|
| 90 |
*/
|
91 |
*/
|
| 91 |
public function renvoyerDernierOrdreUtilisePlusUn($utilisateur) {
|
92 |
public function renvoyerDernierOrdreUtilisePlusUn($utilisateur) {
|
| 92 |
$idUtilisateurP = Cel::db()->proteger($utilisateur);
|
93 |
$idUtilisateurP = Cel::db()->proteger($utilisateur);
|
| 93 |
$requete_selection_dernier_ordre = 'SELECT max(ordre) AS ordre '.
|
94 |
$requete = 'SELECT max(ordre) AS ordre '.
|
| 94 |
'FROM cel_obs '.
|
95 |
'FROM cel_obs '.
|
| 95 |
"WHERE ce_utilisateur = $idUtilisateurP ".
|
96 |
"WHERE ce_utilisateur = $idUtilisateurP ".
|
| 96 |
' -- ' . __FILE__ . ':' . __LINE__;
|
97 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| 97 |
$dernier_ordre = Cel::db()->executerRequete($requete_selection_dernier_ordre);
|
98 |
$dernier_ordre = Cel::db()->requeter($requete);
|
| Line 98... |
Line 99... |
| 98 |
|
99 |
|
| 99 |
$nouvel_ordre = 0;
|
100 |
$nouvel_ordre = 0;
|
| 100 |
if (is_array($dernier_ordre) && count($dernier_ordre) > 0 && trim($dernier_ordre[0]['ordre']) != '') {
|
101 |
if (is_array($dernier_ordre) && count($dernier_ordre) > 0 && trim($dernier_ordre[0]['ordre']) != '') {
|
| 101 |
$nouvel_ordre = $dernier_ordre[0]['ordre'] + 1;
|
102 |
$nouvel_ordre = $dernier_ordre[0]['ordre'] + 1;
|
| Line 111... |
Line 112... |
| 111 |
*/
|
112 |
*/
|
| 112 |
public function renvoyerIdPourOrdre($utilisateur, $ordre) {
|
113 |
public function renvoyerIdPourOrdre($utilisateur, $ordre) {
|
| 113 |
$idUtilisateurP = Cel::db()->proteger($utilisateur);
|
114 |
$idUtilisateurP = Cel::db()->proteger($utilisateur);
|
| 114 |
$ordreP = Cel::db()->proteger($ordre);
|
115 |
$ordreP = Cel::db()->proteger($ordre);
|
| Line 115... |
Line 116... |
| 115 |
|
116 |
|
| 116 |
$requete_selection_dernier_id = 'SELECT id_observation '.
|
117 |
$requete = 'SELECT id_observation '.
|
| 117 |
'FROM cel_obs '.
|
118 |
'FROM cel_obs '.
|
| 118 |
"WHERE ce_utilisateur = $idUtilisateurP ".
|
119 |
"WHERE ce_utilisateur = $idUtilisateurP ".
|
| 119 |
"AND ordre = $ordreP ".
|
120 |
"AND ordre = $ordreP ".
|
| Line 120... |
Line 121... |
| 120 |
' -- ' . __FILE__ . ':' . __LINE__;
|
121 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| Line 121... |
Line 122... |
| 121 |
|
122 |
|
| 122 |
$dernier_id = Cel::db()->executerRequete($requete_selection_dernier_id);
|
123 |
$dernier_id = Cel::db()->requeter($requete);
|
| 123 |
|
124 |
|
| 124 |
$retour = null;
|
125 |
$retour = null;
|
| Line 183... |
Line 184... |
| 183 |
|
184 |
|
| 184 |
|
185 |
|
| 185 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
186 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
| 186 |
// ce qui peut arriver dans les commentaires
|
187 |
// ce qui peut arriver dans les commentaires
|
| Line 187... |
Line 188... |
| 187 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
188 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
| 188 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification);
|
189 |
$resultat_modification = Cel::db()->executer($requete_modification);
|
| 189 |
|
190 |
|
| 190 |
$retour = true;
|
191 |
$retour = true;
|
| Line 260... |
Line 261... |
| 260 |
" AND transmission = 1 ".
|
261 |
" AND transmission = 1 ".
|
| 261 |
' -- ' . __FILE__ . ':' . __LINE__;
|
262 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| 262 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
263 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
| 263 |
// ce qui peut arriver dans les commentaires
|
264 |
// ce qui peut arriver dans les commentaires
|
| 264 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
265 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
| 265 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification . ' -- ' . __FILE__ . ':' . __LINE__);
|
266 |
$resultat_modification = Cel::db()->executer($requete_modification . ' -- ' . __FILE__ . ':' . __LINE__);
|
| Line 266... |
Line 267... |
| 266 |
|
267 |
|
| 267 |
if ($resultat_modification === false) {
|
268 |
if ($resultat_modification === false) {
|
| 268 |
$this->logger("CEL_bugs","Erreur de mise à jour de l\'observation : ".$id);
|
269 |
$this->logger("CEL_bugs","Erreur de mise à jour de l\'observation : ".$id);
|
| Line 269... |
Line 270... |
| 269 |
}
|
270 |
}
|
| 270 |
|
271 |
|
| Line 271... |
Line 272... |
| 271 |
return $resultat_modification;
|
272 |
return $resultat_modification;
|
| 272 |
}
|
273 |
}
|
| 273 |
|
274 |
|
| 274 |
public function modifierTransmissionObservation($ids_obs_ou_tableau, $publier) {
|
275 |
public function modifierTransmissionObservation($ids_obs_ou_tableau, $publier) {
|
| 275 |
if(is_array($ids_obs_ou_tableau)) {
|
276 |
if (is_array($ids_obs_ou_tableau)) {
|
| 276 |
$ids_obs_ou_tableau = array_map(array(Cel::db(),'proteger'),$ids_obs_ou_tableau);
|
277 |
$ids_obs_ou_tableau = array_map(array(Cel::db(),'proteger'),$ids_obs_ou_tableau);
|
| 277 |
$chaine_ids_obs = implode(',',$ids_obs_ou_tableau);
|
278 |
$chaine_ids_obs = implode(',',$ids_obs_ou_tableau);
|
| 278 |
} else {
|
- |
|
| 279 |
$chaine_ids_obs = Cel::db()->proteger($ids_obs_ou_tableau);
|
279 |
} else {
|
| 280 |
}
|
280 |
$chaine_ids_obs = Cel::db()->proteger($ids_obs_ou_tableau);
|
| 281 |
|
281 |
}
|
| 282 |
$etat_transmission = $publier ? 1 : 0;
|
282 |
$etat_transmission = $publier ? 1 : 0;
|
| 283 |
|
283 |
|
| 284 |
$requete = "UPDATE cel_obs ".
|
284 |
$requete = "UPDATE cel_obs ".
|
| 285 |
"SET transmission = ".$etat_transmission.", ".
|
285 |
"SET transmission = $etat_transmission , date_modification = NOW() ".
|
| 286 |
"date_modification = NOW() ".
|
286 |
"WHERE id_observation IN ($chaine_ids_obs) ".
|
| 287 |
"WHERE id_observation IN (".$chaine_ids_obs.")";
|
- |
|
| 288 |
|
287 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| 289 |
$resultat_modif_obs = Cel::db()->executerRequeteSimple($requete);
|
288 |
|
| 290 |
|
289 |
$resultat = Cel::db()->executer($requete);
|
| 291 |
return $resultat_modif_obs;
|
290 |
return $resultat;
|
| 292 |
}
|
291 |
}
|
| 293 |
|
292 |
|
| 294 |
/**
|
293 |
/**
|
| 295 |
* Supprime une ou plusieurs observations grâce aux paramètres fournis
|
294 |
* Supprime une ou plusieurs observations grâce aux paramètres fournis
|
| Line 326... |
Line 325... |
| 326 |
$requete = 'DELETE FROM cel_obs WHERE '.
|
325 |
$requete = 'DELETE FROM cel_obs WHERE '.
|
| 327 |
"ce_utilisateur = $idUtilisateurP ".
|
326 |
"ce_utilisateur = $idUtilisateurP ".
|
| 328 |
"AND id_observation IN ($chaine_ids_obs) ".
|
327 |
"AND id_observation IN ($chaine_ids_obs) ".
|
| 329 |
' -- ' . __FILE__ . ':' . __LINE__;
|
328 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| Line 330... |
Line 329... |
| 330 |
|
329 |
|
| Line 331... |
Line 330... |
| 331 |
$resultat_suppression_observations = Cel::db()->executerRequeteSimple($requete);
|
330 |
$resultat_suppression_observations = Cel::db()->executer($requete);
|
| 332 |
|
331 |
|
| 333 |
// TODO: Faire la suppression des mots clés
|
332 |
// TODO: Faire la suppression des mots clés
|
| 334 |
// et des liaisons obs images dans une ou des fonctions à part
|
333 |
// et des liaisons obs images dans une ou des fonctions à part
|
| Line 338... |
Line 337... |
| 338 |
} else {
|
337 |
} else {
|
| 339 |
$requete = 'DELETE FROM cel_obs_images '.
|
338 |
$requete = 'DELETE FROM cel_obs_images '.
|
| 340 |
"WHERE id_observation IN ($chaine_ids_obs) ".
|
339 |
"WHERE id_observation IN ($chaine_ids_obs) ".
|
| 341 |
' -- ' . __FILE__ . ':' . __LINE__;
|
340 |
' -- ' . __FILE__ . ':' . __LINE__;
|
| Line 342... |
Line 341... |
| 342 |
|
341 |
|
| Line 343... |
Line 342... |
| 343 |
$resultat_suppression_liens = Cel::db()->executerRequeteSimple($requete);
|
342 |
$resultat_suppression_liens = Cel::db()->executer($requete);
|
| 344 |
|
343 |
|
| 345 |
if ($resultat_suppression_liens === false) {
|
344 |
if ($resultat_suppression_liens === false) {
|
| 346 |
$msg = "Erreur de suppression d'une liste de liaison entre observations et images : $requete";
|
345 |
$msg = "Erreur de suppression d'une liste de liaison entre observations et images : $requete";
|
| Line 381... |
Line 380... |
| 381 |
$requete = 'SELECT ordre '.
|
380 |
$requete = 'SELECT ordre '.
|
| 382 |
'FROM cel_obs '.
|
381 |
'FROM cel_obs '.
|
| 383 |
"WHERE ce_utilisateur = $idAncienP ".
|
382 |
"WHERE ce_utilisateur = $idAncienP ".
|
| 384 |
'ORDER BY ordre '.
|
383 |
'ORDER BY ordre '.
|
| 385 |
' -- '.__FILE__.' : '.__LINE__;
|
384 |
' -- '.__FILE__.' : '.__LINE__;
|
| 386 |
$resultat = Cel::db()->executerRequete($requete);
|
385 |
$resultat = Cel::db()->requeter($requete);
|
| Line 387... |
Line 386... |
| 387 |
|
386 |
|
| 388 |
$reussite = true;
|
387 |
$reussite = true;
|
| 389 |
if (is_array($resultat)) {
|
388 |
if (is_array($resultat)) {
|
| 390 |
foreach ($resultat as $releve_temporaire) {
|
389 |
foreach ($resultat as $releve_temporaire) {
|
| Line 394... |
Line 393... |
| 394 |
"ce_utilisateur = $idUtilisateurP, ".
|
393 |
"ce_utilisateur = $idUtilisateurP, ".
|
| 395 |
"ordre = $nouvel_ordre ".
|
394 |
"ordre = $nouvel_ordre ".
|
| 396 |
"WHERE ce_utilisateur = $idAncienP ".
|
395 |
"WHERE ce_utilisateur = $idAncienP ".
|
| 397 |
"AND ordre = $ancienOrdre ".
|
396 |
"AND ordre = $ancienOrdre ".
|
| 398 |
' -- '.__FILE__.' : '.__LINE__;
|
397 |
' -- '.__FILE__.' : '.__LINE__;
|
| 399 |
$migration_releve = Cel::db()->executerRequeteSimple($requete);
|
398 |
$migration_releve = Cel::db()->executer($requete);
|
| Line 400... |
Line 399... |
| 400 |
|
399 |
|
| 401 |
//TODO: meilleure vérification
|
400 |
//TODO: meilleure vérification
|
| 402 |
if ($migration_releve === false) {
|
401 |
if ($migration_releve === false) {
|
| 403 |
$reussite = false;
|
402 |
$reussite = false;
|
| Line 423... |
Line 422... |
| 423 |
'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '.
|
422 |
'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '.
|
| 424 |
'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '.
|
423 |
'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '.
|
| 425 |
'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '.
|
424 |
'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '.
|
| 426 |
' -- '.__FILE__.' : '.__LINE__;
|
425 |
' -- '.__FILE__.' : '.__LINE__;
|
| Line 427... |
Line 426... |
| 427 |
|
426 |
|
| Line 428... |
Line 427... |
| 428 |
$migration_releve = Cel::db()->executerRequeteSimple($requete_migration_releve);
|
427 |
$migration_releve = Cel::db()->executer($requete_migration_releve);
|
| 429 |
|
428 |
|
| Line 430... |
Line 429... |
| 430 |
return $migration_releve;
|
429 |
return $migration_releve;
|