Bug: "remember me" doesn't

This commit is contained in:
redmatrix 2016-04-03 17:38:17 -07:00
parent bf3f3564e0
commit a703835b5c
5 changed files with 11 additions and 5 deletions

View File

@ -1580,7 +1580,7 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) {
'$form_id' => $form_id, '$form_id' => $form_id,
'$lname' => array('username', t('Email') , '', ''), '$lname' => array('username', t('Email') , '', ''),
'$lpassword' => array('password', t('Password'), '', ''), '$lpassword' => array('password', t('Password'), '', ''),
'$remember' => array('remember', t('Remember me'), '', '',array(t('No'),t('Yes'))), '$remember_me' => array('remember_me', t('Remember me'), '', '',array(t('No'),t('Yes'))),
'$hiddens' => $hiddens, '$hiddens' => $hiddens,
'$register' => $reg, '$register' => $reg,
'$lostpass' => t('Forgot your password?'), '$lostpass' => t('Forgot your password?'),

View File

@ -246,7 +246,7 @@ else {
notice( t('Failed authentication') . EOL); notice( t('Failed authentication') . EOL);
} }
logger('authenticate: ' . print_r(App::$account, true), LOGGER_DEBUG); logger('authenticate: ' . print_r(App::$account, true), LOGGER_ALL);
} }
if((! $record) || (! count($record))) { if((! $record) || (! count($record))) {
@ -274,7 +274,7 @@ else {
// (i.e. expire when the browser is closed), even when there's a time expiration // (i.e. expire when the browser is closed), even when there's a time expiration
// on the cookie // on the cookie
if($_POST['remember']) { if($_POST['remember_me']) {
new_cookie(31449600); // one year new_cookie(31449600); // one year
} }
else { else {

View File

@ -45,12 +45,13 @@ function nuke_session() {
function new_cookie($time) { function new_cookie($time) {
$old_sid = session_id(); $old_sid = session_id();
// ??? This shouldn't have any effect if called after session_start() // ??? This shouldn't have any effect if called after session_start()
// We probably need to set the session expiration and change the PHPSESSID cookie. // We probably need to set the session expiration and change the PHPSESSID cookie.
// session_set_cookie_params($time);
session_set_cookie_params($time);
session_regenerate_id(false); session_regenerate_id(false);
q("UPDATE session SET sid = '%s' WHERE sid = '%s'", q("UPDATE session SET sid = '%s' WHERE sid = '%s'",

View File

@ -84,6 +84,11 @@ if(! App::$install) {
* *
*/ */
/* session_set_cookie_params() needs to happen before session_start() */
if($_POST['remember_me'])
session_set_cookie_params(31556926);
session_start(); session_start();
/** /**

View File

@ -5,7 +5,7 @@
<div id="login-input" class="form-group"> <div id="login-input" class="form-group">
{{include file="field_input.tpl" field=$lname}} {{include file="field_input.tpl" field=$lname}}
{{include file="field_password.tpl" field=$lpassword}} {{include file="field_password.tpl" field=$lpassword}}
{{include file="field_checkbox.tpl" field=$remember}} {{include file="field_checkbox.tpl" field=$remember_me}}
<button type="submit" name="submit" class="btn btn-block btn-primary">{{$login}}</button> <button type="submit" name="submit" class="btn btn-block btn-primary">{{$login}}</button>
</div> </div>
<div id="login-extra-links"> <div id="login-extra-links">