X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryImages.php;h=153d1a454728f63af6940f207ec03f546177e5cd;hb=746fa545f0047ec7bcf18f773c224369e6b3172b;hp=1b39d2827e4913294f12f6ee2488181044e23350;hpb=9c092814c7f275db78a6ed769aa76fdd87709c60;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryImages.php b/includes/api/ApiQueryImages.php index 1b39d2827e..153d1a4547 100644 --- a/includes/api/ApiQueryImages.php +++ b/includes/api/ApiQueryImages.php @@ -1,9 +1,5 @@ @gmail.com" * * This program is free software; you can redistribute it and/or modify @@ -53,10 +49,10 @@ class ApiQueryImages extends ApiQueryGeneratorBase { } $params = $this->extractRequestParams(); - $this->addFields( array( + $this->addFields( [ 'il_from', 'il_to' - ) ); + ] ); $this->addTables( 'imagelinks' ); $this->addWhereFld( 'il_from', array_keys( $this->getPageSet()->getGoodTitles() ) ); @@ -64,7 +60,7 @@ class ApiQueryImages extends ApiQueryGeneratorBase { $cont = explode( '|', $params['continue'] ); $this->dieContinueUsageIf( count( $cont ) != 2 ); $op = $params['dir'] == 'descending' ? '<' : '>'; - $ilfrom = intval( $cont[0] ); + $ilfrom = (int)$cont[0]; $ilto = $this->getDB()->addQuotes( $cont[1] ); $this->addWhere( "il_from $op $ilfrom OR " . @@ -78,23 +74,27 @@ class ApiQueryImages extends ApiQueryGeneratorBase { if ( count( $this->getPageSet()->getGoodTitles() ) == 1 ) { $this->addOption( 'ORDER BY', 'il_to' . $sort ); } else { - $this->addOption( 'ORDER BY', array( + $this->addOption( 'ORDER BY', [ 'il_from' . $sort, 'il_to' . $sort - ) ); + ] ); } $this->addOption( 'LIMIT', $params['limit'] + 1 ); - if ( !is_null( $params['images'] ) ) { - $images = array(); + if ( $params['images'] ) { + $images = []; foreach ( $params['images'] as $img ) { $title = Title::newFromText( $img ); if ( !$title || $title->getNamespace() != NS_FILE ) { - $this->setWarning( "\"$img\" is not a file" ); + $this->addWarning( [ 'apiwarn-notfile', wfEscapeWikiText( $img ) ] ); } else { $images[] = $title->getDBkey(); } } + if ( !$images ) { + // No titles so no results + return; + } $this->addWhereFld( 'il_to', $images ); } @@ -109,7 +109,7 @@ class ApiQueryImages extends ApiQueryGeneratorBase { $this->setContinueEnumParameter( 'continue', $row->il_from . '|' . $row->il_to ); break; } - $vals = array(); + $vals = []; ApiQueryBase::addTitleInfo( $vals, Title::makeTitle( NS_FILE, $row->il_to ) ); $fit = $this->addPageSubItem( $row->il_from, $vals ); if ( !$fit ) { @@ -118,7 +118,7 @@ class ApiQueryImages extends ApiQueryGeneratorBase { } } } else { - $titles = array(); + $titles = []; $count = 0; foreach ( $res as $row ) { if ( ++$count > $params['limit'] ) { @@ -138,40 +138,40 @@ class ApiQueryImages extends ApiQueryGeneratorBase { } public function getAllowedParams() { - return array( - 'limit' => array( + return [ + 'limit' => [ ApiBase::PARAM_DFLT => 10, ApiBase::PARAM_TYPE => 'limit', ApiBase::PARAM_MIN => 1, ApiBase::PARAM_MAX => ApiBase::LIMIT_BIG1, ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2 - ), - 'continue' => array( + ], + 'continue' => [ ApiBase::PARAM_HELP_MSG => 'api-help-param-continue', - ), - 'images' => array( + ], + 'images' => [ ApiBase::PARAM_ISMULTI => true, - ), - 'dir' => array( + ], + 'dir' => [ ApiBase::PARAM_DFLT => 'ascending', - ApiBase::PARAM_TYPE => array( + ApiBase::PARAM_TYPE => [ 'ascending', 'descending' - ) - ), - ); + ] + ], + ]; } protected function getExamplesMessages() { - return array( + return [ 'action=query&prop=images&titles=Main%20Page' => 'apihelp-query+images-example-simple', 'action=query&generator=images&titles=Main%20Page&prop=info' => 'apihelp-query+images-example-generator', - ); + ]; } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Images'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images'; } }