Source for file redirect.php
Documentation is available at redirect.php
* Prevents users from reposting their form data after a successful logout.
* @copyright © 1999-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: redirect.php,v 1.98 2006/09/18 11:30:00 tokul Exp $
$sInitLocation =
'redirect';
* Include the SquirrelMail initialization file.
require
('../include/init.php');
/* SquirrelMail required files. */
require_once(SM_PATH .
'functions/imap_general.php');
require_once(SM_PATH .
'functions/strings.php');
// session_set_cookie_params (0, $base_uri);
/* get globals we me need */
sqGetGlobalVar('login_username', $login_username);
sqGetGlobalVar('secretkey', $secretkey);
if(!sqGetGlobalVar('squirrelmail_language', $squirrelmail_language) ||
$squirrelmail_language ==
'') {
$squirrelmail_language =
$squirrelmail_default_language;
/* Refresh the language cookie. */
sqsetcookie('squirrelmail_language', $squirrelmail_language, time()+
2592000,
if (!isset
($login_username)) {
/* remove redundant spaces */
$login_username =
trim($login_username);
/* Verify that username and password are correct. */
if ($force_username_lowercase) {
$imapConnection =
sqimap_login($login_username, $key, $imapServerAddress, $imapPort, 0);
/* From now on we are logged it. If the login failed then sqimap_login handles it */
/* regenerate the session id to avoid session hyijacking */
* The cookie part. session_start and session_regenerate_session normally set
* their own cookie. SquirrelMail sets another cookie which overwites the
* php cookies. The sqsetcookie function sets the cookie by using the header
* function which gives us full control how the cookie is set. We do that
* to add the HttpOnly cookie attribute which blocks javascript access on
* sqsetcookieflush is needed to send out the headers. sqsetcookie caches
* the cookies to be send. If we don't do that we only can send 1 single cookie
* which is not sufficient.
/* Server side sorting control */
if (isset
($sqimap_capabilities['SORT']) &&
$sqimap_capabilities['SORT'] ==
true &&
isset
($disable_server_sort) &&
$disable_server_sort) {
unset
($sqimap_capabilities['SORT']);
/* Thread sort control */
if (isset
($sqimap_capabilities['THREAD']) &&
$sqimap_capabilities['THREAD'] ==
true &&
isset
($disable_thread_sort) &&
$disable_thread_sort) {
unset
($sqimap_capabilities['THREAD']);
$username =
$login_username;
/* Set the login variables. */
$user_is_logged_in =
true;
/* And register with them with the session. */
/* parse the accepted content-types of the client */
$attachment_common_types =
array();
$attachment_common_types_parsed =
array();
!isset
($attachment_common_types_parsed[$http_accept]) ) {
/* Complete autodetection of Javascript. */
/* Compute the URL to forward the user to. */
$redirect_url =
$location .
'/webmail.php';
if ( strpos($session_expired_location, 'compose.php') !==
FALSE ) {
$compose_new_win =
getPref($data_dir, $username, 'compose_new_win', 0);
// do not prefix $location here because $session_expired_location is set to PHP_SELF
$redirect_url =
$session_expired_location;
$redirect_url =
$location.
'/webmail.php?right_frame='.
urldecode($session_expired_location);
unset
($session_expired_location);
$redirect_url =
$location .
'/webmail.php?right_frame=compose.php&mailto=';
/* Write session data and send them off to the appropriate page. */
header("Location: $redirect_url");
/* --------------------- end main ----------------------- */
global $attachment_common_types, $attachment_common_types_parsed;
$attachment_common_types_parsed[$str] =
true;
* Replace ", " with "," and explode on that as Mozilla 1.x seems to
* use "," to seperate whilst IE, and earlier versions of Mozilla use
foreach ($types as $val) {
// Ignore the ";q=1.0" stuff
if (strpos($val, ';') !==
false)
if (! isset
($attachment_common_types[$val])) {
$attachment_common_types[$val] =
true;
Documentation generated on Sat, 07 Oct 2006 16:13:15 +0300 by phpDocumentor 1.3.0RC6