]> git.wh0rd.org - tt-rss.git/blobdiff - login.php
fix indent
[tt-rss.git] / login.php
index 86694667af8d227b0300f6a10c386136af811b2f..3609622f87ca57a3290cdb94ee01342720047231 100644 (file)
--- a/login.php
+++ b/login.php
@@ -1,19 +1,74 @@
-<?
-       session_start();
+<?php
+//     require_once "sessions.php";
 
+       require_once "sanity_check.php";
        require_once "version.php"; 
        require_once "config.php";
        require_once "functions.php";
 
+       $error_msg = "";
+
+       $url_path = get_script_urlpath();
+       $return_to = $_REQUEST["rt"];
+
+       if (ENABLE_LOGIN_SSL) {         
+               $redirect_base = "https://" . $_SERVER["SERVER_NAME"] . $url_path;
+       } else {
+               $redirect_base = "http://" . $_SERVER["SERVER_NAME"] . $url_path;
+       }
+
+       if (SINGLE_USER_MODE && $return_to != "none") {
+               header("Location: $redirect_base/tt-rss.php");
+               exit;
+       }
+
        $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
 
        $login = $_POST["login"];
        $password = $_POST["password"];
+       $action = $_POST["action"];
+
+       if ($_COOKIE[get_session_cookie_name()] && $return_to != "none") {
+               require_once "sessions.php";
+               if ($_SESSION["uid"]) {
+                       initialize_user_prefs($link, $_SESSION["uid"]); 
+                       header("Location: $redirect_base/tt-rss.php");
+                       exit;
+               }
+       }
 
        if ($login && $password) {
+
+               if ($_POST["remember_me"]) {
+                       session_set_cookie_params(SESSION_COOKIE_LIFETIME_REMEMBER);
+               } else {
+                       session_set_cookie_params(SESSION_COOKIE_LIFETIME);
+               }
+                       
+               require_once "sessions.php";
+
                if (authenticate_user($link, $login, $password)) {
-                       header("Location: tt-rss.php");
+                       initialize_user_prefs($link, $_SESSION["uid"]); 
+
+                       if ($_POST["remember_me"]) {
+                               $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER;
+                       } else {
+                               $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME;
+                       }
+
+                       setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"], 
+                               $_SESSION["cookie_lifetime"]);
+
+                       if (!$return_to) {
+                               $return_to = "tt-rss.php";
+                       }
+                       header("Location: $redirect_base/$return_to");
+                       exit;
+               } else {
+                       $error_msg = "Error: Unable to authenticate user. Please check login and password.";
                }
+       } else if ($action) {
+               $error_msg = "Error: Either login or password is blank.";
        }
 
 ?>
@@ -21,6 +76,7 @@
 <head>
        <title>Tiny Tiny RSS : Login</title>
        <link rel="stylesheet" type="text/css" href="tt-rss.css">
+       <link rel="shortcut icon" type="image/png" href="images/favicon.png">
        <!--[if gte IE 5.5000]>
                <script type="text/javascript" src="pngfix.js"></script>
        <![endif]-->
 
 <body>
 
-<form action="login.php" method="POST">
+<script type="text/javascript">
+function init() {
+
+       if (arguments.callee.done) return;
+       arguments.callee.done = true;           
+
+       var login = document.forms["loginForm"].login;
+
+       login.focus();
 
-<table width='100%' height='100%' class="loginForm">
+}
+</script>
 
-       <tr><td align='center' valign='middle'>
-       
-       <table class="innerLoginForm">
+<script type="text/javascript">
+if (document.addEventListener) {
+       document.addEventListener("DOMContentLoaded", init, null);
+}
+window.onload = init;
+</script>
 
-       <tr><td valign="middle" align="center" colspan="2">
-               <img src="images/ttrss_logo.png" alt="logo">
-       </td></tr>
-       
-       <tr><td align="right">Login:</td>
-               <td><input name="login"></td></tr>
-       <tr><td align="right">Password:</td>
-               <td><input type="password" name="password"></td></tr>
+<form action="login.php" method="POST" name="loginForm">
+
+<table width="100%" class="loginForm2">
+<tr>
+       <td class="loginTop" valign="bottom" align="left">
+               <img src="images/ttrss_logo_big.png" alt="Logo">
+       </td>
+</tr><tr>
+       <td align="center" valign="middle" class="loginMiddle" height="100%">
+               <?php if ($error_msg) { ?>
+                       <div class="loginError"><?php echo $error_msg ?></div>
+               <?php } ?>
+               <table>
+                       <tr><td align="right">Login:</td>
+                       <td align="right"><input name="login"></td></tr>
+                       <tr><td align="right">Password:</td>
+                       <td align="right"><input type="password" name="password"></td></tr>
+                       <tr><td colspan="2">
+                               <input type="checkbox" name="remember_me" id="remember_me">
+                               <label for="remember_me">Remember me on this computer</label>
+                       </td></tr>
+                       <tr><td colspan="2" align="right" class="innerLoginCell">
+                               <input type="submit" class="button" value="Login">
+                               <input type="hidden" name="action" value="login">
+                               <input type="hidden" name="rt" 
+                                       value="<?php if ($return_to != 'none') { echo $return_to; } ?>">
+                       </td></tr>
+               </table>
+       </td>
+</tr><tr>
+       <td align="center" class="loginBottom">
+               <a href="http://tt-rss.spb.ru/">Tiny Tiny RSS</a> &copy; 2005-2007 <a href="http://bah.org.ru/">Andrew Dolgov</a>
+       </td>
+</tr>
 
-       <tr><td colspan="2" align="center">
-               <input type="submit" class="button" value="Login">
-       </td></tr>
-       
-       </table></td></tr>
 </table>
 
 </form>
 
-<? db_close($link); ?>
+<?php db_close($link); ?>
+
+<script type="text/javascript">
+       /* for IE */
+       function statechange() {
+               if (document.readyState == "interactive") init();
+       }
+
+       if (document.readyState) {      
+               if (document.readyState == "interactive" || document.readyState == "complete") {
+                       init();
+               } else {
+                       document.onreadystatechange = statechange;
+               }
+       }
+</script>
 
 </body>
 </html>