Subversion Repositories eFlore/Applications.cel

Rev

Rev 1914 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1914 Rev 1950
Line 1... Line 1...
1
<?php
1
<?php
2
/*
2
/*
3
 * @author    Raphaël Droz <raphael@tela-botanica.org>
3
 * @author    Aurélien Peronnet <aurelien@tela-botanica.org>
4
 * @author    David Delon <david.delon@clapas.net>
4
 * @author    David Delon <david.delon@clapas.net>
5
 * @copyright 2010, 2013 Tela-Botanica
5
 * @copyright 2010, 2013 Tela-Botanica
6
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
6
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
7
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
7
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
8
 */
8
 */
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
	}
-
 
33
}
42
}
34
?>