Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
CargoJSONFormat
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 1
 allowedParameters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 queryAndDisplay
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2/**
3 * @author Yaron Koren
4 * @ingroup Cargo
5 */
6
7class CargoJSONFormat extends CargoDeferredFormat {
8
9    public static function allowedParameters() {
10        return [ 'parse values' => [ 'type' => 'boolean' ] ];
11    }
12
13    /**
14     * @param array $sqlQueries
15     * @param array $displayParams Unused
16     * @param array|null $querySpecificParams Unused
17     * @return string HTML
18     */
19    public function queryAndDisplay( $sqlQueries, $displayParams, $querySpecificParams = null ) {
20        $ce = SpecialPage::getTitleFor( 'CargoExport' );
21        $queryParams = $this->sqlQueriesToQueryParams( $sqlQueries );
22        $queryParams['format'] = 'json';
23        if ( array_key_exists( 'parse values', $displayParams ) && $displayParams['parse values'] != '' ) {
24            $queryParams['parse values'] = $displayParams['parse values'];
25        }
26
27        $linkAttrs = [
28            'href' => $ce->getFullURL( $queryParams ),
29        ];
30        $text = Html::rawElement( 'a', $linkAttrs, wfMessage( 'cargo-viewjson' )->text() );
31
32        return $text;
33    }
34
35}