* @author Jean-Pascal MILCENT * @author Aurelien PERONNET * @license GPL v3 * @license CECILL v2 * @copyright 1999-2014 Tela Botanica */ class SupprimerMotCle { private $conteneur; private $bdd; private $ressources = array(); private $motCleId; public function __construct(Conteneur $conteneur = null) { $this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; $this->bdd = $this->conteneur->getBdd(); } /** * Supprime un mot-clé si les données fournis en paramètres sont valides. * * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2) */ public function supprimer($ressources) { $this->ressources = $ressources; $this->verifierRessources(); $this->motCleId = $this->ressources[0]; $this->supprimerMotCle(); TelaBotanica\Del\Commun\MotsClesImage::updateStats($this->bdd, $this->motCleId); // Mettre en forme le résultat et l'envoyer pour affichage $resultat = new ResultatService(); return $resultat; } private function verifierRessources() { $erreurs = array(); if (!isset($this->ressources[0])) { $erreurs[] = " - impossible de supprimer un mot clé sans l'identifiant associé ;"; } else if(!is_numeric($this->ressources[0])) { $erreurs[] = " - l'identifiant de mot clé doit être un entier ;"; } if (!empty($erreurs)) { $msg = "Erreur de configuration :\n".implode("\n", $erreurs); throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); } } private function supprimerMotCle() { $idMotCleP = $this->bdd->proteger($this->motCleId); $requete = 'UPDATE del_image_tag '. 'SET actif = 0, date_modification = NOW() '. "WHERE id_tag = $idMotCleP ". ' -- '.__FILE__.' : '.__LINE__; $retour = $this->bdd->executer($requete); if ($retour == null) { $msg = "Erreur lors de la suppression du mot-clé d'id $idMotCleP"; throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); } return $retour; } }