unneccessary globals removed
[mailer.git] / inc / functions.php
index 456e1a5bf8cf84b77c8ba63c8fa3766281ba8afb..c32590a10f1f6b40aa14a98c55c7ec73738c47a3 100644 (file)
@@ -640,8 +640,6 @@ function TRANSLATE_STATUS($status)
 //
 function GET_LANGUAGE()
 {
-       global $_COOKIE, $_GET;
-
        if (!empty($_GET['mx_lang']))
        {
                // Accept only first 2 chars
@@ -666,10 +664,10 @@ function GET_LANGUAGE()
                        SET_LANGUAGE($lang);
                }
        }
-        elseif (!empty($_COOKIE['mx_lang']))
+        elseif (!empty($_SESSION['mx_lang']))
        {
                // Return stored value from cookie
-               $ret = $_COOKIE['mx_lang'];
+               $ret = $_SESSION['mx_lang'];
        }
        return $ret;
 }
@@ -682,10 +680,10 @@ function SET_LANGUAGE($lang)
        $lang = substr(SQL_ESCAPE(strip_tags($lang)), 0, 2);
 
        // Set cookie
-       @setcookie("mx_lang", $lang, (time() + $_CONFIG['online_timeout']), COOKIE_PATH);
+       set_session("mx_lang", $lang);
 
        // Set array
-       $_COOKIE['mx_lang'] = $lang;
+       $_SESSION['mx_lang'] = $lang;
 }
 //
 function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
@@ -701,11 +699,11 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
        $HTTP_USER_AGENT  = getenv('HTTP_USER_AGENT');
 
        $ADMIN = MAIN_TITLE;
-       if (!empty($_COOKIE['admin_login']))
+       if (!empty($_SESSION['admin_login']))
        {
                // Load Admin data
                $result = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
-                       array(SQL_ESCAPE($_COOKIE['admin_login'])), __FILE__, __LINE__);
+                       array(SQL_ESCAPE($_SESSION['admin_login'])), __FILE__, __LINE__);
                list($ADMIN) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
        }
@@ -1223,11 +1221,11 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="")
        $data   = $code.":".$uid.":".$DATA;
 
        // Add more additional data
-       if (isset($_COOKIE['u_hash']))         $data .= ":".$_COOKIE['u_hash'];
+       if (isset($_SESSION['u_hash']))         $data .= ":".$_SESSION['u_hash'];
        if (isset($GLOBALS['userid']))         $data .= ":".$GLOBALS['userid'];
-       if (isset($_COOKIE['lifetime']))       $data .= ":".$_COOKIE['lifetime'];
-       if (isset($_COOKIE['mxchange_theme'])) $data .= ":".$_COOKIE['mxchange_theme'];
-       if (isset($_COOKIE['mx_lang']))        $data .= ":".$_COOKIE['mx_lang'];
+       if (isset($_SESSION['lifetime']))       $data .= ":".$_SESSION['lifetime'];
+       if (isset($_SESSION['mxchange_theme'])) $data .= ":".$_SESSION['mxchange_theme'];
+       if (isset($_SESSION['mx_lang']))        $data .= ":".$_SESSION['mx_lang'];
        if (isset($GLOBALS['refid']))          $data .= ":".$GLOBALS['refid'];
 
        // Calculate number for generating the code
@@ -2035,8 +2033,8 @@ function FIX_DELETED_COOKIES ($cookies) {
                // Then check all cookies if they are marked as deleted!
                foreach ($cookies as $cookieName) {
                        // Is the cookie set to "deleted"?
-                       if ((isset($_COOKIE[$cookieName])) && ($_COOKIE[$cookieName] == "deleted")) {
-                               unset($_COOKIE[$cookieName]);
+                       if ((isset($_SESSION[$cookieName])) && ($_SESSION[$cookieName] == "deleted")) {
+                               unset($_SESSION[$cookieName]);
                        }
                }
        }
@@ -2084,6 +2082,34 @@ function DISPLAY_PARSING_TIME_FOOTER() {
        LOAD_TEMPLATE("footer_stats", false, $content);
 }
 
+// Unset/set session variables
+function set_session ($var, $value) {
+       global $CSS;
+       // Abort in CSS mode here
+       if ($CSS == 1) return true;
+
+       // Trim value and session variable
+       $var = trim(SQL_ESCAPE($var)); $value = trim($value);
+
+       // Is the session variable set?
+       if (("".$value."" == "") && (isset($_SESSION[$var]))) {
+               // Remove the session
+               //* DEBUG: */ echo "UNSET:".$var."=".$_SESSION[$var]."<br />\n";
+               unset($_SESSION[$var]);
+               return session_unregister($var);
+       } elseif (("".$value."" != "") && (!isset($_SESSION[$var]))) {
+               // Set session
+               //* DEBUG: */ echo "SET:".$var."=".$value."<br />\n";
+               $_SESSION[$var] =  $value;
+               return session_register($var);
+       }
+
+       // Return always true if the session variable is already set.
+       // Keept me busy for a longer while...
+       //* DEBUG: */ echo "IGNORED:".$var."=".$value."<br />\n";
+       return true;
+}
+
 //
 //////////////////////////////////////////////
 //                                          //