Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1867 Rev 1949
Line 16... Line 16...
16
		$transmission = intval($pairs['transmission']);
16
		$transmission = intval($pairs['transmission']);
17
		if($transmission != 0 && $transmission != 1) return false;
17
		if($transmission != 0 && $transmission != 1) return false;
Line 18... Line 18...
18
 
18
 
19
		$ids = array_filter(array_map(create_function('$v','return intval($v);'),
19
		$ids = array_filter(array_map(create_function('$v','return intval($v);'),
20
									  explode(',', $uid[1])));
-
 
21
		if(!$ids) return FALSE;
20
									  explode(',', $uid[1])));
22
 
21
		
23
		$resultat_transmission = Cel::db()->executer(
-
 
24
			sprintf('UPDATE cel_obs SET'.
22
		$date = ($transmission == 1) ? 'now()' : 'NULL';
25
					// mise à jour de la valeur de transmission (peut-être ?)
23
		//TODO: modification pour passer ceci dans la classe gestion observation
26
					' transmission = %1$d,'.
-
 
27
 
24
		$requete_transmission = 'UPDATE cel_obs '.
28
					// date_transmission n'est réactualisé que si nécessaire, c'est à dire si le statut de "transmission" actuel n'est
25
		           	'SET transmission = '.$pairs['transmission'].', '.
29
					// pas à 1 et que le nouveau statut est à 1. Autrement il est mis (ou reste) à NULL
26
					'date_modification = now(), date_transmission = '.$date.' '. 
30
					' date_transmission = IF(transmission != 1 AND %1$s = 1, now(), NULL),'.
27
		        	'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' AND ordre in ('.implode(',', $ids).')';
31
 
-
 
32
					// idem pour date_modification qui n'est mise à now() que si l'on passe une observation
28
		
33
					// de non-transmise à tranmise ou de transmise à non-transmise
-
 
34
					' date_modification = IF(transmission != %1$d, now(), date_modification)'.
29
		$resultat_transmission = Cel::db()->executer($requete_transmission);
35
 
-
 
36
					' WHERE ce_utilisateur = %2$s AND ordre in (%3$s)',
-
 
37
					$transmission,
-
 
38
					Cel::db()->proteger($uid[0]),
-
 
39
					implode(',', $ids)));
30
		
40
		return ($resultat_transmission != 0);
31
		return ($resultat_transmission != 0);
41
	}
32
	}