diff options
author | Mario <mario@mariovavti.com> | 2019-04-10 13:25:57 +0200 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2019-04-10 13:25:57 +0200 |
commit | e96fa64625447aed6c2ee83f8bb53007a3b8f8ec (patch) | |
tree | c7ed6f6889cc48a2f217acd76057e887912e2346 /Zotlabs/Module | |
parent | 8dc495c9bcd4e2e59b74913d20b12fada93c5004 (diff) | |
parent | 999ae6eb494dbe7c700d40a2e7557ebee7157d80 (diff) | |
download | volse-hubzilla-e96fa64625447aed6c2ee83f8bb53007a3b8f8ec.tar.gz volse-hubzilla-e96fa64625447aed6c2ee83f8bb53007a3b8f8ec.tar.bz2 volse-hubzilla-e96fa64625447aed6c2ee83f8bb53007a3b8f8ec.zip |
Merge branch 'dev' into 'dev'
Dev
See merge request hubzilla/core!1586
Diffstat (limited to 'Zotlabs/Module')
-rw-r--r-- | Zotlabs/Module/Embedphotos.php | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/Zotlabs/Module/Embedphotos.php b/Zotlabs/Module/Embedphotos.php index 2df14c239..8b0421457 100644 --- a/Zotlabs/Module/Embedphotos.php +++ b/Zotlabs/Module/Embedphotos.php @@ -41,24 +41,44 @@ class Embedphotos extends \Zotlabs\Web\Controller { json_return_and_die(array('errormsg' => 'Error retrieving link ' . $href, 'status' => false)); } $resource_id = array_pop(explode('/', $href)); - $r = q("SELECT obj from item where resource_type = 'photo' and resource_id = '%s' limit 1", - dbesc($resource_id) + $x = self::photolink($resource_id); + if($x) + json_return_and_die(array('status' => true, 'photolink' => $x, 'resource_id' => $resource_id)); + json_return_and_die(array('errormsg' => 'Error retrieving resource ' . $resource_id, 'status' => false)); + } + } + + + protected static function photolink($resource) { + $channel = \App::get_channel(); + $output = EMPTY_STR; + if($channel) { + $resolution = ((feature_enabled($channel['channel_id'],'large_photos')) ? 2 : 3); + $r = q("select mimetype, height, width from photo where resource_id = '%s' and $resolution = %d and uid = %d limit 1", + dbesc($resource), + intval($resolution), + intval($channel['channel_id']) ); - if (!$r) { - json_return_and_die(array('errormsg' => 'Error retrieving resource ' . $resource_id, 'status' => false)); - } - $obj = json_decode($r[0]['obj'], true); - if (x($obj, 'body')) { - $photolink = $obj['body']; - } elseif (x($obj, 'bbcode')) { - $photolink = $obj['bbcode']; - } else { - json_return_and_die(array('errormsg' => 'Error retrieving resource ' . $resource_id, 'status' => false)); - } - json_return_and_die(array('status' => true, 'photolink' => $photolink, 'resource_id' => $resource_id)); + if(! $r) + return $output; + + if($r[0]['mimetype'] === 'image/jpeg') + $ext = '.jpg'; + elseif($r[0]['mimetype'] === 'image/png') + $ext = '.png'; + elseif($r[0]['mimetype'] === 'image/gif') + $ext = '.gif'; + else + $ext = EMPTY_STR; + + $output = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $resource . ']' . + '[zmg=' . $r[0]['width'] . 'x' . $r[0]['height'] . ']' . z_root() . '/photo/' . $resource . '-' . $resolution . $ext . '[/zmg][/zrl]'; + + return $output; } } + /** * @brief Get photos from an album. * |