Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1792 → Rev 1793

/trunk/services/modules/0.1/motscles/AjouterMotCle.php
17,15 → 17,14
require_once('MotClePictoflora.php');
 
class AjouterMotCle {
 
private $conteneur;
private $navigation;
private $masque;
private $gestionBdd;
private $bdd;
private $parametres = array();
private $ressources = array();
 
private $commentaire;
 
public function __construct(Conteneur $conteneur = null) {
32,11 → 31,9
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
$this->navigation = $conteneur->getNavigation();
$this->masque = $conteneur->getMasque();
$this->gestionBdd = $conteneur->getGestionBdd();
$this->bdd = $this->gestionBdd->getBdd();
$this->bdd = $this->conteneur->getBdd();
}
 
/**
* Ajoute un mot-clé si les objets fournis en paramètres sont valides
* pour l'afficher.
45,46 → 42,46
* */
public function ajouter($ressources, $parametres) {
$this->initialiserRessourcesEtParametres($ressources, $parametres);
 
// Gestion des configuration du script
$this->verifierConfiguration();
$insertion = $this->insererMotCle($this->parametres);
 
// Mettre en forme le résultat et l'envoyer pour affichage
$resultat = new ResultatService();
$resultat->corps = array('id_mot_cle' => $insertion);
 
return $resultat;
}
 
private function initialiserRessourcesEtParametres($ressources, $parametres) {
$this->ressources = $ressources;
$this->parametres = $parametres;
$this->parametres = $parametres;
}
 
/*-------------------------------------------------------------------------------
CONFIGURATION DU SERVICE
--------------------------------------------------------------------------------*/
--------------------------------------------------------------------------------*/
/**
* Vérifier que le service est bien configuré
* Vérifier que le service est bien configuré
* */
public function verifierConfiguration() {
$erreurs = array();
 
if (!isset($this->parametres['image'])) {
$erreurs[] = ' - impossible d\'ajouter un mot clé sans image associée ;';
} else if(!is_numeric($this->parametres['image'])) {
$erreurs[] = ' - l\'identifiant d\'image doit être un entier ;';
}
 
if (!isset($this->parametres['mot_cle'])) {
$erreurs[] = ' - impossible d\'ajouter un mot clé sans le mot clé ;';
}
 
if (!isset($this->parametres['auteur.id'])) {
$erreurs[] = ' - impossible d\'ajouter un mot clé sans auteur associé ;';
}
 
if (!empty($erreurs)) {
$e = 'Erreur de configuration :';
$e = implode("\n", $erreurs);
92,10 → 89,10
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
}
}
 
/*-------------------------------------------------------------------------------
INSERTION DES MOTS CLES
--------------------------------------------------------------------------------*/
INSERTION DES MOTS CLES
--------------------------------------------------------------------------------*/
/**
* Insère un mot clé dans la table
* @param $mot_cle array la liste des paramètres
104,9 → 101,9
$id_image = intval($mot_cle['image']);
$id_auteur = $mot_cle['auteur.id'];
$mots_cles = explode(",", $mot_cle['mot_cle']);
array_walk($mots_cles, create_function('&$val', '$val = trim($val);'));
array_walk($mots_cles, create_function('&$val', '$val = trim($val);'));
 
$valeurs_a_inserer = array();
$valeurs_a_inserer = array();
foreach ($mots_cles as $mot_cle_a_inserer) {
$mot_cle_normalise = MotClePictoflora::normaliserMotCle($mot_cle_a_inserer);
$valeurs_a_inserer[] = sprintf('(%d, %s, %s, %s, NOW(), 1, NOW())',