1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
<?php
namespace MediaWiki\Extension\VisualEditor;
/**
* VisualEditorHookRunner
*
* @file
* @ingroup Extensions
* @copyright 2011-2021 VisualEditor Team and others; see AUTHORS.txt
* @license MIT
*/
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Output\OutputPage;
use MediaWiki\Page\ProperPageIdentity;
use MediaWiki\User\UserIdentity;
use Skin;
class VisualEditorHookRunner implements
VisualEditorApiVisualEditorEditPreSaveHook,
VisualEditorApiVisualEditorEditPostSaveHook,
VisualEditorBeforeEditorHook
{
private HookContainer $hookContainer;
public function __construct( HookContainer $hookContainer ) {
$this->hookContainer = $hookContainer;
}
/** @inheritDoc */
public function onVisualEditorApiVisualEditorEditPreSave(
ProperPageIdentity $page,
UserIdentity $user,
string $wikitext,
array &$params,
array $pluginData,
array &$apiResponse
) {
return $this->hookContainer->run( 'VisualEditorApiVisualEditorEditPreSave', [
$page,
$user,
$wikitext,
&$params,
$pluginData,
&$apiResponse
], [ 'abortable' => true ] );
}
/** @inheritDoc */
public function onVisualEditorApiVisualEditorEditPostSave(
ProperPageIdentity $page,
UserIdentity $user,
string $wikitext,
array $params,
array $pluginData,
array $saveResult,
array &$apiResponse
): void {
$this->hookContainer->run( 'VisualEditorApiVisualEditorEditPostSave', [
$page,
$user,
$wikitext,
$params,
$pluginData,
$saveResult,
&$apiResponse
], [ 'abortable' => false ] );
}
/** @inheritDoc */
public function onVisualEditorBeforeEditor(
OutputPage $output,
Skin $skin
): bool {
return $this->hookContainer->run( 'VisualEditorBeforeEditor', [
$output,
$skin
], [ 'abortable' => true ] );
}
}
|