Rev 2072 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** @category PHP* @package jrest* @author Jean-Pascal MILCENT <jpm@tela-botania.org>* @copyright 2014 Tela-Botanica* @license Licence CECILL <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>**/class CelSuppressionImage extends Cel {/*** 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("L'image « $idImage » n'a pas 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);}}}public function controlerAccessibiliteWs() {if (self::ARRET_SERVICE) {header('Status: 503 Service Temporarily Unavailable');die("La suppression d'images du CEL est temporairement désactivée.");}return true;}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;}}?>