aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2019-04-08 16:45:07 -0700
committerzotlabs <mike@macgirvin.com>2019-04-08 16:45:07 -0700
commitae1450bbcf738cd6557012f40177ed1498e10774 (patch)
tree9928035f3135f8ba0c080d95f4a32fd269bb2be5
parent1ed0079882a74fece2c4097e332b3817e3b37de4 (diff)
downloadvolse-hubzilla-ae1450bbcf738cd6557012f40177ed1498e10774.tar.gz
volse-hubzilla-ae1450bbcf738cd6557012f40177ed1498e10774.tar.bz2
volse-hubzilla-ae1450bbcf738cd6557012f40177ed1498e10774.zip
missing endTime on Zot6 encoded events, optimise the url fetch of embedphotos
-rw-r--r--Zotlabs/Lib/Activity.php46
-rw-r--r--Zotlabs/Module/Embedphotos.php48
2 files changed, 60 insertions, 34 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 5b9d356bb..66aef1f19 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -14,27 +14,30 @@ class Activity {
$x = json_decode($x,true);
}
- if(is_array($x) && array_key_exists('asld',$x)) {
- $x = $x['asld'];
- }
+ if(is_array($x)) {
- if($x['type'] === ACTIVITY_OBJ_PERSON) {
- return self::fetch_person($x);
- }
- if($x['type'] === ACTIVITY_OBJ_PROFILE) {
- return self::fetch_profile($x);
- }
- if(in_array($x['type'], [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE ] )) {
- return self::fetch_item($x);
- }
- if($x['type'] === ACTIVITY_OBJ_THING) {
- return self::fetch_thing($x);
- }
- if($x['type'] === ACTIVITY_OBJ_EVENT) {
- return self::fetch_event($x);
- }
- if($x['type'] === ACTIVITY_OBJ_PHOTO) {
- return self::fetch_image($x);
+ if(array_key_exists('asld',$x)) {
+ return $x['asld'];
+ }
+
+ if($x['type'] === ACTIVITY_OBJ_PERSON) {
+ return self::fetch_person($x);
+ }
+ if($x['type'] === ACTIVITY_OBJ_PROFILE) {
+ return self::fetch_profile($x);
+ }
+ if(in_array($x['type'], [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE ] )) {
+ return self::fetch_item($x);
+ }
+ if($x['type'] === ACTIVITY_OBJ_THING) {
+ return self::fetch_thing($x);
+ }
+ if($x['type'] === ACTIVITY_OBJ_EVENT) {
+ return self::fetch_event($x);
+ }
+ if($x['type'] === ACTIVITY_OBJ_PHOTO) {
+ return self::fetch_image($x);
+ }
}
return $x;
@@ -189,6 +192,9 @@ class Activity {
'source' => [ 'content' => format_event_bbcode($ev), 'mediaType' => 'text/bbcode' ],
'actor' => $actor,
];
+ if(! $ev['nofinish']) {
+ $y['endTime'] => (($ev['adjust']) ? datetime_convert('UTC','UTC',$ev['dtend'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtend'],'Y-m-d\\TH:i:s-00:00'));
+ }
if($actor) {
return $y;
}
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.
*