Fix for infinite loop when trying to decode multi-part mime attachments
[squirrelmail.git] / src / login.php
index 3bb63e920db6c8092f808d4167f400cd1ae7c1ae..fb004cacb48996f3472a0488a8e286adcb9d5d76 100644 (file)
@@ -56,14 +56,24 @@ $header = "<script language=\"JavaScript\" type=\"text/javascript\">\n" .
           "<!--\n".
           "  function squirrelmail_loginpage_onload() {\n".
           "    document.forms[0].js_autodetect_results.value = '" . SMPREF_JS_ON . "';\n".
-          '    document.forms[0].elements[' . (isset($loginname) ? 1 : 0) . "].focus();\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".
+          "        textElements++;\n".
+          "        if (textElements == " . (isset($loginname) ? 2 : 1) . ") {\n".
+          "          document.forms[0].elements[i].focus();\n".
+          "          break;\n".
+          "        }\n".
+          "      }\n".
+          "    }\n".
           "  }\n".
           "// -->\n".
           "</script>\n";
 $custom_css = 'none';          
 displayHtmlHeader( "$org_name - " . _("Login"), $header, FALSE );
 
-echo '<body text="#000000" bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="squirrelmail_loginpage_onload();">';
+echo '<body text="#000000" bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="squirrelmail_loginpage_onload();">' .
+     "\n" . '<form action="redirect.php" method="post">' . "\n";
 
 $username_form_name = 'login_username';
 $password_form_name = 'secretkey';
@@ -84,9 +94,20 @@ if (isset($org_logo) && $org_logo) {
         $width_and_height .= " height=\"$org_logo_height\"";
     }
 }
+global $shootMyFootOff;
+if (check_php_version(4,3) and !isset($shootMyFootOff)) {
+    echo '<center><hr width="75%">' . "\n";
+    echo '<h2>PHP 4.3.x has been detected</h2>' . "\n";
+    echo '</center><p>The SquirrelMail team does not recommend the use of PHP 4.3.x with';
+    echo ' this software.  Please see the <a href="http://www.squirrelmail.org">SquirrelMail';
+    echo ' website</a>, or the documentation that came with SquirrelMail for more information.</p>';
+    echo '<p>This warning can be disabled by either downgrading PHP, or inserting';
+    echo '"$shootMyFootOff = true;" in config/config_local.php.</p>' . "\n";
+    echo '<center><hr width="75%"></center>' . "\n";
+    echo "\n";
+}
 
-echo "\n" . '<form action="redirect.php" method="post">' . "\n" .
-html_tag( 'table',
+echo html_tag( 'table',
     html_tag( 'tr',
         html_tag( 'td',
             '<center>'.