Router::url() and Router::parse() are not symmetrical. I don't see the reason why you want to parse the url and the pass it again to the Router. Could you explain?
On Thursday, March 19, 2015 at 1:00:16 AM UTC+1, Pgbi wrote: > > Tell me if i'm wrong but i thought that Router::parse was the inverse of > Router::url. > In other words, I thought that $url == Router::url(Router::parse($url))would > always be true. > > Just found out this was not the case. > > If $url = "/users/view/123" then Router::url(Router::parse($url)) = > "/users/view?pass%5B0%5D=123" > > This leads to the following bug in my App: > > // In UsersController > function login() > { > if ($this->request->is('post')) { > $user = $this->Auth->identify(); > if ($user) { > $this->Auth->setUser($user); > $url = $this->Auth->redirectUrl(); // let's say redirect url > is "/en/users/view/123" > $url = Router::parse($url); // now url is ['controller' => > 'users', 'action' => 'view', 'locale' => 'en', 'pass' => ['123']] > $url['locale'] = $user['locale']; // my user is french > $url = Router::url($url); // now url is > "/fr/users/view?pass%5B0%5D=123" > instead of "/fr/users/view/123" > return $this->redirect($url); > } > } > } > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.