Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3use MediaWiki\Config\Config;
4use MediaWiki\Logger\LoggerFactory;
5use MediaWiki\MediaWikiServices;
6use QuickSurveys\SurveyFactory;
7
8return [
9    'QuickSurveys.Config' =>
10        /**
11         * Subset of configuration under the QuickSurveys namespace
12         */
13        static function ( MediaWikiServices $services ): Config {
14            return $services->getService( 'ConfigFactory' )
15                ->makeConfig( 'quicksurveys' );
16        },
17    'QuickSurveys.EnabledSurveys' =>
18        /**
19         * @param MediaWikiServices $services
20         * @return \QuickSurveys\Survey[] List of active surveys to be selected from on the client
21         */
22        static function ( MediaWikiServices $services ): array {
23            $config = $services->getService( 'QuickSurveys.Config' );
24            $configuredSurveys = $config->has( 'QuickSurveysConfig' )
25                ? $config->get( 'QuickSurveysConfig' )
26                : [];
27            $logger = LoggerFactory::getInstance( 'QuickSurveys' );
28
29            $factory = new SurveyFactory( $logger );
30            return $factory->parseSurveyConfig( $configuredSurveys );
31        }
32];