-<?
- session_start();
+<?php
+// require_once "sessions.php";
+ require_once "sanity_check.php";
require_once "version.php";
require_once "config.php";
require_once "functions.php";
- if (SINGLE_USER_MODE) {
- header("Location: tt-rss.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;
}
$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)) {
initialize_user_prefs($link, $_SESSION["uid"]);
-
- if ($_SESSION["login_redirect"]) {
- $redirect_to = $_SESSION["login_redirect"];
+
+ if ($_POST["remember_me"]) {
+ $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER;
} else {
- $redirect_to = "tt-rss.php";
+ $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME;
}
- header("Location: $redirect_to");
- }
- }
- if ($_GET["rt"]) {
- $_SESSION["login_redirect"] = $_GET["rt"];
+ 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.";
}
?>
<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">
-
-<table width='100%' height='100%' class="loginForm">
-
- <tr><td align='center' valign='middle'>
-
- <table class="innerLoginForm">
+<script type="text/javascript">
+function init() {
+
+ if (arguments.callee.done) return;
+ arguments.callee.done = true;
+
+ var login = document.forms["loginForm"].login;
+
+ login.focus();
+
+}
+</script>
+
+<script type="text/javascript">
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", init, null);
+}
+window.onload = init;
+</script>
+
+<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> © 2005-2007 <a href="http://bah.org.ru/">Andrew Dolgov</a>
+ </td>
+</tr>
- <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>
-
- <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>