-function sqextractGlobalVar ($name) {
- if ( !check_php_version(4,1) ) {
- global $_SESSION, $_GET, $_POST;
- }
- global $$name;
- if( isset($_SESSION[$name]) ) {
- $$name = $_SESSION[$name];
- }
- if( isset($_POST[$name]) ) {
- $$name = $_POST[$name];
- }
- else if ( isset($_GET[$name]) ) {
- $$name = $_GET[$name];
+function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) {
+
+ /* NOTE: DO NOT enclose the constants in the switch
+ statement with quotes. They are constant values,
+ enclosing them in quotes will cause them to evaluate
+ as strings. */
+ switch ($search) {
+ /* we want the default case to be first here,
+ so that if a valid value isn't specified,
+ all three arrays will be searched. */
+ default:
+ case SQ_INORDER: // check session, post, get
+ case SQ_SESSION:
+ if( isset($_SESSION[$name]) ) {
+ $value = $_SESSION[$name];
+ return TRUE;
+ } elseif ( $search == SQ_SESSION ) {
+ break;
+ }
+ case SQ_FORM: // check post, get
+ case SQ_POST:
+ if( isset($_POST[$name]) ) {
+ $value = $_POST[$name];
+ return TRUE;
+ } elseif ( $search == SQ_POST ) {
+ break;
+ }
+ case SQ_GET:
+ if ( isset($_GET[$name]) ) {
+ $value = $_GET[$name];
+ return TRUE;
+ }
+ /* NO IF HERE. FOR SQ_INORDER CASE, EXIT after GET */
+ break;
+ case SQ_COOKIE:
+ if ( isset($_COOKIE[$name]) ) {
+ $value = $_COOKIE[$name];
+ return TRUE;
+ }
+ break;
+ case SQ_SERVER:
+ if ( isset($_SERVER[$name]) ) {
+ $value = $_SERVER[$name];
+ return TRUE;
+ }
+ break;