* @file
*/
+use MediaWiki\MediaWikiServices;
+
/**
* This action allows users to get their watchlist items in RSS/Atom formats.
* When executed, it performs a nested call to the API to get the needed data,
}
// limit to the number of hours going from now back
- $endTime = wfTimestamp( TS_MW, time() - intval( $params['hours'] * 60 * 60 ) );
+ $endTime = wfTimestamp( TS_MW, time() - (int)$params['hours'] * 60 * 60 );
// Prepare parameters for nested request
$fauxReqArr = [
'meta' => 'siteinfo',
'siprop' => 'general',
'list' => 'watchlist',
- 'wlprop' => 'title|user|comment|timestamp|ids',
+ 'wlprop' => 'title|user|comment|timestamp|ids|loginfo',
'wldir' => 'older', // reverse order - from newest to oldest
'wlend' => $endTime, // stop at this time
'wllimit' => min( 50, $this->getConfig()->get( 'FeedLimit' ) )
$fauxReqArr['wlallrev'] = '';
}
- // Create the request
$fauxReq = new FauxRequest( $fauxReqArr );
- // Execute
$module = new ApiMain( $fauxReq );
$module->execute();
}
}
if ( isset( $info['revid'] ) ) {
- $titleUrl = $title->getFullURL( [ 'diff' => $info['revid'] ] );
+ if ( $info['revid'] === 0 && isset( $info['logid'] ) ) {
+ $logTitle = Title::makeTitle( NS_SPECIAL, 'Log' );
+ $titleUrl = $logTitle->getFullURL( [ 'logid' => $info['logid'] ] );
+ } else {
+ $titleUrl = $title->getFullURL( [ 'diff' => $info['revid'] ] );
+ }
} else {
$titleUrl = $title->getFullURL( $curidParam );
}
if ( $this->linkToSections && $comment !== null &&
preg_match( '!(.*)/\*\s*(.*?)\s*\*/(.*)!', $comment, $matches )
) {
- global $wgParser;
- $titleUrl .= $wgParser->guessSectionNameFromWikiText( $matches[ 2 ] );
+ $titleUrl .= MediaWikiServices::getInstance()->getParser()
+ ->guessSectionNameFromWikiText( $matches[ 2 ] );
}
$timestamp = $info['timestamp'];