From 50fc55fe69fc348d3679981cc088c57b35c47571 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sat, 6 Aug 2011 17:00:19 +0300 Subject: issue #48 alternative diff views for images with different size --- inc/media.php | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index bc80f64d6..ce3f797e6 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1094,9 +1094,16 @@ function _media_file_diff($data) { */ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ global $lang, $config_cascade; - $is_img = preg_match("/\.(jpe?g|gif|png)$/", $image); + $l_meta = new JpegMeta(mediaFN($image, $l_rev)); + $r_meta = new JpegMeta(mediaFN($image, $r_rev)); + + $is_img = preg_match("/\.(jpe?g|gif|png)$/", $image); if ($is_img) { + $l_size = media_image_preview_size($image, $l_rev, $l_meta); + $r_size = media_image_preview_size($image, $r_rev, $r_meta); + $is_img = ($l_size && $r_size && ($l_size[0] >= 30 || $r_size[0] >= 30)); + $difftype = $_REQUEST['difftype']; if (!$fromajax) { @@ -1110,19 +1117,14 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ echo '
'; } - $l_meta = new JpegMeta(mediaFN($image, $l_rev)); - $r_meta = new JpegMeta(mediaFN($image, $r_rev)); - if ($difftype == 'opacity' || $difftype == 'portions') { - media_image_diff($image, $l_rev, $r_rev, $l_meta, $difftype); + media_image_diff($image, $l_rev, $r_rev, $l_size, $r_size, $difftype); if (!$fromajax) echo '
'; return ''; } - - echo '
'; - } + echo '
'; echo '
    '; echo '
  • '; @@ -1141,9 +1143,6 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ media_preview_buttons($image, $auth, $r_rev); echo '
  • '; - $l_meta = new JpegMeta(mediaFN($image, $l_rev)); - $r_meta = new JpegMeta(mediaFN($image, $r_rev)); - $l_tags = media_file_tags($l_meta); $r_tags = media_file_tags($r_meta); foreach ($l_tags as $key => $l_tag) { @@ -1175,9 +1174,9 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ } echo '
'; + echo '
'; if ($is_img && !$fromajax) echo '
'; - if ($is_img) echo ''; } /** @@ -1188,13 +1187,16 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ * @param string $image * @param int $l_rev * @param int $r_rev - * @param JpegMeta $meta + * @param array $l_size + * @param array $r_size + * @param string $type */ -function media_image_diff($image, $l_rev, $r_rev, $meta, $type) { - $l_size = media_image_preview_size($image, $l_rev, $meta); - $r_size = media_image_preview_size($image, $r_rev, $meta); - - if (!$l_size || !$r_size || $l_size != $r_size || $l_size[0] < 30) return ''; +function media_image_diff($image, $l_rev, $r_rev, $l_size, $r_size, $type) { + if ($l_size != $r_size) { + if ($r_size[0] > $l_size[0]) { + $l_size = $r_size; + } + } echo '
'; -- cgit v1.2.3