API: Guard more ug_expiry queries with $wgDisableUserGroupExpiry checks
authorKunal Mehta <legoktm@member.fsf.org>
Wed, 1 Feb 2017 20:50:06 +0000 (12:50 -0800)
committerKunal Mehta <legoktm@member.fsf.org>
Wed, 1 Feb 2017 20:50:06 +0000 (12:50 -0800)
Change-Id: Ibaafd9dc49b8aebcf0a00a507712baeec8c11e42

includes/api/ApiQueryAllUsers.php

index 1c3b171..21db3ca 100644 (file)
@@ -147,7 +147,9 @@ class ApiQueryAllUsers extends ApiQueryBase {
                        $this->addJoinConds( [ 'ug1' => [ 'LEFT OUTER JOIN',
                                array_merge( [
                                        'ug1.ug_user=user_id',
-                                       'ug1.ug_expiry IS NULL OR ug1.ug_expiry >= ' . $db->addQuotes( $db->timestamp() )
+                                       $this->getConfig()->get( 'DisableUserGroupExpiry' ) ?
+                                               '1' :
+                                               'ug1.ug_expiry IS NULL OR ug1.ug_expiry >= ' . $db->addQuotes( $db->timestamp() )
                                ], $exclude )
                        ] ] );
                        $this->addWhere( 'ug1.ug_user IS NULL' );
@@ -163,7 +165,9 @@ class ApiQueryAllUsers extends ApiQueryBase {
                        $this->addFields( [ 'groups' =>
                                $db->buildGroupConcatField( '|', 'user_groups', 'ug_group', [
                                        'ug_user=user_id',
-                                       'ug_expiry IS NULL OR ug_expiry >= ' . $db->addQuotes( $db->timestamp() )
+                                       $this->getConfig()->get( 'DisableUserGroupExpiry' ) ?
+                                               '1' :
+                                               'ug1.ug_expiry IS NULL OR ug1.ug_expiry >= ' . $db->addQuotes( $db->timestamp() )
                                ] )
                        ] );
                }