Create ParserLogLinterData hook
This hook was formerly defined by Extension:Linter and invoked by Parsoid, but as this part of Parsoid is moving into core the hook should now be defined by core as well. Bug: T304740 Change-Id: Iffd073e510202e5766632cc01d3585815289b7b4
This commit is contained in:
parent
3a8f5b748f
commit
3cd693aed6
4 changed files with 47 additions and 3 deletions
|
|
@ -973,6 +973,7 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Hook\\ParserGetVariableValueVarCacheHook' => __DIR__ . '/includes/parser/Hook/ParserGetVariableValueVarCacheHook.php',
|
||||
'MediaWiki\\Hook\\ParserLimitReportFormatHook' => __DIR__ . '/includes/parser/Hook/ParserLimitReportFormatHook.php',
|
||||
'MediaWiki\\Hook\\ParserLimitReportPrepareHook' => __DIR__ . '/includes/parser/Hook/ParserLimitReportPrepareHook.php',
|
||||
'MediaWiki\\Hook\\ParserLogLinterDataHook' => __DIR__ . '/includes/parser/Hook/ParserLogLinterDataHook.php',
|
||||
'MediaWiki\\Hook\\ParserMakeImageParamsHook' => __DIR__ . '/includes/parser/Hook/ParserMakeImageParamsHook.php',
|
||||
'MediaWiki\\Hook\\ParserModifyImageHTML' => __DIR__ . '/includes/parser/Hook/ParserModifyImageHTML.php',
|
||||
'MediaWiki\\Hook\\ParserOptionsRegisterHook' => __DIR__ . '/includes/parser/Hook/ParserOptionsRegisterHook.php',
|
||||
|
|
|
|||
|
|
@ -288,6 +288,7 @@ class HookRunner implements
|
|||
\MediaWiki\Hook\ParserGetVariableValueVarCacheHook,
|
||||
\MediaWiki\Hook\ParserLimitReportFormatHook,
|
||||
\MediaWiki\Hook\ParserLimitReportPrepareHook,
|
||||
\MediaWiki\Hook\ParserLogLinterDataHook,
|
||||
\MediaWiki\Hook\ParserMakeImageParamsHook,
|
||||
\MediaWiki\Hook\ParserModifyImageHTML,
|
||||
\MediaWiki\Hook\ParserOptionsRegisterHook,
|
||||
|
|
@ -2912,6 +2913,13 @@ class HookRunner implements
|
|||
);
|
||||
}
|
||||
|
||||
public function onParserLogLinterData( string $title, int $revId, array $lints ): bool {
|
||||
return $this->container->run(
|
||||
'ParserLogLinterData',
|
||||
[ $title, $revId, $lints ]
|
||||
);
|
||||
}
|
||||
|
||||
public function onParserMakeImageParams( $title, $file, &$params, $parser ) {
|
||||
return $this->container->run(
|
||||
'ParserMakeImageParams',
|
||||
|
|
|
|||
36
includes/parser/Hook/ParserLogLinterDataHook.php
Normal file
36
includes/parser/Hook/ParserLogLinterDataHook.php
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Hook;
|
||||
|
||||
/**
|
||||
* This is a hook handler interface, see docs/Hooks.md.
|
||||
* Use the hook name "ParserLogLinterData" to register handlers
|
||||
* implementing this interface.
|
||||
*
|
||||
* @unstable
|
||||
* @ingroup Hooks
|
||||
*/
|
||||
interface ParserLogLinterDataHook {
|
||||
/**
|
||||
* This hook allows Parsoid to log additional linting information
|
||||
* during a parse to a database maintained by the [[Extension:Linter]].
|
||||
* See [[Extension:Linter]] for more information.
|
||||
*
|
||||
* @param string $title The title of the page being parsed
|
||||
* @param int $revId The revision ID of the page being parsed
|
||||
* (this hook is typically only invoked if this corresponds to the
|
||||
* most recent revision of the given page).
|
||||
* @param array $lints The linter information for the given revision
|
||||
* of the page.
|
||||
* @return bool Typically returns true, to allow all registered hooks a
|
||||
* chance to record these lints.
|
||||
*
|
||||
* @unstable temporary hook
|
||||
* @since 1.39
|
||||
*/
|
||||
public function onParserLogLinterData(
|
||||
string $title,
|
||||
int $revId,
|
||||
array $lints
|
||||
): bool;
|
||||
}
|
||||
|
|
@ -435,9 +435,8 @@ class DataAccess extends IDataAccess {
|
|||
|
||||
// Only send the request if it the latest revision
|
||||
if ( $revId !== null && $revId === $latest ) {
|
||||
// @todo: Document this hook in MediaWiki / Extension:Linter
|
||||
$this->hookContainer->run(
|
||||
'ParserLogLinterData', [ $title, $revId, $lints ]
|
||||
$this->hookRunner->onParserLogLinterData(
|
||||
$title, $revId, $lints
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue