]> granicus.if.org Git - php/commitdiff
[DOC] add request_order INI variable to control $_REQUEST content
authorStanislav Malyshev <stas@php.net>
Wed, 12 Mar 2008 20:24:45 +0000 (20:24 +0000)
committerStanislav Malyshev <stas@php.net>
Wed, 12 Mar 2008 20:24:45 +0000 (20:24 +0000)
# if not set (default), variables_order still is used
# request_order accepts G,P and C

main/main.c
main/php_globals.h
main/php_variables.c
php.ini-dist
php.ini-recommended

index 7098a9aaeb98d260ee73a6939273487fca317501..3f56d1756856249fb50ec2d263418032dd940456 100644 (file)
@@ -436,6 +436,7 @@ PHP_INI_BEGIN()
 
        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 fec2e94bfdf50b6901fdf04cdec613cd9d9b5b46..0c9ccff5dffc06791d75eead5083ea9ba60e1757 100644 (file)
@@ -162,6 +162,8 @@ struct _php_core_globals {
 
        char *user_ini_filename;
        long user_ini_cache_ttl;
+
+       char *request_order;
 };
 
 
index 650b5f02197f3e7ad189216c2c552ed0d65850ac..274230fe41c440faadb7162709a36a0aad5e6be3 100644 (file)
@@ -835,7 +835,13 @@ static zend_bool php_auto_globals_create_request(char *name, uint name_len TSRML
        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':
index 4103409f3e387b3bf9dec42ffbf64bcab1fd7d89..2186697eb3cf6c6c09e2976535e8a5594534b0b6 100644 (file)
@@ -413,6 +413,12 @@ track_errors = Off
 ; 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 5b48c8aa682fd4dffe56da0a20e6396eaf033d54..057b4a17063bcb8d6c629123a813f9218e72723d 100644 (file)
@@ -464,6 +464,12 @@ track_errors = Off
 ; 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