From 8bdf02034c58d8bf38269ed774e381d293c07af9 Mon Sep 17 00:00:00 2001 From: Rob Church Date: Mon, 3 Apr 2006 01:32:35 +0000 Subject: [PATCH] Some code cleanup and logic checking --- includes/SpecialRecentchanges.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/includes/SpecialRecentchanges.php b/includes/SpecialRecentchanges.php index bfecf086f5..6a40d0ce98 100644 --- a/includes/SpecialRecentchanges.php +++ b/includes/SpecialRecentchanges.php @@ -134,18 +134,27 @@ function wfSpecialRecentchanges( $par, $specialPage ) { } } - $hidem = $hideminor ? 'AND rc_minor=0' : ''; - $hidem .= $hidebots ? ' AND rc_bot=0' : ''; - $hidem .= ( $hideliu && !$hidemyself ) ? ' AND rc_user=0' : ''; - $hidem .= $hidepatrolled ? ' AND rc_patrolled=0' : ''; - $hidem .= ( $hideanons && !$hideliu ) ? ' AND rc_user <> 0' : ''; - if ( $hidemyself ) { - if ( $wgUser->getID() ) { - $hidem .= ' AND rc_user <> '.$wgUser->getID(); + # It makes no sense to hide both anons and logged-in users + # Where this occurs, force anons to be shown + if( $hideanons && $hideliu ) + $hideanons = false; + + # Form WHERE fragments for all the options + $hidem = $hideminor ? 'AND rc_minor = 0' : ''; + $hidem .= $hidebots ? ' AND rc_bot = 0' : ''; + $hidem .= $hideliu ? ' AND rc_user = 0' : ''; + $hidem .= $hidepatrolled ? ' AND rc_patrolled = 0' : ''; + $hidem .= $hideanons ? ' AND rc_user != 0' : ''; + + if( $hidemyself ) { + if( $wgUser->getID() ) { + $hidem .= ' AND rc_user != ' . $wgUser->getID(); } else { - $hidem .= ' AND rc_user_text<>' . $dbr->addQuotes( $wgUser->getName() ); + $hidem .= ' AND rc_user_text != ' . $dbr->addQuotes( $wgUser->getName() ); } } + + # Namespace filtering $hidem .= is_null( $namespace ) ? '' : ' AND rc_namespace' . ($invert ? '!=' : '=') . $namespace; // This is the big thing! -- 2.20.1