ApiQueryImageInfo: Don't return URLs if the archived file is missing
If the archived file doesn't exist, indicate that instead of returning bogus URLs. Bug: T184445 Change-Id: I831b13314300f0289a2baf26ed21d81be31b292a
This commit is contained in:
parent
a26cc32bc5
commit
af716f64e3
1 changed files with 25 additions and 21 deletions
|
|
@ -503,32 +503,36 @@ class ApiQueryImageInfo extends ApiQueryBase {
|
|||
}
|
||||
|
||||
if ( $url ) {
|
||||
if ( !is_null( $thumbParams ) ) {
|
||||
$mto = $file->transform( $thumbParams );
|
||||
self::$transformCount++;
|
||||
if ( $mto && !$mto->isError() ) {
|
||||
$vals['thumburl'] = wfExpandUrl( $mto->getUrl(), PROTO_CURRENT );
|
||||
if ( $file->exists() ) {
|
||||
if ( !is_null( $thumbParams ) ) {
|
||||
$mto = $file->transform( $thumbParams );
|
||||
self::$transformCount++;
|
||||
if ( $mto && !$mto->isError() ) {
|
||||
$vals['thumburl'] = wfExpandUrl( $mto->getUrl(), PROTO_CURRENT );
|
||||
|
||||
// T25834 - If the URLs are the same, we haven't resized it, so shouldn't give the wanted
|
||||
// thumbnail sizes for the thumbnail actual size
|
||||
if ( $mto->getUrl() !== $file->getUrl() ) {
|
||||
$vals['thumbwidth'] = intval( $mto->getWidth() );
|
||||
$vals['thumbheight'] = intval( $mto->getHeight() );
|
||||
} else {
|
||||
$vals['thumbwidth'] = intval( $file->getWidth() );
|
||||
$vals['thumbheight'] = intval( $file->getHeight() );
|
||||
}
|
||||
// T25834 - If the URLs are the same, we haven't resized it, so shouldn't give the wanted
|
||||
// thumbnail sizes for the thumbnail actual size
|
||||
if ( $mto->getUrl() !== $file->getUrl() ) {
|
||||
$vals['thumbwidth'] = intval( $mto->getWidth() );
|
||||
$vals['thumbheight'] = intval( $mto->getHeight() );
|
||||
} else {
|
||||
$vals['thumbwidth'] = intval( $file->getWidth() );
|
||||
$vals['thumbheight'] = intval( $file->getHeight() );
|
||||
}
|
||||
|
||||
if ( isset( $prop['thumbmime'] ) && $file->getHandler() ) {
|
||||
list( , $mime ) = $file->getHandler()->getThumbType(
|
||||
$mto->getExtension(), $file->getMimeType(), $thumbParams );
|
||||
$vals['thumbmime'] = $mime;
|
||||
if ( isset( $prop['thumbmime'] ) && $file->getHandler() ) {
|
||||
list( , $mime ) = $file->getHandler()->getThumbType(
|
||||
$mto->getExtension(), $file->getMimeType(), $thumbParams );
|
||||
$vals['thumbmime'] = $mime;
|
||||
}
|
||||
} elseif ( $mto && $mto->isError() ) {
|
||||
$vals['thumberror'] = $mto->toText();
|
||||
}
|
||||
} elseif ( $mto && $mto->isError() ) {
|
||||
$vals['thumberror'] = $mto->toText();
|
||||
}
|
||||
$vals['url'] = wfExpandUrl( $file->getFullUrl(), PROTO_CURRENT );
|
||||
} else {
|
||||
$vals['filemissing'] = true;
|
||||
}
|
||||
$vals['url'] = wfExpandUrl( $file->getFullUrl(), PROTO_CURRENT );
|
||||
$vals['descriptionurl'] = wfExpandUrl( $file->getDescriptionUrl(), PROTO_CURRENT );
|
||||
|
||||
$shortDescriptionUrl = $file->getDescriptionShortUrl();
|
||||
|
|
|
|||
Loading…
Reference in a new issue