matching GET/POST. I think this should be cleaned up so that _REQUEST behavior would conform its use case.
Attached is the patch that implements request_order .ini value. Comments?
-- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED]
Index: php.ini-dist =================================================================== RCS file: /repository/php-src/php.ini-dist,v retrieving revision 1.231.2.10.2.22.2.2 diff -u -r1.231.2.10.2.22.2.2 php.ini-dist --- php.ini-dist 11 Feb 2008 00:01:11 -0000 1.231.2.10.2.22.2.2 +++ php.ini-dist 13 Feb 2008 20:57:20 -0000 @@ -413,6 +413,12 @@ ; values override older values. variables_order = "EGPCS" +; This directive describes the order in which PHP registers GET, POST and Cookie +; variables into the _REQUEST array. Registration is done from left to right, +; newer values override older values. +; If this directive is not set, variables_order is used for _REQUEST contents. +; request_order = "GP" + ; Whether or not to register the EGPCS variables as global variables. You may ; want to turn this off if you don't want to clutter your scripts' global scope ; with user data. This makes most sense when coupled with track_vars - in which Index: php.ini-recommended =================================================================== RCS file: /repository/php-src/php.ini-recommended,v retrieving revision 1.179.2.11.2.23.2.2 diff -u -r1.179.2.11.2.23.2.2 php.ini-recommended --- php.ini-recommended 11 Feb 2008 00:01:11 -0000 1.179.2.11.2.23.2.2 +++ php.ini-recommended 13 Feb 2008 20:57:20 -0000 @@ -464,6 +464,12 @@ ; values override older values. variables_order = "GPCS" +; This directive describes the order in which PHP registers GET, POST and Cookie +; variables into the _REQUEST array. Registration is done from left to right, +; newer values override older values. +; If this directive is not set, variables_order is used for _REQUEST contents. +request_order = "GP" + ; Whether or not to register the EGPCS variables as global variables. You may ; want to turn this off if you don't want to clutter your scripts' global scope ; with user data. This makes most sense when coupled with track_vars - in which Index: main/main.c =================================================================== RCS file: /repository/php-src/main/main.c,v retrieving revision 1.640.2.23.2.57.2.8 diff -u -r1.640.2.23.2.57.2.8 main.c --- main/main.c 4 Feb 2008 20:39:21 -0000 1.640.2.23.2.57.2.8 +++ main/main.c 13 Feb 2008 20:57:20 -0000 @@ -436,6 +436,7 @@ STD_PHP_INI_ENTRY("user_dir", NULL, PHP_INI_SYSTEM, OnUpdateString, user_dir, php_core_globals, core_globals) STD_PHP_INI_ENTRY("variables_order", "EGPCS", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateStringUnempty, variables_order, php_core_globals, core_globals) + STD_PHP_INI_ENTRY("request_order", NULL, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateString, request_order, php_core_globals, core_globals) STD_PHP_INI_ENTRY("error_append_string", NULL, PHP_INI_ALL, OnUpdateString, error_append_string, php_core_globals, core_globals) STD_PHP_INI_ENTRY("error_prepend_string", NULL, PHP_INI_ALL, OnUpdateString, error_prepend_string, php_core_globals, core_globals) Index: main/php_globals.h =================================================================== RCS file: /repository/php-src/main/php_globals.h,v retrieving revision 1.98.2.1.2.7.2.2 diff -u -r1.98.2.1.2.7.2.2 php_globals.h --- main/php_globals.h 31 Dec 2007 07:17:17 -0000 1.98.2.1.2.7.2.2 +++ main/php_globals.h 13 Feb 2008 20:57:20 -0000 @@ -164,6 +164,8 @@ char *user_ini_filename; long user_ini_cache_ttl; + + char *request_order; }; Index: main/php_variables.c =================================================================== RCS file: /repository/php-src/main/php_variables.c,v retrieving revision 1.104.2.10.2.11.2.3 diff -u -r1.104.2.10.2.11.2.3 php_variables.c --- main/php_variables.c 31 Dec 2007 07:17:17 -0000 1.104.2.10.2.11.2.3 +++ main/php_variables.c 13 Feb 2008 20:57:20 -0000 @@ -835,7 +835,13 @@ array_init(form_variables); INIT_PZVAL(form_variables); - for (p = PG(variables_order); p && *p; p++) { + if(PG(request_order) != NULL) { + p = PG(request_order); + } else { + p = PG(variables_order); + } + + for (; p && *p; p++) { switch (*p) { case 'g': case 'G':
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php