New file |
0,0 → 1,126 |
<?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 |
*/ |
class InventoryObservationList extends Cel { |
|
/** |
* renvoie les observations correspondant au critères de filtrage |
* |
* uid[0] : utilisateur obligatoire |
* uid[1] : criteres de filtrage de la forme critere1=valeur1&critere2=valeur2 |
*/ |
function getElement($uid) |
{ |
// Controle detournement utilisateur |
session_start(); |
$this->controleUtilisateur($uid[0]); |
|
$chercheur_observations = new RechercheObservation($this->config); |
|
$numero_page = 0; |
$taille_page = 50; |
$criteres = array(); |
|
if (isset($uid[1])) |
{ |
$criteres = $chercheur_observations->parserRequeteCriteres($uid[1]) ; |
if (isset($criteres['numero_page']) && isset($criteres['limite'])) { |
$numero_page = $criteres['numero_page']; |
$taille_page = $criteres['limite']; |
} |
} |
|
$retour = $chercheur_observations->rechercherObservations($uid[0], $criteres, $numero_page, $taille_page); |
$retour_encode = json_encode($retour) ; |
|
header("Content-type: application/json"); |
print($retour_encode); |
exit(); |
} |
|
/** |
* met à jour les métadonnées d'une liste d'observations |
* |
* uid[0] : utilisateur obligatoire |
* uid[1] : ordres des observations à modifier séparés par des virgules |
* pairs : données à mettre à jour sous la forme de clés => valeurs |
*/ |
function updateElement($uid,$pairs) { |
|
// Controle detournement utilisateur |
session_start(); |
$this->controleUtilisateur($uid[0]); |
|
if (!isset($uid[1])) { |
//TODO: envoyer un message d'erreur |
return; |
} |
|
$uid[1] = rtrim($uid[1],','); |
|
$gestionnaire_observation = new GestionObservation($this->config); |
$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs); |
|
return true; |
} |
|
/** |
* Supprime une liste d'observations |
* |
* uid[0] : utilisateur obligatoire |
* uid[1] : ordres des observations à supprimer séparés par des virgules |
*/ |
function deleteElement($uid) |
{ |
// Controle detournement utilisateur |
session_start(); |
$this->controleUtilisateur($uid[0]); |
|
if (!isset($uid[1])) { |
//TODO: envoyer un message d'erreur |
return; |
} |
|
$uid[1] = rtrim($uid[1],','); |
|
$gestionnaire_observation = new GestionObservation($this->config); |
$modification_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]); |
|
if ($modification_observation) { |
echo "OK"; |
} |
|
exit() ; |
} |
} |
?> |