Renamed class/*.class files to class/*.class.php and made modifications
[squirrelmail.git] / src / validate.php
index c74be9c4d9af1dfc8067bd492c319fba2886d58f..7eca643019ee4beee8df397d590a7a7407655df8 100644 (file)
 <?php
-    /**
-     * validate.php
-     *
-     * Copyright (c) 1999-2000 The SquirrelMail Development Team
-     * Licensed under the GNU GPL. For full terms see the file COPYING.
-     *
-     * $Id$
-     */
 
-    if (defined ('validate_php')) { return; }
-    define ('validate_php', true);
+/**
+* validate.php
+*
+* Copyright (c) 1999-2002 The SquirrelMail Project Team
+* Licensed under the GNU GPL. For full terms see the file COPYING.
+*
+* $Id$
+*/
 
-    session_start();
-    require_once('../functions/i18n.php');
-    require_once('../functions/auth.php');
+/* include the mime class before the session start ! otherwise we can't store
+ * messages with a session_register.
+ */
+require_once('../class/mime.class.php');
 
-    is_logged_in();
+session_start();
 
-    /* Remove all slashes for form values. */
-    if (get_magic_quotes_gpc()) {
-        global $REQUEST_METHOD;
+require_once('../functions/i18n.php');
+require_once('../functions/auth.php');
+require_once('../functions/strings.php');
+require_once('../functions/prefs.php');
 
-        if ($REQUEST_METHOD == "POST") {
-            global $HTTP_POST_VARS;
-            RemoveSlashes($HTTP_POST_VARS);
-        } else if ($REQUEST_METHOD == "GET") {
-            global $HTTP_GET_VARS;
-            RemoveSlashes($HTTP_GET_VARS);
-        }
+is_logged_in();
+
+/* Remove all slashes for form values. */
+if (get_magic_quotes_gpc()) {
+    global $REQUEST_METHOD;
+
+    if ($REQUEST_METHOD == 'POST') {
+        global $HTTP_POST_VARS;
+        RemoveSlashes($HTTP_POST_VARS);
+    } else if ($REQUEST_METHOD == 'GET') {
+        global $HTTP_GET_VARS;
+        RemoveSlashes($HTTP_GET_VARS);
     }
+}
 
-    /**
-     * Auto-detection
-     *
-     * if $send (the form button's name) contains "\n" as the first char
-     * and the script is compose.php, then trim everything. Otherwise, we
-     * don't have to worry.
-     *
-     * This is for a RedHat package bug and a Konqueror (pre 2.1.1?) bug
-     */
-    global $send, $PHP_SELF;
-    if (isset($send)
-        && (substr($send, 0, 1) == "\n")
-        && (substr($PHP_SELF, -12) == '/compose.php')) {
-        if ($REQUEST_METHOD == "POST") {
-            global $HTTP_POST_VARS;
-            TrimArray($HTTP_POST_VARS);
-        } else {
-            global $HTTP_GET_VARS;
-            TrimArray($HTTP_GET_VARS);
-        }
+/**
+* Auto-detection
+*
+* if $send (the form button's name) contains "\n" as the first char
+* and the script is compose.php, then trim everything. Otherwise, we
+* don't have to worry.
+*
+* This is for a RedHat package bug and a Konqueror (pre 2.1.1?) bug
+*/
+global $send, $PHP_SELF;
+if (isset($send)
+    && (substr($send, 0, 1) == "\n")
+    && (substr($PHP_SELF, -12) == '/compose.php')) {
+    if ($REQUEST_METHOD == 'POST') {
+        global $HTTP_POST_VARS;
+        TrimArray($HTTP_POST_VARS);
+    } else {
+        global $HTTP_GET_VARS;
+        TrimArray($HTTP_GET_VARS);
     }
+}
 
-    /************************************/
-    /* Trims every element in the array */
-    /************************************/
-    function TrimArray(&$array) {
-        foreach ($array as $k => $v) {
-            global $$k;
-            if (is_array($$k)) {
-                foreach ($$k as $k2 => $v2) {
-                  $$k[$k2] = substr($v2, 1);
-                }
-            } else {
-                $$k = substr($v, 1);
-            }
+/**
+* Everyone needs stuff from config, and config needs stuff from
+* strings.php, so include them both here. Actually, strings is
+* included at the top now as the string array functions have
+* been moved into it.
+*
+* Include them down here instead of at the top so that all config
+* variables overwrite any passed in variables (for security).
+*/
 
-           /* Re-assign back to array. */
-            $array[$k] = $$k;
-        }
-    }
-   
-   
-    /***************************************************/
-    /* Removes slashes from every element in the array */
-    /***************************************************/
-    function RemoveSlashes(&$array) {
-        foreach ($array as $k => $v) {
-            global $$k;
-            if (is_array($$k)) {
-                foreach ($$k as $k2 => $v2) {
-                    $newArray[stripslashes($k2)] = stripslashes($v2);
-                }
-                $$k = $newArray;
-            } else {
-                $$k = stripslashes($v);
-            }
+/**
+ * Reset the $theme() array in case a value was passed via a cookie.
+ * This is until theming is rewritten.
+ */
+global $theme;
+unset($theme);
+$theme=array();
 
-           /* Re-assign back to the array. */
-            $array[$k] = $$k;
-        }
-    }
+require_once('../config/config.php');
+require_once('../src/load_prefs.php');
+require_once('../functions/page_header.php');
 
-   /**
-    * Everyone needs stuff from config, and config needs stuff from
-    * strings.php, so include them both here.
-    *
-    * Include them down here instead of at the top so that all config
-    * variables overwrite any passed in variables (for security).
-    */
-    require_once('../functions/strings.php');
-    require_once('../config/config.php');
-    require_once('../src/load_prefs.php');
-    require_once('../functions/page_header.php');
-    require_once('../functions/prefs.php');
+/* Set up the language (i18n.php was included by auth.php). */
+global $username, $data_dir;
+set_up_language(getPref($data_dir, $username, 'language'));
 
-    /* Set up the language (i18n.php was included by auth.php). */
-    global $username, $data_dir;
-    set_up_language(getPref($data_dir, $username, 'language'));
+$timeZone = getPref($data_dir, $username, 'timezone');
+if ( $timeZone != SMPREF_NONE && ($timeZone <> '') 
+    && !ini_get( 'safe_mode')) {
+    putenv('TZ=' . $timeZone);
+}
 ?>