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();
12 $return_to = $_REQUEST["rt"];
14 if (ENABLE_LOGIN_SSL
) {
15 $redirect_base = "https://" . $_SERVER["SERVER_NAME"] . $url_path;
17 $redirect_base = "http://" . $_SERVER["SERVER_NAME"] . $url_path;
20 if (SINGLE_USER_MODE
&& $return_to != "none") {
21 header("Location: $redirect_base/tt-rss.php");
25 $link = db_connect(DB_HOST
, DB_USER
, DB_PASS
, DB_NAME
);
27 $login = $_POST["login"];
28 $password = $_POST["password"];
29 $action = $_POST["action"];
31 if ($_COOKIE[get_session_cookie_name()] && $return_to != "none") {
32 require_once "sessions.php";
33 if ($_SESSION["uid"]) {
34 initialize_user_prefs($link, $_SESSION["uid"]);
35 header("Location: $redirect_base/tt-rss.php");
40 if ($login && $password) {
42 if ($_POST["remember_me"]) {
43 session_set_cookie_params(SESSION_COOKIE_LIFETIME_REMEMBER
);
45 session_set_cookie_params(SESSION_COOKIE_LIFETIME
);
48 require_once "sessions.php";
50 if (authenticate_user($link, $login, $password)) {
51 initialize_user_prefs($link, $_SESSION["uid"]);
53 if ($_POST["remember_me"]) {
54 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER
;
56 $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME
;
59 setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"],
60 $_SESSION["cookie_lifetime"]);
63 $return_to = "tt-rss.php";
65 header("Location: $redirect_base/$return_to");
68 $error_msg = "Error: Unable to authenticate user. Please check login and password.";
71 $error_msg = "Error: Either login or password is blank.";
77 <title
>Tiny Tiny RSS
: Login
</title
>
78 <link rel
="stylesheet" type
="text/css" href
="tt-rss.css">
79 <link rel
="shortcut icon" type
="image/png" href
="images/favicon.png">
80 <!--[if gte IE
5.5000]>
81 <script type
="text/javascript" src
="pngfix.js"></script
>
83 <meta http
-equiv
="Content-Type" content
="text/html; charset=utf-8">
88 <script type
="text/javascript">
91 if (arguments
.callee
.done
) return;
92 arguments
.callee
.done
= true;
94 var login
= document
.forms
["loginForm"].login
;
101 <script type
="text/javascript">
102 if (document
.addEventListener
) {
103 document
.addEventListener("DOMContentLoaded", init
, null);
105 window
.onload
= init
;
108 <form action
="login.php" method
="POST" name
="loginForm">
110 <table width
="100%" class="loginForm2">
112 <td
class="loginTop" valign
="bottom" align
="left">
113 <img src
="images/ttrss_logo_big.png" alt
="Logo">
116 <td align
="center" valign
="middle" class="loginMiddle" height
="100%">
117 <?php
if ($error_msg) { ?
>
118 <div
class="loginError"><?php
echo $error_msg ?
></div
>
121 <tr
><td align
="right">Login
:</td
>
122 <td align
="right"><input name
="login"></td
></tr
>
123 <tr
><td align
="right">Password
:</td
>
124 <td align
="right"><input type
="password" name
="password"></td
></tr
>
126 <input type
="checkbox" name
="remember_me" id
="remember_me">
127 <label
for="remember_me">Remember me on this computer
</label
>
129 <tr
><td colspan
="2" align
="right" class="innerLoginCell">
130 <input type
="submit" class="button" value
="Login">
131 <input type
="hidden" name
="action" value
="login">
132 <input type
="hidden" name
="rt"
133 value
="<?php if ($return_to != 'none') { echo $return_to; } ?>">
138 <td align
="center" class="loginBottom">
139 <a href
="http://tt-rss.spb.ru/">Tiny Tiny RSS
</a
> ©
; 2005-2007 <a href
="http://bah.org.ru/">Andrew Dolgov
</a
>
147 <?php
db_close($link); ?
>
149 <script type
="text/javascript">
151 function statechange() {
152 if (document
.readyState
== "interactive") init();
155 if (document
.readyState
) {
156 if (document
.readyState
== "interactive" || document
.readyState
== "complete") {
159 document
.onreadystatechange
= statechange
;