Source for file validate.php

Documentation is available at validate.php

  1. <?php
  2.  
  3. /**
  4.  * validate.php
  5.  *
  6.  * @copyright 1999-2014 The SquirrelMail Project Team
  7.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8.  * @version $Id: validate.php 14422 2014-01-01 20:59:43Z pdontthink $
  9.  * @package squirrelmail
  10.  */
  11.  
  12. /**
  13.  * Make sure we have a page name
  14.  *
  15.  */
  16. if !defined('PAGE_NAME') ) define('PAGE_NAME'NULL);
  17.  
  18.  
  19. /** include the mime class before the session start ! otherwise we can't store
  20.  * messages with a session_register.
  21.  *
  22.  * From http://www.php.net/manual/en/language.oop.serialization.php:
  23.  *   In case this isn't clear:
  24.  *   In 4.2 and below:
  25.  *      session.auto_start and session objects are mutually exclusive.
  26.  *
  27.  * We need to load the classes before the session is started,
  28.  * except that the session could be started automatically
  29.  * via session.auto_start. So, we'll close the session,
  30.  * then load the classes, and reopen the session which should
  31.  * make everything happy.
  32.  *
  33.  * ** Note this means that for the 1.3.2 release, we should probably
  34.  * recommend that people set session.auto_start=0 to avoid this altogether.
  35.  */
  36.  
  37.  
  38. /**
  39.  * Reset the $theme() array in case a value was passed via a cookie.
  40.  * This is until theming is rewritten.
  41.  */
  42. global $theme;
  43. unset($theme);
  44. $theme=array();
  45.  
  46. /* SquirrelMail required files. */
  47. require_once(SM_PATH 'class/mime.class.php');
  48. require_once(SM_PATH 'functions/global.php');
  49. require_once(SM_PATH 'functions/i18n.php');
  50. require_once(SM_PATH 'functions/auth.php');
  51.  
  52.  
  53. require_once(SM_PATH 'include/load_prefs.php');
  54. require_once(SM_PATH 'functions/page_header.php');
  55. require_once(SM_PATH 'functions/prefs.php');
  56.  
  57. /* Set up the language (i18n.php was included by auth.php). */
  58. global $username$data_dir;
  59. set_up_language(getPref($data_dir$username'language'));
  60.  
  61. $timeZone getPref($data_dir$username'timezone');
  62.  
  63. /* Check to see if we are allowed to set the TZ environment variable.
  64.  * We are able to do this if ...
  65.  *   safe_mode is disabled OR
  66.  *   safe_mode_allowed_env_vars is empty (you are allowed to set any) OR
  67.  *   safe_mode_allowed_env_vars contains TZ
  68.  */
  69. $tzChangeAllowed (!ini_get('safe_mode')) ||
  70.                     !strcmp(ini_get('safe_mode_allowed_env_vars'),''||
  71.                     preg_match('/^([\w_]+,)*TZ/'ini_get('safe_mode_allowed_env_vars'));
  72.  
  73. if $timeZone != SMPREF_NONE && ($timeZone != "")
  74.     && $tzChangeAllowed {
  75.     putenv("TZ=".$timeZone);
  76. }
  77.  
  78. /**
  79.  * php 5.1.0 added time zone functions. Set time zone with them in order
  80.  * to prevent E_STRICT notices and allow time zone modifications in safe_mode.
  81.  */
  82. if (function_exists('date_default_timezone_set')) {
  83.     if ($timeZone != SMPREF_NONE && $timeZone != ""{
  84.         date_default_timezone_set($timeZone);
  85.     else {
  86.         // interface runs on server's time zone. Remove php E_STRICT complains
  87.         $default_timezone @date_default_timezone_get();
  88.         date_default_timezone_set($default_timezone);
  89.     }
  90. }

Documentation generated on Mon, 20 Oct 2014 04:22:00 +0200 by phpDocumentor 1.4.3