Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 23 → Rev 24

/trunk/services/modules/Ref.php
56,10 → 56,14
protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8', $json = true) {
// Traitements des messages d'erreurs et données
if (count($this->messages) != 0) {
header('HTTP/1.1 500 Internal Server Error');
header('HTTP/1.1 424 Method failure');
$mime = 'text/html';
$encodage = 'utf-8';
$sortie = $this->messages;
// En plus de la réponse, nous passons les messages dans l'entete car la réponse ne peut pas être récupérée
// avec ce type d'erreur HTTP en php..
// FIXME : comment récupérer en php le contenu de la réponse portant le code HTTP 424 ou 500
$this->envoyerEnteteMessage();
} else {
$sortie = $donnees;
if (is_null($donnees)) {
68,7 → 72,7
}
 
// Gestion de l'envoie du déboguage
$this->envoyerDebogage();
$this->envoyerEnteteDebogage();
// Encodage au format et JSON et envoie sur la sortie standard
$contenu = $json ? json_encode($sortie) : $sortie;
75,7 → 79,21
$this->envoyerContenu($encodage, $mime, $contenu);
}
protected function envoyerDebogage() {
protected function envoyerEnteteMessage() {
if (!is_array($this->messages)) {
$this->messages[] = $this->messages;
}
if (count($this->messages) != 0) {
foreach ($this->messages as $cle => $val) {
if (is_array($val)) {
$this->messages[$cle] = print_r($val, true);
}
}
header('X-MessageJrest-Data:'.json_encode($this->messages));
}
}
protected function envoyerEnteteDebogage() {
if (!is_array($this->debug)) {
$this->debug[] = $this->debug;
}
/trunk/services/modules/Traitement.php
13,6 → 13,7
* @version $Id$
*/
class Traitement extends Ref {
/**
* Méthode principale appelée avec une requête de type GET.
*/
48,6 → 49,30
}
/**
* Retourne les infos sur les traitements en cours ou en attentes.
*/
public function getElementEnCours($projet) {
$projet = $this->bdd->quote($projet);
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
'FROM ref_traitement '.
"WHERE referentiel_code = $projet ".
' AND date_fin IS NULL '.
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' ';
$this->debug[] = $requete;
// Récupération des résultats
try {
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
if ($donnees === false) {
$this->messages[] = "La requête a retourné aucun résultat.";
}
} catch (PDOException $e) {
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
}
return $donnees;
}
/**
* Méthode appelée pour ajouter un traitement.
* Retour l'id du nouvel enregistrement ou false!
*/