Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2468 → Rev 2480

/trunk/jrest/services/InventoryImageLink.php
49,14 → 49,16
$id_obs = $infos_obs['id_observation'];
$dateTransmission = ($infos_obs['date_transmission'] != '') ? Cel::db()->proteger($infos_obs['date_transmission']) : 'NULL' ;
$transmission = $infos_obs['transmission'];
$values[] = "($id_img, $id_obs, NOW(), $dateTransmission, $transmission)";
$values[] = "($id_img, $id_obs, NOW(), NOW(), $dateTransmission, $transmission)";
}
}
$clauseValues = implode(',', $values);
$requete = 'INSERT INTO cel_images (id_image, ce_observation, date_liaison, date_transmission, transmission) '.
// ceci n'est pas un INSERT, c'est un UPDATE multiple en une seule requête
$requete = 'INSERT INTO cel_images (id_image, ce_observation, date_modification, date_liaison, date_transmission, transmission) '.
"VALUES $clauseValues ".
'ON DUPLICATE KEY UPDATE '.
' ce_observation = VALUES(ce_observation), '.
' date_modification = NOW(), '.
' date_liaison = NOW(), '.
' date_transmission = VALUES(date_transmission), '.
' transmission = VALUES(transmission) '.
63,6 → 65,13
' -- ' . __FILE__ . ':' . __LINE__;
$resultat = Cel::db()->executer($requete);
if ($resultat) {
// mise à jour de la date de modification de l'observation
$idsObsConcat = implode(', ', $ids_observations);
$requete = "UPDATE cel_obs SET date_modification = NOW() ".
"WHERE id_observation IN ($idsObsConcat) ".
' -- ' . __FILE__ . ':' . __LINE__;
$resultat = Cel::db()->executer($requete);
// @TODO faudrait faire une transaction et retourner false si l'UPDATE de cel_obs échoue
exit('OK');
}
exit(); // peut-être qu'aucune mise à jour n'a eu lieu (ON DUPLICATE KEY)