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-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: login.php 14845 2020-01-07 08:09:34Z pdontthink $
/** This is the login page */
* 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
* 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');
$username_form_name =
'login_username';
$password_form_name =
'secretkey';
//FIXME: should be part of the template, not the core!
/* Output the javascript onload function. */
$header =
"<script type=\"text/javascript\">\n" .
" var alreadyFocused = false;\n".
" function squirrelmail_loginpage_onload() {\n".
" if (alreadyFocused) return;\n".
" var textElements = 0; var i = 0;\n".
" for (i = 0; i < document.login_form.elements.length; i++) {\n".
" if (document.login_form.elements[i].type == \"text\" || document.login_form.elements[i].type == \"password\") {\n".
" if (textElements == " .
(isset
($loginname) ?
2 :
1) .
") {\n".
" document.login_form.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 */
// if any plugin returns TRUE here, the standard page header will be skipped
/* If they don't have a logo, don't bother.. */
if (isset
($org_logo) &&
$org_logo) {
if (isset
($org_logo_width) &&
is_numeric($org_logo_width) &&
$width =
$org_logo_width;
if (isset
($org_logo_height) &&
is_numeric($org_logo_height) &&
$height =
$org_logo_height;
$width, $height, '', 'sqm_loginImage');
if (isset
($hide_sm_attributions) &&
!$hide_sm_attributions) {
$sm_attribute_str =
_("SquirrelMail Webmail").
"\n" .
_("By the SquirrelMail Project Team");
$mailtofield =
addHidden('mailtodata', $mailtodata);
$oTemplate->assign('logo_str', $logo_str, FALSE);
$oTemplate->assign('logo_path', $org_logo);
$oTemplate->assign('sm_attribute_str', $sm_attribute_str);
// i18n: The %s represents the service provider's name
$oTemplate->assign('org_name_str', sprintf (_("%s Login"), $org_name));
// i18n: The %s represents the service provider's name
$oTemplate->assign('org_logo_str', sprintf (_("The %s logo"), $org_name));
$oTemplate->assign('login_field_value', $loginname_value);
$oTemplate->assign('login_extra', $login_extra, FALSE);
$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 Mon, 13 Jan 2020 04:22:58 +0100 by phpDocumentor 1.4.3