82 protected $mCaptionLength =
true;
101 protected $mAttribs = [];
113 private static $modeMapping;
127 $context = RequestContext::getMainAndWarn( __METHOD__ );
130 $galleryOptions = $context->getConfig()->get( MainConfigNames::GalleryOptions );
131 $mode = $galleryOptions[
'mode'];
134 $mode = MediaWikiServices::getInstance()->getContentLanguage()->lc( $mode );
136 if ( isset( self::$modeMapping[$mode] ) ) {
137 $class = self::$modeMapping[$mode];
138 return new $class( $mode, $context );
144 private static function loadModes() {
145 if ( self::$modeMapping ===
null ) {
146 self::$modeMapping = [
147 'traditional' => TraditionalImageGallery::class,
148 'nolines' => NolinesImageGallery::class,
149 'packed' => PackedImageGallery::class,
150 'packed-hover' => PackedHoverImageGallery::class,
151 'packed-overlay' => PackedOverlayImageGallery::class,
152 'slideshow' => SlideshowImageGallery::class,
155 (
new HookRunner( MediaWikiServices::getInstance()->getHookContainer() ) )
156 ->onGalleryGetModes( self::$modeMapping );
178 $galleryOptions = $this->
getConfig()->get( MainConfigNames::GalleryOptions );
180 $this->mShowBytes = $galleryOptions[
'showBytes'];
181 $this->mShowDimensions = $galleryOptions[
'showDimensions'];
182 $this->mShowFilename =
true;
183 $this->mParser =
false;
184 $this->mHideBadImages =
false;
185 $this->mPerRow = $galleryOptions[
'imagesPerRow'];
186 $this->mWidths = $galleryOptions[
'imageWidth'];
187 $this->mHeights = $galleryOptions[
'imageHeight'];
188 $this->mCaptionLength = $galleryOptions[
'captionLength'];
189 $this->mMode = $mode;
203 $this->mParser = $parser;
210 $this->mHideBadImages = $flag;
219 $this->mCaption = htmlspecialchars( $caption );
228 $this->mCaption = $caption;
239 $this->mPerRow = (int)$num;
250 $parser = $this->mParser;
253 $parser = MediaWikiServices::getInstance()->getParser();
255 $parsed = $parser->parseWidthParam( $num,
false );
256 if ( isset( $parsed[
'width'] ) && $parsed[
'width'] > 0 ) {
257 $this->mWidths = $parsed[
'width'];
268 $parser = $this->mParser;
271 $parser = MediaWikiServices::getInstance()->getParser();
273 $parsed = $parser->parseWidthParam( $num,
false );
274 if ( isset( $parsed[
'width'] ) && $parsed[
'width'] > 0 ) {
275 $this->mHeights = $parsed[
'width'];
309 $loading = self::LOADING_DEFAULT,
310 ?array $imageOptions =
null
312 if ( $title instanceof
File ) {
314 $title = $title->getTitle();
316 $this->mImages[] = [ $title, $html, $alt, $link, $handlerOpts, $loading, $imageOptions ];
317 wfDebug(
'ImageGallery::add ' . $title->getText() );
338 $loading = self::LOADING_DEFAULT,
339 ?array $imageOptions =
null
341 if ( $title instanceof
File ) {
343 $title = $title->getTitle();
345 array_unshift( $this->mImages, [ $title, $html, $alt, $link, $handlerOpts, $loading, $imageOptions ] );
354 return $this->mImages;
362 return $this->mImages === [];
372 $this->mShowDimensions = (bool)$f;
382 $this->mShowBytes = (bool)$f;
392 $this->mShowFilename = (bool)$f;
405 $this->mAttribs = $attribs;
419 return count( $this->mImages );
428 $this->contextTitle = $title;
437 return $this->contextTitle;
445 return $this->mParser
446 ? $this->mParser->getTargetLanguage()
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
wfDeprecated( $function, $version=false, $component=false, $callerOffset=2)
Logs a warning that a deprecated feature was used.
Implements some public methods and some protected utility functions which are required by multiple ch...
setShowDimensions( $f)
Enable/Disable showing of the dimensions of an image in the gallery.
Parser false $mParser
Registered parser object for output callbacks.
setHeights( $num)
Set how high each image will be, in pixels.
bool $mShowDimensions
Whether to show the dimensions in categories.
isEmpty()
isEmpty() returns true if the gallery contains no images
setAttributes( $attribs)
Set arbitrary attributes to go on the HTML gallery output element.
bool $mHideBadImages
Hide bad images?
setCaption( $caption)
Set the caption (as plain text)
setHideBadImages( $flag=true)
__construct( $mode='traditional', ?IContextSource $context=null)
Create a new image gallery object.
string false $mCaption
Gallery caption.
Title null $contextTitle
Contextual title, used when images are being screened against the bad image list.
setCaptionHtml( $caption)
Set the caption (as HTML)
bool int $mCaptionLength
Length to truncate filename to in caption when using "showfilename".
getContextTitle()
Get the contextual title, if applicable.
string $mMode
Gallery mode.
setAdditionalOptions( $options)
Allow setting additional options.
setPerRow( $num)
Set how many images will be displayed per row.
static factory( $mode=false, ?IContextSource $context=null)
Get a new image gallery.
setContextTitle( $title)
Set the contextual title.
bool $mShowFilename
Whether to show the filename.
setParser( $parser)
Register a parser object.
insert( $title, $html='', $alt='', $link='', $handlerOpts=[], $loading=self::LOADING_DEFAULT, ?array $imageOptions=null)
Add an image at the beginning of the gallery.
bool $mShowBytes
Whether to show the filesize in bytes in categories.
toHTML()
Display an html representation of the gallery.
setShowBytes( $f)
Enable/Disable showing of the file size of an image in the gallery.
getRenderLang()
Determines the correct language to be used for this image gallery.
setWidths( $num)
Set how wide each image will be, in pixels.
getImages()
Returns the list of images this gallery contains.
add( $title, $html='', $alt='', $link='', $handlerOpts=[], $loading=self::LOADING_DEFAULT, ?array $imageOptions=null)
Add an image to the gallery.
array[] $mImages
Gallery images.
setShowFilename( $f)
Enable/Disable showing of the filename of an image in the gallery.
Class for exceptions thrown by ImageGalleryBase::factory().
The simplest way of implementing IContextSource is to hold a RequestContext as a member variable and ...
setContext(IContextSource $context)
Group all the pieces relevant to the context of a request into one instance.
A class containing constants representing the names of configuration variables.
Interface for objects which can provide a MediaWiki context on request.