Rev 736 | Rev 927 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
/**
* PHP Version 5
*
* @category PHP
* @package jrest
* @author Aurélien 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/
*/
/**
* InventoryImageList.php
*
* in : utf8
* out : utf8
*
* Service recherche, et de suppression multiple d'images a partir de divers critères
*
*/
class InventoryImageList extends Cel {
/**
* Recherche les images correspondant aux critères passés en paramètres
* uid[0] : utilisateur obligatoire
* uid[1] : critères de filtrage de la forme critère1=valeur1;critère2=valeur2
*/
function getElement($uid)
{
//TODO : remplacer le contenu du $uid[1] par le tableau $_GET;
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($uid[0]);
$chercheur_images = new RechercheImage($this->config);
$numero_page = 0;
$taille_page = 50;
$criteres = array();
if(isset($uid[1]))
{
$criteres = $chercheur_images->parserRequeteCriteres($uid[1]) ;
if(isset($criteres['numero_page']) && isset($criteres['limite'])) {
$numero_page = $criteres['numero_page'];
$taille_page = $criteres['limite'];
}
}
$retour = $chercheur_images->rechercherImagesEtObservationAssociees($uid[0], $criteres, $numero_page, $taille_page);
$retour_encode = json_encode($retour) ;
$retour_encode = $this->nettoyerCaracteresNuls($retour_encode);
header("content-type: application/json") ;
print $retour_encode ;
exit() ;
}
private function nettoyerCaracteresNuls($chaine) {
return str_replace('\u0000','',$chaine);
}
function updateElement($uid,$pairs)
{
}
/**
* @param int uid[0] : utilisateur obligatoire
* @param string uid[1] : identifiant(s) image(s) obligatoire(s)
*
*/
function deleteElement($uid)
{
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($uid[0]);
$ids_images = rtrim($uid[1],",") ;
if (isset($ids_images)) {
$ids_images_proteges = $this->proteger($ids_images);
$requete_suppression_images = "DELETE FROM cel_images WHERE id_image in (".$ids_images_proteges.")";
$requete_suppression_liens = "DELETE FROM cel_obs_images WHERE id_image in (".$ids_images_proteges.")";
$supression_images_bdd = $this->executer($requete_suppression_images);
$supression_liens = $this->executer($requete_suppression_liens);
$ids_fichiers = explode(",",$ids_images) ;
foreach($ids_fichiers as $en_cours)
{
$manipulateur_image = new ImageRecreation($this->config);
$manipulateur_image->detruireImageSurDisque($en_cours);
}
}
echo "OK" ;
exit() ;
}
}
?>