Source for file login.php
Documentation is available at login.php
* login.php -- simple login screen
* This a simple login screen. Some housekeeping is done to clean
* cookies and find language.
* @copyright © 1999-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: login.php,v 1.149 2006/09/21 15:19:44 pdontthink Exp $
// reduces the files included in init.php
$sInitLocation =
'login';
* 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/forms.php');
* $squirrelmail_language is set by a cookie when the user selects
* In case the last session was not terminated properly, make sure
* we get a new one, but make sure we preserve session_expired_*
if ( !empty($_SESSION['session_expired_post']) &&
!empty($_SESSION['session_expired_location']) ) {
$sep =
$_SESSION['session_expired_post'];
$sel =
$_SESSION['session_expired_location'];
* This detects if the IMAP server has logins disabled, and if so,
* squelches the display of the login form and puts up a message
* explaining the situation.
if($imap_auth_mech ==
'login') {
* detect disabled login, only when imapServerAddress contains
* server address and not mapping. See sqimap_get_user_server()
if (substr($imapServerAddress, 0, 4) !=
"map:") {
$string =
_("The IMAP server is reporting that plain text logins are disabled.").
'<br />'.
_("Using CRAM-MD5 or DIGEST-MD5 authentication instead may work.").
'<br />';
$string .=
_("Also, the use of TLS may allow SquirrelMail to login.").
'<br />';
$string .=
_("Please contact your system administrator and report this error.");
// display footer (closes html tags) and stop script execution
$oTemplate->display('footer.tpl');
$loginname_value =
(sqGetGlobalVar('loginname', $loginname) ?
htmlspecialchars($loginname) :
'');
/* Output the javascript onload function. */
$header =
"<script type=\"text/javascript\">\n" .
" function squirrelmail_loginpage_onload() {\n".
" var textElements = 0;\n".
" for (i = 0; i < document.forms[0].elements.length; i++) {\n".
" if (document.forms[0].elements[i].type == \"text\" || document.forms[0].elements[i].type == \"password\") {\n".
" if (textElements == " .
(isset
($loginname) ?
2 :
1) .
") {\n".
" document.forms[0].elements[i].focus();\n".
@include ($theme[$theme_default]['PATH']);
if (! isset
($color) ||
! is_array($color)) {
// Add default color theme, if theme loading fails
$color[0] =
'#dcdcdc'; /* light gray TitleBar */
$color[1] =
'#800000'; /* red */
$color[2] =
'#cc0000'; /* light red Warning/Error Messages */
$color[4] =
'#ffffff'; /* white Normal Background */
$color[7] =
'#0000cc'; /* blue Links */
$color[8] =
'#000000'; /* black Normal text */
* send out all the cookies
/* If they don't have a logo, don't bother.. */
if (isset
($org_logo) &&
$org_logo) {
/* Display width and height like good little people */
if (isset
($org_logo_width) &&
is_numeric($org_logo_width) &&
$width_and_height =
"width=\"$org_logo_width\" ";
if (isset
($org_logo_height) &&
is_numeric($org_logo_height) &&
$width_and_height .=
"height=\"$org_logo_height\" ";
$logo_str =
'<img src="'.
$org_logo.
'" ' .
'alt="'.
sprintf(_("%s Logo"), $org_name).
'" ' .
'class="sqm_loginImage" /><br />'.
"\n";
if (isset
($hide_sm_attributions) &&
!$hide_sm_attributions) {
$sm_attribute_str =
_("SquirrelMail Webmail Application").
"<br />\n" .
_("By the SquirrelMail Project Team").
"<br />\n";
$oTemplate->assign('logo_str', $logo_str);
$oTemplate->assign('logo_path', $org_logo);
$oTemplate->assign('sm_attribute_str', $sm_attribute_str);
$oTemplate->assign('org_name_str', sprintf (_("%s Login"), $org_name));
$oTemplate->assign('login_field_value', $loginname_value);
$oTemplate->assign('login_extra', $login_extra);
echo
'<body onLoad="squirrelmail_loginpage_onload()">'.
"\n";
echo
'<form action="redirect.php" method="post" onSubmit="document.forms[0].js_autodetect_results.value='.
SMPREF_JS_ON .
'">'.
"\n";
$oTemplate->display('login.tpl');
// Turn off delayed error handling to make sure all errors are dumped.
$oErrorHandler->setDelayedErrors(false);
$oTemplate->display('footer.tpl');
Documentation generated on Sat, 07 Oct 2006 16:12:13 +0300 by phpDocumentor 1.3.0RC6