143,15 → 143,13 |
'nom_sel' => NULL, |
'nom_ret_nn' => NULL, |
'nom_referentiel' => NULL); |
// $parametres = array_merge($base_param, $parametres); |
|
$requete_modification = "UPDATE cel_obs SET " ; |
|
$requete = "UPDATE cel_obs SET " ; |
// si pas de nom_sel : on supprime les champs automatiques. et le référentiel. |
if (false && (!isset($parametres['nom_sel']) || !@$parametres['nom_sel'])) { |
$parametres['nom_referentiel'] = NULL; |
// pas d'update de traiterParametresObservationEtConstruireSousRequeteMaj() |
$requete_modification .= "nom_referentiel = NULL, nom_sel_nn = NULL, nom_ret_nn = NULL, nom_ret = NULL, nt = NULL, famille = NULL,"; |
$requete .= "nom_referentiel = NULL, nom_sel_nn = NULL, nom_ret_nn = NULL, nom_ret = NULL, nt = NULL, famille = NULL,"; |
} elseif (false) { |
/* TODO: |
* si (à l'origine) pas de nom_sel_nn (donc pas de référentiel) POSTé |
158,14 → 156,12 |
* et aucun nom déterminés, alors on supprime les données automatiques: |
* alors on test une différence de réferentiel... |
*/ |
$r = $parametres['nom_referentiel']; |
$requete_modification .= <<<EOF |
nom_sel_nn = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nom_sel_nn), |
nom_ret_nn = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nom_ret_nn), |
nom_ret = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nom_ret), |
nt = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, nt), |
famille = IF(SUBSTR(nom_referentiel, 1, 5) != "$r", NULL, famille), |
EOF; |
$referentielP = Cel::db()->proteger($parametres['nom_referentiel']); |
$requete .= "nom_sel_nn = IF(SUBSTR(nom_referentiel, 1, 5) != $referentielP, NULL, nom_sel_nn),". |
"nom_ret_nn = IF(SUBSTR(nom_referentiel, 1, 5) != $referentielP, NULL, nom_ret_nn), ". |
"nom_ret = IF(SUBSTR(nom_referentiel, 1, 5) != $referentielP, NULL, nom_ret), ". |
"nt = IF(SUBSTR(nom_referentiel, 1, 5) != $referentielP, NULL, nt), ". |
"famille = IF(SUBSTR(nom_referentiel, 1, 5) != $referentielP, NULL, famille), "; |
} elseif (isset($parametres['nom_sel'])) { |
// uniquement en cas de nom_sel présent |
$this->traiterEspece($parametres); |
176,21 → 172,19 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$champ_maj[] = "date_modification = now()"; |
|
$requete_modification .= |
implode(', ', $champ_maj). |
" WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".Cel::db()->proteger($utilisateur). |
$requete .= implode(', ', $champ_maj). |
" WHERE ordre IN ($ordre) AND ce_utilisateur = ".Cel::db()->proteger($utilisateur).' '. |
' -- ' . __FILE__ . ':' . __LINE__; |
|
|
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes) |
// ce qui peut arriver dans les commentaires |
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification); |
$resultat = Cel::db()->executerRequeteSimple($requete); |
|
$retour = true; |
if ($resultat_modification === false) { |
if ($resultat === false) { |
$retour = false; |
$this->logger('CEL_bugs', "Erreur de mise à jour d'une liste d'observations : $requete_modification"); |
$this->logger('CEL_bugs', "Erreur de mise à jour d'une liste d'observations : $requete"); |
} |
return $retour; |
} |
251,7 → 245,7 |
$retour = true; |
|
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$champ_maj[] = "date_modification = now()"; |
$champ_maj[] = 'date_modification = now()'; |
|
$requete_modification = "UPDATE cel_obs SET " . |
implode(', ', $champ_maj) . |
265,7 → 259,7 |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification . ' -- ' . __FILE__ . ':' . __LINE__); |
|
if ($resultat_modification === false) { |
$this->logger("CEL_bugs","Erreur de mise à jour de l\'observation : ".$id); |
$this->logger('CEL_bugs', "Erreur de mise à jour de l'observation : $id"); |
} |
|
return $resultat_modification; |