Search code examples
firefoxurlcakephpencodingnamed-parameters

CakePHP named paramaters in FireFox Causing issues


We have a cakephp app running on 2.0 and we seem to be having some encoding issues with Firefox.

The URL we are accessing is /newcms/core/users/index/conditions[User][group_id]:6 to apply a filter in out cms system.

In everything but FireFox we get the following on the request object

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions] => Array
                        (
                            [User] => Array
                                (
                                    [group_id] => 6
                                )

                        )

                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

Which is correct and everything works fine, if we goto the same URL in FireFox we get

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions%5BUser%5D%5Bgroup_id%5D] => 6
                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

I have tried URL encoding the named condition value but with no luck..

Any suggestions?


Solution

  • Well after a bit of digging and playing around the latest version of cake in GitHub has fixed this FF issue (https://github.com/cakephp/cakephp/commit/e6905b44c3d4512b6989c59a1489bc983d88bcdc).

    There is nothing incorrect about passing square brackets in the URI it was just an issue with the way FF encoded them differently than the other browsers.