Line 1... |
Line 1... |
1 |
<?php
|
1 |
<?php
|
2 |
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
|
- |
|
3 |
|
- |
|
4 |
/**
|
- |
|
5 |
* PHP Version 5
|
- |
|
6 |
*
|
- |
|
7 |
* @category PHP
|
- |
|
8 |
* @package jrest
|
- |
|
9 |
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
|
- |
|
10 |
* @copyright 2010 Tela-Botanica
|
- |
|
11 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
- |
|
12 |
* @version SVN: <svn_id>
|
- |
|
13 |
* @link /doc/jrest/
|
- |
|
14 |
*/
|
- |
|
15 |
|
- |
|
16 |
/**
|
2 |
/**
|
- |
|
3 |
* PHP Version 5.2
|
- |
|
4 |
*
|
- |
|
5 |
* @category PHP
|
- |
|
6 |
* @package jrest
|
- |
|
7 |
* @author Raphaël Droz <raphael@tela-botanica.org>
|
- |
|
8 |
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
|
- |
|
9 |
* @copyright 2010, 2013 Tela-Botanica
|
- |
|
10 |
* @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 |
* @link /doc/jrest/
|
- |
|
13 |
*
|
17 |
* Classe de gestion de l'ajout, modification et suppression des observations
|
14 |
* Classe de gestion de l'ajout, modification et suppression des observations
|
18 |
*
|
15 |
*
|
19 |
* in=utf8
|
16 |
* TODO: $sous_requete .= ' date_modification = now() '
|
20 |
* out=utf8
|
17 |
* devrait être une clause ON UPDATE ou un TRIGGER
|
- |
|
18 |
* afin de mettre à jour la date de modification uniquement lorsqu'une modification a effectivement eu lieu
|
21 |
*
|
19 |
*
|
22 |
*/
|
20 |
*/
|
23 |
class GestionObservation extends Cel {
|
21 |
class GestionObservation extends Cel {
|
24 |
|
22 |
|
- |
|
23 |
static $cel_obs = array(
|
- |
|
24 |
"id_observation", "ordre", "ce_utilisateur", "prenom_utilisateur", "nom_utilisateur", "courriel_utilisateur", "nom_sel", "nom_sel_nn", "nom_ret", "nom_ret_nn", "nt", "famille", "nom_referentiel",
|
- |
|
25 |
"ce_zone_geo", "zone_geo", "lieudit", "station", "milieu", "latitude", "longitude", "altitude", "geodatum", "date_observation", "mots_cles_texte", "commentaire", "transmission",
|
- |
|
26 |
"date_creation", "date_modification", "date_transmission", "abondance", "certitude", "phenologie", "code_insee_calcul");
|
- |
|
27 |
|
25 |
/**
|
28 |
/**
|
26 |
* Ajoute une observation grâce aux paramètres fournis
|
29 |
* Ajoute une observation grâce aux paramètres fournis
|
27 |
*
|
30 |
*
|
28 |
* @param int $utilisateur id utilisateur du proprietaire de l'observation
|
31 |
* @param int $utilisateur id utilisateur du proprietaire de l'observation
|
29 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
32 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
30 |
*
|
33 |
*
|
31 |
* @return true ou false suivant le succès de l'opération
|
34 |
* @return true ou false suivant le succès de l'opération
|
32 |
*/
|
35 |
*/
|
33 |
public function ajouterObservation($utilisateur, $parametres) {
|
36 |
public function ajouterObservation($utilisateur, $parametres) {
|
- |
|
37 |
$origin_params = $parametres;
|
- |
|
38 |
$base_param = array('nom_sel_nn' => NULL,
|
- |
|
39 |
'nom_sel' => NULL,
|
- |
|
40 |
'nom_ret_nn' => NULL,
|
- |
|
41 |
'nom_referentiel' => NULL);
|
- |
|
42 |
$parametres = array_merge($base_param, $parametres);
|
34 |
|
43 |
|
35 |
$retour = true;
|
44 |
$retour = true;
|
36 |
$parametres['ordre'] = $this->renvoyerDernierOrdreUtilisePlusUn($utilisateur);
|
45 |
$parametres['ordre'] = $this->renvoyerDernierOrdreUtilisePlusUn($utilisateur);
|
Line 37... |
Line 46... |
37 |
|
46 |
|
- |
|
47 |
$this->traiterEspece($parametres);
|
- |
|
48 |
|
- |
|
49 |
// si la détermination à échoué, alors:
|
- |
|
50 |
// soit le référentiel d'origine était "valide", soit non
|
- |
|
51 |
if(!$parametres['nom_sel_nn']) {
|
- |
|
52 |
// quoiqu'il en soit, on le met à "autre"
|
- |
|
53 |
$parametres['nom_referentiel'] = Cel::$fallback_referentiel;
|
- |
|
54 |
}
|
- |
|
55 |
|
38 |
$this->traiterEspece($parametres);
|
56 |
$this->ajoutInfoUtilisateurARequete($parametres);
|
Line 39... |
Line 57... |
39 |
$this->formaterParametresObservation($parametres);
|
57 |
self::formaterParametresObservation($parametres);
|
40 |
|
58 |
|
Line 41... |
Line 59... |
41 |
$requete_insertion_observation = 'INSERT INTO cel_obs ';
|
59 |
$requete_insertion_observation = 'INSERT INTO cel_obs ';
|
Line 108... |
Line 126... |
108 |
public function modifierObservation($utilisateur, $ordre, $parametres) {
|
126 |
public function modifierObservation($utilisateur, $ordre, $parametres) {
|
109 |
$base_param = array('nom_sel_nn' => NULL,
|
127 |
$base_param = array('nom_sel_nn' => NULL,
|
110 |
'nom_sel' => NULL,
|
128 |
'nom_sel' => NULL,
|
111 |
'nom_ret_nn' => NULL,
|
129 |
'nom_ret_nn' => NULL,
|
112 |
'nom_referentiel' => NULL);
|
130 |
'nom_referentiel' => NULL);
|
113 |
$parametres = array_merge($base_param, $parametres);
|
131 |
// $parametres = array_merge($base_param, $parametres);
|
114 |
|
- |
|
115 |
$retour = true;
|
132 |
$retour = true;
|
116 |
$requete_modification = "UPDATE cel_obs SET " ;
|
133 |
$requete_modification = "UPDATE cel_obs SET " ;
|
Line 117... |
Line 134... |
117 |
|
134 |
|
118 |
// si pas de nom_sel : on supprime les champs automatiques. et le référentiel.
|
135 |
// si pas de nom_sel : on supprime les champs automatiques. et le référentiel.
|
119 |
if(!isset($parametres['nom_sel']) || !@$parametres['nom_sel']) {
|
136 |
if(false && (!isset($parametres['nom_sel']) || !@$parametres['nom_sel'])) {
|
120 |
$parametres['nom_referentiel'] = NULL; // pas d'update de traiterParametresObservationEtConstruireSousRequeteMaj()
|
137 |
$parametres['nom_referentiel'] = NULL; // pas d'update de traiterParametresObservationEtConstruireSousRequeteMaj()
|
121 |
$requete_modification .= "nom_referentiel = NULL, nom_sel_nn = NULL, nom_ret_nn = NULL, nom_ret = NULL, nt = NULL, famille = NULL,";
|
138 |
$requete_modification .= "nom_referentiel = NULL, nom_sel_nn = NULL, nom_ret_nn = NULL, nom_ret = NULL, nt = NULL, famille = NULL,";
|
122 |
}
|
139 |
}
|
123 |
elseif(false) {
|
140 |
elseif(false) {
|
Line 133... |
Line 150... |
133 |
nom_ret = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nom_ret),
|
150 |
nom_ret = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nom_ret),
|
134 |
nt = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nt),
|
151 |
nt = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nt),
|
135 |
famille = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, famille),
|
152 |
famille = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, famille),
|
136 |
EOF;
|
153 |
EOF;
|
137 |
}
|
154 |
}
|
138 |
else {
|
155 |
elseif(isset($parametres['nom_sel'])) {
|
139 |
// uniquement en cas de nom_sel présent
|
156 |
// uniquement en cas de nom_sel présent
|
140 |
$this->traiterEspece($parametres);
|
157 |
$this->traiterEspece($parametres);
|
141 |
}
|
158 |
}
|
142 |
$this->formaterParametresObservation($parametres);
|
- |
|
Line -... |
Line 159... |
- |
|
159 |
|
- |
|
160 |
self::formaterParametresObservation($parametres);
|
143 |
|
161 |
|
- |
|
162 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
- |
|
163 |
$champ_maj[] = "date_modification = now()";
|
- |
|
164 |
|
- |
|
165 |
$requete_modification .=
|
144 |
$requete_modification .= $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres) .
|
166 |
implode(', ', $champ_maj)
|
Line 145... |
Line 167... |
145 |
" WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".Cel::db()->proteger($utilisateur);
|
167 |
. " WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".Cel::db()->proteger($utilisateur);
|
146 |
|
168 |
|
147 |
|
169 |
|
148 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
170 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
Line 149... |
Line 171... |
149 |
// ce qui peut arriver dans les commentaires
|
171 |
// ce qui peut arriver dans les commentaires
|
150 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
172 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
151 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification);
|
173 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification . ' -- ' . __FILE__ . ':' . __LINE__);
|
152 |
|
174 |
|
Line 153... |
Line 175... |
153 |
if ($resultat_modification === false) {
|
175 |
if ($resultat_modification === false) {
|
154 |
$retour = false;
|
176 |
$retour = false;
|
- |
|
177 |
$this->logger("CEL_bugs","Erreur de mise à jour d'une liste d'observations : ".$requete_modification);
|
- |
|
178 |
}
|
- |
|
179 |
|
- |
|
180 |
return $retour;
|
- |
|
181 |
}
|
- |
|
182 |
|
- |
|
183 |
/**
|
- |
|
184 |
* @return nombre d'observations mises à jour, ou FALSE en cas de problème
|
- |
|
185 |
*/
|
- |
|
186 |
static function modifierMultiplesObservation($utilisateur, Array $ordre, $parametres) {
|
- |
|
187 |
// nous pouvons aussi retirer 'ce_utilisateur' (== $utilisateur) qui sera dans la clause WHERE
|
- |
|
188 |
$exclusions = array('nom_sel_nn', 'nom_sel', 'nom_ret_nn', 'nom_referentiel', 'ce_utilisateur');
|
- |
|
189 |
$parametres = array_diff_key($parametres, array_flip($exclusions));
|
- |
|
190 |
$parametres = array_intersect_key($parametres, array_flip(self::$cel_obs));
|
- |
|
191 |
|
- |
|
192 |
$parametres = array_filter(
|
- |
|
193 |
$parametres,
|
- |
|
194 |
create_function('$e','return strpos($e, "(Valeurs multiples)") === false;'));
|
- |
|
195 |
|
- |
|
196 |
// modifie $parametres par référence
|
- |
|
197 |
self::formaterParametresObservation($parametres);
|
- |
|
198 |
|
- |
|
199 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
- |
|
200 |
if(!$champ_maj) return 0; // rien à mettre à jour finalement
|
- |
|
201 |
|
- |
|
202 |
$champ_maj[] = "date_modification = now()";
|
- |
|
203 |
$nb_upd = Cel::db()->executer(sprintf(
|
- |
|
204 |
"UPDATE cel_obs SET %s WHERE ordre IN (%s) AND ce_utilisateur = %s -- %s:%d",
|
- |
|
205 |
implode(', ', $champ_maj),
|
- |
|
206 |
implode(', ', $ordre),
|
- |
|
207 |
Cel::db()->proteger($utilisateur),
|
- |
|
208 |
__FILE__, __LINE__));
|
- |
|
209 |
|
Line 155... |
Line 210... |
155 |
$this->logger("CEL_bugs","Erreur de mise à jour d'une liste d'observations : ".$requete_modification);
|
210 |
if($nb_upd === FALSE) return FALSE;
|
156 |
}
|
211 |
return $nb_upd;
|
157 |
|
212 |
// TODO: return json_encode(updated_rows());
|
158 |
return $retour;
|
213 |
}
|
Line 173... |
Line 228... |
173 |
'nom_ret_nn' => NULL,
|
228 |
'nom_ret_nn' => NULL,
|
174 |
'nom_referentiel' => NULL);
|
229 |
'nom_referentiel' => NULL);
|
175 |
$parametres = array_merge($base_param, $parametres);
|
230 |
$parametres = array_merge($base_param, $parametres);
|
Line 176... |
Line 231... |
176 |
|
231 |
|
177 |
$this->traiterEspece($parametres);
|
232 |
$this->traiterEspece($parametres);
|
Line 178... |
Line 233... |
178 |
$this->formaterParametresObservation($parametres);
|
233 |
self::formaterParametresObservation($parametres);
|
- |
|
234 |
|
- |
|
235 |
$retour = true;
|
- |
|
236 |
|
- |
|
237 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
179 |
|
238 |
$champ_maj[] = "date_modification = now()";
|
180 |
$retour = true;
|
239 |
|
181 |
$requete_modification = "UPDATE cel_obs SET " .
|
240 |
$requete_modification = "UPDATE cel_obs SET " .
|
182 |
$this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres) .
|
241 |
implode(', ', $champ_maj) .
|
183 |
" WHERE id_observation = ".Cel::db()->proteger($id).
|
242 |
" WHERE id_observation = ".Cel::db()->proteger($id).
|
Line 184... |
Line 243... |
184 |
" AND ce_utilisateur = ".Cel::db()->proteger($utilisateur)." ".
|
243 |
" AND ce_utilisateur = ".Cel::db()->proteger($utilisateur)." ".
|
185 |
" AND transmission = 1";
|
244 |
" AND transmission = 1";
|
186 |
|
245 |
|
187 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
246 |
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
|
188 |
// ce qui peut arriver dans les commentaires
|
247 |
// ce qui peut arriver dans les commentaires
|
189 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
248 |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
|
190 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification);
|
- |
|
191 |
|
249 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification . ' -- ' . __FILE__ . ':' . __LINE__);
|
192 |
if ($resultat_modification === false) {
|
250 |
|
Line 193... |
Line 251... |
193 |
$retour = false;
|
251 |
if ($resultat_modification === false) {
|
194 |
$this->logger("CEL_bugs","Erreur de mise à jour de l\'observation : ".$id);
|
252 |
$this->logger("CEL_bugs","Erreur de mise à jour de l\'observation : ".$id);
|
Line 195... |
Line 253... |
195 |
}
|
253 |
}
|
196 |
|
254 |
|
197 |
return $retour;
|
255 |
return $resultat_modification;
|
Line 372... |
Line 430... |
372 |
}
|
430 |
}
|
373 |
}
|
431 |
}
|
Line 374... |
Line 432... |
374 |
|
432 |
|
375 |
// XXX: ne devrait plus être nécessaire maintenant que rechercherInformationsComplementairesSurNom() [plus précisément effectuerRequeteUrlRecherche()]
|
433 |
// XXX: ne devrait plus être nécessaire maintenant que rechercherInformationsComplementairesSurNom() [plus précisément effectuerRequeteUrlRecherche()]
|
376 |
// a été modifiée pour retourner tous les champs nécessaire.
|
434 |
// a été modifiée pour retourner tous les champs nécessaire.
|
377 |
if ($deuxieme_passe && (!$parametres['nom_ret_nn'] || !$parametres['nt'])) {
|
435 |
if ($deuxieme_passe && (! array_key_exists('nom_ret_nn', $parametres) || ! array_key_exists('nt', $parametres))) {
|
378 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
436 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
379 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
437 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
380 |
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn']);
|
438 |
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn']);
|
381 |
// les paramètres passés datait peut-être d'une précédente autocomplétion, mais le référentiel ayant été changé par l'utilisateur
|
439 |
// les paramètres passés datait peut-être d'une précédente autocomplétion, mais le référentiel ayant été changé par l'utilisateur
|
Line 398... |
Line 456... |
398 |
|
456 |
|
399 |
// mise à jour du référentiel utilisé, sans n° de version
|
457 |
// mise à jour du référentiel utilisé, sans n° de version
|
400 |
$parametres['nom_referentiel'] = $code_referentiel;
|
458 |
$parametres['nom_referentiel'] = $code_referentiel;
|
Line -... |
Line 459... |
- |
|
459 |
}
|
- |
|
460 |
|
- |
|
461 |
// uniquement nécessaire lors de l'ajout
|
- |
|
462 |
private function ajoutInfoUtilisateurARequete(&$parametres) {
|
- |
|
463 |
if(! isset($parametres['ce_utilisateur'])) return;
|
- |
|
464 |
|
- |
|
465 |
$infos_utilisateur = $this->getInfosComplementairesUtilisateur($parametres['ce_utilisateur']);
|
- |
|
466 |
$parametres['courriel_utilisateur'] = $infos_utilisateur['courriel'];
|
- |
|
467 |
$parametres['nom_utilisateur'] = $infos_utilisateur['nom'];
|
- |
|
468 |
$parametres['prenom_utilisateur'] = $infos_utilisateur['prenom'];
|
401 |
}
|
469 |
}
|
402 |
|
470 |
|
403 |
/**
|
471 |
/**
|
404 |
* Formate les paramètres fournis en ajoutant des infos complementaires
|
472 |
* Formate les paramètres fournis en ajoutant des infos complementaires
|
405 |
*
|
473 |
*
|
406 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
474 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
407 |
*
|
475 |
*
|
408 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
476 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
409 |
*/
|
- |
|
410 |
private function formaterParametresObservation(&$parametres) {
|
- |
|
411 |
if(isset($parametres['ce_utilisateur'])) {
|
- |
|
412 |
|
- |
|
413 |
$infos_utilisateur = $this->getInfosComplementairesUtilisateur($parametres['ce_utilisateur']);
|
- |
|
414 |
|
- |
|
415 |
$parametres['courriel_utilisateur'] = $infos_utilisateur['courriel'];
|
- |
|
416 |
$parametres['nom_utilisateur'] = $infos_utilisateur['nom'];
|
- |
|
417 |
$parametres['prenom_utilisateur'] = $infos_utilisateur['prenom'];
|
- |
|
418 |
}
|
477 |
*/
|
419 |
|
478 |
static function formaterParametresObservation(&$parametres) {
|
420 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
479 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
Line 421... |
Line 480... |
421 |
// TODO: décider quoi faire pour les zones géo plus générales
|
480 |
// TODO: décider quoi faire pour les zones géo plus générales
|
Line 427... |
Line 486... |
427 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
486 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
428 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
487 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
429 |
}
|
488 |
}
|
Line 430... |
Line 489... |
430 |
|
489 |
|
431 |
if (strlen($parametres['ce_zone_geo']) > 0 && strlen($parametres['ce_zone_geo']) <= 2) {
|
490 |
if (strlen($parametres['ce_zone_geo']) > 0 && strlen($parametres['ce_zone_geo']) <= 2) {
|
432 |
$parametres['ce_zone_geo'] = $this->obtenirCodeInseeCommunePourNomEtDepartement($parametres['zone_geo'], $parametres['ce_zone_geo']);
|
491 |
$parametres['ce_zone_geo'] = Cel::obtenirCodeInseeCommunePourNomEtDepartement($parametres['zone_geo'], $parametres['ce_zone_geo']);
|
433 |
} else {
|
492 |
} else {
|
434 |
$parametres['ce_zone_geo'] = $this->convertirCodeInseeVersCodeZoneGeo($parametres['ce_zone_geo']);
|
493 |
$parametres['ce_zone_geo'] = 'INSEE-C:'. $parametres['ce_zone_geo'];
|
435 |
}
|
494 |
}
|
436 |
}
|
495 |
}
|
Line 437... |
Line 496... |
437 |
}
|
496 |
}
|
Line 491... |
Line 550... |
491 |
* @param array $parametres un tableau avec les index correspondant aux champs de la bdd
|
550 |
* @param array $parametres un tableau avec les index correspondant aux champs de la bdd
|
492 |
*
|
551 |
*
|
493 |
* @return string une sous requete utilisable pour la modification d'une observation
|
552 |
* @return string une sous requete utilisable pour la modification d'une observation
|
494 |
* selon la syntaxe UPDATE table SET colonne1 = valeur1, colonne2 = valeur2 WHERE condition
|
553 |
* selon la syntaxe UPDATE table SET colonne1 = valeur1, colonne2 = valeur2 WHERE condition
|
495 |
*/
|
554 |
*/
|
496 |
private function traiterParametresObservationEtConstruireSousRequeteMaj($parametres) {
|
555 |
static function traiterParametresObservationEtConstruireSousRequeteMaj($parametres) {
|
497 |
$sous_requete = '';
|
556 |
$champs = array();
|
498 |
|
557 |
|
499 |
// Nullifiage ...
|
558 |
// Nullifiage ...
|
500 |
// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
|
559 |
// TODO: code dupliqué, en faire une fonction à mettre à la place appropriée
|
501 |
foreach($parametres as $cle => $valeur) {
|
560 |
foreach($parametres as $cle => $valeur) {
|
502 |
|
- |
|
503 |
// Pour apparaitre le premier dans les tris ...
|
561 |
// Pour apparaitre le premier dans les tris ...
|
504 |
if (trim($valeur) == "" || trim($valeur) == "null" || trim($valeur) == "000null") {
|
562 |
if (trim($valeur) == "" || trim($valeur) == "null" || trim($valeur) == "000null") {
|
505 |
$valeur = "NULL";
|
563 |
$valeur = "NULL";
|
506 |
} else {
|
564 |
} else {
|
507 |
$valeur = Cel::db()->proteger($valeur);
|
565 |
$valeur = Cel::db()->proteger($valeur);
|
508 |
}
|
566 |
}
|
509 |
|
- |
|
510 |
$sous_requete .= $cle." = ".$valeur.", ";
|
567 |
$champs[] = $cle." = ".$valeur;
|
511 |
}
|
568 |
}
|
512 |
|
- |
|
513 |
$sous_requete .= ' date_modification = now() ';
|
- |
|
514 |
|
- |
|
515 |
return $sous_requete;
|
569 |
return $champs;
|
516 |
}
|
570 |
}
|
517 |
}
|
- |
|
518 |
?>
|
- |
|
519 |
|
571 |
}
|
- |
|
572 |
|