New file |
0,0 → 1,193 |
<?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; |
} |
} |
?> |