Subversion Repositories eFlore/Applications.cel

Rev

Rev 1765 | Rev 1867 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1765 Rev 1860
1
<?php
1
<?php
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
3
 
3
 
4
/**
4
/**
5
* PHP Version 5
5
* PHP Version 5
6
*
6
*
7
* @category  PHP
7
* @category  PHP
8
* @package   jrest
8
* @package   jrest
9
* @author    David Delon <david.delon@clapas.net>
9
* @author    David Delon <david.delon@clapas.net>
10
* @copyright 2010 Tela-Botanica
10
* @copyright 2010 Tela-Botanica
11
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
* @version   SVN: <svn_id>
12
* @version   SVN: <svn_id>
13
* @link      /doc/jrest/
13
* @link      /doc/jrest/
14
*/
14
*/
15
 
15
 
16
/** 
16
/** 
17
* 
17
* 
18
* in : utf8
18
* in : utf8
19
* out : utf8
19
* out : utf8
20
* 
20
* 
21
* 
21
* 
22
* Transmission observation vers Tela
22
* Transmission observation vers Tela
23
*/ 
23
*/ 
24
class InventoryTransmit extends Cel  {
24
class InventoryTransmit extends Cel  {
25
 
25
 
26
	function updateElement($uid,$pairs) {
26
	function updateElement($uid,$pairs) {
27
		
27
		
28
		// Controle detournement utilisateur 
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;
30
 
31
 
31
 	    //TODO: modification pour passer ceci dans la classe gestion observation
32
		$transmission = intval($pairs['transmission']);
-
 
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'.
35
				'date_modification = now(), date_transmission = now() '. 
37
					// mise à jour de la valeur de transmission (peut-être ?)
36
	        	'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' AND ordre in ('.$uid[1].')';
38
					' transmission = %1$d,'.
-
 
39
 
-
 
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
37
		} 
42
					' date_transmission = IF(transmission != 1 AND %1$s = 1, now(), NULL),'.
-
 
43
 
38
 
44
					// idem pour date_modification qui n'est mise à now() que si l'on passe une observation
-
 
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
 
41
        if ($resultat_transmission === false) {
48
					' WHERE ce_utilisateur = %2$s AND ordre in (%3$s)',
42
        	return false;
49
					$transmission,
-
 
50
					Cel::db()->proteger($uid[0]),
43
        }
51
					Cel::db()->proteger($uid[1])));
44
        
52
 
45
        return true;               
53
        return ($resultat_transmission == 1);
46
	}
54
	}
47
	
55
	
48
	private function estUneSuiteIdentifiantsObservation($chaine) {
56
	private function estUneSuiteIdentifiantsObservation($chaine) {
49
		
57
		
50
		// un ensemble d'identifiants est une suite d'identifiants séparés par des virgules
58
		// un ensemble d'identifiants est une suite d'identifiants séparés par des virgules
51
		// sans virgule terminale
59
		// sans virgule terminale
52
		$reg_exp = "/^(([0-9])+,)*([0-9])+$/";
60
		$reg_exp = "/^(([0-9])+,)*([0-9])+$/";
53
		
61
		
54
		return preg_match($reg_exp, $chaine);
62
		return preg_match($reg_exp, $chaine);
55
		
63
		
56
	}
64
	}
57
}
65
}
58
/* +--Fin du code ---------------------------------------------------------------------------------------+
66
/* +--Fin du code ---------------------------------------------------------------------------------------+
59
* $Log$
67
* $Log$
60
* Revision 1.3  2008-01-30 08:57:28  ddelon
68
* Revision 1.3  2008-01-30 08:57:28  ddelon
61
* fin mise en place mygwt
69
* fin mise en place mygwt
62
*
70
*
63
* Revision 1.2  2007-05-22 12:54:09  ddelon
71
* Revision 1.2  2007-05-22 12:54:09  ddelon
64
* Securisation acces utilisateur
72
* Securisation acces utilisateur
65
* 
73
* 
66
*/
74
*/
67
?>
75
?>