X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiFeedContributions.php;h=374203ebb2428b81f2ffcdfe8fd41cad3976c201;hb=8c282c91451fda1deb4b71aa6efa961da3df4eed;hp=afd5a1320c4610db8a743bbb2b39d830d0ba4203;hpb=ee9d87560773b147ed0888377c6885a042af8cb1;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiFeedContributions.php b/includes/api/ApiFeedContributions.php index afd5a1320c..374203ebb2 100644 --- a/includes/api/ApiFeedContributions.php +++ b/includes/api/ApiFeedContributions.php @@ -41,30 +41,29 @@ class ApiFeedContributions extends ApiBase { public function execute() { $params = $this->extractRequestParams(); - global $wgFeed, $wgFeedClasses, $wgFeedLimit, $wgSitename, $wgLanguageCode; - - if ( !$wgFeed ) { + $config = $this->getConfig(); + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$params['feedformat']] ) ) { + $feedClasses = $config->get( 'FeedClasses' ); + if ( !isset( $feedClasses[$params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } - global $wgMiserMode; - if ( $params['showsizediff'] && $wgMiserMode ) { + if ( $params['showsizediff'] && $this->getConfig()->get( 'MiserMode' ) ) { $this->dieUsage( 'Size difference is disabled in Miser Mode', 'sizediffdisabled' ); } $msg = wfMessage( 'Contributions' )->inContentLanguage()->text(); - $feedTitle = $wgSitename . ' - ' . $msg . ' [' . $wgLanguageCode . ']'; + $feedTitle = $config->get( 'Sitename' ) . ' - ' . $msg . ' [' . $config->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Contributions', $params['user'] )->getFullURL(); $target = $params['user'] == 'newbies' ? 'newbies' : Title::makeTitleSafe( NS_USER, $params['user'] )->getText(); - $feed = new $wgFeedClasses[$params['feedformat']] ( + $feed = new $feedClasses[$params['feedformat']] ( $feedTitle, htmlspecialchars( $msg ), $feedUrl @@ -82,8 +81,9 @@ class ApiFeedContributions extends ApiBase { 'showSizeDiff' => $params['showsizediff'], ) ); - if ( $pager->getLimit() > $wgFeedLimit ) { - $pager->setLimit( $wgFeedLimit ); + $feedLimit = $this->getConfig()->get( 'FeedLimit' ); + if ( $pager->getLimit() > $feedLimit ) { + $pager->setLimit( $feedLimit ); } $feedItems = array(); @@ -159,8 +159,7 @@ class ApiFeedContributions extends ApiBase { } public function getAllowedParams() { - global $wgFeedClasses; - $feedFormatNames = array_keys( $wgFeedClasses ); + $feedFormatNames = array_keys( $this->getConfig()->get( 'FeedClasses' ) ); return array( 'feedformat' => array( @@ -211,14 +210,6 @@ class ApiFeedContributions extends ApiBase { return 'Returns a user contributions 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' ), - array( 'code' => 'sizediffdisabled', 'info' => 'Size difference is disabled in Miser Mode' ), - ) ); - } - public function getExamples() { return array( 'api.php?action=feedcontributions&user=Reedy',