From: Stephan Gambke Date: Sat, 27 Feb 2016 14:27:54 +0000 (+0100) Subject: Add link to anon's user page; remove "Not logged in" X-Git-Tag: 1.31.0-rc.0~7643 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=861b6cf74c2b3441575ea9550707eaaee345004d;p=lhc%2Fweb%2Fwiklou.git Add link to anon's user page; remove "Not logged in" Improve the personal tools: * Remove the "Not logged in" text message. It is misleading. Being among the personal tool links people click on it expecting it to have some function. * Instead add a proper link "Unknown user" to the IP user page. Bug: T121793 Change-Id: I049d0671a7050585659fc8b9dcf21e0f92393bcf --- diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php index 92311b54d8..419c4b4653 100644 --- a/includes/skins/SkinTemplate.php +++ b/includes/skins/SkinTemplate.php @@ -650,42 +650,33 @@ class SkinTemplate extends Skin { 'active' => false ]; } else { - $useCombinedLoginLink = $this->useCombinedLoginLink(); - $loginlink = $this->getUser()->isAllowed( 'createaccount' ) && $useCombinedLoginLink - ? 'nav-login-createaccount' - : 'pt-login'; - $is_signup = $request->getText( 'type' ) == 'signup'; - - $login_url = [ - 'text' => $this->msg( $loginlink )->text(), - 'href' => self::makeSpecialUrl( 'Userlogin', $returnto ), - 'active' => $title->isSpecial( 'Userlogin' ) - && ( $loginlink == 'nav-login-createaccount' || !$is_signup ), - ]; - $createaccount_url = [ - 'text' => $this->msg( 'pt-createaccount' )->text(), - 'href' => self::makeSpecialUrl( 'Userlogin', "$returnto&type=signup" ), - 'active' => $title->isSpecial( 'Userlogin' ) && $is_signup, - ]; - // No need to show Talk and Contributions to anons if they can't contribute! if ( User::groupHasPermission( '*', 'edit' ) ) { - // Show the text "Not logged in" - $personal_urls['anonuserpage'] = [ - 'text' => $this->msg( 'notloggedin' )->text() - ]; - // Because of caching, we can't link directly to the IP talk and - // contributions pages. Instead we use the special page shortcuts - // (which work correctly regardless of caching). This means we can't - // determine whether these links are active or not, but since major - // skins (MonoBook, Vector) don't use this information, it's not a - // huge loss. + // Because of caching, we can't link directly to the anonymous + // user page (for example [[User:127.0.0.1]]), talk page, and + // contributions pages. Instead we use the special page + // shortcuts (which work correctly regardless of caching). This + // means we can't determine whether these links are active or + // not, but since major skins (MonoBook, Vector) don't use this + // information, it's not a huge loss. + + // Only show (red) link to anon user page if anon users are + // allowed to create that page + if ( User::groupHasPermission( '*', 'createpage' ) ) { + $personal_urls[ 'anonuserpage' ] = [ + 'text' => $this->msg( 'anonuserpage' )->text(), + 'href' => self::makeSpecialUrlSubpage( 'Mypage', false ), + 'active' => false + ]; + } + $personal_urls['anontalk'] = [ 'text' => $this->msg( 'anontalk' )->text(), 'href' => self::makeSpecialUrlSubpage( 'Mytalk', false ), 'active' => false ]; + $personal_urls['anoncontribs'] = [ 'text' => $this->msg( 'anoncontribs' )->text(), 'href' => self::makeSpecialUrlSubpage( 'Mycontributions', false ), @@ -693,11 +684,21 @@ class SkinTemplate extends Skin { ]; } - if ( $this->getUser()->isAllowed( 'createaccount' ) && !$useCombinedLoginLink ) { - $personal_urls['createaccount'] = $createaccount_url; + $is_signup = $request->getText( 'type' ) === 'signup'; + + if ( $this->getUser()->isAllowed( 'createaccount' ) && !( $this->useCombinedLoginLink() ) ) { + $personal_urls[ 'createaccount' ] = [ + 'text' => $this->msg( 'pt-createaccount' )->text(), + 'href' => self::makeSpecialUrl( 'Userlogin', "$returnto&type=signup" ), + 'active' => $title->isSpecial( 'Userlogin' ) && $is_signup, + ]; } - $personal_urls['login'] = $login_url; + $personal_urls['login'] = [ + 'text' => $this->msg( 'pt-login' )->text(), + 'href' => self::makeSpecialUrl( 'Userlogin', $returnto ), + 'active' => $title->isSpecial( 'Userlogin' ) && !$is_signup, + ]; } Hooks::run( 'PersonalUrls', [ &$personal_urls, &$title, $this ] ); diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 03b50beded..5b32b978df 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -143,6 +143,7 @@ "moredotdotdot": "More...", "morenotlisted": "This list is not complete.", "mypage": "Page", + "anonuserpage": "Unknown user", "mytalk": "Talk", "anontalk": "Talk", "navigation": "Navigation", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 4058d83197..adf24c51fa 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -319,6 +319,7 @@ "moredotdotdot": "Used as \"More...\" link for {{msg-mw|pageinfo-transclusions}} field, in the \"templates used on this page\" list.\n\nSimilar to {{msg-mw|morenotlisted}}.\n{{Identical|More...}}", "morenotlisted": "An indication that more of a templates list is not shown.\n\nUsed as \"More...\" link for {{msg-mw|pageinfo-templates}} field.\n\nSimilar to {{msg-mw|moredotdotdot}}.", "mypage": "A text for the link to the user's user page in the links at the top of the page.\n{{Identical|Page}}", + "anonuserpage": "Same as {{msg-mw|mypage}} but used for non-logged-in users.\nA text for the link to the IP user page in the links at the top of the page.\n\nSee also:\n* {{msg-mw|Accesskey-pt-anonuserpage}}\n* {{msg-mw|Tooltip-pt-anonuserpage}}\n{{Identical|Page}}", "mytalk": "In the personal URLs page section - right upper corner.\n\nUsed as link title in your personal toolbox.\n\nSee also:\n* {{msg-mw|Mytalk}}\n* {{msg-mw|Accesskey-pt-mytalk}}\n* {{msg-mw|Tooltip-pt-mytalk}}\n{{Identical|Talk}}", "anontalk": "Same as {{msg-mw|mytalk}} but used for non-logged-in users.\n{{Identical|Talk}}\n\nSee also:\n* {{msg-mw|Accesskey-pt-anontalk}}\n* {{msg-mw|Tooltip-pt-anontalk}}", "navigation": "This is shown as a section header in the sidebar of most skins.\n\n{{Identical|Navigation}}",