Mattflaschen has uploaded a new change for review.
https://gerrit.wikimedia.org/r/231490
Change subject: Fix i18n message parameter for 'keep me logged in' days.
......................................................................
Fix i18n message parameter for 'keep me logged in' days.
Also, make setExtendedLoginCookie do the right thing for expiration 0,
which means session-only.
It shouldn't normally be called for that (since the 'remember me'
checkbox wouldn't be shown), but it could if the settings changed
after the page was loaded, or the user modified the form manually.
Remove dead code in Usercreate.
Bug: T109031
Change-Id: I7bf17536938930ae2a2c4d2d419f7e002a49ab5a
---
M includes/User.php
M includes/specials/SpecialUserlogin.php
M includes/templates/Usercreate.php
M includes/templates/Userlogin.php
4 files changed, 22 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/90/231490/1
diff --git a/includes/User.php b/includes/User.php
index 9b958f4..a87abeb 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -3520,17 +3520,31 @@
* null (default): Use the default ($wgCookieSecure) to set the secure
attribute
*/
protected function setExtendedLoginCookie( $name, $value, $secure ) {
- global $wgExtendedLoginCookieExpiration, $wgCookieExpiration;
+ $expirationDuration = self::getExtendedLoginCookieExpiration();
- $exp = time();
- $exp += $wgExtendedLoginCookieExpiration !== null
- ? $wgExtendedLoginCookieExpiration
- : $wgCookieExpiration;
+ if ( $expirationDuration !== 0 ) {
+ $exp += time() + $expirationDuration;
+ } else {
+ $exp = null;
+ }
$this->setCookie( $name, $value, $exp, $secure );
}
/**
+ * Gets the cookie duration used for extended cookies ("keep me logged
in")
+ *
+ * @return Expiration time, in seconds, except that 0 means 'browser
session'.
+ */
+ public static function getExtendedLoginCookieExpiration() {
+ global $wgExtendedLoginCookieExpiration, $wgCookieExpiration;
+
+ return $wgExtendedLoginCookieExpiration !== null
+ ? $wgExtendedLoginCookieExpiration
+ : $wgCookieExpiration;
+ }
+
+ /**
* Set the default cookies for this session on the user's client.
*
* @param WebRequest|null $request WebRequest object to use; $wgRequest
will be used if null
diff --git a/includes/specials/SpecialUserlogin.php
b/includes/specials/SpecialUserlogin.php
index 0b500f4..88a2481 100644
--- a/includes/specials/SpecialUserlogin.php
+++ b/includes/specials/SpecialUserlogin.php
@@ -1446,7 +1446,7 @@
$template->set( 'emailothers', $wgEnableUserEmail );
$template->set( 'canreset', $wgAuth->allowPasswordChange() );
$template->set( 'resetlink', $resetLink );
- $template->set( 'canremember', $wgExtendedLoginCookieExpiration
=== null ? ( $wgCookieExpiration > 0 ) : ( $wgExtendedLoginCookieExpiration > 0
) );
+ $template->set( 'canremember',
User::getExtendedLoginCookieExpiration() > 0 );
$template->set( 'usereason', $user->isLoggedIn() );
$template->set( 'remember', $this->mRemember );
$template->set( 'cansecurelogin', ( $wgSecureLogin === true ) );
diff --git a/includes/templates/Usercreate.php
b/includes/templates/Usercreate.php
index c17d575..a39690a 100644
--- a/includes/templates/Usercreate.php
+++ b/includes/templates/Usercreate.php
@@ -38,8 +38,6 @@
}
function execute() {
- global $wgCookieExpiration;
- $expirationDays = ceil( $wgCookieExpiration / ( 3600 * 24 ) );
?>
<div class="mw-ui-container">
<?php if ( $this->haveData( 'languages' ) ) { ?>
diff --git a/includes/templates/Userlogin.php b/includes/templates/Userlogin.php
index 4a0b413..28135e6 100644
--- a/includes/templates/Userlogin.php
+++ b/includes/templates/Userlogin.php
@@ -25,8 +25,8 @@
class UserloginTemplate extends BaseTemplate {
function execute() {
- global $wgCookieExpiration;
- $expirationDays = ceil( $wgCookieExpiration / ( 3600 * 24 ) );
+ $rememberMeExpiration =
User::getExtendedLoginCookieExpiration();
+ $expirationDays = ceil( $rememberMeExpiration / ( 3600 * 24 ) );
?>
<div class="mw-ui-container">
<div id="userloginprompt"><?php $this->msgWiki('loginprompt') ?></div>
--
To view, visit https://gerrit.wikimedia.org/r/231490
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7bf17536938930ae2a2c4d2d419f7e002a49ab5a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Mattflaschen <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits