Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 22 → Rev 23

/trunk/bibliotheque/dao/TraitementDao.php
New file
0,0 → 1,37
<?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';
/**
* Ajoute une demande de traitment pour une référentiel donné.
*
* @param string le code du référentiel.
* @return mixed l'id du traitement ou false en cas d'échec.
*/
public function ajouterTraitement($code_projet) {
// Pré-paration des données à passer par POST
$donnees['referentiel_code'] = $code_projet;
// Création de l'url du service
$url = $this->url_jrest.self::SERVICE;
 
// Envoie des données et récupération du retour
$json = $this->envoyerRequeteAjout($url, $donnees);
$id = json_decode($json, true);
return $id;
}
}
?>
/trunk/bibliotheque/dao/Dao.php
22,6 → 22,9
$this->url_jrest = config::get('url_jrest');
}
//+----------------------------------------------------------------------------------------------------------------+
// ACCESSEURS
public function avoirLimitation() {
$limitation = false;
if (!is_null($this->limite_debut) && !is_null($this->limite_nbre)) {
49,4 → 52,37
public function getLimiteNbre() {
return $this->limite_nbre;
}
//+----------------------------------------------------------------------------------------------------------------+
// MÉTHODES
protected function envoyerRequeteAjout($url, Array $donnees) {
$retour = $this->envoyerRequete($url, $donnees, 'PUT');
return $retour;
}
protected function envoyerRequeteModif($url, $donnees) {
$retour = $this->envoyerRequete($url, $donnees, 'POST');
return $retour;
}
protected function envoyerRequeteSuppression($url) {
$retour = $this->envoyerRequete($url, $donnees, 'DELETE');
return $retour;
}
private function envoyerRequete($url, Array $donnees, $mode) {
$retour = false;
if ($mode != 'PUT' && $mode != 'POST' && $mode != 'DELETE') {
$e = "Le mode de requête '$mode' n'est pas accepté!";
trigger_error($e, E_USER_WARNING);
} else {
$contexte = stream_context_create(
array('http' => array(
'method' => $mode,
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'content' => http_build_query($donnees))));
$retour = file_get_contents($url, false, $contexte);
}
return $retour;
}
}