diff options
author | Jens Frank <jeluf@users.mediawiki.org> | 2005-03-19 16:09:17 +0000 |
---|---|---|
committer | Jens Frank <jeluf@users.mediawiki.org> | 2005-03-19 16:09:17 +0000 |
commit | 125a384fe88726e385354ab364c692c0489fbbdb (patch) | |
tree | 5ad48ab62427c824c200bc6cfb3b15ffd99ef7b0 /includes/SpecialWatchlist.php | |
parent | 08607314e3995003703bb1f4499dd90df9fbd617 (diff) | |
download | mediawikicore-125a384fe88726e385354ab364c692c0489fbbdb.tar.gz mediawikicore-125a384fe88726e385354ab364c692c0489fbbdb.zip |
BUG#190 Hide your own edits on the watchlist
Notes
Notes:
http://mediawiki.org/wiki/Special:Code/MediaWiki/7756
Diffstat (limited to 'includes/SpecialWatchlist.php')
-rw-r--r-- | includes/SpecialWatchlist.php | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/includes/SpecialWatchlist.php b/includes/SpecialWatchlist.php index 3d14b2a4d217..98a921db7331 100644 --- a/includes/SpecialWatchlist.php +++ b/includes/SpecialWatchlist.php @@ -15,7 +15,7 @@ require_once( 'WatchedItem.php' ); * constructor */ function wfSpecialWatchlist() { - global $wgUser, $wgOut, $wgLang, $wgTitle, $wgMemc, $wgRequest; + global $wgUser, $wgOut, $wgLang, $wgTitle, $wgMemc, $wgRequest, $wgContLang;; global $wgUseWatchlistCache, $wgWLCacheTimeout, $wgDBname; global $wgEnotif, $wgShowUpdatedMarker, $wgRCShowWatchingUsers; $fname = 'wfSpecialWatchlist'; @@ -36,6 +36,7 @@ function wfSpecialWatchlist() { $days = $wgRequest->getVal( 'days' ); $action = $wgRequest->getVal( 'action' ); $remove = $wgRequest->getVal( 'remove' ); + $hideOwn = $wgRequest->getVal( 'hideOwn' ); $id = $wgRequest->getArray( 'id' ); if( $wgUser->getOption( 'enotifwatchlistpages' ) ) { @@ -56,6 +57,7 @@ function wfSpecialWatchlist() { $wgUser->clearAllNotifications( $uid ); } + if(($action == 'submit') && isset($remove) && is_array($id)) { $wgOut->addWikiText( wfMsg( 'removingchecked' ) ); $wgOut->addHTML( '<p>' ); @@ -128,6 +130,10 @@ function wfSpecialWatchlist() { $npages = $s->n; } + if ( is_null( $hideOwn ) ) { + # default is false (don't hide own edits) + $hideOwn = 0; + } if(isset($_REQUEST['magic'])) { $wgOut->addWikiText( wfMsg( 'watchlistcontains', $wgLang->formatNum( $nitems ) ) . @@ -187,7 +193,12 @@ function wfSpecialWatchlist() { $z = 'wl_namespace=page_namespace'; } - + if ( 0 == $hideOwn ) + $andHideOwn = ''; + else + $andHideOwn = "AND (rev_user <> $uid)"; + + $wgOut->addHTML( '<i>' . wfMsg( 'watchdetails', $wgLang->formatNum( $nitems ), $wgLang->formatNum( $npages ), $y, $specialTitle->escapeLocalUrl( 'magic=yes' ) ) . "</i><br />\n" ); @@ -198,6 +209,7 @@ function wfSpecialWatchlist() { rev_user,rev_user_text,rev_timestamp,rev_minor_edit,page_is_new,wl_notificationtimestamp FROM $watchlist,$page,$revision $use_index WHERE wl_user=$uid + $andHideOwn AND $z AND wl_title=page_title AND page_latest=rev_id @@ -216,7 +228,16 @@ function wfSpecialWatchlist() { $wgOut->addHTML( "\n<hr />\n{$note}\n<br />" ); $note = wlCutoffLinks( $days ); $wgOut->addHTML( "{$note}\n" ); - + + $sk = $wgUser->getSkin(); + $s = $sk->makeKnownLink( + $wgContLang->specialPage( 'Watchlist' ), + (0 == $hideOwn) ? wfMsg( 'wlhide' ) : wfMsg( 'wlshow' ), + 'hideOwn=' . $wgLang->formatNum( 1-$hideOwn ) ); + + $note = wfMsg( "wlhideshowown", $s ); + $wgOut->addHTML( "\n<br />{$note}\n<br />" ); + if ( $numRows == 0 ) { $wgOut->addHTML( '<p><i>' . wfMsg( 'watchnochange' ) . '</i></p>' ); return; |