$GLOBALS replaced in-place
Pre-release
Pre-release
$GLOBALS are passed by reference into the removal function so that the returned array can be used to set the other superglobals while protecting them.
Rather than protecting each global variable in place, the $GLOBALS superglobal is used when setting the whitelists, and when protecting the other variables.