* 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';
$days = $wgRequest->getVal( 'days' );
$action = $wgRequest->getVal( 'action' );
$remove = $wgRequest->getVal( 'remove' );
+ $hideOwn = $wgRequest->getVal( 'hideOwn' );
$id = $wgRequest->getArray( 'id' );
if( $wgUser->getOption( 'enotifwatchlistpages' ) ) {
$wgUser->clearAllNotifications( $uid );
}
+
if(($action == 'submit') && isset($remove) && is_array($id)) {
$wgOut->addWikiText( wfMsg( 'removingchecked' ) );
$wgOut->addHTML( '<p>' );
$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 ) ) .
$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" );
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
$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;
'removingchecked' => 'Removing requested items from watchlist...',
'couldntremove' => "Couldn't remove item '$1'...",
'iteminvalidname' => "Problem with item '$1', invalid name...",
-'wlnote' => "Below are the last $1 changes in the last <b>$2</b> hours.",
-'wlshowlast' => "Show last $1 hours $2 days $3",
-'wlsaved' => 'This is a saved version of your watchlist.',
+'wlnote' => 'Below are the last $1 changes in the last <b>$2</b> hours.',
+'wlshowlast' => 'Show last $1 hours $2 days $3',
+'wlsaved' => 'This is a saved version of your watchlist.',
+'wlhideshowown' => '$1 my edits.',
+'wlshow' => 'Show',
+'wlhide' => 'Hide',
'updatedmarker' => '<span class=\'updatedmarker\'> updated (since my last visit) </span>',
"removingchecked" => "Wunschgemäß werden die Einträge aus der Beobachtungsliste entfernt...",
"couldntremove" => "Der Eintrag '$1' kann nicht gelöscht werden...",
"iteminvalidname" => "Ploblem mit dem Eintrag '$1', ungültiger Name...",
-"wlnote" => "Es folgen die letzten $1 Änderungen der letzten <b>$2</b> Stunden.",
-"wlshowlast" => "Zeige die letzen $1 Stunden $2 Tage $3",
-"wlsaved" => "Dies ist eine gespeicherte Version Ihrer Beobachtungsliste.",
+'wlnote' => 'Es folgen die letzten $1 Änderungen der letzten <b>$2</b> Stunden.',
+'wlshowlast' => 'Zeige die letzen $1 Stunden $2 Tage $3',
+'wlsaved' => 'Dies ist eine gespeicherte Version Ihrer Beobachtungsliste.',
+'wlhideshowown' => '$1 von mir bearbeitete Artikel.',
+'wlshow' => 'Zeige ',
+'wlhide' => 'Verstecke ',
+
# Delete/protect/revert
#