Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2163 → Rev 2164

/branches/v2.0-elagueuse/jrest/lib/GestionObservation.php
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;