[BUGFIX] Fixed some ressources not working after latest update.

- Optimisations + cleanup.
This commit is contained in:
Simon Sessingø
2016-01-15 09:37:23 +01:00
parent 14a030294e
commit bb6f56ef8c
3 changed files with 38 additions and 53 deletions
-4
View File
@@ -178,10 +178,6 @@ abstract class RouterEntry {
public function getMergeableSettings() {
$settings = $this->settings;
/*if(isset($settings['middleware'])) {
unset($settings['middleware']);
}*/
if(isset($settings['prefix'])) {
unset($settings['prefix']);
}
+37 -42
View File
@@ -53,50 +53,45 @@ class RouterResource extends RouterEntry {
$parameters = $this->parseParameters($route, $url, '[0-9]*?');
if($parameters !== null) {
if(is_array($parameters)) {
$parameters = array_merge($this->parameters, $parameters);
}
$action = $parameters['action'];
unset($parameters['action']);
// Delete
if($request->getMethod() === self::REQUEST_TYPE_DELETE && $this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('destroy', $parameters);
}
// Update
if(in_array($request->getMethod(), array(self::REQUEST_TYPE_PATCH, self::REQUEST_TYPE_PUT)) && $this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('update', $parameters);
}
// Edit
if(isset($action) && strtolower($action) === 'edit' && $this->postMethod === self::REQUEST_TYPE_GET) {
return $this->call('edit', $parameters);
}
// Create
if(strtolower($action) === 'create' && $request->getMethod() === self::REQUEST_TYPE_GET) {
return $this->call('create', $parameters);
}
// Save
if($this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('store', $parameters);
}
// Show
if(isset($parameters['id']) && $this->postMethod === self::REQUEST_TYPE_GET) {
return $this->call('show', $parameters);
}
// Index
return $this->call('index', $parameters);
if(is_array($parameters)) {
$parameters = array_merge($this->parameters, $parameters);
}
return null;
$action = $parameters['action'];
unset($parameters['action']);
// Delete
if($request->getMethod() === self::REQUEST_TYPE_DELETE && $this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('destroy', $parameters);
}
// Update
if(in_array($request->getMethod(), array(self::REQUEST_TYPE_PATCH, self::REQUEST_TYPE_PUT)) && $this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('update', $parameters);
}
// Edit
if(isset($action) && strtolower($action) === 'edit' && $this->postMethod === self::REQUEST_TYPE_GET) {
return $this->call('edit', $parameters);
}
// Create
if(strtolower($action) === 'create' && $request->getMethod() === self::REQUEST_TYPE_GET) {
return $this->call('create', $parameters);
}
// Save
if($this->postMethod === self::REQUEST_TYPE_POST) {
return $this->call('store', $parameters);
}
// Show
if(isset($parameters['id']) && $this->postMethod === self::REQUEST_TYPE_GET) {
return $this->call('show', $parameters);
}
// Index
return $this->call('index', $parameters);
}
/**
+1 -7
View File
@@ -40,13 +40,7 @@ class RouterRoute extends RouterEntry {
$parameters = $this->parseParameters($route, $url);
if($parameters !== null) {
//if(is_array($this->parameters)) {
// $this->parameters = array_merge($this->parameters, $parameters);
//} else {
$this->parameters = $parameters;
//}
$this->parameters = $parameters;
return true;
}