aboutsummaryrefslogtreecommitdiffstats
path: root/includes/session/CookieSessionProvider.php
diff options
context:
space:
mode:
authorTim Starling <tstarling@wikimedia.org>2022-04-11 11:39:33 +1000
committerTim Starling <tstarling@wikimedia.org>2022-04-26 14:34:08 +1000
commit6c1f5462f775ffbb70d5ed07c058037df0ed1ba9 (patch)
tree3e4b50ef550817dd20033cddc1eec1e5d0ed962e /includes/session/CookieSessionProvider.php
parentd6a3b6cfa8f563dc769dbb1a33fe1431b2e4b88e (diff)
downloadmediawikicore-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.php6
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;
}