[0005266] Fixed timeouts in ajax contexts.
[fa-stable.git] / access / login.php
index a390006fbbe9284c876bee571450eea18e4710a3..e8e28975de06fc62f19b0efd327253aad52f862a 100644 (file)
@@ -20,6 +20,7 @@ function defaultCompany()
        document.forms[0].company_login_name.options[".user_company()."].selected = true;
 }
 </script>";
+
        add_js_file('login.js');
        // Display demo user name and password within login form if allow_demo_mode option is true
        if ($SysPrefs->allow_demo_mode == true)
@@ -66,6 +67,7 @@ function defaultCompany()
        {
                echo $js;
        }
+
        echo "</head>\n";
 
        echo "<body id='loginscreen' $onload>\n";
@@ -85,7 +87,6 @@ function defaultCompany()
        } 
        echo "</td>\n";
        end_row();
-
        if (!$login_timeout)
                table_section_title(_("Version")." $version   Build ".$SysPrefs->build_version." - "._("Login"));
        $value = $login_timeout ? $_SESSION['wa_current_user']->loginname : ($SysPrefs->allow_demo_mode ? "demouser":"");
@@ -111,14 +112,14 @@ function defaultCompany()
                } else {
                        text_row(_("Company"), "company_login_nickname", "", 20, 50);
                }
-               start_row();
-               label_cell($demo_text, "colspan=2 align='center' id='log_msg'");
-               end_row();
        }; 
+       start_row();
+       label_cell($demo_text, "colspan=2 align='center' id='log_msg'");
+       end_row();
        end_table(1);
        echo "<input type='hidden' id=ui_mode name='ui_mode' value='".!fallback_mode()."' >\n";
        echo "<center><input type='submit' value='&nbsp;&nbsp;"._("Login -->")."&nbsp;&nbsp;' name='SubmitUser'"
-               ." onclick='set_fullmode();'".(isset($blocked_msg) ? " disabled" : '')." ></center>\n";
+               ." onclick='".(in_ajax() ? 'retry();': 'set_fullmode();')."'".(isset($blocked_msg) ? " disabled" : '')." ></center>\n";
 
        foreach($_SESSION['timeout']['post'] as $p => $val) {
                // add all request variables to be resend together with login data
@@ -131,7 +132,7 @@ function defaultCompany()
                                        echo "<input type='hidden' name='{$p}[$i]' value='$v'>";
        }
        end_form(1);
-       $Ajax->addScript(true, "document.forms[0].password.focus();");
+       $Ajax->addScript(true, "if (document.forms.length) document.forms[0].password.focus();");
 
     echo "<script language='JavaScript' type='text/javascript'>
     //<![CDATA[