Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
SkinTemplateNavigationUniversalHookHandler
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 onSkinTemplateNavigation__Universal
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3declare( strict_types = 1 );
4
5// phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
6
7namespace EntitySchema\MediaWiki;
8
9use MediaWiki\Hook\SkinTemplateNavigation__UniversalHook;
10
11/**
12 * Implementation of the `SkinTemplateNavigation__UniversalHook` handler
13 *
14 * @license GPL-2.0-or-later
15 */
16final class SkinTemplateNavigationUniversalHookHandler implements SkinTemplateNavigation__UniversalHook {
17
18    private bool $entitySchemaIsRepo;
19
20    public function __construct( bool $entitySchemaIsRepo ) {
21        $this->entitySchemaIsRepo = $entitySchemaIsRepo;
22    }
23
24    /** @inheritDoc */
25    public function onSkinTemplateNavigation__Universal( $skinTemplate, &$links ): void {
26        if ( !$this->entitySchemaIsRepo ) {
27            return;
28        }
29
30        $title = $skinTemplate->getRelevantTitle();
31        if ( !$title->inNamespace( NS_ENTITYSCHEMA_JSON ) ) {
32            return;
33        }
34
35        unset( $links['views']['edit'] );
36    }
37}