44,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); |
|
126,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 |
134,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; |
} |
148,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); |
} |
} |
} |
200,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); |
} |
} |
} |
248,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(); |
} |
|
/** |