Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 14 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
EditPageHooks | |
0.00% |
0 / 14 |
|
0.00% |
0 / 2 |
12 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
onEditPage__showReadOnlyForm_initial | |
0.00% |
0 / 13 |
|
0.00% |
0 / 1 |
6 |
1 | <?php |
2 | |
3 | namespace WikimediaEvents\EditPage; |
4 | |
5 | use MediaWiki\Hook\EditPage__showReadOnlyForm_initialHook; |
6 | use MediaWiki\Permissions\PermissionManager; |
7 | use WikimediaEvents\BlockUtils; |
8 | |
9 | /** |
10 | * Hooks related to T310390. |
11 | * |
12 | * we didn't choose hook names, so: |
13 | * @phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName |
14 | */ |
15 | class EditPageHooks implements EditPage__showReadOnlyForm_initialHook { |
16 | |
17 | /** @var PermissionManager */ |
18 | private $permManager; |
19 | |
20 | /** |
21 | * @param PermissionManager $permManager |
22 | */ |
23 | public function __construct( |
24 | PermissionManager $permManager |
25 | ) { |
26 | $this->permManager = $permManager; |
27 | } |
28 | |
29 | /** @inheritDoc */ |
30 | public function onEditPage__showReadOnlyForm_initial( $editor, $out ) { |
31 | $user = $out->getUser(); |
32 | $title = $editor->getTitle(); |
33 | |
34 | // $errors = $editor->getEditPermissionErrors( PermissionManager::RIGOR_FULL ); |
35 | $errors = $this->permManager->getPermissionErrors( |
36 | 'edit', |
37 | $user, |
38 | $title, |
39 | PermissionManager::RIGOR_FULL, |
40 | [] |
41 | ); |
42 | $errorMsgs = BlockUtils::getBlockErrorMsgs( $errors ); |
43 | |
44 | if ( $errorMsgs['all'] ) { |
45 | BlockUtils::logBlockedEditAttempt( $user, $title, 'wikieditor', 'desktop' ); |
46 | } |
47 | |
48 | return true; // ignored |
49 | } |
50 | } |