2 // require_once "sessions.php";
4 require_once "sanity_check.php";
5 require_once "version.php";
6 require_once "config.php";
7 require_once "functions.php";
11 $url_path = get_script_urlpath();
13 if (ENABLE_LOGIN_SSL) {
14 $redirect_base = "https://" . $_SERVER["SERVER_NAME"] . $url_path;
16 $redirect_base = "http://" . $_SERVER["SERVER_NAME"] . $url_path;
19 if (SINGLE_USER_MODE) {
20 header("Location: $redirect_base/tt-rss.php");
24 $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
26 $login = $_POST["login"];
27 $password = $_POST["password"];
28 $return_to = $_POST["rt"];
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");
39 if ($login && $password) {
41 if ($_POST["remember_me"]) {
42 session_set_cookie_params(SESSION_COOKIE_LIFETIME_REMEMBER);
44 session_set_cookie_params(SESSION_COOKIE_LIFETIME);
47 require_once "sessions.php";
49 if (authenticate_user($link, $login, $password)) {
50 initialize_user_prefs($link, $_SESSION["uid"]);
52 if ($_POST["remember_me"]) {
53 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER;
55 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME;
58 setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"],
59 $_SESSION["cookie_lifetime"]);
62 $return_to = "tt-rss.php";
64 header("Location: $redirect_base/$return_to");
67 $error_msg = "Error: Unable to authenticate user. Please check login and password.";
70 $error_msg = "Error: Either login or password is blank.";
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>
81 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
86 <script type="text/javascript">
89 if (arguments.callee.done) return;
90 arguments.callee.done = true;
92 var login = document.forms["loginForm"].login;
99 <script type="text/javascript">
100 if (document.addEventListener) {
101 document.addEventListener("DOMContentLoaded", init, null);
103 window.onload = init;
106 <form action="login.php" method="POST" name="loginForm">
108 <table width="100%" class="loginForm2">
110 <td class="loginTop" valign="bottom" align="left">
111 <img src="images/ttrss_logo_big.png" alt="Logo">
114 <td align="center" valign="middle" class="loginMiddle" height="100%">
115 <? if ($error_msg) { ?>
116 <div class="loginError"><?= $error_msg ?></div>
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>
124 <input type="checkbox" name="remember_me" id="remember_me">
125 <label for="remember_me">Remember me on this computer</label>
127 <tr><td colspan="2" align="right">
128 <input type="submit" class="button" value="Login">
129 <input type="hidden" name="rt" value="<?= $_GET['rt'] ?>">
134 <td align="center" class="loginBottom">
135 <a href="http://tt-rss.spb.ru/">Tiny-Tiny RSS</a> v<?= VERSION ?> © 2005-2006 Andrew Dolgov
136 <? if (WEB_DEMO_MODE) { ?>
137 <br>Running in demo mode, some functionality is disabled.
146 <? db_close($link); ?>
148 <script type="text/javascript">
150 function statechange() {
151 if (document.readyState == "interactive") init();
154 if (document.readyState) {
155 if (document.readyState == "interactive" || document.readyState == "complete") {
158 document.onreadystatechange = statechange;