Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
31.25% covered (danger)
31.25%
5 / 16
20.00% covered (danger)
20.00%
1 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
CargoPageValuesAction
31.25% covered (danger)
31.25%
5 / 16
20.00% covered (danger)
20.00%
1 / 5
22.92
0.00% covered (danger)
0.00%
0 / 1
 getName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 show
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 getPageValuesActionArray
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 addLinkOld
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
6
 addLink
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2/**
3 * Handles the 'pagevalues' action.
4 *
5 * @author Yaron Koren
6 * @ingroup Cargo
7 */
8
9class CargoPageValuesAction extends Action {
10
11    /**
12     * Return the name of the action this object responds to.
13     * @return string lowercase
14     */
15    public function getName() {
16        return 'pagevalues';
17    }
18
19    /**
20     * The main action entry point. Do all output for display and send it
21     * to the context output.
22     * $this->getOutput(), etc.
23     */
24    public function show() {
25        $title = $this->page->getTitle();
26        $pageValuesPage = new CargoPageValues( $title );
27        $pageValuesPage->execute();
28    }
29
30    public static function getPageValuesActionArray( $title ) {
31        return [
32            'msg' => 'pagevalues',
33            'href' => $title->getLocalUrl( [ 'action' => 'pagevalues' ] ),
34            'id' => 't-cargopagevalueslink',
35            'rel' => 'cargo-pagevalues'
36        ];
37    }
38
39    /**
40     * Add the "Page values" link to the toolbox.
41     *
42     * Called for MW versions before 1.35, with the (now-deprecated)
43     * BaseTemplateToolbox hook.
44     *
45     * @param BaseTemplate $skinTemplate
46     * @param array &$toolbox
47     * @return bool
48     */
49    public static function addLinkOld( BaseTemplate $skinTemplate, array &$toolbox ) {
50        $title = $skinTemplate->getSkin()->getTitle();
51        // This function doesn't usually get called for special pages,
52        // but sometimes it is.
53        if ( $title->isSpecialPage() ) {
54            return true;
55        }
56
57        $toolbox['cargo-pagevalues'] =
58            self::getPageValuesActionArray( $title );
59
60        return true;
61    }
62
63    /**
64     * Add the "Page values" link to the toolbox.
65     *
66     * Called for MW version 1.35 and higher, with the SidebarBeforeOutput
67     * hook. This function can run with earlier versions as well, but it
68     * doesn't add anything to the sidebar.
69     *
70     * @param Skin $skin
71     * @param array &$sidebar
72     * @return void
73     */
74    public static function addLink( Skin $skin, array &$sidebar ) {
75        $title = $skin->getTitle();
76        // This function doesn't usually get called for special pages,
77        // but sometimes it is.
78        if ( $title->isSpecialPage() ) {
79            return;
80        }
81
82        $sidebar['TOOLBOX']['cargo-pagevalues'] =
83            self::getPageValuesActionArray( $title );
84    }
85
86}