X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fwidget%2FNamespaceInputWidget.php;h=3e86738bb3963eb81b8877bfe143ba532d61d5c4;hb=500889f19005b4aed93c5b6eaafd35689fce7dcd;hp=a99227e6c49832a0ee65f21bf628b0e8fef47f41;hpb=8baba70fb49175baa2c21a7f6ab6d2107aed029d;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/widget/NamespaceInputWidget.php b/includes/widget/NamespaceInputWidget.php index a99227e6c4..3e86738bb3 100644 --- a/includes/widget/NamespaceInputWidget.php +++ b/includes/widget/NamespaceInputWidget.php @@ -18,8 +18,9 @@ class NamespaceInputWidget extends \OOUI\DropdownInputWidget { * @param array $config Configuration options * @param string $config['includeAllValue'] If specified, add a "all namespaces" option to the * namespace dropdown, and use this as the input value for it + * @param number[] $config['exclude'] List of namespace numbers to exclude from the selector */ - public function __construct( array $config = array() ) { + public function __construct( array $config = [] ) { // Configuration initialization $config['options'] = $this->getNamespaceDropdownOptions( $config ); @@ -28,22 +29,25 @@ class NamespaceInputWidget extends \OOUI\DropdownInputWidget { // Properties $this->includeAllValue = isset( $config['includeAllValue'] ) ? $config['includeAllValue'] : null; + $this->exclude = isset( $config['exclude'] ) ? $config['exclude'] : []; // Initialization - $this->addClasses( array( 'mw-widget-namespaceInputWidget' ) ); + $this->addClasses( [ 'mw-widget-namespaceInputWidget' ] ); } protected function getNamespaceDropdownOptions( array $config ) { - $namespaceOptionsParams = isset( $config['includeAllValue'] ) ? - array( 'all' => $config['includeAllValue'] ) : array(); + $namespaceOptionsParams = [ + 'all' => isset( $config['includeAllValue'] ) ? $config['includeAllValue'] : null, + 'exclude' => isset( $config['exclude'] ) ? $config['exclude'] : null + ]; $namespaceOptions = \Html::namespaceSelectorOptions( $namespaceOptionsParams ); - $options = array(); + $options = []; foreach ( $namespaceOptions as $id => $name ) { - $options[] = array( + $options[] = [ 'data' => (string)$id, 'label' => $name, - ); + ]; } return $options; @@ -55,6 +59,7 @@ class NamespaceInputWidget extends \OOUI\DropdownInputWidget { public function getConfig( &$config ) { $config['includeAllValue'] = $this->includeAllValue; + $config['exclude'] = $this->exclude; // Skip DropdownInputWidget's getConfig(), we don't need 'options' config return \OOUI\InputWidget::getConfig( $config ); }