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;
|