diff --git a/extension.json b/extension.json index fe0baa8bc..faad23397 100644 --- a/extension.json +++ b/extension.json @@ -35,6 +35,9 @@ "MathAliasNoTranslate": "Math.alias.noTranslate.php" }, "callback": "MediaWiki\\Extension\\Math\\Hooks::onConfig", + "ExtensionFunctions": [ + "MediaWiki\\Extension\\Math\\Hooks::onExtensionFunctions" + ], "HookHandlers": { "ParserHooksHandler": { "class": "MediaWiki\\Extension\\Math\\HookHandlers\\ParserHooksHandler", @@ -368,18 +371,5 @@ "ServiceWiringFiles": [ "ServiceWiring.php" ], - "RestRoutes": [ - { - "path": "/math/v0/popup/html/{qid}", - "method": "GET", - "class": "MediaWiki\\Extension\\Math\\Rest\\Popup", - "services": [ - "Math.WikibaseConnector", - "LanguageFactory", - "LanguageNameUtils", - "TitleFactory" - ] - } - ], "manifest_version": 2 } diff --git a/popupRestRoutes.json b/popupRestRoutes.json new file mode 100644 index 000000000..6ab53088c --- /dev/null +++ b/popupRestRoutes.json @@ -0,0 +1,13 @@ +[ + { + "path": "/math/v0/popup/html/{qid}", + "method": "GET", + "class": "MediaWiki\\Extension\\Math\\Rest\\Popup", + "services": [ + "Math.WikibaseConnector", + "LanguageFactory", + "LanguageNameUtils", + "TitleFactory" + ] + } +] diff --git a/src/Hooks.php b/src/Hooks.php index f048df75c..db7fab63d 100644 --- a/src/Hooks.php +++ b/src/Hooks.php @@ -81,6 +81,13 @@ class Hooks implements } } + public static function onExtensionFunctions() { + if ( ExtensionRegistry::getInstance()->isLoaded( 'WikibaseClient' ) ) { + global $wgRestAPIAdditionalRouteFiles; + $wgRestAPIAdditionalRouteFiles[] = dirname( __DIR__ ) . '/popupRestRoutes.json'; + } + } + /** * MaintenanceRefreshLinksInit handler; optimize settings for refreshLinks batch job. *