]> git.wh0rd.org Git - tt-rss.git/blob - login.php
rework login screen
[tt-rss.git] / login.php
1 <?
2 //      require_once "sessions.php";
3
4         require_once "sanity_check.php";
5         require_once "version.php"; 
6         require_once "config.php";
7         require_once "functions.php";
8
9         $error_msg = "";
10
11         $url_path = get_script_urlpath();
12
13         if (ENABLE_LOGIN_SSL) {         
14                 $redirect_base = "https://" . $_SERVER["SERVER_NAME"] . $url_path;
15         } else {
16                 $redirect_base = "http://" . $_SERVER["SERVER_NAME"] . $url_path;
17         }
18
19         if (SINGLE_USER_MODE) {
20                 header("Location: $redirect_base/tt-rss.php");
21                 exit;
22         }
23
24         $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
25
26         $login = $_POST["login"];
27         $password = $_POST["password"];
28         $return_to = $_POST["rt"];
29
30         if ($_COOKIE[get_session_cookie_name()]) {
31                 require_once "sessions.php";
32                 if ($_SESSION["uid"]) {
33                         initialize_user_prefs($link, $_SESSION["uid"]); 
34                         header("Location: $redirect_base/tt-rss.php");
35                         exit;
36                 }
37         }
38
39         if ($login && $password) {
40
41                 if ($_POST["remember_me"]) {
42                         session_set_cookie_params(SESSION_COOKIE_LIFETIME_REMEMBER);
43                 } else {
44                         session_set_cookie_params(SESSION_COOKIE_LIFETIME);
45                 }
46                         
47                 require_once "sessions.php";
48
49                 if (authenticate_user($link, $login, $password)) {
50                         initialize_user_prefs($link, $_SESSION["uid"]); 
51
52                         if ($_POST["remember_me"]) {
53                                 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER;
54                         } else {
55                                 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME;
56                         }
57
58                         setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"], 
59                                 $_SESSION["cookie_lifetime"]);
60
61                         if (!$return_to) {
62                                 $return_to = "tt-rss.php";
63                         }
64                         header("Location: $redirect_base/$return_to");
65                         exit;
66                 } else {
67                         $error_msg = "Error: Unable to authenticate user. Please check login and password.";
68                 }
69         } else {
70                 $error_msg = "Error: Either login or password is blank.";
71         }
72
73 ?>
74 <html>
75 <head>
76         <title>Tiny Tiny RSS : Login</title>
77         <link rel="stylesheet" type="text/css" href="tt-rss.css">
78         <!--[if gte IE 5.5000]>
79                 <script type="text/javascript" src="pngfix.js"></script>
80         <![endif]-->
81         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
82 </head>
83
84 <body>
85
86 <script type="text/javascript">
87 function init() {
88
89         if (arguments.callee.done) return;
90         arguments.callee.done = true;           
91
92         var login = document.forms["loginForm"].login;
93
94         login.focus();
95
96 }
97 </script>
98
99 <script type="text/javascript">
100 if (document.addEventListener) {
101         document.addEventListener("DOMContentLoaded", init, null);
102 }
103 window.onload = init;
104 </script>
105
106 <form action="login.php" method="POST" name="loginForm">
107
108 <table width="100%" class="loginForm2">
109 <tr>
110         <td class="loginTop" valign="bottom" align="left">
111                 <img src="images/ttrss_logo_big.png" alt="Logo">
112         </td>
113 </tr><tr>
114         <td align="center" valign="middle" class="loginMiddle" height="100%">
115                 <? if ($error_msg) { ?>
116                         <div class="loginError"><?= $error_msg ?></div>
117                 <? } ?>
118                 <table>
119                         <tr><td align="right">Login:</td>
120                         <td><input name="login"></td></tr>
121                         <tr><td align="right">Password:</td>
122                         <td><input type="password" name="password"></td></tr>
123                         <tr><td colspan="2">
124                                 <input type="checkbox" name="remember_me" id="remember_me">
125                                 <label for="remember_me">Remember me on this computer</label>
126                         </td></tr>
127                         <tr><td colspan="2" align="right">
128                                 <input type="submit" class="button" value="Login">
129                         <input type="hidden" name="rt" value="<?= $_GET['rt'] ?>">
130                         </td></tr>
131                 </table>
132         </td>
133 </tr><tr>
134         <td align="center" class="loginBottom">
135                 <a href="http://tt-rss.spb.ru/">Tiny-Tiny RSS</a> v<?= VERSION ?> &copy; 2005-2006 Andrew Dolgov
136                 <? if (WEB_DEMO_MODE) { ?>
137                 <br>Running in demo mode, some functionality is disabled.
138                 <? } ?>
139         </td>
140 </tr>
141
142 </table>
143
144 </form>
145
146 <? db_close($link); ?>
147
148 <script type="text/javascript">
149         /* for IE */
150         function statechange() {
151                 if (document.readyState == "interactive") init();
152         }
153
154         if (document.readyState) {      
155                 if (document.readyState == "interactive" || document.readyState == "complete") {
156                         init();
157                 } else {
158                         document.onreadystatechange = statechange;
159                 }
160         }
161 </script>
162
163 </body>
164 </html>