X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Flogin.php;h=58971f5f71358c7d4f6b290f0a364485f588248e;hp=716f0f0c65dbbd26206b7c3ee4bd4692f328b121;hb=5c3b0995850de5ec0702783f6c3f174b8001d090;hpb=9487c2ff3a9d36af3dc93bd231a6f85fe7a6f762 diff --git a/src/login.php b/src/login.php index 716f0f0c..58971f5f 100644 --- a/src/login.php +++ b/src/login.php @@ -1,149 +1,168 @@ $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 - set_up_language($squirrelmail_language, true); - - // Need the base URI to set the cookies. (Same code as in webmail.php) - ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs); - $base_uri = $regs[1]; - - @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['path'].$cookie_params['domain']); - setcookie('username', '', 0, $base_uri); - setcookie('key', '', 0, $base_uri); - header ('Pragma: no-cache'); - - do_hook('login_cookie'); - - echo '' . - "\n\n" . - "\n" . - "\n"; - - if ($theme_css != "") - echo "\n"; - - echo ''; - echo $org_name . ' - ' . _("Login"); - echo "\n"; - echo "\n"; - echo "
\n"; - - $username_form_name = 'login_username'; - $password_form_name = 'secretkey'; - do_hook('login_top'); - - echo "
\n"; - echo "
"; - printf (_("SquirrelMail version %s"), $version); - echo "
\n"; - echo _("By the SquirrelMail Development Team"); - echo "
\n"; - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo "
"; - printf (_("%s Login"), $org_name); - echo "
\n"; - echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - if ($rcptaddress != '') { - echo " \n"; - } - echo " \n"; - echo "
\n"; - echo _("Name:"); - echo " \n"; - echo " \n"; - echo "
\n"; - echo _("Password:"); - echo " \n"; - echo " \n"; - echo "
\n"; - echo "
\n"; - echo '
\n"; - echo "
\n"; - echo "\n"; - do_hook('login_form'); - echo "\n"; - do_hook('login_bottom'); -?> - - +/** + * login.php -- simple login screen + * + * Copyright (c) 1999-2001 The Squirrelmail Development Team + * Licensed under the GNU GPL. For full terms see the file COPYING. + * + * This a simple login screen. Some housekeeping is done to clean + * cookies and find language. + * + * $Id$ + */ + +/*****************************************************************/ +/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ +/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ +/*** + Base level indent should begin at left margin, as ***/ +/*** the first two lines below look. ***/ +/*** + All identation should consist of four space blocks ***/ +/*** + Tab characters are evil. ***/ +/*** + all comments should use "slash-star ... star-slash" ***/ +/*** style -- no pound characters, no slash-slash style ***/ +/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ +/*** ALWAYS USE { AND } CHARACTERS!!! ***/ +/*** + Please use ' instead of ", when possible. Note " ***/ +/*** should always be used in _( ) function calls. ***/ +/*** Thank you for your help making the SM code more readable. ***/ +/*****************************************************************/ + +$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; + $$naame = $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; + } else if ($key == 'bcc') { + $rcptaddress .= '&send_to_bcc=' . $value; + } else if ($key == 'subject') { + $rcptaddress .= '&subject=' . $value; + } else if ($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'); + require_once('../functions/constants.php'); + require_once('../functions/page_header.php'); + + /* + * $squirrelmail_language is set by a cookie when the user selects + * language and logs out + */ + set_up_language($squirrelmail_language, true); + + /* Need the base URI to set the cookies. (Same code as in webmail.php). */ + ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs); + $base_uri = $regs[1]; + @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['path'].$cookie_params['domain']); + setcookie('username', '', 0, $base_uri); + setcookie('key', '', 0, $base_uri); + header ('Pragma: no-cache'); + + do_hook('login_cookie'); + + /* Output the javascript onload function. */ + displayHtmlHeader( "$org_name - " . _("Login"), + "\n", FALSE ); + + /* Set the title of this page. */ + echo "\n". + "
\n"; + + $username_form_name = 'login_username'; + $password_form_name = 'secretkey'; + do_hook('login_top'); + + $loginname_value = (isset($loginname) ? htmlspecialchars($loginname) : ''); + + echo "
". + "
\n". + ( $hide_sm_attributions ? '' : + '' . sprintf (_("SquirrelMail version %s"), $version) . "
\n". + ' ' . _("By the SquirrelMail Development Team") . "
\n" ) . + "
\n". + + "
\n". + "\n". + " ". + " \n". + " \n". + "
\n". + '
' . sprintf (_("%s Login"), $org_name) . "
\n". + "
\n". + " \n". + ' \n". + " \n". + " \n". + " \n". + ' \n". + " \n". + " \n". + "
' . _("Name:") . "\n". + " \n". + "
' . _("Password:") . "\n". + " \n". + " \n". + " \n"; + if ($rcptaddress != '') { + echo " \n"; + } + echo "
\n". + '
\n". + "
\n". + "
\n"; + + do_hook('login_form'); + echo "
\n"; + + do_hook('login_bottom'); + echo "\n". + "\n"; +?>