Fixed GET continuation after timeot and logout page access without authorization.
[fa-stable.git] / access / login.php
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12         if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_to_root']))
13                 die(_("Restricted access"));
14         include_once($path_to_root . "/includes/ui/ui_view.inc");
15         // Display demo user name and password within login form if "$allow_demo_mode" is true
16         if ($allow_demo_mode == true)
17         {
18             $demo_text = _("Login as user: demouser and password: password");
19         }
20         else
21         {
22                 $demo_text = _("Please login here");
23         }
24         if (!isset($def_coy))
25                 $def_coy = 0;
26         $def_theme = $path_to_root . '/themes/default';
27
28 $login_timeout = $_SESSION["wa_current_user"]->last_act;
29
30         echo "<html>
31                 <head>";
32 if (!$login_timeout) { // page header
33         echo '<script>'.get_js_png_fix().'</script>'; ?>
34 <script type="text/javascript">
35 function defaultCompany()
36 {
37         document.forms[0].company_login_name.options[<?php
38 //       echo $def_coy; 
39         echo $_SESSION["wa_current_user"]->company;
40          ?>].selected = true;
41         document.getElementById('ui_mode').value = 1;
42 }
43 </script>
44     <title><?php echo $app_title . " " . $version;?></title>
45     <meta http-equiv="Content-type" content="text/html; charset=<?php echo $_SESSION['language']->encoding;?>" />
46     <link rel="stylesheet" href="<?php echo $def_theme;?>/login.css" type="text/css" />
47 </head>
48
49  <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="defaultCompany()">
50 <?php
51 } else { // end page header
52 ?>
53     <title><?php echo _('Authorization timeout'); ?></title>
54     <meta http-equiv="Content-type" content="text/html; charset=<?php echo $_SESSION['language']->encoding;?>" />
55     <link rel="stylesheet" href="<?php echo $def_theme;?>/login.css" type="text/css" />
56 <?php
57 };?>
58     <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
59         <tr>
60                         <td align="center" valign="bottom">
61   <?php
62 if (!$login_timeout) { // FA logo
63 ?>          <a target="_blank" href="<?php $power_url; ?>"><img src="<?php echo $def_theme;?>/images/logo_frontaccounting.png" alt="FrontAccounting" width="250" height="50" onload="fixPNG(this)" border="0" /></a>
64 <?php } else { ?>
65                         <font size=5><?php echo _('Authorization timeout'); ?></font>
66 <?php }; ?>
67                         </td>
68                 </tr>
69
70         <tr>
71             <td align="center" valign="top">
72
73                     <table border="0" cellpadding="0" cellspacing="0">
74 <?php
75 if (!$login_timeout) { // FA version info
76 ?>                      <tr><td colspan=2 align="center"><font size=4><b><?php echo _("Version") . " " . $version . "   Build " . $build_version ?></b></font><br><br></td></tr>
77 <?php
78 }; // end of FA version info
79 ?>
80                         <tr>
81                             <td colspan="2" rowspan="2">
82                                         <form action="<?php echo $_SESSION['timeout']['uri']; ?> " name="loginform" method="post">
83                     <table width="346" border="0" cellpadding="0" cellspacing="0">
84                                                 <input type="hidden" id=ui_mode name="ui_mode" value="0">
85                         <tr>
86                             <td colspan="5" bgcolor="#FFFFFF"><img src="<?php echo $def_theme; ?>/images/spacer.png" width="346" height="1" alt="" /></td>
87                                                 </tr>
88                         <tr>
89                             <td bgcolor="#367CB5"><img src="<?php echo $def_theme; ?>/images/spacer.png" width="12" height="200" alt="" /></td>
90
91                             <!--<td background="<?php echo $def_theme; ?>/images/outline/bg.png" width="233" height="200" colspan="3" valign="top">-->
92                             <td class="login" colspan="3" valign="top">
93                                 <table border="0" cellpadding="3" cellspacing="0" width="100%">
94                                     <tr>
95                                                                 <td  align ='right'>
96                                     <!--<span class="loginText">Client login<input name="external_login" type="checkbox" value="1" class="loginText"></span>-->
97                                                                 <br /></td>
98                                     </tr>
99
100                                     <tr>
101                                         <td width="90"></td><td class="loginText" width="283"><span><?php echo _("User name"); ?>:</span><br />
102                                          <input type="text" name="user_name_entry_field" value="<?php echo $login_timeout ? $_SESSION['wa_current_user']->loginname : ($allow_demo_mode ? "demouser":""); ?>"/><br />
103                                          <span><?php echo _("Password"); ?>:</span><br />
104                                          <input type="password" name="password"  value="<?php echo $allow_demo_mode ? "password":""; ?>">
105                                          <br />
106 <?php
107         if ($login_timeout) {
108                 echo "<br><input type = 'hidden'  name='company_login_name' value='".
109                 $_SESSION["wa_current_user"]->company."'>";
110         } else {
111 ?>
112                         <span><?php echo _("Company"); ?>:</span><br />
113                         <!--<select name="company_login_name" onchange="setCookie()">-->
114                         <select name="company_login_name" <?php if($login_timeout) echo 'disabled';?>>
115 <?php
116                         for ($i = 0; $i < count($db_connections); $i++)
117                                 echo "<option value=$i ".($i==$_SESSION['wa_current_user']->company ? 'selected':'') .">" . $db_connections[$i]["name"] . "</option>";
118 ?>
119                         </select>
120                         <br /><br />
121             <?php echo $demo_text;?>
122 <?php
123 }; // else in_ajax
124 ?>                                   </td>
125                                 </td>
126                                     </tr>
127
128                                     <tr>
129                                         <td></td><td align="left"><input type="submit" value= "<?php echo _("Login -->");?> " name="SubmitUser" /></td>
130                                     </tr>
131                                 </table>
132                                 </td>
133                         </tr>
134 <?php
135  if (!$login_timeout) 
136         echo "<tr>
137  <td colspan='5' bgcolor='#FFFFFF'><img src='$def_theme/images/spacer.png' width='346' height='1' alt='' /></td>
138          </tr>";
139
140         foreach($_SESSION['timeout']['post'] as $p => $val) {
141                 // add all request variables to be resend together with login data
142                 if (!in_array($p, array('ui_mode', 'user_name_entry_field', 
143                         'password', 'SubmitUser', 'company_login_name'))) 
144                         echo "<input type='hidden' name='$p' value='$val'>";
145         }
146 ?>
147                     </table>
148                                         </form>
149                             </td>
150                             <!--<td background="<?php echo $def_theme; ?>/images/outline/r.png" colspan="3" align="right" valign="top"><img src="<?php echo $def_theme; ?>/images/outline/tr.png" width="10" height="10" alt="" /></td>-->
151                         </tr>
152                         <tr>
153                             <!--<td background="<?php echo $def_theme; ?>/images/outline/r.png"><img src="<?php echo $def_theme; ?>/images/outline/r.png" width="10" height="10" alt=""></td>-->
154                         </tr>
155                         <tr>
156                                         <!--<td background="<?php echo $def_theme; ?>/images/outline/bm.png"><img src="<?php echo $def_theme; ?>/images/outline/bl.png" width="10" height="10" alt=""></td>-->
157                             <!--<td background="<?php echo $def_theme; ?>/images/outline/bm.png"><img src="<?php echo $def_theme; ?>/images/outline/bm.png" width="10" height="10" alt=""></td>-->
158                             <!--<td><img src="<?php echo $def_theme; ?>/images/outline/br.png" width="10" height="10" alt="" /></td>-->
159                         </tr>
160 <tr><td>&nbsp;</td></tr>
161 <?php
162 if (!$login_timeout) {
163 ?>
164 <tr>
165                 <td align="center" class="footer"><font size=1><a target='_blank' style="text-decoration: none" HREF='<?php echo $power_url; ?>'><font color="#FFFF00" valign="top">&nbsp;&nbsp;<?php echo $power_by; ?></font></a></font></td>
166         </tr>
167 <!--<tr><td>&nbsp;</td></tr><tr>
168         <td align="center" class="footer"><a target="_blank" HREF="http://frontaccounting.com/"><img src="<?php echo $def_theme; ?>/images/logo_frontaccounting.png"  height="60" width="60" border="0"/></a></td>
169 </tr>-->
170 <?php
171  if ($allow_demo_mode == true)
172  {
173     ?>
174       <tr>
175         <!--<td><br><div align="center"><a href="http://frontaccounting.com"><img src="<?php echo $def_theme; ?>/images/logo_frontaccounting.png"  border="0" align="middle" /></a></div></td>-->
176       </tr>
177     <?php
178  }
179 }
180 ?>
181                     </table>
182
183             </td>
184         </tr>
185     </table>
186     <script language="JavaScript" type="text/javascript">
187     //<![CDATA[
188             <!--
189             document.forms[0].user_name_entry_field.select();
190             document.forms[0].user_name_entry_field.focus();
191             //-->
192     //]]>
193     </script>
194 </body>
195 </html>