Browse Source

Erroneous use of quotes in the switch in sqgetGlobalVar.
Don't know why I listened to whoever told me to add them.. <sighs>
thought it was acting funny whenever you tried to receive
variables outside of the default.
BLARGH.
it works now, so there.

Erin Schnabel 22 năm trước cách đây
mục cha
commit
c1052db2fd
2 tập tin đã thay đổi với 48 bổ sung33 xóa
  1. 1 0
      ChangeLog
  2. 47 33
      functions/global.php

+ 1 - 0
ChangeLog

@@ -29,6 +29,7 @@ Version 1.4.0 CVS
   - Fixed unfold header routine in imap_messages (for mailbox_display).
   - Fixed unfold header routine in imap_messages (for mailbox_display).
   - Make listcommands work with PHP versions 4.0.4 & 4.0.5.
   - Make listcommands work with PHP versions 4.0.4 & 4.0.5.
   - Fixed subject_line hook
   - Fixed subject_line hook
+  - Fixed sqgetGlobalVar switching
   
   
 Version 1.4.0 RC 2a
 Version 1.4.0 RC 2a
 -------------------
 -------------------

+ 47 - 33
functions/global.php

@@ -168,10 +168,19 @@ define('SQ_SERVER',5);
 /**
 /**
  * Search for the var $name in $_SESSION, $_POST, $_GET,
  * Search for the var $name in $_SESSION, $_POST, $_GET,
  * $_COOKIE, or $_SERVER and set it in provided var. 
  * $_COOKIE, or $_SERVER and set it in provided var. 
+ *
  * If $search is not provided,  or == SQ_INORDER, it will search
  * If $search is not provided,  or == SQ_INORDER, it will search
  * $_SESSION, then $_POST, then $_GET. Otherwise,
  * $_SESSION, then $_POST, then $_GET. Otherwise,
  * use one of the defined constants to look for 
  * use one of the defined constants to look for 
  * a var in one place specifically.
  * a var in one place specifically.
+ *
+ * Note: $search is an int value equal to one of the 
+ * constants defined above.
+ *
+ * example:
+ *    sqgetGlobalVar('username',$username,SQ_SESSION);
+ *  -- no quotes around last param!
+ *
  * Returns FALSE if variable is not found.
  * Returns FALSE if variable is not found.
  * Returns TRUE if it is.
  * Returns TRUE if it is.
  */
  */
@@ -179,46 +188,51 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) {
     if ( !check_php_version(4,1) ) {
     if ( !check_php_version(4,1) ) {
         global $_SESSION, $_GET, $_POST, $_COOKIE, $_SERVER;
         global $_SESSION, $_GET, $_POST, $_COOKIE, $_SERVER;
     }
     }
-    
+
+    /* 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) {
     switch ($search) {
         /* we want the default case to be first here,  
         /* we want the default case to be first here,  
 	   so that if a valid value isn't specified, 
 	   so that if a valid value isn't specified, 
 	   all three arrays will be searched. */
 	   all three arrays will be searched. */
-	default:
-	case 'SQ_INORDER':
-	case 'SQ_SESSION':
-	  if( isset($_SESSION[$name]) ) {
+      default:
+      case SQ_INORDER:
+      case SQ_SESSION:
+        if( isset($_SESSION[$name]) ) {
             $value = $_SESSION[$name];
             $value = $_SESSION[$name];
-	    return TRUE;
-          } elseif ( $search == SQ_SESSION ) {
-	    break;
-	  }
-	case 'SQ_POST':
-	  if( isset($_POST[$name]) ) {
+            return TRUE;
+        } elseif ( $search == SQ_SESSION ) {
+            break;
+        }
+      case SQ_POST:
+        if( isset($_POST[$name]) ) {
             $value = $_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;
-          }
+            return TRUE;
+        } elseif ( $search == SQ_POST ) {
           break;
           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:
+print "SQ_SERVER CASE<br />\n";
+        if ( isset($_SERVER[$name]) ) {
+            $value = $_SERVER[$name];
+            return TRUE;
+        }
+        break;
     }
     }
     return FALSE;
     return FALSE;
 }
 }