From f0b7ac18f50a119f710eca6a7cbf6109309950d7 Mon Sep 17 00:00:00 2001 From: DannyS712 Date: Tue, 10 Sep 2019 02:06:43 +0000 Subject: [PATCH] Add namespace filter to Special:PagesWithProp Bug: T50247 Change-Id: I887175add5e151cb4e195a15efeb334486297d22 --- includes/specials/SpecialPagesWithProp.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/includes/specials/SpecialPagesWithProp.php b/includes/specials/SpecialPagesWithProp.php index 3c009c3966..527b910fcf 100644 --- a/includes/specials/SpecialPagesWithProp.php +++ b/includes/specials/SpecialPagesWithProp.php @@ -39,6 +39,11 @@ class SpecialPagesWithProp extends QueryPage { */ private $existingPropNames = null; + /** + * @var string|null + */ + private $ns; + /** * @var bool */ @@ -78,6 +83,13 @@ class SpecialPagesWithProp extends QueryPage { 'label-message' => 'pageswithprop-prop', 'required' => true, ], + 'namespace' => [ + 'type' => 'namespaceselect', + 'name' => 'namespace', + 'label-message' => 'namespace', + 'all' => null, + 'default' => null, + ], 'reverse' => [ 'type' => 'check', 'name' => 'reverse', @@ -108,6 +120,7 @@ class SpecialPagesWithProp extends QueryPage { public function onSubmit( $data, $form ) { $this->propName = $data['propname']; + $this->ns = $data['namespace']; parent::execute( $data['propname'] ); } @@ -134,7 +147,7 @@ class SpecialPagesWithProp extends QueryPage { } public function getQueryInfo() { - return [ + $query = [ 'tables' => [ 'page_props', 'page' ], 'fields' => [ 'page_id' => 'pp_page', @@ -153,6 +166,12 @@ class SpecialPagesWithProp extends QueryPage { ], 'options' => [] ]; + + if ( $this->ns && isset( $this->ns ) ) { + $query['conds']['page_namespace'] = $this->ns; + } + + return $query; } function getOrderFields() { -- 2.20.1