Browse Source

Merge pull request #2709 from MelvinRoss/url-fix

Fix double url decoding bug
Mark Story 12 years ago
parent
commit
82aa048acc
1 changed files with 6 additions and 6 deletions
  1. 6 6
      lib/Cake/Routing/Route/CakeRoute.php

+ 6 - 6
lib/Cake/Routing/Route/CakeRoute.php

@@ -235,7 +235,7 @@ class CakeRoute {
 
 		foreach ($this->keys as $key) {
 			if (isset($route[$key])) {
-				$route[$key] = rawurldecode($route[$key]);
+				$route[$key] = $route[$key];
 			}
 		}
 
@@ -247,7 +247,7 @@ class CakeRoute {
 		}
 
 		if (isset($route['_trailing_'])) {
-			$route['pass'][] = rawurldecode($route['_trailing_']);
+			$route['pass'][] = $route['_trailing_'];
 			unset($route['_trailing_']);
 		}
 
@@ -297,12 +297,12 @@ class CakeRoute {
 			$separatorIsPresent = strpos($param, $namedConfig['separator']) !== false;
 			if ((!isset($this->options['named']) || !empty($this->options['named'])) && $separatorIsPresent) {
 				list($key, $val) = explode($namedConfig['separator'], $param, 2);
-				$key = rawurldecode($key);
-				$val = rawurldecode($val);
+				$key = $key;
+				$val = $val;
 				$hasRule = isset($rules[$key]);
 				$passIt = (!$hasRule && !$greedy) || ($hasRule && !$this->_matchNamed($val, $rules[$key], $context));
 				if ($passIt) {
-					$pass[] = rawurldecode($param);
+					$pass[] = $param;
 				} else {
 					if (preg_match_all('/\[([A-Za-z0-9_-]+)?\]/', $key, $matches, PREG_SET_ORDER)) {
 						$matches = array_reverse($matches);
@@ -323,7 +323,7 @@ class CakeRoute {
 					$named = array_merge_recursive($named, array($key => $val));
 				}
 			} else {
-				$pass[] = rawurldecode($param);
+				$pass[] = $param;
 			}
 		}
 		return array($pass, $named);