X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiFeedWatchlist.php;h=6aef8fc29462bf40c86f2a57b43668234b781f49;hb=cda108df67691b0a9ebcfe8e79cbf7aeb9aebc52;hp=64c3eec1206594a56923780eceb42f3f5f0f4ba6;hpb=d74a185fd315a75b41c9f2a8832ac70437de0e37;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiFeedWatchlist.php b/includes/api/ApiFeedWatchlist.php index 64c3eec120..6aef8fc294 100644 --- a/includes/api/ApiFeedWatchlist.php +++ b/includes/api/ApiFeedWatchlist.php @@ -50,16 +50,16 @@ class ApiFeedWatchlist extends ApiBase { * Wrap the result as an RSS/Atom feed. */ public function execute() { - global $wgFeed, $wgFeedClasses, $wgFeedLimit, $wgSitename, $wgLanguageCode; - + $config = $this->getConfig(); + $feedClasses = $config->get( 'FeedClasses' ); try { $params = $this->extractRequestParams(); - if ( !$wgFeed ) { + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$params['feedformat']] ) ) { + if ( !isset( $feedClasses[$params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } @@ -75,7 +75,7 @@ class ApiFeedWatchlist extends ApiBase { 'wlprop' => 'title|user|comment|timestamp|ids', 'wldir' => 'older', // reverse order - from newest to oldest 'wlend' => $endTime, // stop at this time - 'wllimit' => min( 50, $wgFeedLimit ) + 'wllimit' => min( 50, $this->getConfig()->get( 'FeedLimit' ) ) ); if ( $params['wlowner'] !== null ) { @@ -122,10 +122,10 @@ class ApiFeedWatchlist extends ApiBase { $msg = wfMessage( 'watchlist' )->inContentLanguage()->text(); - $feedTitle = $wgSitename . ' - ' . $msg . ' [' . $wgLanguageCode . ']'; + $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - ' . $msg . ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Watchlist' )->getFullURL(); - $feed = new $wgFeedClasses[$params['feedformat']] ( + $feed = new $feedClasses[$params['feedformat']] ( $feedTitle, htmlspecialchars( $msg ), $feedUrl @@ -137,14 +137,14 @@ class ApiFeedWatchlist extends ApiBase { $this->getMain()->setCacheMaxAge( 0 ); // @todo FIXME: Localise brackets - $feedTitle = $wgSitename . ' - Error - ' . + $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - Error - ' . wfMessage( 'watchlist' )->inContentLanguage()->text() . - ' [' . $wgLanguageCode . ']'; + ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Watchlist' )->getFullURL(); $feedFormat = isset( $params['feedformat'] ) ? $params['feedformat'] : 'rss'; $msg = wfMessage( 'watchlist' )->inContentLanguage()->escaped(); - $feed = new $wgFeedClasses[$feedFormat] ( $feedTitle, $msg, $feedUrl ); + $feed = new $feedClasses[$feedFormat] ( $feedTitle, $msg, $feedUrl ); if ( $e instanceof UsageException ) { $errorCode = $e->getCodeString(); @@ -205,8 +205,7 @@ class ApiFeedWatchlist extends ApiBase { } public function getAllowedParams( $flags = 0 ) { - global $wgFeedClasses; - $feedFormatNames = array_keys( $wgFeedClasses ); + $feedFormatNames = array_keys( $this->getConfig()->get( 'FeedClasses' ) ); $ret = array( 'feedformat' => array( ApiBase::PARAM_DFLT => 'rss', @@ -260,13 +259,6 @@ class ApiFeedWatchlist extends ApiBase { return 'Returns a watchlist feed.'; } - public function getPossibleErrors() { - return array_merge( parent::getPossibleErrors(), array( - array( 'code' => 'feed-unavailable', 'info' => 'Syndication feeds are not available' ), - array( 'code' => 'feed-invalid', 'info' => 'Invalid subscription feed type' ), - ) ); - } - public function getExamples() { return array( 'api.php?action=feedwatchlist',