X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiFeedRecentChanges.php;h=bb68d5aed7dd333e8a12cb8094a426616eff9c9e;hb=de7d383d8f840ef33a79fd5b5f06c5ebcbf74905;hp=9062ad92415c7d88c7943e5bde183bb11b06183c;hpb=f1b45cbed4d7fed42fc8bff4af4b1ff986f01b6f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiFeedRecentChanges.php b/includes/api/ApiFeedRecentChanges.php index 9062ad9241..bb68d5aed7 100644 --- a/includes/api/ApiFeedRecentChanges.php +++ b/includes/api/ApiFeedRecentChanges.php @@ -40,18 +40,25 @@ class ApiFeedRecentChanges extends ApiBase { * as an RSS/Atom feed. */ public function execute() { - global $wgFeed, $wgFeedClasses; + $config = $this->getConfig(); $this->params = $this->extractRequestParams(); - if ( !$wgFeed ) { + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$this->params['feedformat']] ) ) { + $feedClasses = $config->get( 'FeedClasses' ); + if ( !isset( $feedClasses[$this->params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } + $this->getMain()->setCacheMode( 'public' ); + if ( !$this->getMain()->getParameter( 'smaxage' ) ) { + // bug 63249: This page gets hit a lot, cache at least 15 seconds. + $this->getMain()->setCacheMaxAge( 15 ); + } + $feedFormat = $this->params['feedformat']; $specialClass = $this->params['target'] !== null ? 'SpecialRecentchangeslinked' @@ -104,8 +111,8 @@ class ApiFeedRecentChanges extends ApiBase { } public function getAllowedParams() { - global $wgFeedClasses, $wgAllowCategorizedRecentChanges, $wgFeedLimit; - $feedFormatNames = array_keys( $wgFeedClasses ); + $config = $this->getConfig(); + $feedFormatNames = array_keys( $config->get( 'FeedClasses' ) ); $ret = array( 'feedformat' => array( @@ -127,7 +134,7 @@ class ApiFeedRecentChanges extends ApiBase { 'limit' => array( ApiBase::PARAM_DFLT => 50, ApiBase::PARAM_MIN => 1, - ApiBase::PARAM_MAX => $wgFeedLimit, + ApiBase::PARAM_MAX => $config->get( 'FeedLimit' ), ApiBase::PARAM_TYPE => 'integer', ), 'from' => array( @@ -151,7 +158,7 @@ class ApiFeedRecentChanges extends ApiBase { 'showlinkedto' => false, ); - if ( $wgAllowCategorizedRecentChanges ) { + if ( $config->get( 'AllowCategorizedRecentChanges' ) ) { $ret += array( 'categories' => array( ApiBase::PARAM_TYPE => 'string',