X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiFeedContributions.php;h=61a9035895144f9f7adb8abbd84747dcead39339;hb=65928f25c0cb485390d20b3da21ad89ba27808eb;hp=9c3945e3cea376b614af089db383e86dd94f011c;hpb=9e6032545bfb638963ac999420942b60ef82e240;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiFeedContributions.php b/includes/api/ApiFeedContributions.php index 9c3945e3ce..61a9035895 100644 --- a/includes/api/ApiFeedContributions.php +++ b/includes/api/ApiFeedContributions.php @@ -1,9 +1,5 @@ getConfig(); if ( !$config->get( 'Feed' ) ) { - $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); + $this->dieWithError( 'feed-unavailable' ); } $feedClasses = $config->get( 'FeedClasses' ); if ( !isset( $feedClasses[$params['feedformat']] ) ) { - $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); + $this->dieWithError( 'feed-invalid' ); } if ( $params['showsizediff'] && $this->getConfig()->get( 'MiserMode' ) ) { - $this->dieUsage( 'Size difference is disabled in Miser Mode', 'sizediffdisabled' ); + $this->dieWithError( 'apierror-sizediffdisabled' ); } $msg = wfMessage( 'Contributions' )->inContentLanguage()->text(); @@ -70,24 +66,30 @@ class ApiFeedContributions extends ApiBase { $feedUrl ); - $pager = new ContribsPager( $this->getContext(), array( + // Convert year/month parameters to end parameter + $params['start'] = ''; + $params['end'] = ''; + $params = ContribsPager::processDateFilter( $params ); + + $pager = new ContribsPager( $this->getContext(), [ 'target' => $target, 'namespace' => $params['namespace'], - 'year' => $params['year'], - 'month' => $params['month'], + 'start' => $params['start'], + 'end' => $params['end'], 'tagFilter' => $params['tagfilter'], 'deletedOnly' => $params['deletedonly'], 'topOnly' => $params['toponly'], 'newOnly' => $params['newonly'], + 'hideMinor' => $params['hideminor'], 'showSizeDiff' => $params['showsizediff'], - ) ); + ] ); $feedLimit = $this->getConfig()->get( 'FeedLimit' ); if ( $pager->getLimit() > $feedLimit ) { $pager->setLimit( $feedLimit ); } - $feedItems = array(); + $feedItems = []; if ( $pager->getNumRows() > 0 ) { $count = 0; $limit = $pager->getLimit(); @@ -113,7 +115,7 @@ class ApiFeedContributions extends ApiBase { $feedItem = null; $hookResult = Hooks::run( 'ApiFeedContributions::feedItem', - array( $row, $this->getContext(), &$feedItem ) + [ $row, $this->getContext(), &$feedItem ] ); // Hook returned a valid feed item if ( $feedItem instanceof FeedItem ) { @@ -133,7 +135,7 @@ class ApiFeedContributions extends ApiBase { return new FeedItem( $title->getPrefixedText(), $this->feedItemDesc( $revision ), - $title->getFullURL( array( 'diff' => $revision->getId() ) ), + $title->getFullURL( [ 'diff' => $revision->getId() ] ), $date, $this->feedItemAuthor( $revision ), $comments @@ -173,7 +175,7 @@ class ApiFeedContributions extends ApiBase { return '

' . htmlspecialchars( $revision->getUserText() ) . $msg . htmlspecialchars( FeedItem::stripComment( $revision->getComment() ) ) . - "

\n
\n
" . $html . "
"; + "

\n
\n
" . $html . '
'; } return ''; @@ -182,36 +184,37 @@ class ApiFeedContributions extends ApiBase { public function getAllowedParams() { $feedFormatNames = array_keys( $this->getConfig()->get( 'FeedClasses' ) ); - $ret = array( - 'feedformat' => array( + $ret = [ + 'feedformat' => [ ApiBase::PARAM_DFLT => 'rss', ApiBase::PARAM_TYPE => $feedFormatNames - ), - 'user' => array( + ], + 'user' => [ ApiBase::PARAM_TYPE => 'user', ApiBase::PARAM_REQUIRED => true, - ), - 'namespace' => array( + ], + 'namespace' => [ ApiBase::PARAM_TYPE => 'namespace' - ), - 'year' => array( + ], + 'year' => [ ApiBase::PARAM_TYPE => 'integer' - ), - 'month' => array( + ], + 'month' => [ ApiBase::PARAM_TYPE => 'integer' - ), - 'tagfilter' => array( + ], + 'tagfilter' => [ ApiBase::PARAM_ISMULTI => true, ApiBase::PARAM_TYPE => array_values( ChangeTags::listDefinedTags() ), ApiBase::PARAM_DFLT => '', - ), + ], 'deletedonly' => false, 'toponly' => false, 'newonly' => false, - 'showsizediff' => array( + 'hideminor' => false, + 'showsizediff' => [ ApiBase::PARAM_DFLT => false, - ), - ); + ], + ]; if ( $this->getConfig()->get( 'MiserMode' ) ) { $ret['showsizediff'][ApiBase::PARAM_HELP_MSG] = 'api-help-param-disabled-in-miser-mode'; @@ -221,9 +224,9 @@ class ApiFeedContributions extends ApiBase { } protected function getExamplesMessages() { - return array( + return [ 'action=feedcontributions&user=Example' => 'apihelp-feedcontributions-example-simple', - ); + ]; } }