MediaWiki  1.30.0
thumb.php File Reference

PHP script to stream out an image thumbnail. More...

Go to the source code of this file.

Functions

 wfExtractThumbParams ( $file, $params)
 Convert a thumbnail name (122px-foo.png) to parameters, using file handler. More...
 
 wfExtractThumbRequestInfo ( $thumbRel)
 Convert pathinfo type parameter, into normal request parameters. More...
 
 wfGenerateThumbnail (File $file, array $params, $thumbName, $thumbPath)
 Actually try to generate a new thumbnail. More...
 
 wfStreamThumb (array $params)
 Stream a thumbnail specified by parameters. More...
 
 wfThumbError ( $status, $msgHtml, $msgText=null, $context=[])
 Output a thumbnail generation error message. More...
 
 wfThumbErrorText ( $status, $msgText)
 Output a thumbnail generation error message. More...
 
 wfThumbHandle404 ()
 Handle a thumbnail request via thumbnail file URL. More...
 

Variables

 $mediawiki = new MediaWiki()
 
 $wgTrivialMimeDetection = true
 
if(defined( 'THUMB_HANDLER')) else
 
const MW_NO_OUTPUT_COMPRESSION 1
 

Detailed Description

PHP script to stream out an image thumbnail.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html

Definition in file thumb.php.

Function Documentation

◆ wfExtractThumbParams()

wfExtractThumbParams (   $file,
  $params 
)

Convert a thumbnail name (122px-foo.png) to parameters, using file handler.

Parameters
File$fileFile object for file in question
array$paramsArray of parameters so far
Returns
array Parameters array with more parameters

Definition at line 525 of file thumb.php.

References $handler, $matches, $params, and list.

Referenced by wfStreamThumb().

◆ wfExtractThumbRequestInfo()

wfExtractThumbRequestInfo (   $thumbRel)

Convert pathinfo type parameter, into normal request parameters.

So for example, if the request was redirected from /w/images/thumb/a/ab/Foo.png/120px-Foo.png. The $thumbRel parameter of this function would be set to "a/ab/Foo.png/120px-Foo.png". This method is responsible for turning that into an array with the folowing keys:

  • f => the filename (Foo.png)
  • rel404 => the whole thing (a/ab/Foo.png/120px-Foo.png)
  • archived => 1 (If the request is for an archived thumb)
  • temp => 1 (If the file is in the "temporary" zone)
  • thumbName => the thumbnail name, including parameters (120px-Foo.png)

Transform specific parameters are set later via wfExtractThumbParams().

Parameters
string$thumbRelThumbnail path relative to the thumb zone
Returns
array|null Associative params array or null

Definition at line 486 of file thumb.php.

References $params, list, and RepoGroup\singleton().

Referenced by wfThumbHandle404().

◆ wfGenerateThumbnail()

wfGenerateThumbnail ( File  $file,
array  $params,
  $thumbName,
  $thumbPath 
)

Actually try to generate a new thumbnail.

Parameters
File$file
array$params
string$thumbName
string$thumbPath
Returns
array (MediaTransformOutput|bool, string|bool error message HTML)

Definition at line 389 of file thumb.php.

References $cache, $e, $params, $wgAttemptFailureEpoch, PoolCounterWork\execute(), ObjectCache\getLocalClusterInstance(), File\getName(), File\getRepo(), File\getSha1(), global, File\isExpensiveToThumbnail(), File\RENDER_NOW, File\transform(), use, and wfMessage().

Referenced by wfStreamThumb().

◆ wfStreamThumb()

wfStreamThumb ( array  $params)

Stream a thumbnail specified by parameters.

Parameters
array$paramsList of thumbnailing parameters. In addition to parameters passed to the MediaHandler, this may also includes the keys: f (for filename), archived (if archived file), temp (if temp file), w (alias for width), p (alias for page), r (ignored; historical), rel404 (path for render on 404 to verify hash path correct), thumbName (thumbnail name to potentially extract more parameters from e.g. 'lossy-page1-120px-Foo.tiff' would add page, lossy and width to the parameters)
Returns
void

Definition at line 92 of file thumb.php.

References $e, $params, $response, $starttime, $title, $user, $wgVaryOnXFP, are, captcha-old\count, File\DELETED_FILE, false, files, User\getGroupPermissions(), MessageSpecifier\getKey(), RequestContext\getMain(), global, HttpStatus\header(), list, Title\makeTitleSafe(), name, NS_FILE, on, PROTO_CURRENT, RepoGroup\singleton(), File\THUMB_FULL_NAME, wfExpandUrl(), wfExtractThumbParams(), wfGenerateThumbnail(), wfLocalFile(), wfMessage(), wfThumbError(), wfThumbErrorText(), wfThumbIsStandard(), wfTimestamp(), and will.

Referenced by wfThumbHandle404().

◆ wfThumbError()

wfThumbError (   $status,
  $msgHtml,
  $msgText = null,
  $context = [] 
)

Output a thumbnail generation error message.

Parameters
int$status
string$msgHtmlHTML
string$msgTextShort error description, for internal logging. Defaults to $msgHtml. Only used for HTTP 500 errors.
array$contextError context, for internal logging. Only used for HTTP 500 errors.
Returns
void

Definition at line 588 of file thumb.php.

References $context, $debug, $wgShowHostnames, global, HttpStatus\header(), captcha-old\p, title, and wfHostname().

Referenced by wfStreamThumb(), wfThumbErrorText(), and wfThumbHandle404().

◆ wfThumbErrorText()

wfThumbErrorText (   $status,
  $msgText 
)

Output a thumbnail generation error message.

Parameters
int$status
string$msgTextPlain text (will be html escaped)
Returns
void

Definition at line 574 of file thumb.php.

References wfThumbError().

Referenced by wfStreamThumb().

◆ wfThumbHandle404()

wfThumbHandle404 ( )

Handle a thumbnail request via thumbnail file URL.

Returns
void

Definition at line 51 of file thumb.php.

References $matches, $params, $wgArticlePath, WebRequest\getPathInfo(), global, RepoGroup\singleton(), wfExtractThumbRequestInfo(), wfStreamThumb(), and wfThumbError().

Variable Documentation

◆ $mediawiki

$mediawiki = new MediaWiki()

Definition at line 41 of file thumb.php.

◆ $wgTrivialMimeDetection

$wgTrivialMimeDetection = true

Definition at line 31 of file thumb.php.

◆ else

if (defined('THUMB_HANDLER')) else
Initial value:
{
wfStreamThumb( $_GET )

Definition at line 36 of file thumb.php.

◆ MW_NO_OUTPUT_COMPRESSION

const MW_NO_OUTPUT_COMPRESSION 1

Definition at line 27 of file thumb.php.

wfStreamThumb
wfStreamThumb(array $params)
Stream a thumbnail specified by parameters.
Definition: thumb.php:92