Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 2142 → Rev 2143

/trunk/jrest/services/CelImage.php
1,15 → 1,15
<?php
// declare(encoding='UTF-8');
 
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
/**
* Service fournissant la liste des ids des images liées à une observation.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation :
* Cas d'utilisation GET :
* /CelImage/liste-ids?obsId=[0-9]+ : ids des images liées à l'observation possédant l'identifiant 'obsId'.
*
* Cas d'utilisation DELETE :
*
* Sortie :
* Type de sortie : json (par défaut), HTML en cas d'erreur.
*
50,7 → 50,9
}
 
/**
* Carte par défaut
* Service fournissant la liste des ids des images liées à une observation.
* Format de l'url du WS :
* /CelImage/liste-ids?obsId=[0-9]+ : ids des images liées à l'observation possédant l'identifiant 'obsId'.
*/
private function getListeIds() {
$ids = array();
83,4 → 85,49
}
return $ids;
}
 
/**
* Méthode appelée avec une requête de type DELETE.
* Supprime les infos sur l'image et le fichier correspondant à l'ordre passé en parametre
* Supporte la suppression multiple en passant plusieurs numéros séparés par des virgules
*
* @param int uid[0] id utilisateur
* @param string uid[1] : ordre(s) image(s) obligatoire(s) séparés par des virgules
*
*/
public function deleteElement($uid){
if ($this->controlerAccessibiliteWs()) {
if ($this->controleAppelIpAutorisee()) {
// Initialisation des paramètres
$idImage = isset($uid[0]) ? $uid[0] : '';
 
// Vérifier les paramêtres
$this->verifierIdentifiantImage($idImage);
$idsImages = explode(',', $idImage);
 
$gestionnaireImage = new GestionImage($this->config);
$suppressionImage = $gestionnaireImage->supprimerImage($idsImages);
 
if ($suppressionImage) {
$this->envoyer('OK');
} else {
$this->envoyer("Au moins une image « $idImage » n'a pu être supprimé.");
}
} else {
header('Status: 401 Unauthorized');
$message = "Accès interdit. \n"."Vous n'êtes pas autorisé à accéder à ce service depuis '{$_SERVER['REMOTE_ADDR']}' !\n";
die($message);
}
}
}
 
private function verifierIdentifiantImage($chaine) {
$ok = preg_match('/^(?:[0-9]+,)*[0-9]+$/', $chaine);
if ($ok == false) {
header("HTTP/1.0 412 Precondition Failed"); // TODO: PHP: 5.4 http_response_code(412);
header("Content-Type: text/plain; charset=utf-8");
die("Indiquer un ou plusieurs identifiants d'image séparés par des virgules.");
}
return $ok;
}
}