update super global access to gracefully handle unset super global vars

This commit is contained in:
monte.ohrt
2009-06-15 14:04:53 +00:00
parent 3bdad9eaeb
commit 4014a41c02

View File

@@ -579,16 +579,27 @@ class Smarty
$this->assign('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] $this->assign('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME']
: @$GLOBALS['HTTP_SERVER_VARS']['SCRIPT_NAME']); : @$GLOBALS['HTTP_SERVER_VARS']['SCRIPT_NAME']);
$this->_supers['get'] = $this->request_use_auto_globals ? $_GET : $GLOBALS['HTTP_GET_VARS']; $this->_supers['get'] = $this->request_use_auto_globals
$this->_supers['post'] = $this->request_use_auto_globals ? $_POST : $GLOBALS['HTTP_POST_VARS']; ? (isset($_GET) ? $_GET : array())
$this->_supers['server'] = $this->request_use_auto_globals ? $_SERVER : $GLOBALS['HTTP_SERVER_VARS']; : $GLOBALS['HTTP_GET_VARS'];
if(isset($_SESSION)) $this->_supers['post'] = $this->request_use_auto_globals
$this->_supers['session'] = $this->request_use_auto_globals ? $_SESSION : $GLOBALS['HTTP_SESSION_VARS']; ? (isset($_POST) ? $_POST : array())
else : $GLOBALS['HTTP_POST_VARS'];
$this->_supers['session'] = array(); $this->_supers['server'] = $this->request_use_auto_globals
$this->_supers['request'] = $this->request_use_auto_globals ? $_REQUEST : $GLOBALS['HTTP_REQUEST_VARS']; ? (isset($_SERVER) ? $_SERVER : array())
$this->_supers['cookies'] = $this->request_use_auto_globals ? $_COOKIE : $GLOBALS['HTTP_COOKIE_VARS']; : $GLOBALS['HTTP_SERVER_VARS'];
$this->_supers['env'] = $this->request_use_auto_globals ? $_ENV : $GLOBALS['HTTP_ENV_VARS']; $this->_supers['session'] = $this->request_use_auto_globals
? (isset($_SESSION) ? $_SESSION : array())
: $GLOBALS['HTTP_SESSION_VARS'];
$this->_supers['request'] = $this->request_use_auto_globals
? (isset($_REQUEST) ? $_REQUEST : array())
: $GLOBALS['HTTP_REQUEST_VARS'];
$this->_supers['cookies'] = $this->request_use_auto_globals
? (isset($_COOKIE) ? $_COOKIE : array())
: $GLOBALS['HTTP_COOKIE_VARS'];
$this->_supers['env'] = $this->request_use_auto_globals
? (isset($_ENV) ? $_ENV : array())
: $GLOBALS['HTTP_ENV_VARS'];
} }