jenkins-bot has submitted this change and it was merged.

Change subject: Add link to PD help translatable pages from sidebar
......................................................................


Add link to PD help translatable pages from sidebar

Reuses the existing helppage default message and
adds it to ignored messages as Special:MyLanguage
is used and translations have to be removed:
this does not bother customised local links.

Now using HTTPS URL to mediawiki.org per Brion
on bug 54835. This slightly increases the footprint
of the change but should keep everything functionally
equivalent. The sidebar is not bothered by full URLs,
except in self-defeating tests which are also fixed here.

Bug: 53887
Change-Id: I999b97729536dbab4a3a5efd8d6f86527f031948
---
M RELEASE-NOTES-1.22
M includes/EditPage.php
M languages/messages/MessagesEn.php
M languages/messages/MessagesQqq.php
M maintenance/language/messageTypes.inc
M skins/CologneBlue.php
M tests/phpunit/skins/SideBarTest.php
M tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
8 files changed, 63 insertions(+), 21 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/RELEASE-NOTES-1.22 b/RELEASE-NOTES-1.22
index 66a3bb9..cf04415 100644
--- a/RELEASE-NOTES-1.22
+++ b/RELEASE-NOTES-1.22
@@ -9,6 +9,12 @@
 
 === Changes since 1.22.4 ===
 
+* (bug 53887) Reintroduced a link to help pages in the default sidebar, that
+  any sysop can customize by editing [[MediaWiki:Sidebar]] locally. The link
+  now points to a mediawiki.org page which is guaranteed to exist. Nothing 
needs
+  to be done on your end, but remember to adjust [[MediaWiki:Sidebar]] for the
+  needs of your wikis. Everyone can help with the shared documentation by
+  translating: https://www.mediawiki.org/wiki/Special:Translate/agg-Help_pages 
.
 * (bug 53888) Corrected a regression in 1.22 which introduced red links on the
   login page. If you previously installed 1.22.x and have created a local page
   to make the red link blue, write its title as in [[MediaWiki:helplogin-url]]
diff --git a/includes/EditPage.php b/includes/EditPage.php
index 530e267..6071469 100644
--- a/includes/EditPage.php
+++ b/includes/EditPage.php
@@ -2049,10 +2049,27 @@
                }
                # Try to add a custom edit intro, or use the standard one if 
this is not possible.
                if ( !$this->showCustomIntro() && !$this->mTitle->exists() ) {
+                       $helpLink = Skin::makeInternalOrExternalUrl(
+                               wfMessage( 'helppage' 
)->inContentLanguage()->text()
+                       );
                        if ( $wgUser->isLoggedIn() ) {
-                               $wgOut->wrapWikiMsg( "<div 
class=\"mw-newarticletext\">\n$1\n</div>", 'newarticletext' );
+                               $wgOut->wrapWikiMsg(
+                                       // Suppress the external link icon, 
consider the help url an internal one
+                                       "<div class=\"mw-newarticletext 
plainlinks\">\n$1\n</div>",
+                                       array(
+                                               'newarticletext',
+                                               $helpLink
+                                       )
+                               );
                        } else {
-                               $wgOut->wrapWikiMsg( "<div 
class=\"mw-newarticletextanon\">\n$1\n</div>", 'newarticletextanon' );
+                               $wgOut->wrapWikiMsg(
+                                       // Suppress the external link icon, 
consider the help url an internal one
+                                       "<div class=\"mw-newarticletextanon 
plainlinks\">\n$1\n</div>",
+                                       array(
+                                               'newarticletextanon',
+                                               $helpLink
+                                       )
+                               );
                        }
                }
                # Give a notice if the user is editing a deleted/moved page...
diff --git a/languages/messages/MessagesEn.php 
b/languages/messages/MessagesEn.php
index 26ce598..4f82b86 100644
--- a/languages/messages/MessagesEn.php
+++ b/languages/messages/MessagesEn.php
@@ -644,6 +644,7 @@
 ** mainpage|mainpage-description
 ** recentchanges-url|recentchanges
 ** randompage-url|randompage
+** helppage|help
 * SEARCH
 * TOOLBOX
 * LANGUAGES', # do not translate or duplicate this message to other languages
@@ -912,7 +913,7 @@
 'disclaimerpage'       => 'Project:General disclaimer',
 'edithelp'             => 'Editing help',
 'edithelppage'         => 
'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Editing_pages', # do 
not translate or duplicate this message to other languages
-'helppage'             => 'Help:Contents',
+'helppage'             => 
'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents',
 'mainpage'             => 'Main Page',
 'mainpage-description' => 'Main page',
 'policy-url'           => 'Project:Policy',
@@ -1432,10 +1433,10 @@
 'accmailtitle'                     => 'Password sent',
 'accmailtext'                      => "A randomly generated password for 
[[User talk:$1|$1]] has been sent to $2. It can be changed on the 
''[[Special:ChangePassword|change password]]'' page upon logging in.",
 'newarticle'                       => '(New)',
-'newarticletext'                   => "You have followed a link to a page that 
does not exist yet.
-To create the page, start typing in the box below (see the 
[[{{MediaWiki:Helppage}}|help page]] for more info).
-If you are here by mistake, click your browser's '''back''' button.",
-'newarticletextanon'               => '{{int:newarticletext}}', # do not 
translate or duplicate this message to other languages
+'newarticletext'                           => "You have followed a link to a 
page that does not exist yet.
+To create the page, start typing in the box below (see the [$1 help page] for 
more info).
+If you are here by mistake, click your browser's <strong>back</strong> 
button.",
+'newarticletextanon'                       => '{{int:newarticletext|$1}}', # 
do not translate or duplicate this message to other languages
 'talkpagetext'                     => '<!-- MediaWiki:talkpagetext -->', # do 
not translate or duplicate this message to other languages
 'anontalkpagetext'                 => "----
 ''This is the discussion page for an anonymous user who has not created an 
account yet, or who does not use it.''
diff --git a/languages/messages/MessagesQqq.php 
b/languages/messages/MessagesQqq.php
index 741f329..f30453a 100644
--- a/languages/messages/MessagesQqq.php
+++ b/languages/messages/MessagesQqq.php
@@ -1881,10 +1881,9 @@
 * $1 - username
 * $2 - email address",
 'newarticle' => '{{Identical|New}}',
-'newarticletext' => '{{doc-important|Do not translate 
<code><nowiki>{{MediaWiki:Helppage}}</nowiki></code>.}}
-Text displayed above the edit box in editor when trying to create a new page.
-
-Refers to {{msg-mw|Helppage}}.',
+'newarticletext' => "Text displayed above the edit box in editor when trying 
to create a new page.
+Parameters:
+* $1 - The URL to the help page, defined in {{msg-mw|helppage}}",
 'anontalkpagetext' => 'Displayed at the bottom of talk pages of anonymous 
users.',
 'noarticletext' => 'This is the message that you get if you search for a term 
that has not yet got any entries on the wiki.
 
diff --git a/maintenance/language/messageTypes.inc 
b/maintenance/language/messageTypes.inc
index ec39030..f9239b1 100644
--- a/maintenance/language/messageTypes.inc
+++ b/maintenance/language/messageTypes.inc
@@ -266,6 +266,7 @@
        'createacct-benefit-icon3',
        'today-at',
        'redirect-text',
+       'helppage',
        'edithelppage',
        'helplogin-url',
        'autocomment-prefix',
diff --git a/skins/CologneBlue.php b/skins/CologneBlue.php
index 0370e05..04e0e6a 100644
--- a/skins/CologneBlue.php
+++ b/skins/CologneBlue.php
@@ -369,9 +369,10 @@
                                Title::newFromText( wfMessage( 'aboutpage' 
)->inContentLanguage()->text() ),
                                wfMessage( 'about' )->text()
                        ),
-                       Linker::linkKnown(
-                               Title::newFromText( wfMessage( 'helppage' 
)->inContentLanguage()->text() ),
-                               wfMessage( 'help' )->text()
+                       Linker::makeExternalLink(
+                               Skin::makeInternalOrExternalUrl( wfMessage( 
'helppage' )->inContentLanguage()->text() ),
+                               wfMessage( 'help' )->text(),
+                               false
                        ),
                        Linker::linkKnown(
                                Title::newFromText( wfMessage( 'faqpage' 
)->inContentLanguage()->text() ),
diff --git a/tests/phpunit/skins/SideBarTest.php 
b/tests/phpunit/skins/SideBarTest.php
index a385320..9cb630f 100644
--- a/tests/phpunit/skins/SideBarTest.php
+++ b/tests/phpunit/skins/SideBarTest.php
@@ -15,7 +15,8 @@
 
        /** Build $this->messages array */
        private function initMessagesHref() {
-               # List of default messages for the sidebar:
+               # List of default messages for the sidebar. The sidebar doesn't 
care at
+               # all whether they are full URLs, interwiki links or local 
titles.
                $URL_messages = array(
                        'mainpage',
                        'portal-url',
@@ -25,10 +26,16 @@
                        'helppage',
                );
 
+               # We're assuming that isValidURI works as advertised: it's also
+               # tested separately, in tests/phpunit/includes/HttpTest.php.
                foreach ( $URL_messages as $m ) {
                        $titleName = MessageCache::singleton()->get( $m );
-                       $title = Title::newFromText( $titleName );
-                       $this->messages[$m]['href'] = $title->getLocalURL();
+                       if ( Http::isValidURI( $titleName ) ) {
+                               $this->messages[$m]['href'] = $titleName;
+                       } else {
+                               $title = Title::newFromText( $titleName );
+                               $this->messages[$m]['href'] = 
$title->getLocalURL();
+                       }
                }
        }
 
@@ -71,6 +78,9 @@
         * @covers SkinTemplate::addToSidebarPlain
         */
        public function testExpandMessages() {
+               $this->setMwGlobals( array(
+                       'wgNoFollowDomainExceptions' => array( 'mediawiki.org' 
),
+               ) );
                $this->assertSidebar(
                        array( 'Title' => array(
                                array(
@@ -90,6 +100,11 @@
         * @covers SkinTemplate::addToSidebarPlain
         */
        public function testExternalUrlsRequireADescription() {
+       $this->setMwGlobals( array(
+                       'wgNoFollowLinks' => true,
+                       'wgNoFollowDomainExceptions' => array(),
+                       'wgNoFollowNsExceptions' => array(),
+               ) );
                $this->assertSidebar(
                        array( 'Title' => array(
                                # ** http://www.mediawiki.org/| Home
@@ -163,6 +178,8 @@
        public function testTestAttributesAssertionHelper() {
                $this->setMwGlobals( array(
                        'wgNoFollowLinks' => true,
+                       'wgNoFollowDomainExceptions' => array(),
+                       'wgNoFollowNsExceptions' => array(),
                        'wgExternalLinkTarget' => false,
                ) );
                $attribs = $this->getAttribs();
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js 
b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
index be362e2..802634c 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
@@ -352,14 +352,14 @@
        } );
 
        QUnit.test( 'Int', 4, function ( assert ) {
-               var newarticletextSource = 'You have followed a link to a page 
that does not exist yet. To create the page, start typing in the box below (see 
the [[{{Int:Helppage}}|help page]] for more info). If you are here by mistake, 
click your browser\'s back button.',
+               var newarticletextSource = 'You have followed a link to a page 
that does not exist yet. To create the page, start typing in the box below (see 
the [[{{Int:Foobar}}|foobar]] for more info). If you are here by mistake, click 
your browser\'s back button.',
                        expectedNewarticletext,
-                       helpPageTitle = 'Help:Contents';
+                       helpPageTitle = 'Help:Foobar';
 
-               mw.messages.set( 'helppage', helpPageTitle );
+               mw.messages.set( 'foobar', helpPageTitle );
 
                expectedNewarticletext = 'You have followed a link to a page 
that does not exist yet. To create the page, start typing in the box below (see 
the ' +
-                       '<a title="Help:Contents" 
href="/wiki/Help:Contents">help page</a> for more info). If you are here by 
mistake, click your browser\'s back button.';
+                       '<a title="Help:Foobar" 
href="/wiki/Help:Foobar">foobar</a> for more info). If you are here by mistake, 
click your browser\'s back button.';
 
                mw.messages.set( 'newarticletext', newarticletextSource );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/119947
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I999b97729536dbab4a3a5efd8d6f86527f031948
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: REL1_22
Gerrit-Owner: Nemo bis <federicol...@tiscali.it>
Gerrit-Reviewer: Aaron Schulz <asch...@wikimedia.org>
Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com>
Gerrit-Reviewer: Brian Wolff <bawolff...@gmail.com>
Gerrit-Reviewer: Daniel Friesen <dan...@nadir-seen-fire.com>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: MarkAHershberger <m...@nichework.com>
Gerrit-Reviewer: Mattflaschen <mflasc...@wikimedia.org>
Gerrit-Reviewer: Mglaser <gla...@hallowelt.biz>
Gerrit-Reviewer: Nemo bis <federicol...@tiscali.it>
Gerrit-Reviewer: Parent5446 <tylerro...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to