}
# 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...
** mainpage|mainpage-description
** recentchanges-url|recentchanges
** randompage-url|randompage
+** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES', # do not translate or duplicate this message to other languages
'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',
'accmailtext' => 'A randomly generated password for [[User talk:$1|$1]] has been sent to $2. It can be changed on the <em>[[Special:ChangePassword|change password]]</em> 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).
+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}}', # do not translate or duplicate this message to other languages
+'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' => '----
<em>This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.</em>
* $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.
'createacct-benefit-icon3',
'today-at',
'redirect-text',
+ 'helppage',
'edithelppage',
'helplogin-url',
'autocomment-prefix',
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() ),
/** 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',
'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();
+ }
}
}
} );
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 );