(bug 7039) Show/hide bots/own edits from Recentchanges via preferences
authorPurodha B Blissenbach <purodha@users.mediawiki.org>
Sun, 19 Apr 2009 18:43:52 +0000 (18:43 +0000)
committerPurodha B Blissenbach <purodha@users.mediawiki.org>
Sun, 19 Apr 2009 18:43:52 +0000 (18:43 +0000)
(Bug 16957) partial fix: Show/hide bots/own edits from Newpage via preferences

RELEASE-NOTES
includes/User.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPreferences.php
includes/specials/SpecialRecentchanges.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php

index e7a4043..f177bfb 100644 (file)
@@ -170,6 +170,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Special:AllPages: Move hardcoded styles from code to CSS
 * (bug 6092) Add parser function equivalents of {{REVISIONID}},
   {{REVISIONTIMESTAMP}}  (and friends) and {{REVISIONUSER}} magic words
+* (bug 7039) Show/hide bots/own edits from Recentchanges via preferences
+* Show/hide bots/own edits from Newpage via preferences
 
 === Bug fixes in 1.15 ===
 * (bug 16968) Special:Upload no longer throws useless warnings.
index c1d2664..bdb3706 100644 (file)
@@ -53,6 +53,10 @@ class User {
                'highlightbroken',
                'justify',
                'hideminor',
+               'rc_hidebots',
+               'rc_hideown',
+               'newpageshidebots',
+               'newpageshideown',
                'extendwatchlist',
                'usenewrc',
                'numberheadings',
index 886c41a..2926fdf 100644 (file)
@@ -25,7 +25,8 @@ class SpecialNewpages extends SpecialPage {
                $this->opts = $opts; // bind
                $opts->add( 'hideliu', false );
                $opts->add( 'hidepatrolled', $wgUser->getBoolOption( 'newpageshidepatrolled' ) );
-               $opts->add( 'hidebots', false );
+               $opts->add( 'hidebots', $wgUser->getBoolOption( 'newpageshidebots' ) );
+               $opts->add( 'hideown', $wgUser->getBoolOption( 'newpageshideown' ) );
                $opts->add( 'hideredirs', true );
                $opts->add( 'limit', (int)$wgUser->getOption( 'rclimit' ) );
                $opts->add( 'offset', '' );
@@ -60,6 +61,8 @@ class SpecialNewpages extends SpecialPage {
                                $this->opts->setValue( 'hidepatrolled', true );
                        if ( 'hidebots' == $bit )
                                $this->opts->setValue( 'hidebots', true );
+                       if ( 'hideown' == $bit )
+                               $this->opts->setValue( 'hideown', true );
                        if ( 'showredirs' == $bit )
                                $this->opts->setValue( 'hideredirs', false );
                        if ( is_numeric( $bit ) )
@@ -132,6 +135,7 @@ class SpecialNewpages extends SpecialPage {
                        'hideliu' => 'rcshowhideliu',
                        'hidepatrolled' => 'rcshowhidepatr',
                        'hidebots' => 'rcshowhidebots',
+                       'hideown' => 'rcshowhidemine',
                        'hideredirs' => 'whatlinkshere-hideredirs'
                );
 
@@ -387,6 +391,7 @@ class NewPagesPager extends ReverseChronologicalPager {
 
        function getQueryInfo() {
                global $wgEnableNewpagesUserFilter, $wgGroupPermissions, $wgUser;
+               $dbr = wfGetDB( DB_SLAVE );
                $conds = array();
                $conds['rc_new'] = 1;
 
@@ -418,7 +423,13 @@ class NewPagesPager extends ReverseChronologicalPager {
                if( $this->opts->getValue( 'hidebots' ) ) {
                        $conds['rc_bot'] = 0;
                }
-
+               if( $this->opts->getValue( 'hideown' ) ) {
+                       if( $wgUser->getId() ) {
+                               $conds[] = 'rc_user != ' . $dbr->addQuotes( $wgUser->getId() );
+                       } else {
+                               $conds[] = 'rc_user_text != ' . $dbr->addQuotes( $wgUser->getName() );
+                       }
+               }
                if ( $this->opts->getValue( 'hideredirs' ) ) {
                        $conds['page_is_redirect'] = 0;
                }
index e40e83e..d53b81f 100644 (file)
@@ -1162,10 +1162,14 @@ class PreferencesForm {
                );
 
                $toggles[] = 'hideminor';
+               $toggles[] = 'rc_hidebots';
+               $toggles[] = 'newpageshidebots';
                if( $wgUseRCPatrol ) {
                        $toggles[] = 'hidepatrolled';
                        $toggles[] = 'newpageshidepatrolled';
                }
+               $toggles[] = 'rc_hideown';
+               $toggles[] = 'newpageshideown';
                if( $wgRCShowWatchingUsers ) $toggles[] = 'shownumberswatching';
                $toggles[] = 'usenewrc';
 
index 78843a8..f409cad 100644 (file)
@@ -24,11 +24,11 @@ class SpecialRecentChanges extends SpecialPage {
                $opts->add( 'from', '' );
 
                $opts->add( 'hideminor',     $wgUser->getBoolOption( 'hideminor' ) );
-               $opts->add( 'hidebots',      true  );
+               $opts->add( 'hidebots',      $wgUser->getBoolOption( 'rc_hidebots' ) );
                $opts->add( 'hideanons',     false );
                $opts->add( 'hideliu',       false );
                $opts->add( 'hidepatrolled', $wgUser->getBoolOption( 'hidepatrolled' ) );
-               $opts->add( 'hidemyself',    false );
+               $opts->add( 'hidemyself',    $wgUser->getBoolOption( 'rc_hideown' ) );
 
                $opts->add( 'namespace', '', FormOptions::INTNULL );
                $opts->add( 'invert', false );
index e3d3b97..36686f9 100644 (file)
@@ -327,8 +327,12 @@ $messages = array(
 'tog-highlightbroken'         => 'Links auf nicht vorhandene Seiten hervorheben <a href="" class="new">Beispiel</a> (Alternative: wie dieser<a href="" class="internal">?</a>)',
 'tog-justify'                 => 'Text als Blocksatz',
 'tog-hideminor'               => 'Kleine Änderungen ausblenden',
+'tog-rc_hidebots'             => 'Änderungen der Bots ausblenden',
+'tog-newpageshidebots'        => 'Änderungen der Bots auf der Liste „Neue Seiten“ verbergen',
 'tog-hidepatrolled'           => 'Kontrollierte Änderungen in den „Letzten Änderungen“ ausblenden',
 'tog-newpageshidepatrolled'   => 'Kontrollierte Seiten auf der Liste „Neue Seiten“ verbergen',
+'tog-rc_hideown'              => 'Eigene Änderungen in den „Letzten Änderungen“ ausblenden',
+'tog-newpageshideown'         => 'Eigene Änderungen in der Liste „Neue Seiten“ verbergen',
 'tog-extendwatchlist'         => 'Erweiterte Beobachtungsliste zur Anzeige aller Änderungen',
 'tog-usenewrc'                => 'Erweiterte Darstellung (benötigt JavaScript)',
 'tog-numberheadings'          => 'Überschriften automatisch nummerieren',
index 06142f8..3d9fc59 100644 (file)
@@ -499,8 +499,12 @@ XHTML id names.
 'tog-highlightbroken'         => 'Format broken links <a href="" class="new">like this</a> (alternative: like this<a href="" class="internal">?</a>)',
 'tog-justify'                 => 'Justify paragraphs',
 'tog-hideminor'               => 'Hide minor edits in recent changes',
+'tog-rc_hidebots'             => 'Hide bot edits in recent changes',
+'tog-newpageshidebots'        => 'Hide bot edits from new page list',
 'tog-hidepatrolled'           => 'Hide patrolled edits in recent changes',
 'tog-newpageshidepatrolled'   => 'Hide patrolled pages from new page list',
+'tog-rc_hideown'              => 'Hide my own edits in recent changes',
+'tog-newpageshideown'         => 'Hide my own edits from new page list',
 'tog-extendwatchlist'         => 'Expand watchlist to show all changes, not just the most recent',
 'tog-usenewrc'                => 'Enhanced recent changes (requires JavaScript)',
 'tog-numberheadings'          => 'Auto-number headings',