[Phpmyadmin-devel] Re: Removing of grab_globals
Marc Delisle
Marc.Delisle at cegepsherbrooke.qc.ca
Wed Dec 7 07:55:15 CET 2005
Michal Čihař a écrit :
> Hi
>
> On Wed, 07 Dec 2005 10:06:41 -0500
> Marc Delisle <Marc.Delisle at cegepsherbrooke.qc.ca> wrote:
>
>
>>Sebastian Mendel a écrit :
>>
>>>Michal Čihař schrieb:
>>>
>>>>I suggested to create some function like:
>>>>
>>>>PMA_grabParameter($name, $request, $sanitizing = 'none', $required =
>>>>TRUE)
>>>>
>>>>The request parameter might not be needed, but it's up to discussion.
>>>>
>>>>While Marc came with way how Moodle does it:
>>>>
>>
>>Michal, I showed this Moodle example because you wanted to know what other
>>products are doing. I am not advocating for their mechanism.
>>
>>About PMA_grabParameter(), is the second parameter used for the origin of the
>>variable, like GET, POST, COOKIE, SESSION?
>
>
> It was original purpose.
>
>
>>>>Comments?
>>>
>>>
>>>// ifsetor() ;-)
>>>function checkRequest($name, $default = null)
>>>{
>>> if ( isset( $_REQUEST[$name] ) ) {
>>> return $_REQUEST[$name];
>>> }
>>>
>>> return $default;
>>>}
>>>
>>>i think in most cases PMA should use $_REQUEST directly and use one of
>>>the above function only to set default values
>>>
>>>using of $_REQUEST makes it more clear where this variable came from,
>>>reminding the developer always to take care with this variables!
>>
>>I don't understand why using $_REQUEST makes more clear where this variable came
>>from. In $_REQUEST, variables can come from EGPCS, as defined by the
>>variables_order directive. I think that it's better to say explicitly where we
>>expect each variable to come from.
>
>
> Many variables can come at least either from POST or GET (see
> PMA_linkOrButton [or what's it's name]).
>
Yes, we would have to mention all the possible sources.
But I don't want to argue ad vitam aeternam about this :) If you all prefer
using $_REQUEST, let's do it.
FYI, look what the Mambo team has done in their globals.php script. They are
populating $GLOBALS. Not sure I approve their method. Comments?
-----------
$raw = phpversion();
list($v_Upper,$v_Major,$v_Minor) = explode(".",$raw);
if (($v_Upper == 4 && $v_Major < 1) || $v_Upper < 4) {
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_COOKIE = $HTTP_COOKIE_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_SESSION = $HTTP_SESSION_VARS;
$_FILES = $HTTP_POST_FILES;
}
if (!ini_get('register_globals')) {
while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value;
while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value;
foreach($_FILES as $key => $value){
$GLOBALS[$key]=$_FILES[$key]['tmp_name'];
foreach($value as $ext => $value2){
$key2 = $key . '_' . $ext;
$GLOBALS[$key2] = $value2;
}
}
}
===============
More information about the Developers
mailing list