Compare commits

..

5 Commits

Author SHA1 Message Date
Simon Sessingø 358b25d4f1 Merge pull request #73 from skipperbent/development
Development
2016-03-18 17:55:31 +01:00
Simon Sessingø 5483ffe458 [TASK] Readded group match inheritence .
- Settings on routes now have higher priority when merging settings from
  group.
2016-03-18 17:43:57 +01:00
Simon Sessingø 6d8e95fcaa [TASK] Match on group are no longer merged to child routes. 2016-03-18 15:21:45 +01:00
Simon Sessingø 3d45851d9b Merge pull request #72 from skipperbent/development
[BUGFIX] Only render group if prefix matches.
2016-03-16 19:58:03 +01:00
Simon Sessingø db78135d19 [BUGFIX] Only render group if prefix matches. 2016-03-16 19:57:54 +01:00
4 changed files with 20 additions and 9 deletions
+12
View File
@@ -154,4 +154,16 @@ class Request {
return $this->loadedRoute;
}
public function isFormatAccepted($format) {
return (isset($_SERVER['HTTP_ACCEPT']) && stripos($_SERVER['HTTP_ACCEPT'], $format) > -1);
}
public function getAcceptFormats() {
if(isset($_SERVER['HTTP_ACCEPT'])) {
return explode(',', $_SERVER['HTTP_ACCEPT']);
}
return array();
}
}
+1 -7
View File
@@ -86,7 +86,7 @@ class RouterBase {
$this->currentRoute = $route;
if($route instanceof RouterGroup && is_callable($route->getCallback())) {
if($route instanceof RouterGroup && $route->matchRoute($this->request) && is_callable($route->getCallback())) {
$group = $route;
$route->renderRoute($this->request);
$mergedSettings = array_merge($route->getMergeableSettings(), $settings);
@@ -126,12 +126,6 @@ class RouterBase {
$route = $this->controllerUrlMap[$i];
if($route->getGroup() !== null) {
if($route->getGroup()->matchDomain($this->request) === false) {
continue;
}
}
$routeMatch = $route->matchRoute($this->request);
if($routeMatch) {
+1 -1
View File
@@ -201,7 +201,7 @@ abstract class RouterEntry {
*/
public function addSettings(array $settings = null) {
if(is_array($settings)) {
$this->settings = array_merge($this->settings, $settings);
$this->settings = array_merge($settings, $this->settings);
}
return $this;
}
+6 -1
View File
@@ -66,7 +66,12 @@ class RouterGroup extends RouterEntry {
}
public function matchRoute(Request $request) {
return null;
// Skip if prefix doesn't match
if($this->getPrefix() !== null && stripos($request->getUri(), $this->getPrefix()) === false) {
return false;
}
return $this->matchDomain($request);
}
public function setExceptionHandler($class) {