Subversion Repositories Applications.projet

Compare Revisions

Regard whitespace Rev 435 → Rev 436

/branches/v3.1-sardain/jrest/JRest.php
29,7 → 29,6
* @param str iniFile Configuration file to use
*/
public function JRest($iniFile = 'jrest.ini.php') {
 
$this->config = parse_ini_file($iniFile, TRUE);
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER['REQUEST_METHOD']) && isset($_SERVER['QUERY_STRING'])) {
if (isset($_SERVER['CONTENT_LENGTH']) && $_SERVER['CONTENT_LENGTH'] > 0) {
45,7 → 44,13
} else {
$len = -(strlen($_SERVER['QUERY_STRING']) + 1);
}
$urlString = '';
if (substr_count($_SERVER['REQUEST_URI'], $this->config['settings']['baseURL']) > 0) {
$urlString = substr($_SERVER['REQUEST_URI'], strlen($this->config['settings']['baseURL']), $len);
} else if (substr_count($_SERVER['REQUEST_URI'], $this->config['settings']['baseAlternativeURL']) > 0) {
$urlString = substr($_SERVER['REQUEST_URI'], strlen($this->config['settings']['baseAlternativeURL']), $len);
}
 
$urlParts = explode('/', $urlString);
 
69,7 → 74,6
* Execute the request.
*/
function exec() {
 
switch ($this->method) {
case 'GET':
$this->get();
128,7 → 132,7
 
// Ne pas effacer cette ligne ! Elle est indispensable pour les services du Carnet en ligne
// qui n'utilisent que le tableau pairs dans les posts
$pairs = array_merge($pairs, $_POST);
$pairs = array_merge($_POST, $pairs);
}
 
// gestion du contenu du post
136,7 → 140,7
{
// Safari ne sait pas envoyer des DELETE avec gwt...
// Nous utilisons le parametre "action" passé dans le POST qui doit contenir DELETE pour lancer la supression
if ($pairs['action'] == 'DELETE') {
if (isset($pairs['action']) && $pairs['action'] == 'DELETE') {
$this->delete();
return;
}
150,9 → 154,14
if (class_exists($resource_class)) {
$service = new $resource_class($this->config);
if (method_exists($service,'updateElement')) { // Update element
$ret_value = false;
try {
// TODO : a voir le retour ...
if ($service->updateElement($this->uid, $pairs)) {
$this->created();
$ret_value = $service->updateElement($this->uid, $pairs);
if($ret_value) $this->created();
else $this->badRequest();
} catch (Exception $e) {
$this->badRequest($e);
}
}
}
202,8 → 211,13
if (class_exists($resource_class)) {
$service = new $resource_class($this->config);
if (method_exists($service,'createElement')) { // Create a new element
if ($service->createElement($pairs)) {
$this->created();
$ret_value = false;
try {
$ret_value = $service->createElement($pairs);
if($ret_value) $this->created();
else $this->badRequest();
} catch (Exception $e) {
$this->badRequest($e);
}
}
}
250,8 → 264,9
/**
* Send a HTTP 400 response header.
*/
private function badRequest() {
private function badRequest(Exception $e = NULL) {
header('HTTP/1.0 400 Bad Request');
if($e) echo $e->getMessage();
}
 
/**