* (bug 9628) Show warnings about slave lag on Special:Contributions,
Special:Watchlist
* (bug 8818) Expose "wpDestFile" as parameter $1 to "uploaddisabledtext"
-* Introducing new image parameter 'upright' and corresponding variable
+* Introducing new image keyword 'upright' and corresponding variable
$wgThumbUpright. This allows better proportional view of upright images
related to landscape images on a page without nailing the width of upright
images to a fix value which makes views for anon unproportional and user
preferences useless
-* (bug 6072) Add a 'border' keyword to the image syntax
-
+* (bug 6072) Introducing 'border' keyword to the [[Image:]] syntax
+* Introducing 'frameless' keyword to [[Image:]] syntax which respects the
+ user preferences for image width like 'thumb' but without a frame.
+
== Bugfixes since 1.10 ==
* (bug 9712) Use Arabic comma in date/time formats for Arabic and Farsi
return $s;
}
- /** @todo document */
+ /** Creates the HTML source for images
+ * @param object $nt
+ * @param string $label label text
+ * @param string $alt alt text
+ * @param string $align horizontal alignment: none, left, center, right)
+ * @param array $params some format keywords: width, height, page, upright, upright_factor, frameless, border
+ * @param boolean $framed shows image in original size in a frame
+ * @param boolean $thumb shows image as thumbnail in a frame
+ * @param string $manual_thumb image name for the manual thumbnail
+ * @param string $valign vertical alignment: baseline, sub, super, top, text-top, middle, bottom, text-bottom
+ * @return string
+ */
function makeImageLinkObj( $nt, $label, $alt, $align = '', $params = array(), $framed = false,
- $thumb = false, $manual_thumb = '', $valign = '', $upright = false, $upright_factor = 0, $border = false )
+ $thumb = false, $manual_thumb = '', $valign = '' )
{
global $wgContLang, $wgUser, $wgThumbLimits, $wgThumbUpright;
$postfix = '</div>';
$align = 'none';
}
-
if ( !isset( $params['width'] ) ) {
$params['width'] = $img->getWidth( $page );
- if( $thumb || $framed ) {
+ if( $thumb || $framed || isset( $params['frameless'] ) ) {
$wopt = $wgUser->getOption( 'thumbsize' );
if( !isset( $wgThumbLimits[$wopt] ) ) {
}
// Reduce width for upright images when parameter 'upright' is used
- if ( $upright_factor == 0 ) {
- $upright_factor = $wgThumbUpright;
+ if ( !isset( $params['upright_factor'] ) || $params['upright_factor'] == 0 ) {
+ $params['upright_factor'] = $wgThumbUpright;
}
// Use width which is smaller: real image width or user preference width
// For caching health: If width scaled down due to upright parameter, round to full __0 pixel to avoid the creation of a lot of odd thumbs
- $params['width'] = min( $params['width'], $upright ? round( $wgThumbLimits[$wopt] * $upright_factor, -1 ) : $wgThumbLimits[$wopt] );
+ $params['width'] = min( $params['width'], isset( $params['upright'] ) ? round( $wgThumbLimits[$wopt] * $params['upright_factor'], -1 ) : $wgThumbLimits[$wopt] );
}
}
if ( $align == '' ) {
$align = $wgContLang->isRTL() ? 'left' : 'right';
}
- return $prefix.$this->makeThumbLinkObj( $img, $label, $alt, $align, $params, $framed, $manual_thumb, $upright ).$postfix;
+ return $prefix.$this->makeThumbLinkObj( $img, $label, $alt, $align, $params, $framed, $manual_thumb ).$postfix;
}
if ( $params['width'] && $img->exists() ) {
if ( $valign ) {
$imgAttribs['style'] = "vertical-align: $valign";
}
- if ( $border ) {
+ if ( isset( $params['border'] ) ) {
$imgAttribs['class'] = "thumbborder";
}
$linkAttribs = array(
* Make HTML for a thumbnail including image, border and caption
* $img is an Image object
*/
- function makeThumbLinkObj( $img, $label = '', $alt, $align = 'right', $params = array(), $framed=false , $manual_thumb = "", $upright = false ) {
+ function makeThumbLinkObj( $img, $label = '', $alt, $align = 'right', $params = array(), $framed=false , $manual_thumb = "" ) {
global $wgStylePath, $wgContLang;
$page = isset( $params['page'] ) ? $params['page'] : false;
if ( empty( $params['width'] ) ) {
// Reduce width for upright images when parameter 'upright' is used
- $params['width'] = $upright ? 130 : 180;
+ $params['width'] = isset( $params['upright'] ) ? 130 : 180;
}
$thumb = false;
if ( $manual_thumb != '' ) {
# * ___px scale to ___ pixels width, no aligning. e.g. use in taxobox
# * center center the image
# * framed Keep original image size, no magnify-button.
+ # * frameless like 'thumb' but without a frame. Keeps user preferences for width
# * upright reduce width for upright images, rounded to full __0 px
# * border draw a 1px border around the image
# vertical-align values (no % or length right now):
$mwManualThumb =& MagicWord::get( 'img_manualthumb' );
$mwWidth =& MagicWord::get( 'img_width' );
$mwFramed =& MagicWord::get( 'img_framed' );
+ $mwFrameless =& MagicWord::get( 'img_frameless' );
$mwUpright =& MagicWord::get( 'img_upright' );
$mwBorder =& MagicWord::get( 'img_border' );
$mwPage =& MagicWord::get( 'img_page' );
$params = array();
$framed = $thumb = false;
- $upright = false;
- $upright_factor = 0;
- $border = false;
$manual_thumb = '' ;
$align = $valign = '';
$sk = $this->mOptions->getSkin();
if ( !is_null( $mwThumb->matchVariableStartToEnd($val) ) ) {
$thumb=true;
} elseif ( !is_null( $match = $mwUpright->matchVariableStartToEnd( $val ) ) ) {
- $upright = true;
- $upright_factor = floatval( $match );
+ $params['upright'] = true;
+ $params['upright_factor'] = floatval( $match );
+ } elseif ( !is_null( $match = $mwFrameless->matchVariableStartToEnd( $val ) ) ) {
+ $params['frameless'] = true;
} elseif ( !is_null( $mwBorder->matchVariableStartToEnd( $val ) ) ) {
- $border = true;
+ $params['border'] = true;
} elseif ( ! is_null( $match = $mwManualThumb->matchVariableStartToEnd($val) ) ) {
# use manually specified thumbnail
$thumb=true;
$alt = Sanitizer::stripAllTags( $alt );
# Linker does the rest
- return $sk->makeImageLinkObj( $nt, $caption, $alt, $align, $params, $framed, $thumb, $manual_thumb, $valign, $upright, $upright_factor, $border );
+ return $sk->makeImageLinkObj( $nt, $caption, $alt, $align, $params, $framed, $thumb, $manual_thumb, $valign );
}
/**