diff options
author | Mario Vavti <mario@mariovavti.com> | 2015-10-16 16:27:51 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2015-10-16 16:27:51 +0200 |
commit | b7408fa39eca66f75cf6d29b6bdf3c4b602d201b (patch) | |
tree | 4dded19667754ee1d4913e22944f1b8337d2a0dc /include | |
parent | 6f5f613d9f90c8e168c8a551f0a70ba6644704a8 (diff) | |
download | volse-hubzilla-b7408fa39eca66f75cf6d29b6bdf3c4b602d201b.tar.gz volse-hubzilla-b7408fa39eca66f75cf6d29b6bdf3c4b602d201b.tar.bz2 volse-hubzilla-b7408fa39eca66f75cf6d29b6bdf3c4b602d201b.zip |
we now provide images for all suffixes (0-3) -> simplify photo item body creation and provide width x height for any size
Diffstat (limited to 'include')
-rw-r--r-- | include/photos.php | 61 |
1 files changed, 25 insertions, 36 deletions
diff --git a/include/photos.php b/include/photos.php index 618f36fb1..e78b899e0 100644 --- a/include/photos.php +++ b/include/photos.php @@ -185,11 +185,11 @@ function photo_upload($channel, $observer, $args) { if($args['description']) $p['description'] = $args['description']; - $r1 = $ph->save($p); - if(! $r1) + $r0 = $ph->save($p); + $r0wxh = $ph->getWidth() . 'x' . $ph->getHeight(); + if(! $r0) $errors = true; - unset($p['os_storage']); unset($p['os_path']); @@ -197,18 +197,18 @@ function photo_upload($channel, $observer, $args) { $ph->scaleImage(1024); $p['scale'] = 1; - $r2 = $ph->save($p); - $smallest = 1; - if(! $r2) + $r1 = $ph->save($p); + $r1wxh = $ph->getWidth() . 'x' . $ph->getHeight(); + if(! $r1) $errors = true; if(($width > 640 || $height > 640) && (! $errors)) $ph->scaleImage(640); $p['scale'] = 2; - $r3 = $ph->save($p); - $smallest = 2; - if(! $r3) + $r2 = $ph->save($p); + $r2wxh = $ph->getWidth() . 'x' . $ph->getHeight(); + if(! $r2) $errors = true; if(($width > 320 || $height > 320) && (! $errors)) @@ -216,7 +216,7 @@ function photo_upload($channel, $observer, $args) { $p['scale'] = 3; $r3 = $ph->save($p); - $smallest = 3; + $r3wxh = $ph->getWidth() . 'x' . $ph->getHeight(); if(! $r3) $errors = true; @@ -231,12 +231,6 @@ function photo_upload($channel, $observer, $args) { return $ret; } - // This will be the width and height of the smallest representation - - $width_x_height = $ph->getWidth() . 'x' . $ph->getHeight(); - - // Create item container - $item_hidden = (($visible) ? 0 : 1 ); $lat = $lon = null; @@ -248,6 +242,19 @@ function photo_upload($channel, $observer, $args) { } } + $larger = feature_enabled($channel['channel_id'], 'large_photos'); + + if($larger) { + $tag = (($r1wxh) ? '[zmg=' . $r1wxh . ']' : '[zmg]'); + $scale = 1; + } + else { + $tag = (($r2wxh) ? '[zmg=' . $r2wxh . ']' : '[zmg]'); + $scale = 2; + } + + // Create item container + if($args['item']) { foreach($args['item'] as $i) { @@ -257,7 +264,7 @@ function photo_upload($channel, $observer, $args) { if($item['mid'] === $item['parent_mid']) { $item['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']' - . $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]' + . $tag . z_root() . "/photo/{$photo_hash}-{$scale}.".$ph->getExt() . '[/zmg]' . '[/zrl]'; if($item['author_xchan'] === $channel['channel_hash']) { @@ -319,26 +326,8 @@ function photo_upload($channel, $observer, $args) { $arr['item_private'] = intval($acl->is_private()); $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid']; - // We should also put a width_x_height on large photos. Left as an exercise for - // devs looking for simple stuff to fix. - - $larger = feature_enabled($channel['channel_id'], 'large_photos'); - if($larger) { - $tag = '[zmg]'; - if($r2) - $smallest = 1; - else - $smallest = 0; - } - else { - if ($width_x_height) - $tag = '[zmg=' . $width_x_height. ']'; - else - $tag = '[zmg]'; - } - $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']' - . $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]' + . $tag . z_root() . "/photo/{$photo_hash}-{$scale}.".$ph->getExt() . '[/zmg]' . '[/zrl]'; $result = item_store($arr); |