Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1840 Rev 1914
Line 1... Line 1...
1
<?php
1
<?php
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
-
 
3
/**
2
/**
4
* PHP Version 5
3
 * PHP Version 5.2
5
*
4
 *
6
* @category  PHP
5
 * @category  PHP
7
* @package   jrest
6
 * @package   jrest
-
 
7
 * @author    Raphaël Droz <raphael@tela-botanica.org>
8
* @author    Aurelien Peronnet <aurelien@tela-botanica.org>
8
 * @author    Aurelien Peronnet <aurelien@tela-botanica.org>
9
* @copyright 2010 Tela-Botanica
9
 * @copyright 2010, 2013 Tela-Botanica
10
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
* @version   SVN: <svn_id>
11
 * @license  GPL v3 <http://www.gnu.org/licenses/gpl.txt>
12
* @link      /doc/jrest/
12
 * @link      /doc/jrest/
13
*/
-
 
14
 
-
 
15
/**
13
 *
16
* InventoryObservationList.php
14
 * InventoryObservationList.php
17
* 
-
 
18
* in=utf8
-
 
19
* out=utf8
-
 
20
*
-
 
21
* Cas d'utilisation :
15
 * Cas d'utilisation :
22
* 1: Service recherche d'observations a partir de divers critères
16
 * 1: Service recherche d'observations a partir de divers critères
23
*  a: Le service recherche les observations correspondant aux critères demandés
17
 *  a: Le service recherche les observations correspondant aux critères demandés
24
*  b: Le service renvoie la liste des observations correspondantes
18
 *  b: Le service renvoie la liste des observations correspondantes
25
* 
19
 * 
26
* 2: Service modification en masse d'observations
20
 * 2: Service modification en masse d'observations
27
*  a: Le service recherche les observations correspondant aux identifiants donnés
21
 *  a: Le service recherche les observations correspondant aux identifiants donnés
28
*  b: Le service modifie les observations correspondantes avec les infos données en paramètres
22
 *  b: Le service modifie les observations correspondantes avec les infos données en paramètres
29
* 
23
 * 
30
* 3: Service de suppression d'observations en masse
24
 * 3: Service de suppression d'observations en masse
31
*  a: Le service recherche les observations correspondant aux critères demandés
25
 *  a: Le service recherche les observations correspondant aux critères demandés
32
*  b: Le service supprime la liste des observations correspondantes
26
 *  b: Le service supprime la liste des observations correspondantes
33
*/
27
 */
34
class InventoryObservationList extends Cel {
28
class InventoryObservationList extends Cel {
Line 35... Line 29...
35
 	
29
 	
36
	/**
30
	/**
37
	 * renvoie les observations correspondant au critères de filtrage
31
	 * renvoie les observations correspondant au critères de filtrage
Line 81... Line 75...
81
		
75
		
82
		if (!isset($uid[1])) {
76
		if (!isset($uid[1])) {
83
			//TODO: envoyer un message d'erreur
77
			//TODO: envoyer un message d'erreur
84
			return;	
78
			return;	
85
		}
79
		}
-
 
80
 
86
		
81
        $obs = array_filter(array_map('intval', explode(',', $uid[1])));
-
 
82
        if(count($obs) == 0) {
-
 
83
            return;
87
		$uid[1] = rtrim($uid[1],',');
84
        }
88
		
85
	
-
 
86
		$gestionnaire_observation = new GestionObservation($this->config);
89
		$gestionnaire_observation = new GestionObservation($this->config);
87
        if(count($obs) == 1) {
-
 
88
            return $gestionnaire_observation->modifierObservation($uid[0], $obs[0], $pairs);	
90
		$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs);	
89
        }
-
 
90
 
-
 
91
        // cas de mise à jour de multiples observations:
-
 
92
        $ret = GestionObservation::modifierMultiplesObservation($uid[0], $obs, $pairs);
-
 
93
        if($ret === FALSE) return FALSE; // JRest::badRequest();
-
 
94
        if($ret === 0) {
91
       	 
95
            header('HTTP/1.0 304 Not Modified');
-
 
96
            die;
-
 
97
        }
-
 
98
 
-
 
99
        header('HTTP/1.0 200 OK'); // et non pas une 201 !
-
 
100
        // die(); // non, car incompatible avec PHPUnit
-
 
101
        // throw(new Exception()); // non, lance une 400 (cf JRest::updateElement())
-
 
102
        // return TRUE; // non, lance une 201
-
 
103
        // return FALSE; // non, lance une 400
-
 
104
 
92
        return true;
105
        die; // tant pis
Line 93... Line 106...
93
	}
106
	}
94
 
107
 
95
	/**
108
	/**