From 086ae52d12011746a75f5588e877347bc0457352 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 21 Mar 2008 11:49:34 +0100 Subject: Update auf MediaWiki 1.12.0 --- includes/SpecialRecentchangeslinked.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'includes/SpecialRecentchangeslinked.php') diff --git a/includes/SpecialRecentchangeslinked.php b/includes/SpecialRecentchangeslinked.php index 2a8ac32d..bc6bbf4a 100644 --- a/includes/SpecialRecentchangeslinked.php +++ b/includes/SpecialRecentchangeslinked.php @@ -14,7 +14,7 @@ require_once( 'SpecialRecentchanges.php' ); * @param string $par parent page we will look at */ function wfSpecialRecentchangeslinked( $par = NULL ) { - global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest; + global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgTitle; $fname = 'wfSpecialRecentchangeslinked'; $days = $wgRequest->getInt( 'days' ); @@ -36,7 +36,8 @@ function wfSpecialRecentchangeslinked( $par = NULL ) { $id = $nt->getArticleId(); $wgOut->setPageTitle( wfMsg( 'recentchangeslinked-title', $nt->getPrefixedText() ) ); - $wgOut->setSubtitle( htmlspecialchars( wfMsg( 'rclsub', $nt->getPrefixedText() ) ) ); + $wgOut->setSyndicated(); + $wgOut->setFeedAppendQuery( "target=" . urlencode( $target ) ); if ( ! $days ) { $days = (int)$wgUser->getOption( 'rcdays', 7 ); @@ -75,7 +76,7 @@ function wfSpecialRecentchangeslinked( $par = NULL ) { // If target is a Category, use categorylinks and invert from and to if( $nt->getNamespace() == NS_CATEGORY ) { - $catkey = $dbr->addQuotes( $nt->getDBKey() ); + $catkey = $dbr->addQuotes( $nt->getDBkey() ); $sql = "SELECT /* wfSpecialRecentchangeslinked */ rc_id, rc_cur_id, @@ -152,6 +153,7 @@ $GROUPBY $s = $list->beginRecentChangesList(); $count = $dbr->numRows( $res ); + $rchanges = array(); if ( $count ) { $counter = 1; while ( $limit ) { @@ -162,14 +164,27 @@ $GROUPBY $rc->counter = $counter++; $s .= $list->recentChangesLine( $rc , !empty( $obj->wl_user) ); --$limit; + $rchanges[] = $obj; } } else { - $wgOut->addWikiText( wfMsg('recentchangeslinked-noresult') ); + $wgOut->addWikiMsg('recentchangeslinked-noresult'); } $s .= $list->endRecentChangesList(); $dbr->freeResult( $res ); $wgOut->addHTML( $s ); + + global $wgSitename, $wgFeedClasses, $wgContLanguageCode; + $feedFormat = $wgRequest->getVal( 'feed' ); + if( $feedFormat && isset( $wgFeedClasses[$feedFormat] ) ) { + $feedTitle = $wgSitename . ' - ' . wfMsgForContent( 'recentchangeslinked-title', $nt->getPrefixedText() ) . ' [' . $wgContLanguageCode . ']'; + $feed = new $wgFeedClasses[$feedFormat]( $feedTitle, + htmlspecialchars( wfMsgForContent('recentchangeslinked') ), $wgTitle->getFullUrl() ); + + require_once( "SpecialRecentchanges.php" ); + $wgOut->disable(); + rcDoOutputFeed( $rchanges, $feed ); + } } -- cgit v1.2.3-54-g00ecf