Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 30
CargoCSVFormat
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
110
0.00% covered (danger)
0.00%
0 / 30
 allowedParameters
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 7
 queryAndDisplay
0.00% covered (danger)
0.00%
0 / 1
90
0.00% covered (danger)
0.00%
0 / 23
<?php
/**
 * @author Yaron Koren
 * @ingroup Cargo
 */
class CargoCSVFormat extends CargoDeferredFormat {
    public static function allowedParameters() {
        return [
            'delimiter' => [ 'type' => 'string', 'label' => wfMessage( 'cargo-viewdata-delimiterparam' )->parse() ],
            'link text' => [ 'type' => 'string' ],
            'filename' => [ 'type' => 'string' ],
            'parse values' => [ 'type' => 'boolean' ]
        ];
    }
    /**
     * @param array $sqlQueries
     * @param array $displayParams Unused
     * @param array|null $querySpecificParams Unused
     * @return string HTML
     */
    public function queryAndDisplay( $sqlQueries, $displayParams, $querySpecificParams = null ) {
        $ce = SpecialPage::getTitleFor( 'CargoExport' );
        $queryParams = $this->sqlQueriesToQueryParams( $sqlQueries );
        $queryParams['format'] = 'csv';
        if ( array_key_exists( 'delimiter', $displayParams ) && $displayParams['delimiter'] != '' ) {
            $queryParams['delimiter'] = $displayParams['delimiter'];
        }
        if ( array_key_exists( 'filename', $displayParams ) && $displayParams['filename'] != '' ) {
            $queryParams['filename'] = $displayParams['filename'];
        }
        if ( array_key_exists( 'parse values', $displayParams ) && $displayParams['parse values'] != '' ) {
            $queryParams['parse values'] = $displayParams['parse values'];
        }
        if ( array_key_exists( 'link text', $displayParams ) && $displayParams['link text'] != '' ) {
            $linkText = $displayParams['link text'];
        } else {
            $linkText = wfMessage( 'cargo-viewcsv' )->text();
        }
        $linkAttrs = [
            'href' => $ce->getFullURL( $queryParams ),
        ];
        $text = Html::rawElement( 'a', $linkAttrs, $linkText );
        return $text;
    }
}