Subversion Repositories eFlore/Applications.del

Rev

Rev 1158 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1158 Rev 1436
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Supprime un mot clé par son identifiant
4
 * Supprime un mot clé par son identifiant
5
 *
5
 *
6
 * @category	php 5.2
6
 * @category	php 5.2
7
 * @package	del
7
 * @package	del
8
 * @subpackage images
8
 * @subpackage images
9
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
9
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
10
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
10
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
11
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version	$Id$
13
 * @version	$Id$
14
 * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
14
 * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
15
 */
15
 */
-
 
16
 
-
 
17
require_once('MotClePictoflora.php');
16
 
18
 
17
class SupprimerMotCle {
19
class SupprimerMotCle {
18
	
20
	
19
	private $conteneur;
21
	private $conteneur;
20
	private $navigation;
22
	private $navigation;
21
	private $masque;
23
	private $masque;
22
	private $gestionBdd;
24
	private $gestionBdd;
23
	private $bdd;
25
	private $bdd;
24
	private $parametres = array();
26
	private $parametres = array();
25
	private $ressources = array();
27
	private $ressources = array();
26
	
28
	
27
	private $motCleId;
29
	private $motCleId;
28
 
30
 
29
	public function __construct(Conteneur $conteneur = null) {
31
	public function __construct(Conteneur $conteneur = null) {
30
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
32
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
31
		$this->navigation = $conteneur->getNavigation();
33
		$this->navigation = $conteneur->getNavigation();
32
		$this->masque = $conteneur->getMasque();
34
		$this->masque = $conteneur->getMasque();
33
		$this->gestionBdd = $conteneur->getGestionBdd();
35
		$this->gestionBdd = $conteneur->getGestionBdd();
34
		$this->bdd = $this->gestionBdd->getBdd();
36
		$this->bdd = $this->gestionBdd->getBdd();
35
	}
37
	}
36
	
38
	
37
	/**
39
	/**
38
	 * Supprime un mot-clé si les objets fournis en paramètres sont valides
40
	 * Supprime un mot-clé si les objets fournis en paramètres sont valides
39
	 * pour l'afficher.
41
	 * pour l'afficher.
40
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
42
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
41
	 * @param array $parametres les paramètres situés après le ? dans l'url
43
	 * @param array $parametres les paramètres situés après le ? dans l'url
42
	 * */
44
	 * */
43
	public function supprimer($ressources, $parametres) {
45
	public function supprimer($ressources, $parametres) {
44
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
46
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
45
		
47
		
46
		// Gestion des configuration du script
48
		// Gestion des configuration du script
47
		$this->verifierConfiguration();
49
		$this->verifierConfiguration();
48
		$insertion = $this->supprimerMotCle($this->motCleId);
50
		$insertion = $this->supprimerMotCle($this->motCleId);
49
		
51
		
50
		// Mettre en forme le résultat et l'envoyer pour affichage
52
		// Mettre en forme le résultat et l'envoyer pour affichage
51
		$resultat = new ResultatService();
53
		$resultat = new ResultatService();
52
		
54
		
53
		return $resultat;
55
		return $resultat;
54
	}
56
	}
55
	
57
	
56
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
58
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
57
		$this->ressources = $ressources;
59
		$this->ressources = $ressources;
58
		$this->parametres = $parametres;	
60
		$this->parametres = $parametres;	
59
	}
61
	}
60
	
62
	
61
	/*-------------------------------------------------------------------------------
63
	/*-------------------------------------------------------------------------------
62
	 							CONFIGURATION DU SERVICE
64
	 							CONFIGURATION DU SERVICE
63
	 --------------------------------------------------------------------------------*/	
65
	 --------------------------------------------------------------------------------*/	
64
	/**
66
	/**
65
	 * Vérifier que le service est bien configuré 
67
	 * Vérifier que le service est bien configuré 
66
	 * */
68
	 * */
67
	public function verifierConfiguration() {
69
	public function verifierConfiguration() {
68
		$erreurs = array();
70
		$erreurs = array();
69
		
71
		
70
		if (!isset($this->ressources[0])) {
72
		if (!isset($this->ressources[0])) {
71
			$erreurs[] = ' - impossible de supprimer un mot clé sans l\'identifiant associé ;';
73
			$erreurs[] = ' - impossible de supprimer un mot clé sans l\'identifiant associé ;';
72
		} else if(!is_numeric($this->ressources[0])) {
74
		} else if(!is_numeric($this->ressources[0])) {
73
			$erreurs[] = ' - l\'identifiant de mot clé doit être un entier ;';
75
			$erreurs[] = ' - l\'identifiant de mot clé doit être un entier ;';
74
		}
76
		}
75
		
77
		
76
		if (!empty($erreurs)) {
78
		if (!empty($erreurs)) {
77
			$e = 'Erreur de configuration :';
79
			$e = 'Erreur de configuration :';
78
			$e = implode("\n", $erreurs);
80
			$e = implode("\n", $erreurs);
79
			echo var_dump($e);
81
			echo var_dump($e);
80
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
82
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
81
		} else {
83
		} else {
82
			$this->motCleId = $this->ressources[0];
84
			$this->motCleId = $this->ressources[0];
83
		}
85
		}
84
	}
86
	}
85
	
87
	
86
	/*-------------------------------------------------------------------------------
88
	/*-------------------------------------------------------------------------------
87
							   SUPPRESSION DES MOTS CLES 
89
							   SUPPRESSION DES MOTS CLES 
88
	--------------------------------------------------------------------------------*/	
90
	--------------------------------------------------------------------------------*/	
89
	/**
91
	/**
90
	 * Supprime un mot clé dans la table
92
	 * Supprime un mot clé dans la table
91
	 * @param $id_mot_cle string identifiant de mot clé
93
	 * @param $id_mot_cle string identifiant de mot clé
92
	 * */
94
	 * */
93
	private function supprimerMotCle($id_mot_cle) {
95
	private function supprimerMotCle($id_mot_cle) {
94
		
-
 
95
		$valeurs_a_supprimer = '';
-
 
96
		
-
 
97
		$requete = 'UPDATE del_image_tag '.
96
		$retour = $this->bdd->requeter(sprintf('UPDATE del_image_tag '.
98
					'SET actif = 0, date_modification = NOW() '.
97
											   'SET actif = 0, date_modification = NOW() '.
-
 
98
											   'WHERE id_tag = %d',
99
					'WHERE id_tag ='.$this->bdd->proteger($id_mot_cle);
99
											   intval($id_mot_cle)));
100
 
-
 
101
		$retour = $this->bdd->requeter($requete);
100
 
102
		if ($retour == null) {
101
		if ($retour == null) {
103
			$e = 'Erreur inopinée lors de la suppression';
102
			$e = 'Erreur inopinée lors de la suppression';
104
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
103
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
105
		}
104
		}
-
 
105
 
-
 
106
		MotClePictoflora::updateStats($this->bdd, $id_mot_cle);
106
		return null;
107
		return null;
107
	}
108
	}
108
}
109
}
109
?>
110
?>