reimplement remember_me

This commit is contained in:
Andrew Dolgov 2013-03-28 09:48:58 +04:00
parent 3f0094189c
commit f231f438ba
4 changed files with 17 additions and 3 deletions

View file

@ -500,6 +500,12 @@ class Handler_Public extends Handler {
$password = $_POST["password"];
$remember_me = $_POST["remember_me"];
if ($remember_me) {
session_set_cookie_params(SESSION_COOKIE_LIFETIME);
} else {
session_set_cookie_params(0);
}
@session_start();
if (authenticate_user($this->link, $login, $password)) {

View file

@ -129,7 +129,7 @@
// Default lifetime of a session (e.g. login) cookie. In seconds,
// 0 means cookie will be deleted when browser closes.
// Setting this to zero will affect several user preferences
// like widescreen mode not saving.
// like widescreen mode not saving and disable "remember me".
define('SESSION_EXPIRE_TIME', 86400*30);
// Hard expiration limit for sessions. Should be

View file

@ -221,6 +221,16 @@ function bwLimitChange(elem) {
<label style='display : inline' for="bw_limit"><?php echo __("Use less traffic") ?></label>
</div>
<?php if (SESSION_COOKIE_LIFETIME > 0) { ?>
<div class="row">
<label>&nbsp;</label>
<input dojoType="dijit.form.CheckBox" name="remember_me" id="remember_me" type="checkbox">
<label style='display : inline' for="remember_me"><?php echo __("Remember me") ?></label>
</div>
<?php } ?>
<div class="row" style='text-align : right'>
<button dojoType="dijit.form.Button" type="submit"><?php echo __('Log in') ?></button>
<?php if (defined('ENABLE_REGISTRATION') && ENABLE_REGISTRATION) { ?>

View file

@ -102,8 +102,6 @@
"ttrss_destroy", "ttrss_gc");
}
session_set_cookie_params(SESSION_COOKIE_LIFETIME);
if (!defined('TTRSS_SESSION_NAME') || TTRSS_SESSION_NAME != 'ttrss_api_sid') {
if ($_COOKIE[$session_name]) {
@session_start();