* (bug 2910) Default view preferences for watchlists
* Add "hide bot edits from the watchlist" user preference
* (bug 5250) Introduce Special:Unusedtemplates
+* Add user preference setting for an extended watchlist, showing all recent
+ edits up to a certain edit, and not just the latest edit..
== Compatibility ==
var $mUserLanguage, $mUserVariant;
var $mSearch, $mRecent, $mHourDiff, $mSearchLines, $mSearchChars, $mAction;
var $mReset, $mPosted, $mToggles, $mSearchNs, $mRealName, $mImageSize;
- var $mUnderline;
+ var $mUnderline, $mWatchlistEdits;
/**
* Constructor
$this->mPosted = $request->wasPosted();
$this->mSuccess = $request->getCheck( 'success' );
$this->mWatchlistDays = $request->getVal( 'wpWatchlistDays' );
+ $this->mWatchlistEdits = $request->getVal( 'wpWatchlistEdits' );
$this->mSaveprefs = $request->getCheck( 'wpSaveprefs' ) &&
$this->mPosted &&
$wgUser->setOption( 'contextlines', $this->validateIntOrNull( $this->mSearchLines ) );
$wgUser->setOption( 'contextchars', $this->validateIntOrNull( $this->mSearchChars ) );
$wgUser->setOption( 'rclimit', $this->validateIntOrNull( $this->mRecent ) );
+ $wgUser->setOption( 'wllimit', $this->validateIntOrNull( $this->mWatchlistEdits, 0, 1000 ) );
$wgUser->setOption( 'rows', $this->validateInt( $this->mRows, 4, 1000 ) );
$wgUser->setOption( 'cols', $this->validateInt( $this->mCols, 4, 1000 ) );
$wgUser->setOption( 'stubthreshold', $this->validateIntOrNull( $this->mStubs ) );
$this->mImageSize = $wgUser->getOption( 'imagesize' );
$this->mThumbSize = $wgUser->getOption( 'thumbsize' );
$this->mRecent = $wgUser->getOption( 'rclimit' );
+ $this->mWatchlistEdits = $wgUser->getOption( 'wllimit' );
$this->mUnderline = $wgUser->getOption( 'underline' );
$this->mWatchlistDays = $wgUser->getOption( 'watchlistdays' );
$wgOut->addHTML( '<label for="wpWatchlistDays">' . wfMsgHtml( 'prefs-watchlist-days' ) . '</label> ' );
$wgOut->addHTML( '<input type="text" name="wpWatchlistDays" id="wpWatchlistDays" value="' . $this->mWatchlistDays . '" size="3" />' );
$wgOut->addHTML( '<p></p>' ); # Spacing
- $wgOut->addHTML( $this->getToggles( array( 'watchlisthideown', 'watchlisthidebots' ) ) );
+ $wgOut->addHTML( $this->getToggles( array( 'watchlisthideown', 'watchlisthidebots', 'extendwatchlist' ) ) );
+ $wgOut->addHTML( '<label for="wpWatchlistEdits">' . wfMsgHtml( 'prefs-watchlist-edits' ) . '</label> ' );
+ $wgOut->addHTML( '<input type="text" name="wpWatchlistEdits" id="wpWatchlistEdits" value="' . $this->mWatchlistEdits . '" size="3" />' );
$wgOut->addHTML( '</fieldset>' );
$header .= wfMsg( 'wlheader-showupdated' ) . "\n";
}
+ # Toggle watchlist content (all recent edits or just the latest)
+ if( $wgUser->getOption( 'extendwatchlist' )) {
+ $andLatest='';
+ $limitWatchlist = 'LIMIT ' . $wgUser->getOption( 'wllimit' );
+ } else {
+ $andLatest= 'AND rc_this_oldid=page_latest';
+ $limitWatchlist = '';
+ }
+
# TODO: Consider removing the third parameter
$header .= wfMsg( 'watchdetails', $wgLang->formatNum( $nitems ),
$wgLang->formatNum( $npages ), '',
AND wl_title=rc_title
AND rc_timestamp > '$cutoff'
AND rc_cur_id=page_id
- AND rc_this_oldid=page_latest
+ $andLatest
$andHideOwn
$andHideBots
$nameSpaceClause
- ORDER BY rc_timestamp DESC";
+ ORDER BY rc_timestamp DESC
+ $limitWatchlist";
$res = $dbr->query( $sql, $fname );
$numRows = $dbr->numRows( $res );
'math' => 1,
'rcdays' => 7,
'rclimit' => 50,
+ 'wllimit' => 250,
'highlightbroken' => 1,
'stubthreshold' => 0,
'previewontop' => 1,
'highlightbroken',
'justify',
'hideminor',
+ 'extendwatchlist',
'usenewrc',
'numberheadings',
'showtoolbar',
'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-extendwatchlist' => 'Enhanced watchlist',
'tog-usenewrc' => 'Enhanced recent changes (JavaScript)',
'tog-numberheadings' => 'Auto-number headings',
'tog-showtoolbar' => 'Show edit toolbar (JavaScript)',
'prefs-rc' => 'Recent changes',
'prefs-watchlist' => 'Watchlist',
'prefs-watchlist-days' => 'Number of days to show in watchlist:',
+'prefs-watchlist-edits' => 'Number of edits to show in expanded watchlist:',
'prefs-misc' => 'Misc',
'saveprefs' => 'Save',
'resetprefs' => 'Reset',
"tog-highlightbroken" => "Brug røde henvisninger til tomme sider",
"tog-justify" => "Justér afsnit",
"tog-hideminor" => "Skjul mindre ændringer i seneste ændringer listen",
+"tog-extendwatchlist" => "Udvidet liste med seneste ændringer",
"tog-usenewrc" => "Udvidet seneste ændringer liste<br />(ikke for alle browsere)",
"tog-numberheadings" => "Automatisk nummerering af overskrifter",
"tog-showtoolbar" => "Vis værktøjslinje til redigering",
'prefs-personal' => 'Brugerdata',
'prefs-rc' => 'Seneste ændringer og artikelstumper',
'prefs-misc' => 'Forskelligt',
+'prefs-watchlist-edits' => 'Antal redigeringer der vises i udvidet overvågningsliste:',
"saveprefs" => "Gem indstillinger",
"resetprefs" => "Gendan indstillinger",
"oldpassword" => "Gammel adgangskode",