+ "ipb_range_end >= '$upper'",
+ 'ipb_auto' => 0
+ ) );
+ }
+
+ if ( !is_null( $params['show'] ) ) {
+ $show = array_flip( $params['show'] );
+
+ /* Check for conflicting parameters. */
+ if ( ( isset ( $show['account'] ) && isset ( $show['!account'] ) )
+ || ( isset ( $show['ip'] ) && isset ( $show['!ip'] ) )
+ || ( isset ( $show['range'] ) && isset ( $show['!range'] ) )
+ || ( isset ( $show['temp'] ) && isset ( $show['!temp'] ) )
+ ) {
+ $this->dieUsageMsg( 'show' );
+ }
+
+ $this->addWhereIf( 'ipb_user = 0', isset( $show['!account'] ) );
+ $this->addWhereIf( 'ipb_user != 0', isset( $show['account'] ) );
+ $this->addWhereIf( 'ipb_user != 0 OR ipb_range_end > ipb_range_start', isset( $show['!ip'] ) );
+ $this->addWhereIf( 'ipb_user = 0 AND ipb_range_end = ipb_range_start', isset( $show['ip'] ) );
+ $this->addWhereIf( "ipb_expiry = 'infinity'", isset( $show['!temp'] ) );
+ $this->addWhereIf( "ipb_expiry != 'infinity'", isset( $show['temp'] ) );
+ $this->addWhereIf( "ipb_range_end = ipb_range_start", isset( $show['!range'] ) );
+ $this->addWhereIf( "ipb_range_end > ipb_range_start", isset( $show['range'] ) );
+ }
+
+ if ( !$wgUser->isAllowed( 'hideuser' ) ) {
+ $this->addWhereFld( 'ipb_deleted', 0 );