Subversion Repositories eFlore/Applications.cel

Rev

Rev 1765 | Rev 1867 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1765 Rev 1860
Line 25... Line 25...
25
 
25
 
Line 26... Line 26...
26
	function updateElement($uid,$pairs) {
26
	function updateElement($uid,$pairs) {
27
		
27
		
-
 
28
		// Controle detournement utilisateur 
Line 28... Line 29...
28
		// Controle detournement utilisateur 
29
 	    $this->controleUtilisateur($uid[0]);
29
 	    $this->controleUtilisateur($uid[0]);
30
		if (!isset($uid[1]) || ! $this->estUneSuiteIdentifiantsObservation($uid[1])) return false;
-
 
31
 
30
 
32
		$transmission = intval($pairs['transmission']);
31
 	    //TODO: modification pour passer ceci dans la classe gestion observation
33
		if($transmission != 0 && $transmission != 1) return false;
32
		if (isset($uid[1]) && $this->estUneSuiteIdentifiantsObservation($uid[1])) {
34
 
33
	           	$requete_transmission = 'UPDATE cel_obs '.
35
		$resultat_transmission = Cel::db()->executer(
34
	           	'SET transmission = '.$pairs['transmission'].','.
36
			sprintf('UPDATE cel_obs SET'.
-
 
37
					// mise à jour de la valeur de transmission (peut-être ?)
-
 
38
					' transmission = %1$d,'.
-
 
39
 
35
				'date_modification = now(), date_transmission = now() '. 
40
					// date_transmission n'est réactualisé que si nécessaire, c'est à dire si le statut de "transmission" actuel n'est
-
 
41
					// pas à 1 et que le nouveau statut est à 1. Autrement il est mis (ou reste) à NULL
36
	        	'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' AND ordre in ('.$uid[1].')';
42
					' date_transmission = IF(transmission != 1 AND %1$s = 1, now(), NULL),'.
-
 
43
 
37
		} 
44
					// idem pour date_modification qui n'est mise à now() que si l'on passe une observation
38
 
45
					// de non-transmise à tranmise ou de transmise à non-transmise
39
    	$resultat_transmission = Cel::db()->executer($requete_transmission);
46
					' date_modification = IF(transmission != %1$d, now(), date_modification)'.
40
                
47
 
-
 
48
					' WHERE ce_utilisateur = %2$s AND ordre in (%3$s)',
41
        if ($resultat_transmission === false) {
49
					$transmission,
42
        	return false;
50
					Cel::db()->proteger($uid[0]),
43
        }
51
					Cel::db()->proteger($uid[1])));
Line 44... Line 52...
44
        
52
 
Line 45... Line 53...
45
        return true;               
53
        return ($resultat_transmission == 1);