fix for unsafe images links. Somehow the wrong were in de view unsafe images
[squirrelmail.git] / functions / global.php
index ef63d5a9af639e6f222e9835c43bbcc82cadf48a..b2f7d16ade974f289a5f936d5af63a974d1a5486 100644 (file)
@@ -162,10 +162,12 @@ define('SQ_INORDER',0);
 define('SQ_GET',1);
 define('SQ_POST',2);
 define('SQ_SESSION',3);
+define('SQ_COOKIE',4);
+define('SQ_SERVER',5);
 
 /**
- * Search for the var $name in $_SESSION, $_POST, $_GET
- * and set it in provided var. 
+ * Search for the var $name in $_SESSION, $_POST, $_GET,
+ * $_COOKIE, or $_SERVER and set it in provided var. 
  * If $search is not provided,  or == SQ_INORDER, it will search
  * $_SESSION, then $_POST, then $_GET. Otherwise,
  * use one of the defined constants to look for 
@@ -175,36 +177,48 @@ define('SQ_SESSION',3);
  */
 function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) {
     if ( !check_php_version(4,1) ) {
-        global $_SESSION, $_GET, $_POST;
+        global $_SESSION, $_GET, $_POST, $_COOKIE, $_SERVER;
     }
     
     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:
-       case SQ_SESSION:
+       default:
+       case 'SQ_INORDER':
+       case 'SQ_SESSION':
          if( isset($_SESSION[$name]) ) {
             $value = $_SESSION[$name];
            return TRUE;
           } elseif ( $search == SQ_SESSION ) {
            break;
          }
-       case SQ_POST:
+       case 'SQ_POST':
          if( isset($_POST[$name]) ) {
             $value = $_POST[$name];
            return TRUE;
          } elseif ( $search == SQ_POST ) {
            break;
          }
-               case SQ_GET:
+               case 'SQ_GET':
          if ( isset($_GET[$name]) ) {
             $value = $_GET[$name];
            return TRUE;
-         } elseif ( $search == SQ_GET ) {
-           break;
-         }
+         } 
+         /* 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;
     }
     return FALSE;
 }
@@ -215,19 +229,11 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) {
  *  (in that order) and register it as a global var.
  */
 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];
-    }
+
+    global $$name;
+
+    sqgetGlobalVar($name, $$name);
+
 }
 
 function sqsession_destroy() {