diff options
author | Tim Starling <tstarling@wikimedia.org> | 2022-04-11 11:39:33 +1000 |
---|---|---|
committer | Tim Starling <tstarling@wikimedia.org> | 2022-04-26 14:34:08 +1000 |
commit | 6c1f5462f775ffbb70d5ed07c058037df0ed1ba9 (patch) | |
tree | 3e4b50ef550817dd20033cddc1eec1e5d0ed962e /includes/session/CookieSessionProvider.php | |
parent | d6a3b6cfa8f563dc769dbb1a33fe1431b2e4b88e (diff) | |
download | mediawikicore-6c1f5462f775ffbb70d5ed07c058037df0ed1ba9.tar.gz mediawikicore-6c1f5462f775ffbb70d5ed07c058037df0ed1ba9.zip |
TempUser UI tweaks
* In PermissionManager, if a user is anonymous but temporary user
creation is possible, grant elevated permissions at RIGOR_QUICK rigor
level. This is mostly to make skins show "edit" instead of "view
source" to anonymous users in the recommended permissions
configuration.
* Present temporary users as if they are not logged in in various places
in the interface: create/move permissions errors, login, preferences,
watchlist, BotPasswords, ChangeEmail, ResetTokens.
* Show a warning on login/logout about loss of access to the temp
account.
* On login, don't show the temporary name as a suggestion for the login
username.
Change-Id: Id0d5ffa46c3ca5c7b30d540cedbaa528b682aa85
Diffstat (limited to 'includes/session/CookieSessionProvider.php')
-rw-r--r-- | includes/session/CookieSessionProvider.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/includes/session/CookieSessionProvider.php b/includes/session/CookieSessionProvider.php index e6ab3e6d8fcb..b80244e408ab 100644 --- a/includes/session/CookieSessionProvider.php +++ b/includes/session/CookieSessionProvider.php @@ -322,7 +322,11 @@ class CookieSessionProvider extends SessionProvider { public function suggestLoginUsername( WebRequest $request ) { $name = $this->getCookie( $request, 'UserName', $this->cookieOptions['prefix'] ); if ( $name !== null ) { - $name = $this->userNameUtils->getCanonical( $name, UserRigorOptions::RIGOR_USABLE ); + if ( $this->userNameUtils->isTemp( $name ) ) { + $name = false; + } else { + $name = $this->userNameUtils->getCanonical( $name, UserRigorOptions::RIGOR_USABLE ); + } } return $name === false ? null : $name; } |