phpdoc blocks
[squirrelmail.git] / src / login.php
index e18fd327ac17a5b94aab712996aef4103e64ea48..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,8 +25,9 @@ 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
  */
@@ -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. */