Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1907 → Rev 1908

/trunk/jrest/services/InventoryObservationList.php
1,36 → 1,30
<?php
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
/**
* PHP Version 5
*
* @category PHP
* @package jrest
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: <svn_id>
* @link /doc/jrest/
*/
 
/**
* InventoryObservationList.php
*
* in=utf8
* out=utf8
*
* Cas d'utilisation :
* 1: Service recherche d'observations a partir de divers critères
* a: Le service recherche les observations correspondant aux critères demandés
* b: Le service renvoie la liste des observations correspondantes
*
* 2: Service modification en masse d'observations
* a: Le service recherche les observations correspondant aux identifiants donnés
* b: Le service modifie les observations correspondantes avec les infos données en paramètres
*
* 3: Service de suppression d'observations en masse
* a: Le service recherche les observations correspondant aux critères demandés
* b: Le service supprime la liste des observations correspondantes
*/
* PHP Version 5.2
*
* @category PHP
* @package jrest
* @author Raphaël Droz <raphael@tela-botanica.org>
* @author Aurelien Peronnet <aurelien@tela-botanica.org>
* @copyright 2010, 2013 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @link /doc/jrest/
*
* InventoryObservationList.php
* Cas d'utilisation :
* 1: Service recherche d'observations a partir de divers critères
* a: Le service recherche les observations correspondant aux critères demandés
* b: Le service renvoie la liste des observations correspondantes
*
* 2: Service modification en masse d'observations
* a: Le service recherche les observations correspondant aux identifiants donnés
* b: Le service modifie les observations correspondantes avec les infos données en paramètres
*
* 3: Service de suppression d'observations en masse
* a: Le service recherche les observations correspondant aux critères demandés
* b: Le service supprime la liste des observations correspondantes
*/
class InventoryObservationList extends Cel {
/**
83,13 → 77,32
//TODO: envoyer un message d'erreur
return;
}
$uid[1] = rtrim($uid[1],',');
 
$obs = array_filter(array_map('intval', explode(',', $uid[1])));
if(count($obs) == 0) {
return;
}
$gestionnaire_observation = new GestionObservation($this->config);
$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs);
return true;
if(count($obs) == 1) {
return $gestionnaire_observation->modifierObservation($uid[0], $obs[0], $pairs);
}
 
// cas de mise à jour de multiples observations:
$ret = GestionObservation::modifierMultiplesObservation($uid[0], $obs, $pairs);
if($ret === FALSE) return FALSE; // JRest::badRequest();
if($ret === 0) {
header('HTTP/1.0 304 Not Modified');
die;
}
 
header('HTTP/1.0 200 OK'); // et non pas une 201 !
// die(); // non, car incompatible avec PHPUnit
// throw(new Exception()); // non, lance une 400 (cf JRest::updateElement())
// return TRUE; // non, lance une 201
// return FALSE; // non, lance une 400
 
die; // tant pis
}
 
/**