Spage has uploaded a new change for review.
https://gerrit.wikimedia.org/r/189921
Change subject: Api help examples add links to Special:ApiSandbox
......................................................................
Api help examples add links to Special:ApiSandbox
Takes advantage of doHash() in ApiSandbox's JavaScript.
Bug: T89229
Change-Id: Ie41995753f3dda49012acd3b427a74f6ef9a9c0c
---
M RELEASE-NOTES-1.25
M includes/api/ApiHelp.php
2 files changed, 19 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/21/189921/1
diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25
index 3b7eef3..864d984 100644
--- a/RELEASE-NOTES-1.25
+++ b/RELEASE-NOTES-1.25
@@ -94,6 +94,8 @@
tags.
* Added 'ChangeTagsListActive' hook, to separate the concepts of "defined" and
"active" formerly conflated by the 'ListDefinedTags' hook.
+* (T89229) Api help examples will link to Special:ApiSandbox if
+ $wgApiHelpMakeSandboxLinks is true and the extension is loaded.
==== External libraries ====
* MediaWiki now requires certain external libraries to be installed. In the
past
diff --git a/includes/api/ApiHelp.php b/includes/api/ApiHelp.php
index dd05f45..2883984 100644
--- a/includes/api/ApiHelp.php
+++ b/includes/api/ApiHelp.php
@@ -563,6 +563,10 @@
$examples = $module->getExamplesMessages();
if ( $examples ) {
+ global $wgApiHelpMakeSandboxLinks;
+ $doApiSandbox = $wgApiHelpMakeSandboxLinks and
class_exists( 'SpecialApiSandbox' );
+ $apiSandbox = Title::makeTitle( NS_SPECIAL,
'ApiSandbox' );
+
$help['examples'] .= Html::openElement( 'div',
array( 'class' => 'apihelp-block
apihelp-examples' ) );
$msg = $context->msg( 'api-help-examples' );
@@ -582,9 +586,19 @@
$link = wfAppendQuery( wfScript( 'api'
), $qs );
$help['examples'] .= Html::rawElement(
'dt', null, $msg->parse() );
- $help['examples'] .= Html::rawElement(
'dd', null,
- Html::element( 'a', array(
'href' => $link ), "api.php?$qs" )
- );
+ $help['examples'] .= Html::openElement(
'dd' );
+ $help['examples'] .= Html::element(
'a', array( 'href' => $link ), "api.php?$qs" );
+ if ( $doApiSandbox ) {
+ $help['examples'] .= '<br>';
+ $help['examples'] .=
Html::openElement( 'small' );
+ $help['examples'] .=
Html::element( 'a',
+ // xxx
Title::setFragment( '#' . $qs ) turns e.g. #action=query
+ // into
#action.3Dquery, so instead append the query string as fragment.
+ array( 'href' =>
$apiSandbox->getLinkUrl() . '#' . $qs ),
+ "Load this example API
request into Special:ApiSandbox" );
+ $help['examples'] .=
Html::closeElement( 'small' );
+ }
+ $help['examples'] .=
Html::closeElement( 'dd' );
}
$help['examples'] .= Html::closeElement( 'dl' );
$help['examples'] .= Html::closeElement( 'div'
);
--
To view, visit https://gerrit.wikimedia.org/r/189921
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie41995753f3dda49012acd3b427a74f6ef9a9c0c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Spage <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits