Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions persistent_login.install
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ function persistent_login_uninstall() {
// Delete all module variables.
variable_del('persistent_login_welcome');
variable_del('persistent_login_maxlife');
variable_del('persistent_login_extend_expiry');
variable_del('persistent_login_maxlogins');
variable_del('persistent_login_secure');
variable_del('persistent_login_pages');
Expand Down
8 changes: 6 additions & 2 deletions persistent_login.module
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -413,9 +413,13 @@ function _persistent_login_create_cookie($acct, $edit = array()) {
_persistent_login_invalidate('cleanup', "uid = %d AND series = '%s'", $uid, $series);
}

$token = drupal_get_token(uniqid(mt_rand(), TRUE));
$days = variable_get('persistent_login_maxlife', PERSISTENT_LOGIN_MAXLIFE);
$expires = (isset($edit['pl_expires']) ? $edit['pl_expires'] : (($days > 0) ? time() + $days * 86400 : 0));
$expires = isset($edit['pl_expires'])? $edit['pl_expires'] : 0;
if ($days > 0 && (!$expires || variable_get('persistent_login_extend_expiry', 0))) {
$expires = time() + $days * 86400;
}

$token = drupal_get_token(uniqid(mt_rand(), TRUE));
$series = (isset($edit['pl_series']) ? $edit['pl_series'] : drupal_get_token(uniqid(mt_rand(), TRUE)));

_persistent_login_setcookie($cookie_name, $acct->uid .':'. $series .':'. $token, $expires > 0 ? $expires : 2147483647);
Expand Down
7 changes: 7 additions & 0 deletions persistent_login.pages.inc
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ function persistent_login_admin_settings() {
'#description' => t('The maximum number of days for which a persistent login session is valid; afterwards, the user will need to log in again. Enter 0 for no expiration.'),
);

$form['persistent_login_extend_expiry'] = array(
'#type' => 'checkbox',
'#title' => t('Extend the expiry of persistent logins when used.'),
'#default_value' => variable_get('persistent_login_extend_expiry', 0),
'#description' => t('If set, when a user logs in with a persistent login cookie the series\' validity will be extended by the expiry period from the current time.'),
);

$form['persistent_login_maxlogins'] = array(
'#type' => 'select',
'#title' => t('Remembered logins per user'),
Expand Down