Skip to content

Commit

Permalink
support scaleExact() filtering for image creation (not keeping aspect…
Browse files Browse the repository at this point in the history
… ratio)
  • Loading branch information
feri committed Jul 26, 2011
1 parent e7a544c commit df5b0bf
Showing 1 changed file with 24 additions and 7 deletions.
31 changes: 24 additions & 7 deletions helpers.php
Expand Up @@ -462,24 +462,41 @@ public static function get_variant_size($variant)
{
throw new midgardmvc_exception("Variant {$variant} is not defined");
}
if ( !isset($variants[$variant]['scale'])
if ( (!isset($variants[$variant]['scale'])
|| !is_array($variants[$variant]['scale'])
|| !isset($variants[$variant]['scale']['width'])
|| !isset($variants[$variant]['scale']['height']))
&& (!isset($variants[$variant]['scaleExact'])
|| !is_array($variants[$variant]['scaleExact'])
|| !isset($variants[$variant]['scaleExact']['width'])
|| !isset($variants[$variant]['scaleExact']['height'])))
{
throw new midgardmvc_exception("Variant {$variant} does not define scale");
throw new midgardmvc_exception("Variant {$variant} does not define scale or scaleExact");
}
$size[0] = $variants[$variant]['scale']['width'];
$size[1] = $variants[$variant]['scale']['height'];
$size[2] = null; // We don't know/care
$size[3] = "width='{$variants[$variant]['scale']['width']}' height='{$variants[$variant]['scale']['height']}'";

if (isset($variants[$variant]['scale']))
{
$size[0] = $variants[$variant]['scale']['width'];
$size[1] = $variants[$variant]['scale']['height'];
$size[2] = null; // We don't know/care
$size[3] = "width='{$variants[$variant]['scale']['width']}' height='{$variants[$variant]['scale']['height']}'";
}

if (isset($variants[$variant]['scaleExact']))
{
$size[0] = $variants[$variant]['scaleExact']['width'];
$size[1] = $variants[$variant]['scaleExact']['height'];
$size[2] = null; // We don't know/care
$size[3] = "width='{$variants[$variant]['scaleExact']['width']}' height='{$variants[$variant]['scaleExact']['height']}'";
}

return $size;
}

/**
* Inserts the attachment title etc to the extra_info array
*
* @param midgard_attachment $attachment reference to the attachment object
* @param midgard_attachment $attachment reference to the attachment object
* @param array $extra_info reference to the info array
*/
public static function insert_common_info(&$attachment_obj, &$extra_info)
Expand Down

0 comments on commit df5b0bf

Please sign in to comment.