Hooks::run( 'ImagePageShowTOC', array( $this, &$r ) );
if ( $metadata ) {
- $r[] = '<li><a href="#metadata">' . $this->getContext()->msg( 'metadata' )->escaped() . '</a></li>';
+ $r[] = '<li><a href="#metadata">' .
+ $this->getContext()->msg( 'metadata' )->escaped() .
+ '</a></li>';
}
return '<ul id="filetoc">' . implode( "\n", $r ) . '</ul>';
}
$otherSizes = array_unique( $otherSizes );
- $msgsmall = '';
$sizeLinkBigImagePreview = $this->makeSizeLink( $params, $width, $height );
- if ( $sizeLinkBigImagePreview ) {
- $msgsmall .= $this->getContext()->msg( 'show-big-image-preview' )->
- rawParams( $sizeLinkBigImagePreview )->
- parse();
- }
+ $msgsmall = $this->getThumbPrevText( $params, $sizeLinkBigImagePreview );
if ( count( $otherSizes ) ) {
$msgsmall .= ' ' .
- Html::rawElement( 'span', array( 'class' => 'mw-filepage-other-resolutions' ),
- $this->getContext()->msg( 'show-big-image-other' )->rawParams( $lang->pipeList( $otherSizes ) )->
- params( count( $otherSizes ) )->parse()
+ Html::rawElement(
+ 'span',
+ array( 'class' => 'mw-filepage-other-resolutions' ),
+ $this->getContext()->msg( 'show-big-image-other' )
+ ->rawParams( $lang->pipeList( $otherSizes ) )
+ ->params( count( $otherSizes ) )
+ ->parse()
);
}
} elseif ( $width == 0 && $height == 0 ) {
$out->setFileVersion( $this->displayImg );
}
+ /**
+ * Make the text under the image to say what size preview
+ *
+ * @param $params Array parameters for thumbnail
+ * @param $sizeLinkBigImagePreview HTML for the current size
+ * @return string HTML output
+ */
+ private function getThumbPrevText( $params, $sizeLinkBigImagePreview ) {
+ if ( $sizeLinkBigImagePreview ) {
+ // Show a different message of preview is different format from original.
+ $previewTypeDiffers = false;
+ $origExt = $thumbExt = $this->displayImg->getExtension();
+ if ( $this->displayImg->getHandler() ) {
+ $origMime = $this->displayImg->getMimeType();
+ $typeParams = $params;
+ $this->displayImg->getHandler()->normaliseParams( $this->displayImg, $typeParams );
+ list( $thumbExt, $thumbMime ) = $this->displayImg->getHandler()->getThumbType(
+ $origExt, $origMime, $typeParams );
+ if ( $thumbMime !== $origMime ) {
+ $previewTypeDiffers = true;
+ }
+ }
+ if ( $previewTypeDiffers ) {
+ return $this->getContext()->msg( 'show-big-image-preview-differ' )->
+ rawParams( $sizeLinkBigImagePreview )->
+ params( strtoupper( $origExt ) )->
+ params( strtoupper( $thumbExt ) )->
+ parse();
+ } else {
+ return $this->getContext()->msg( 'show-big-image-preview' )->
+ rawParams( $sizeLinkBigImagePreview )->
+ parse();
+ }
+ } else {
+ return '';
+ }
+ }
+
/**
* Creates an thumbnail of specified size and returns an HTML link to it
* @param array $params Scaler parameters
$wrap = "<div class=\"sharedUploadNotice\">\n$1\n</div>\n";
$repo = $this->mPage->getFile()->getRepo()->getDisplayName();
- if ( $descUrl && $descText && $this->getContext()->msg( 'sharedupload-desc-here' )->plain() !== '-' ) {
+ if ( $descUrl &&
+ $descText &&
+ $this->getContext()->msg( 'sharedupload-desc-here' )->plain() !== '-'
+ ) {
$out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-here', $repo, $descUrl ) );
- } elseif ( $descUrl && $this->getContext()->msg( 'sharedupload-desc-there' )->plain() !== '-' ) {
+ } elseif ( $descUrl &&
+ $this->getContext()->msg( 'sharedupload-desc-there' )->plain() !== '-'
+ ) {
$out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-there', $repo, $descUrl ) );
} else {
$out->wrapWikiMsg( $wrap, array( 'sharedupload', $repo ), ''/*BACKCOMPAT*/ );
$liContents = $link;
} elseif ( count( $redirects[$element->page_title] ) === 0 ) {
# Redirect without usages
- $liContents = $this->getContext()->msg( 'linkstoimage-redirect' )->rawParams( $link, '' )->parse();
+ $liContents = $this->getContext()->msg( 'linkstoimage-redirect' )
+ ->rawParams( $link, '' )
+ ->parse();
} else {
# Redirect with usages
$li = '';
} else {
$link = Linker::makeExternalLink( $file->getDescriptionUrl(),
$file->getTitle()->getPrefixedText() );
- $fromSrc = $this->getContext()->msg( 'shared-repo-from', $file->getRepo()->getDisplayName() )->text();
+ $fromSrc = $this->getContext()->msg(
+ 'shared-repo-from',
+ $file->getRepo()->getDisplayName()
+ )->text();
}
$out->addHTML( "<li>{$link} {$fromSrc}</li>\n" );
}
);
$submit = Xml::submitButton( $this->getContext()->msg( 'img-lang-go' )->text() );
- $formContents = $this->getContext()->msg( 'img-lang-info' )->rawParams( $select, $submit )->parse()
- . Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() );
+ $formContents = $this->getContext()->msg( 'img-lang-info' )
+ ->rawParams( $select, $submit )
+ ->parse();
+ $formContents .= Html::hidden( 'title', $this->getTitle()->getPrefixedDBkey() );
$langSelectLine = Html::rawElement( 'div', array( 'id' => 'mw-imglangselector-line' ),
Html::rawElement( 'form', array( 'action' => $wgScript ), $formContents )
} else {
# Creating thumb links triggers thumbnail generation.
# Just generate the thumb for the current users prefs.
- $thumbSizes = array( $this->getImageLimitsFromOption( $this->getContext()->getUser(), 'thumbsize' ) );
+ $thumbSizes = array(
+ $this->getImageLimitsFromOption( $this->getContext()->getUser(), 'thumbsize' )
+ );
if ( !$this->displayImg->mustRender() ) {
// We can safely include a link to the "full-size" preview,
// without actually rendering.
function __construct( $imagePage ) {
parent::__construct( $imagePage->getContext() );
$this->mImagePage = $imagePage;
- $this->mTitle = clone ( $imagePage->getTitle() );
+ $this->mTitle = clone $imagePage->getTitle();
$this->mTitle->setFragment( '#filehistory' );
$this->mImg = null;
$this->mHist = array();