Rev 45 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** DAO des traitements à réaliser sur les référentiels.** @package Referentiel* @category Php 5.2* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @copyright 2010 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL* @version $Id$**/class TraitementDao extends Dao {const SERVICE = 'Traitement';private $url = null;public function __construct() {parent::__construct();$this->url = $this->url_jrest.self::SERVICE;}/*** Retourne les infos d'un traitement enregistré dans la bdd pour un id donné.** @param integer l'id du traitement.* @return array le tableau d'infos ou false en cas d'échec.*/public function getInfos($id_traitement) {$url = $this->url."/Info/$id_traitement";$json = $this->envoyerRequeteConsultation($url);$infos = json_decode($json, true);return $infos;}/*** Retourne l'ensemble des traitements en attente.** @param string le code du projet de référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed un tableau contenant les informations sur les traitements en attente ou false en cas d'échec.*/public function getTraitementsEnAttente($code_projet, $script) {$url = $this->url."/EnAttente/$code_projet/$script";$json = $this->envoyerRequeteConsultation($url);$traitements = json_decode($json, true);return $traitements;}/*** Retourne l'ensemble des traitements en cours.** @param string le code du projet de référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed un tableau contenant les informations sur les traitements en cours ou false en cas d'échec.*/public function getTraitementsEnCours($code_projet, $script) {$url = $this->url."/EnCours/$code_projet/$script";$json = $this->envoyerRequeteConsultation($url);$traitements = json_decode($json, true);return $traitements;}/*** Retourne les ids de l'ensemble des traitements obsolètes.** @param string le code du projet de référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed un tableau contenant les ids des traitements obsolètes ou false en cas d'échec.*/public function getTraitementsObsoletes($code_projet, $script) {$url = $this->url."/Obsolete/$code_projet/$script";$json = $this->envoyerRequeteConsultation($url);$traitements = json_decode($json, true);return $traitements;}/*** Retourne le dernier traitement demandé et non traité pour un projet donné.** @param string le code du projet de référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed un tableau contenant les informations sur le dernier traitement demandé et non traité ou false en cas d'échec.*/public function getDernierTraitement($code_projet, $script) {$url = $this->url."/DerniereDemande/$code_projet/$script";$json = $this->envoyerRequeteConsultation($url);$traitements = json_decode($json, true);return $traitements;}/*** Retourne l'ensemble des traitements terminés.** @param string le code du projet de référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed un tableau contenant les informations sur les traitements terminés ou false en cas d'échec.*/public function getTraitementsTermines($code_projet, $script) {$url = $this->url."/Termines/$code_projet/$script";$json = $this->envoyerRequeteConsultation($url);$traitements = json_decode($json, true);return $traitements;}/*** Ajoute une demande de traitement pour une référentiel donné.** @param string le code du référentiel.* @param string le nom du script à lancer en minuscule.* @return mixed l'id du traitement ou false en cas d'échec.*/public function ajouterTraitement($code_projet, $script) {return $this->ajouterTraitementParametre($code_projet, null, $script);}/*** Ajoute une demande de traitement pour une référentiel donné* en passant des paramêtres au script.** @param string le code du référentiel.* @param string les données serialisées.* @param string le nom du script à lancer en minuscule.* @return mixed l'id du traitement ou false en cas d'échec.*/public function ajouterTraitementParametre($code_projet, $parametres, $script) {// Préparation des données à passer par POST$donnees['referentiel_code'] = $code_projet;$donnees['script'] = $script;$donnees['script_parametres'] = (isset($parametres)) ? $parametres : null;// Envoie des données et récupération du retour$json = $this->envoyerRequeteAjout($this->url, $donnees);$id = json_decode($json, true);return $id;}/*** Modifie un traitement pour indiquer qu'il est débuté.** @param integer l'id du traitement* @return boolean true en cas de succés sinon false.*/public function debuterTraitement($id_traitement) {$url = $this->url."/$id_traitement";$donnees['action'] = 'Debuter';// Envoie des données et récupération du retour$json = $this->envoyerRequeteModif($url, $donnees);$ok = json_decode($json, true);return $ok;}/*** Modifie un traitement pour indiquer qu'il est terminé.** @param integer l'id du traitement* @return boolean true en cas de succés sinon false.*/public function terminerTraitement($id_traitement) {$url = $this->url."/$id_traitement";$donnees['action'] = 'Terminer';// Envoie des données et récupération du retour$json = $this->envoyerRequeteModif($url, $donnees);$ok = json_decode($json, true);return $ok;}/*** Supprime des traitments en fonction de leur id.** @param array le tableau des id des traitements à supprimer* @return boolean true en cas de succès ou false en cas d'échec.*/public function supprimer(Array $ids) {// Préparation de l'url$url = $this->url.'/'.implode(',', $ids);// Envoie des données et récupération du retour$json = $this->envoyerRequeteSuppression($url);$ok = json_decode($json, true);return $ok;}}?>