Source for file validate.php

Documentation is available at validate.php

  1. <?php
  2.  
  3. /**
  4.  * validate.php
  5.  *
  6.  * @copyright 1999-2020 The SquirrelMail Project Team
  7.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8.  * @version $Id: validate.php 14840 2020-01-07 07:42:38Z 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$server_timezone$server_timezone_offset,
  59.        $server_timezone_offset_seconds;
  60. set_up_language(getPref($data_dir$username'language'));
  61.  
  62. $timeZone getPref($data_dir$username'timezone');
  63. list($server_timezone$server_timezone_offset$server_timezone_offset_seconds)
  64.     = explode('::'date('T::O::Z'));
  65.  
  66. /* Check to see if we are allowed to set the TZ environment variable.
  67.  * We are able to do this if ...
  68.  *   safe_mode is disabled OR
  69.  *   safe_mode_allowed_env_vars is empty (you are allowed to set any) OR
  70.  *   safe_mode_allowed_env_vars contains TZ
  71.  */
  72. $tzChangeAllowed (!ini_get('safe_mode')) ||
  73.                     !strcmp(ini_get('safe_mode_allowed_env_vars'),''||
  74.                     preg_match('/^([\w_]+,)*TZ/'ini_get('safe_mode_allowed_env_vars'));
  75.  
  76. if $timeZone != SMPREF_NONE && ($timeZone != "")
  77.     && $tzChangeAllowed {
  78.     putenv("TZ=".$timeZone);
  79. }
  80.  
  81. /**
  82.  * php 5.1.0 added time zone functions. Set time zone with them in order
  83.  * to prevent E_STRICT notices and allow time zone modifications in safe_mode.
  84.  */
  85. if (function_exists('date_default_timezone_set')) {
  86.     if ($timeZone != SMPREF_NONE && $timeZone != ""{
  87.         date_default_timezone_set($timeZone);
  88.     else {
  89.         // interface runs on server's time zone. Remove php E_STRICT complains
  90.         $default_timezone @date_default_timezone_get();
  91.         date_default_timezone_set($default_timezone);
  92.     }
  93. }

Documentation generated on Mon, 13 Jan 2020 04:25:24 +0100 by phpDocumentor 1.4.3