https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113952
Revision: 113952
Author: aaron
Date: 2012-03-15 20:37:58 +0000 (Thu, 15 Mar 2012)
Log Message:
-----------
[FileRepo] Tweaked transformErrorOutput() to allow more useful error output
(like backend errors) for problems moving thumbnails into storage.
Modified Paths:
--------------
trunk/phase3/includes/filerepo/file/File.php
Modified: trunk/phase3/includes/filerepo/file/File.php
===================================================================
--- trunk/phase3/includes/filerepo/file/File.php 2012-03-15 20:37:33 UTC
(rev 113951)
+++ trunk/phase3/includes/filerepo/file/File.php 2012-03-15 20:37:58 UTC
(rev 113952)
@@ -760,16 +760,27 @@
* @param $thumbUrl string Thumbnail URL
* @param $params Array
* @param $flags integer
+ * @param $status Status Optional status object to use for errors
* @return MediaTransformOutput
*/
- protected function transformErrorOutput( $thumbPath, $thumbUrl,
$params, $flags ) {
+ protected function transformErrorOutput(
+ $thumbPath, $thumbUrl, $params, $flags, Status $status = null
+ ) {
global $wgIgnoreImageErrors;
if ( $wgIgnoreImageErrors && !( $flags & self::RENDER_NOW ) ) {
return $this->handler->getTransform( $this, $thumbPath,
$thumbUrl, $params );
} else {
+ $badStatus = Status::newFatal( 'thumbnail-dest-create'
);
+ if ( $status ) { // additional, more detailed errors
+ $badStatus->merge( $status );
+ }
+ $err = array();
+ foreach ( $badStatus->getErrorsArray() as $item ) {
+ $err[] = wfMsg( $item[0], array_slice( $item, 1
) );
+ }
return new MediaTransformError( 'thumbnail_error',
- $params['width'], 0, wfMsg(
'thumbnail-dest-create' ) );
+ $params['width'], 0, implode( "\n", $err ) );
// MTO does "\n" => "<br/>"
}
}
@@ -875,7 +886,8 @@
if ( $status->isOK() ) {
$thumb->setStoragePath( $thumbPath );
} else {
- $thumb = $this->transformErrorOutput(
$thumbPath, $thumbUrl, $params, $flags );
+ $thumb = $this->transformErrorOutput(
+ $thumbPath, $thumbUrl, $params,
$flags, $status );
}
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs