summaryrefslogtreecommitdiff
path: root/inc/media.php
diff options
context:
space:
mode:
authorKate Arzamastseva <pshns@ukr.net>2011-08-06 17:00:19 +0300
committerKate Arzamastseva <pshns@ukr.net>2011-08-06 17:00:19 +0300
commit50fc55fe69fc348d3679981cc088c57b35c47571 (patch)
tree1d8f97219b81c92cc3d4ff5a18d9f2d6f185042a /inc/media.php
parentb4b31bac3276c93277a8b70368aee135b7fdde09 (diff)
downloadrpg-50fc55fe69fc348d3679981cc088c57b35c47571.tar.gz
rpg-50fc55fe69fc348d3679981cc088c57b35c47571.tar.bz2
issue #48 alternative diff views for images with different size
Diffstat (limited to 'inc/media.php')
-rw-r--r--inc/media.php38
1 files changed, 20 insertions, 18 deletions
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 '<div id="mediamanager__diff" >';
}
- $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 '</div>';
return '';
}
-
- echo '<div class="mediamanager-preview">';
-
}
+ echo '<div class="mediamanager-preview">';
echo '<ul id="mediamanager__diff_table">';
echo '<li>';
@@ -1141,9 +1143,6 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){
media_preview_buttons($image, $auth, $r_rev);
echo '</li>';
- $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 '</ul>';
+ echo '</div>';
if ($is_img && !$fromajax) echo '</div>';
- if ($is_img) echo '</div>';
}
/**
@@ -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 '<div class="mediamanager-preview">';