Included option for Show Service Items in Inventory Sales Report
[fa-stable.git] / access / login.php
index efdd276dad79b6ac6e4620b5294f0b0b30adcbe7..0233354f0e4be510a99e3414ae6cca44935dc2e7 100644 (file)
        if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_to_root']))
                die(_("Restricted access"));
        include_once($path_to_root . "/includes/ui.inc");
-       
+       include_once($path_to_root . "/includes/page/header.inc");
+
        $js = "<script language='JavaScript' type='text/javascript'>
 function defaultCompany()
 {
        document.forms[0].company_login_name.options[".$_SESSION["wa_current_user"]->company."].selected = true;
 }
-".get_js_png_fix()."</script>";
-       $js2 = "<script language='JavaScript' type='text/javascript'>
-function set_fullmode() {
-       document.getElementById('ui_mode').value = 1;
-       document.loginform.submit();
-       return true;
-}
 </script>";
-
+       add_js_file('login.js');
        // Display demo user name and password within login form if "$allow_demo_mode" is true
        if ($allow_demo_mode == true)
        {
@@ -35,6 +29,19 @@ function set_fullmode() {
        else
        {
                $demo_text = _("Please login here");
+    if (@$allow_password_reset) {
+      $demo_text .= " "._("or")." <a href='$path_to_root/index.php?reset=1'>"._("request new password")."</a>";
+    }
+       }
+
+       if (check_faillog())
+       {
+               $blocked_msg = '<span class="redfg">'._('Too many failed login attempts.<br>Please wait a while or try later.').'</span>';
+
+           $js .= "<script>setTimeout(function() {
+               document.getElementsByName('SubmitUser')[0].disabled=0;
+               document.getElementById('log_msg').innerHTML='$demo_text'}, 1000*$login_delay);</script>";
+           $demo_text = $blocked_msg;
        }
        if (!isset($def_coy))
                $def_coy = 0;
@@ -49,34 +56,36 @@ function set_fullmode() {
 
        echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
        echo "<html dir='$rtl' >\n";
-       echo "<head><title>$title</title>\n";
-       echo "<meta http-equiv='Content-type' content='text/html; charset=$encoding' />\n";
-       echo "<link href='$path_to_root/themes/$def_theme/login.css' rel='stylesheet' type='text/css'> \n";
-       echo $js2;
+       echo "<head profile=\"http://www.w3.org/2005/10/profile\"><title>$title</title>\n";
+       echo "<meta http-equiv='Content-type' content='text/html; charset=$encoding' >\n";
+       echo "<link href='$path_to_root/themes/$def_theme/default.css' rel='stylesheet' type='text/css'> \n";
+       echo "<link href='$path_to_root/themes/default/images/favicon.ico' rel='icon' type='image/x-icon'> \n";
+       send_scripts();
        if (!$login_timeout)
        {
                echo $js;
-       }       
+       }
        echo "</head>\n";
 
-       echo "<body $onload>\n";
+       echo "<body id='loginscreen' $onload>\n";
 
        echo "<table class='titletext'><tr><td>$title</td></tr></table>\n";
        
+       div_start('_page_body');
        br();br();
        start_form(false, false, $_SESSION['timeout']['uri'], "loginform");
-       start_table($table_style2);
+       start_table(false, "class='login'");
        start_row();
        echo "<td align='center' colspan=2>";
        if (!$login_timeout) { // FA logo
-       echo "<a target='_blank' href='$power_url'><img src='$path_to_root/themes/$def_theme/images/logo_frontaccounting.png' alt='FrontAccounting' height='50' onload='fixPNG(this)' border='0' /></a>";
+       echo "<a target='_blank' href='$power_url'><img src='$path_to_root/themes/$def_theme/images/logo_frontaccounting.png' alt='FrontAccounting' height='50' onload='fixPNG(this)' border='0' ></a>";
        } else { 
                echo "<font size=5>"._('Authorization timeout')."</font>";
        } 
        echo "</td>\n";
        end_row();
 
-       echo "<input type='hidden' id=ui_mode name='ui_mode' value='".$_SESSION["wa_current_user"]->ui_mode."' />\n";
+       echo "<input type='hidden' id=ui_mode name='ui_mode' value='".$_SESSION["wa_current_user"]->ui_mode."' >\n";
        if (!$login_timeout)
                table_section_title(_("Version")." $version   Build $build_version - "._("Login"));
        $value = $login_timeout ? $_SESSION['wa_current_user']->loginname : ($allow_demo_mode ? "demouser":"");
@@ -85,7 +94,7 @@ function set_fullmode() {
 
        $password = $allow_demo_mode ? "password":"";
 
-       echo "<tr><td>"._("Password")."</td><td><input type='password' name='password'  value='$password' /></td></tr>\n";
+       password_row(_("Password:"), 'password', $password);
 
        if ($login_timeout) {
                hidden('company_login_name', $_SESSION["wa_current_user"]->company);
@@ -94,24 +103,37 @@ function set_fullmode() {
                        $coy =  $_SESSION['wa_current_user']->company;
                else
                        $coy = $def_coy;
-               echo "<tr><td>"._("Company")."</td><td><select name='company_login_name'>\n";
-               for ($i = 0; $i < count($db_connections); $i++)
-                       echo "<option value=$i ".($i==$coy ? 'selected':'') .">" . $db_connections[$i]["name"] . "</option>";
-               echo "</select>\n";
+               if (!@$text_company_selection) {
+                       echo "<tr><td>"._("Company")."</td><td><select name='company_login_name'>\n";
+                       for ($i = 0; $i < count($db_connections); $i++)
+                               echo "<option value=$i ".($i==$coy ? 'selected':'') .">" . $db_connections[$i]["name"] . "</option>";
+                       echo "</select>\n";
+                       echo "</td></tr>";
+               } else {
+//                     $coy = $def_coy;
+                       text_row(_("Company"), "company_login_nickname", "", 20, 50);
+               }
                start_row();
-               label_cell($demo_text, "colspan=2 align='center'");
+               label_cell($demo_text, "colspan=2 align='center' id='log_msg'");
                end_row();
        }; 
        end_table(1);
-       echo "<center><input type='submit' value='&nbsp;&nbsp;"._("Login -->")."&nbsp;&nbsp;' name='SubmitUser' onclick='set_fullmode();' /></center>\n";
-       end_form(1);
+       echo "<center><input type='submit' value='&nbsp;&nbsp;"._("Login -->")."&nbsp;&nbsp;' name='SubmitUser'"
+               .($login_timeout ? '':" onclick='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
                if (!in_array($p, array('ui_mode', 'user_name_entry_field', 
                        'password', 'SubmitUser', 'company_login_name'))) 
-                       echo "<input type='hidden' name='$p' value='$val'>";
+                       if (!is_array($val))
+                               echo "<input type='hidden' name='$p' value='$val'>";
+                       else
+                               foreach($val as $i => $v)
+                                       echo "<input type='hidden' name='{$p}[$i]' value='$v'>";
        }
+       end_form(1);
+       $Ajax->addScript(true, "document.forms[0].password.focus();");
+
     echo "<script language='JavaScript' type='text/javascript'>
     //<![CDATA[
             <!--
@@ -120,6 +142,7 @@ function set_fullmode() {
             //-->
     //]]>
     </script>";
+    div_end();
        echo "<table class='bottomBar'>\n";
        echo "<tr>";
        if (isset($_SESSION['wa_current_user'])) 
@@ -138,4 +161,4 @@ function set_fullmode() {
        echo "</table><br><br>\n";
        echo "</body></html>\n";
 
-?>
\ No newline at end of file
+?>