public static function restoreGlobals(array $blacklist) {
if (ini_get('register_long_arrays') == '1') {
$superGlobalArrays = array_merge(self::$superGlobalArrays, self::$superGlobalArraysLong);
}
else {
$superGlobalArrays = self::$superGlobalArrays;
}
foreach ($superGlobalArrays as $superGlobalArray) {
if (!in_array($superGlobalArray, $blacklist)) {
self::restoreSuperGlobalArray($superGlobalArray);
}
}
foreach (array_keys($GLOBALS) as $key) {
if ($key != 'GLOBALS' && !in_array($key, $superGlobalArrays) && !in_array($key, $blacklist)) {
if (isset(self::$globals['GLOBALS'][$key])) {
$GLOBALS[$key] = unserialize(self::$globals['GLOBALS'][$key]);
}
else {
unset($GLOBALS[$key]);
}
}
}
self::$globals = array();
}