Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1859 → Rev 1860

/trunk/jrest/services/InventoryTransmit.php
27,22 → 27,30
// Controle detournement utilisateur
$this->controleUtilisateur($uid[0]);
if (!isset($uid[1]) || ! $this->estUneSuiteIdentifiantsObservation($uid[1])) return false;
 
//TODO: modification pour passer ceci dans la classe gestion observation
if (isset($uid[1]) && $this->estUneSuiteIdentifiantsObservation($uid[1])) {
$requete_transmission = 'UPDATE cel_obs '.
'SET transmission = '.$pairs['transmission'].','.
'date_modification = now(), date_transmission = now() '.
'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' AND ordre in ('.$uid[1].')';
}
$transmission = intval($pairs['transmission']);
if($transmission != 0 && $transmission != 1) return false;
 
$resultat_transmission = Cel::db()->executer($requete_transmission);
if ($resultat_transmission === false) {
return false;
}
return true;
$resultat_transmission = Cel::db()->executer(
sprintf('UPDATE cel_obs SET'.
// mise à jour de la valeur de transmission (peut-être ?)
' transmission = %1$d,'.
 
// date_transmission n'est réactualisé que si nécessaire, c'est à dire si le statut de "transmission" actuel n'est
// pas à 1 et que le nouveau statut est à 1. Autrement il est mis (ou reste) à NULL
' date_transmission = IF(transmission != 1 AND %1$s = 1, now(), NULL),'.
 
// idem pour date_modification qui n'est mise à now() que si l'on passe une observation
// de non-transmise à tranmise ou de transmise à non-transmise
' date_modification = IF(transmission != %1$d, now(), date_modification)'.
 
' WHERE ce_utilisateur = %2$s AND ordre in (%3$s)',
$transmission,
Cel::db()->proteger($uid[0]),
Cel::db()->proteger($uid[1])));
 
return ($resultat_transmission == 1);
}
private function estUneSuiteIdentifiantsObservation($chaine) {