X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryFilearchive.php;h=7383cba6cb19b5d611448c28b9b40cf1fb4b0478;hb=036b9c41674a8eb1bdcd71a15fffb5a091223d9e;hp=8156edb901c3e28083fee0938c8529379ddb3fc8;hpb=38ba6b620be9f6333d902055ae1c0c610af4985e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryFilearchive.php b/includes/api/ApiQueryFilearchive.php index 8156edb901..7383cba6cb 100644 --- a/includes/api/ApiQueryFilearchive.php +++ b/includes/api/ApiQueryFilearchive.php @@ -38,15 +38,10 @@ class ApiQueryFilearchive extends ApiQueryBase { } public function execute() { - $user = $this->getUser(); // Before doing anything at all, let's check permissions - if ( !$user->isAllowed( 'deletedhistory' ) ) { - $this->dieUsage( - 'You don\'t have permission to view deleted file information', - 'permissiondenied' - ); - } + $this->checkUserRightsAny( 'deletedhistory' ); + $user = $this->getUser(); $db = $this->getDB(); $params = $this->extractRequestParams(); @@ -67,12 +62,12 @@ class ApiQueryFilearchive extends ApiQueryBase { $this->addTables( 'filearchive' ); $this->addFields( ArchivedFile::selectFields() ); - $this->addFields( array( 'fa_id', 'fa_name', 'fa_timestamp', 'fa_deleted' ) ); + $this->addFields( [ 'fa_id', 'fa_name', 'fa_timestamp', 'fa_deleted' ] ); $this->addFieldsIf( 'fa_sha1', $fld_sha1 ); - $this->addFieldsIf( array( 'fa_user', 'fa_user_text' ), $fld_user ); - $this->addFieldsIf( array( 'fa_height', 'fa_width', 'fa_size' ), $fld_dimensions || $fld_size ); + $this->addFieldsIf( [ 'fa_user', 'fa_user_text' ], $fld_user ); + $this->addFieldsIf( [ 'fa_height', 'fa_width', 'fa_size' ], $fld_dimensions || $fld_size ); $this->addFieldsIf( 'fa_description', $fld_description ); - $this->addFieldsIf( array( 'fa_major_mime', 'fa_minor_mime' ), $fld_mime ); + $this->addFieldsIf( [ 'fa_major_mime', 'fa_minor_mime' ], $fld_mime ); $this->addFieldsIf( 'fa_media_type', $fld_mediatype ); $this->addFieldsIf( 'fa_metadata', $fld_metadata ); $this->addFieldsIf( 'fa_bits', $fld_bitdepth ); @@ -112,13 +107,13 @@ class ApiQueryFilearchive extends ApiQueryBase { if ( $sha1Set ) { $sha1 = strtolower( $params['sha1'] ); if ( !$this->validateSha1Hash( $sha1 ) ) { - $this->dieUsage( 'The SHA1 hash provided is not valid', 'invalidsha1hash' ); + $this->dieWithError( 'apierror-invalidsha1hash' ); } - $sha1 = wfBaseConvert( $sha1, 16, 36, 31 ); + $sha1 = Wikimedia\base_convert( $sha1, 16, 36, 31 ); } elseif ( $sha1base36Set ) { $sha1 = strtolower( $params['sha1base36'] ); if ( !$this->validateSha1Base36Hash( $sha1 ) ) { - $this->dieUsage( 'The SHA1Base36 hash provided is not valid', 'invalidsha1base36hash' ); + $this->dieWithError( 'apierror-invalidsha1base36hash' ); } } if ( $sha1 ) { @@ -141,11 +136,11 @@ class ApiQueryFilearchive extends ApiQueryBase { $limit = $params['limit']; $this->addOption( 'LIMIT', $limit + 1 ); $sort = ( $params['dir'] == 'descending' ? ' DESC' : '' ); - $this->addOption( 'ORDER BY', array( + $this->addOption( 'ORDER BY', [ 'fa_name' . $sort, 'fa_timestamp' . $sort, 'fa_id' . $sort, - ) ); + ] ); $res = $this->select( __METHOD__ ); @@ -161,7 +156,7 @@ class ApiQueryFilearchive extends ApiQueryBase { break; } - $file = array(); + $file = []; $file['id'] = (int)$row->fa_id; $file['name'] = $row->fa_name; $title = Title::makeTitle( NS_FILE, $row->fa_name ); @@ -183,7 +178,7 @@ class ApiQueryFilearchive extends ApiQueryBase { $file['user'] = $row->fa_user_text; } if ( $fld_sha1 ) { - $file['sha1'] = wfBaseConvert( $row->fa_sha1, 36, 16, 40 ); + $file['sha1'] = Wikimedia\base_convert( $row->fa_sha1, 36, 16, 40 ); } if ( $fld_timestamp ) { $file['timestamp'] = wfTimestamp( TS_ISO_8601, $row->fa_timestamp ); @@ -231,7 +226,7 @@ class ApiQueryFilearchive extends ApiQueryBase { $file['suppressed'] = true; } - $fit = $result->addValue( array( 'query', $this->getModuleName() ), null, $file ); + $fit = $result->addValue( [ 'query', $this->getModuleName() ], null, $file ); if ( !$fit ) { $this->setContinueEnumParameter( 'continue', "$row->fa_name|$row->fa_timestamp|$row->fa_id" @@ -240,27 +235,27 @@ class ApiQueryFilearchive extends ApiQueryBase { } } - $result->addIndexedTagName( array( 'query', $this->getModuleName() ), 'fa' ); + $result->addIndexedTagName( [ 'query', $this->getModuleName() ], 'fa' ); } public function getAllowedParams() { - return array( + return [ 'from' => null, 'to' => null, 'prefix' => null, - 'dir' => array( + 'dir' => [ ApiBase::PARAM_DFLT => 'ascending', - ApiBase::PARAM_TYPE => array( + ApiBase::PARAM_TYPE => [ 'ascending', 'descending' - ) - ), + ] + ], 'sha1' => null, 'sha1base36' => null, - 'prop' => array( + 'prop' => [ ApiBase::PARAM_DFLT => 'timestamp', ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => array( + ApiBase::PARAM_TYPE => [ 'sha1', 'timestamp', 'user', @@ -273,30 +268,30 @@ class ApiQueryFilearchive extends ApiQueryBase { 'metadata', 'bitdepth', 'archivename', - ), - ApiBase::PARAM_HELP_MSG_PER_VALUE => array(), - ), - 'limit' => array( + ], + ApiBase::PARAM_HELP_MSG_PER_VALUE => [], + ], + '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', - ), - ); + ], + ]; } protected function getExamplesMessages() { - return array( + return [ 'action=query&list=filearchive' => 'apihelp-query+filearchive-example-simple', - ); + ]; } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Filearchive'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filearchive'; } }