wikimedia/mediawiki-extensions-Translate

View on GitHub
src/Utilities/BaseMaintenanceScript.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
declare( strict_types = 1 );

namespace MediaWiki\Extension\Translate\Utilities;

use Maintenance;

/**
 * Base maintenance script containing constants and methods used in multiple scripts
 * Hopefully the constants can be removed after https://phabricator.wikimedia.org/T271787 is fixed.
 * @author Niklas Laxström
 * @license GPL-2.0-or-later
 */
abstract class BaseMaintenanceScript extends Maintenance {
    protected const OPTIONAL = false;
    protected const REQUIRED = true;
    protected const HAS_ARG = true;
    protected const NO_ARG = false;

    /**
     * Converts a comma seperated list to an array. Removes empty strings and duplicate values.
     * @return string[]
     */
    protected static function commaList2Array( string $list ): array {
        return array_unique(
            array_filter(
                array_map( 'trim', explode( ',', $list ) ),
                'strlen'
            )
        );
    }
}