Subversion Repositories eFlore/Applications.del

Rev

Rev 1436 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1436 Rev 1793
Line 15... Line 15...
15
 */
15
 */
Line 16... Line 16...
16
 
16
 
Line 17... Line 17...
17
require_once('MotClePictoflora.php');
17
require_once('MotClePictoflora.php');
18
 
18
 
19
class AjouterMotCle {
19
class AjouterMotCle {
20
	
20
 
21
	private $conteneur;
21
	private $conteneur;
22
	private $navigation;
-
 
23
	private $masque;
22
	private $navigation;
24
	private $gestionBdd;
23
	private $masque;
25
	private $bdd;
24
	private $bdd;
26
	private $parametres = array();
25
	private $parametres = array();
27
	private $ressources = array();
26
	private $ressources = array();
Line 28... Line 27...
28
	
27
 
29
	private $commentaire;
28
	private $commentaire;
30
 
29
 
31
	public function __construct(Conteneur $conteneur = null) {
30
	public function __construct(Conteneur $conteneur = null) {
32
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
-
 
33
		$this->navigation = $conteneur->getNavigation();
31
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
34
		$this->masque = $conteneur->getMasque();
-
 
35
		$this->gestionBdd = $conteneur->getGestionBdd();
32
		$this->navigation = $conteneur->getNavigation();
36
		$this->bdd = $this->gestionBdd->getBdd();
33
		$this->masque = $conteneur->getMasque();
37
		
34
		$this->bdd = $this->conteneur->getBdd();
38
	}
35
	}
39
	
36
 
40
	/**
37
	/**
41
	 * Ajoute un mot-clé si les objets fournis en paramètres sont valides
38
	 * Ajoute un mot-clé si les objets fournis en paramètres sont valides
42
	 * pour l'afficher.
39
	 * pour l'afficher.
43
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
40
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
44
	 * @param array $parametres les paramètres situés après le ? dans l'url
41
	 * @param array $parametres les paramètres situés après le ? dans l'url
45
	 * */
42
	 * */
46
	public function ajouter($ressources, $parametres) {
43
	public function ajouter($ressources, $parametres) {
47
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
44
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
48
		
45
 
49
		// Gestion des configuration du script
46
		// Gestion des configuration du script
50
		$this->verifierConfiguration();
47
		$this->verifierConfiguration();
51
		$insertion = $this->insererMotCle($this->parametres);
48
		$insertion = $this->insererMotCle($this->parametres);
52
		
49
 
53
		// Mettre en forme le résultat et l'envoyer pour affichage
50
		// Mettre en forme le résultat et l'envoyer pour affichage
54
		$resultat = new ResultatService();
51
		$resultat = new ResultatService();
55
		$resultat->corps = array('id_mot_cle' => $insertion);
52
		$resultat->corps = array('id_mot_cle' => $insertion);
56
		
53
 
57
		return $resultat;
54
		return $resultat;
58
	}
55
	}
59
	
56
 
60
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
57
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
61
		$this->ressources = $ressources;
58
		$this->ressources = $ressources;
62
		$this->parametres = $parametres;	
59
		$this->parametres = $parametres;
63
	}
60
	}
64
	
61
 
65
	/*-------------------------------------------------------------------------------
62
	/*-------------------------------------------------------------------------------
66
	 							CONFIGURATION DU SERVICE
63
	 							CONFIGURATION DU SERVICE
67
	 --------------------------------------------------------------------------------*/	
64
	 --------------------------------------------------------------------------------*/
68
	/**
65
	/**
69
	 * Vérifier que le service est bien configuré 
66
	 * Vérifier que le service est bien configuré
70
	 * */
67
	 * */
71
	public function verifierConfiguration() {
68
	public function verifierConfiguration() {
72
		$erreurs = array();
69
		$erreurs = array();
73
		
70
 
74
		if (!isset($this->parametres['image'])) {
71
		if (!isset($this->parametres['image'])) {
75
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans image associée ;';
72
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans image associée ;';
76
		} else if(!is_numeric($this->parametres['image'])) {
73
		} else if(!is_numeric($this->parametres['image'])) {
77
			$erreurs[] = ' - l\'identifiant d\'image doit être un entier ;';
74
			$erreurs[] = ' - l\'identifiant d\'image doit être un entier ;';
78
		}
75
		}
79
		
76
 
80
		if (!isset($this->parametres['mot_cle'])) {
77
		if (!isset($this->parametres['mot_cle'])) {
81
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans le mot clé ;';
78
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans le mot clé ;';
82
		}
79
		}
83
		
80
 
84
		if (!isset($this->parametres['auteur.id'])) {
81
		if (!isset($this->parametres['auteur.id'])) {
85
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans auteur associé ;';
82
			$erreurs[] = ' - impossible d\'ajouter un mot clé sans auteur associé ;';
86
		}
83
		}
87
		
84
 
88
		if (!empty($erreurs)) {
85
		if (!empty($erreurs)) {
89
			$e = 'Erreur de configuration :';
86
			$e = 'Erreur de configuration :';
90
			$e = implode("\n", $erreurs);
87
			$e = implode("\n", $erreurs);
91
			echo var_dump($e);
88
			echo var_dump($e);
92
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
89
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
93
		}
90
		}
94
	}
91
	}
95
	
92
 
96
	/*-------------------------------------------------------------------------------
93
	/*-------------------------------------------------------------------------------
97
							   INSERTION DES MOTS CLES 
94
							   INSERTION DES MOTS CLES
98
	--------------------------------------------------------------------------------*/	
95
	--------------------------------------------------------------------------------*/
99
	/**
96
	/**
100
	 * Insère un mot clé dans la table
97
	 * Insère un mot clé dans la table
101
	 * @param $mot_cle array la liste des paramètres
98
	 * @param $mot_cle array la liste des paramètres
102
	 * */
99
	 * */
103
	private function insererMotCle($mot_cle) {
100
	private function insererMotCle($mot_cle) {
104
		$id_image = intval($mot_cle['image']);
101
		$id_image = intval($mot_cle['image']);
Line 105... Line 102...
105
		$id_auteur = $mot_cle['auteur.id'];
102
		$id_auteur = $mot_cle['auteur.id'];
106
		$mots_cles = explode(",", $mot_cle['mot_cle']);
103
		$mots_cles = explode(",", $mot_cle['mot_cle']);
107
		array_walk($mots_cles, create_function('&$val', '$val = trim($val);')); 
104
		array_walk($mots_cles, create_function('&$val', '$val = trim($val);'));
108
 
105
 
109
		$valeurs_a_inserer = array();		
106
		$valeurs_a_inserer = array();
110
		foreach ($mots_cles as $mot_cle_a_inserer) {
107
		foreach ($mots_cles as $mot_cle_a_inserer) {