Wikia code/includes/specials/SpecialRecentchanges.php
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The information shown below refers to the now unmaintained 1.16 MediaWiki release. The current stable release number is 1.43.0. |
--- D:\Programming\SVN\mediawiki\branches\REL1_16\phase3\includes\specials\SpecialRecentchanges.php 2011-07-18 22:31:17.711914100 +0100
+++ D:\Programming\SVN\wikia\trunk\includes\specials\SpecialRecentchanges.php 2011-08-17 15:28:16.358398400 +0100
@@ -31,6 +31,7 @@
$opts->add( 'hideliu', false );
$opts->add( 'hidepatrolled', $wgUser->getBoolOption( 'hidepatrolled' ) );
$opts->add( 'hidemyself', false );
+ $opts->add( 'hideenhanced', !$wgUser->getOption( 'usenewrc' ) );
$opts->add( 'namespace', '', FormOptions::INTNULL );
$opts->add( 'invert', false );
@@ -48,10 +49,19 @@
*/
public function setup( $parameters ) {
global $wgRequest;
+ global $wgUser;
$opts = $this->getDefaultOptions();
$opts->fetchValuesFromRequest( $wgRequest );
+ $wgUser->setOption( 'usenewrc', !$opts['hideenhanced'] );
+
+ if( $wgUser->isLoggedIn() ) {
+ if( $wgUser->getOption( 'usenewrc' ) != !$opts['hideenhanced'] ) {
+ $wgUser->saveSettings();
+ }
+ }
+
// Give precedence to subpage syntax
if( $parameters !== null ) {
$this->parseParameters( $parameters, $opts );
@@ -99,7 +109,17 @@
$feedFormat = $wgRequest->getVal( 'feed' );
# 10 seconds server-side caching max
+ // modified by Emil, 10 secs is not enough for us
+ // so the most popular URLs are cached longer and purged on every edit
+ if( $wgRequest->getFullRequestURL() == SpecialPage::getTitleFor('RecentChanges')->getInternalURL()
+ || $wgRequest->getFullRequestURL() == SpecialPage::getTitleFor('RecentChanges')->getInternalURL('feed=rss')
+ || $wgRequest->getFullRequestURL() == SpecialPage::getTitleFor('RecentChanges')->getInternalURL('feed=atom') ) {
+ global $wgSquidMaxage;
+ $wgOut->setSquidMaxage( $wgSquidMaxage );
+ } else {
+ // all others are treated old-fashion
$wgOut->setSquidMaxage( 10 );
+ }
# Check if the client has a cached version
$lastmod = $this->checkLastModified( $feedFormat );
if( $lastmod === false ) {
@@ -171,6 +191,7 @@
if( 'hidepatrolled' === $bit ) $opts['hidepatrolled'] = true;
if( 'hideanons' === $bit ) $opts['hideanons'] = true;
if( 'hidemyself' === $bit ) $opts['hidemyself'] = true;
+ if ( 'hideenhanced' === $bit ) $opts['hideenhanced'] = true;
if( is_numeric( $bit ) ) $opts['limit'] = $bit;
@@ -690,6 +711,8 @@
array( 'hidepatrolled' => 1-$options['hidepatrolled'] ), $nondefaults);
$myselfLink = $this->makeOptionsLink( $showhide[1-$options['hidemyself']],
array( 'hidemyself' => 1-$options['hidemyself'] ), $nondefaults);
+ $enhancedLink = $this->makeOptionsLink( $showhide[1-$options['hideenhanced']],
+ array( 'hideenhanced' => 1-$options['hideenhanced'] ), $nondefaults);
$links[] = wfMsgHtml( 'rcshowhideminor', $minorLink );
$links[] = wfMsgHtml( 'rcshowhidebots', $botLink );
@@ -698,6 +721,8 @@
if( $wgUser->useRCPatrol() )
$links[] = wfMsgHtml( 'rcshowhidepatr', $patrLink );
$links[] = wfMsgHtml( 'rcshowhidemine', $myselfLink );
+ $links[] = wfMsgHtml( 'rcshowhideenhanced', $enhancedLink );
+ wfRunHooks( 'SpecialRecentChangesLinks', array( $this, &$links, &$defaults, &$nondefaults ) );
$hl = $wgLang->pipeList( $links );
// show from this onward link