X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Flogin.php;h=716f0f0c65dbbd26206b7c3ee4bd4692f328b121;hb=4dea7315db37a788bb396ce27788c394e6cba224;hp=04ee698a4f77bf87fd524367bd6398542f4aefd7;hpb=6978d35502b1cdf701c4558f77cb865eb2274a2e;p=squirrelmail.git diff --git a/src/login.php b/src/login.php index 04ee698a..716f0f0c 100644 --- a/src/login.php +++ b/src/login.php @@ -11,10 +11,51 @@ ** $Id$ **/ - include("../functions/strings.php"); - include("../config/config.php"); - include('../functions/i18n.php'); - include("../functions/plugin.php"); + $rcptaddress = ''; + if (isset($emailaddress)) { + if (stristr($emailaddress, 'mailto:')) + $rcptaddress = substr($emailaddress, 7); + else + $rcptaddress = $emailaddress; + + if (($pos = strpos($rcptaddress, '?')) !== false) + { + $a = substr($rcptaddress, $pos + 1); + $rcptaddress = substr($rcptaddress, 0, $pos); + $a = explode('=', $a, 2); + if (isset($a[1])) { + $name = urldecode($a[0]); + $val = urldecode($a[1]); + global $$name; + $$name = $val; + } + } + + // At this point, we have parsed a lot of the mailto stuff. Let's + // do the rest -- CC, BCC, Subject, Body + // Note: They can all be case insensitive + foreach ($GLOBALS as $k => $v) + { + $key = strtolower($k); + $value = urlencode($v); + if ($key == 'cc') + $rcptaddress .= '&send_to_cc=' . $value; + elseif ($key == 'bcc') + $rcptaddress .= '&send_to_bcc=' . $value; + elseif ($key == 'subject') + $rcptaddress .= '&subject=' . $value; + elseif ($key == 'body') + $rcptaddress .= '&body=' . $value; + } + + // Double-encode in this fashion to get past redirect.php properly + $rcptaddress = urlencode($rcptaddress); + } + + require_once('../functions/strings.php'); + require_once('../config/config.php'); + require_once('../functions/i18n.php'); + require_once('../functions/plugin.php'); // $squirrelmail_language is set by a cookie when the user selects // language and logs out @@ -24,22 +65,29 @@ ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs); $base_uri = $regs[1]; - setcookie("username", '', 0, $base_uri); - setcookie("key", '', 0, $base_uri); - setcookie("logged_in", 0, 0, $base_uri); - header ("Pragma: no-cache"); - + @session_destroy(); // In case the last session was not terminated properly, make sure // we get a new one. - $cookie_params = session_get_cookie_params(); - setcookie(session_name(),"",0,$cookie_params["domain"].$cookie_params["path"]); + $cookie_params = session_get_cookie_params(); + setcookie(session_name(),'',0,$cookie_params['path'].$cookie_params['domain']); + setcookie('username', '', 0, $base_uri); + setcookie('key', '', 0, $base_uri); + header ('Pragma: no-cache'); do_hook('login_cookie'); - echo ""; - echo ""; - echo $org_name . " - " . _("Login"); + + echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">' . + "\n\n" . + "<HTML>\n" . + "<HEAD>\n"; + + if ($theme_css != "") + echo "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"$theme_css\">\n"; + + echo '<TITLE>'; + echo $org_name . ' - ' . _("Login"); echo "\n"; - echo "\n"; + echo "\n"; echo "
\n"; $username_form_name = 'login_username'; @@ -77,18 +125,15 @@ echo " \n"; echo " \n"; echo " \n"; - if (isset($emailaddress)) { - if (stristr($emailaddress,"mailto:")) - $rcptaddress = substr ($emailaddress, 7,strlen($emailaddress)-7); - else - $rcptaddress = $emailaddress; + if ($rcptaddress != '') { echo " \n"; } + echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; - echo "
\n"; echo " \n"; @@ -97,7 +142,7 @@ echo "\n"; do_hook('login_form'); echo "
\n"; - do_hook("login_bottom"); + do_hook('login_bottom'); ?>