phpdoc blocks
[squirrelmail.git] / src / login.php
index 6a26354db597170693c39e0ac0b4f2f138ff7dc1..10584e2002ae24c2d419f776a0ed14886e2854bd 100644 (file)
  * cookies and find language.
  *
  * $Id$
+ * @package squirrelmail
  */
 
-/* Path for SquirrelMail required files. */
+/** Path for SquirrelMail required files. */
 define('SM_PATH','../');
 
 /* SquirrelMail required files. */
@@ -24,12 +25,13 @@ require_once(SM_PATH . 'functions/constants.php');
 require_once(SM_PATH . 'functions/page_header.php');
 require_once(SM_PATH . 'functions/html.php');
 require_once(SM_PATH . 'functions/global.php');
+require_once(SM_PATH . 'functions/imap_general.php');
 
-/*
+/**
  * $squirrelmail_language is set by a cookie when the user selects
  * language and logs out
  */
-set_up_language($squirrelmail_language, TRUE);
+set_up_language($squirrelmail_language, TRUE, TRUE);
 
 /**
  * Find out the base URI to set cookies.
@@ -48,6 +50,24 @@ sqsession_destroy();
  
 header('Pragma: no-cache');
 
+/**
+ * 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.
+ */
+$imap = sqimap_create_stream($imapServerAddress, $imapPort, $use_imap_tls);
+$logindisabled = sqimap_capability($imap,'LOGINDISABLED');
+sqimap_logout($imap);
+if ($logindisabled) {
+    $string = "The IMAP server is reporting that logins are disabled.<br>";
+    if (!$use_imap_tls) {
+        $string .= "The use of TLS may allow SquirrelMail to login.<br>";
+    }
+    $string .= "Please contact your system administrator.";
+    error_box($string,$color);
+    exit;
+}
+
 do_hook('login_cookie');
 
 /* Output the javascript onload function. */