diff options
Diffstat (limited to 'Zotlabs')
-rw-r--r-- | Zotlabs/Lib/Activity.php | 138 | ||||
-rw-r--r-- | Zotlabs/Module/Profile_photo.php | 4 |
2 files changed, 19 insertions, 123 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 7663131bb..9b3cab9d0 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -530,71 +530,18 @@ class Activity { $ret['attachment'] = $a; } - $public = (($i['item_private']) ? false : true); - $top_level = (($i['mid'] === $i['parent_mid']) ? true : false); - - if ($public) { - + if (intval($i['item_private']) === 0) { $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; - $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))]; } - else { - - // private activity - if ($top_level) { - $ret['to'] = self::map_acl($i); - } - else { - $ret['to'] = []; - if ($ret['tag']) { - foreach ($ret['tag'] as $mention) { - if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) { - $h = q("select * from hubloc where hubloc_id_url = '%s' limit 1", - dbesc($mention['href']) - ); - if ($h) { - if ($h[0]['hubloc_network'] === 'activitypub') { - $addr = $h[0]['hubloc_hash']; - } - else { - $addr = $h[0]['hubloc_id_url']; - } - if (!in_array($addr, $ret['to'])) { - $ret['to'][] = $addr; - } - } - } - } - } - $d = q("select hubloc.* from hubloc left join item on hubloc_hash = owner_xchan where item.id = %d and hubloc_deleted = 0 order by hubloc_id desc limit 1", - intval($i['parent']) - ); - if ($d) { - if ($d[0]['hubloc_network'] === 'activitypub') { - $addr = $d[0]['hubloc_hash']; - } - else { - $addr = $d[0]['hubloc_id_url']; - } - if (!in_array($addr, $ret['to'])) { - $ret['cc'][] = $addr; - } - } - } - } + $hookinfo = [ + 'item' => $i, + 'encoded' => $ret + ]; - $mentions = self::map_mentions($i); - if (count($mentions) > 0) { - if (!$ret['to']) { - $ret['to'] = $mentions; - } - else { - $ret['to'] = array_values(array_unique(array_merge($ret['to'], $mentions))); - } - } + call_hooks('encode_item', $hookinfo); - return $ret; + return $hookinfo['encoded']; } @@ -941,73 +888,18 @@ class Activity { $ret['attachment'] = $a; } - // addressing madness - - $public = (($i['item_private']) ? false : true); - $top_level = (($reply) ? false : true); - - if ($public) { + if (intval($i['item_private']) === 0) { $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; - $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))]; } - else { - // private activity - - if ($top_level) { - $ret['to'] = self::map_acl($i); - } - else { - $ret['to'] = []; - if ($ret['tag']) { - foreach ($ret['tag'] as $mention) { - if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) { - $h = q("select * from hubloc where hubloc_id_url = '%s' limit 1", - dbesc($mention['href']) - ); - if ($h) { - if ($h[0]['hubloc_network'] === 'activitypub') { - $addr = $h[0]['hubloc_hash']; - } - else { - $addr = $h[0]['hubloc_id_url']; - } - if (!in_array($addr, $ret['to'])) { - $ret['to'][] = $addr; - } - } - } - } - } - - $d = q("select hubloc.* from hubloc left join item on hubloc_hash = owner_xchan where item.id = %d and hubloc_deleted = 0 order by hubloc_id desc limit 1", - intval($i['parent']) - ); - if ($d) { - if ($d[0]['hubloc_network'] === 'activitypub') { - $addr = $d[0]['hubloc_hash']; - } - else { - $addr = $d[0]['hubloc_id_url']; - } - if (!in_array($addr, $ret['to'])) { - $ret['cc'][] = $addr; - } - } - } - } + $hookinfo = [ + 'item' => $i, + 'encoded' => $ret + ]; - $mentions = self::map_mentions($i); - if (count($mentions) > 0) { - if (!$ret['to']) { - $ret['to'] = $mentions; - } - else { - $ret['to'] = array_values(array_unique(array_merge($ret['to'], $mentions))); - } - } + call_hooks('encode_activity', $hookinfo); - return $ret; + return $hookinfo['encoded']; } // Returns an array of URLS for any mention tags found in the item array $i. @@ -2942,7 +2834,7 @@ class Activity { } if ($p && $p[0]['obj_type'] === 'Question') { - if ($item['obj_type'] === 'Note' && $item['title'] && (!$item['content'])) { + if ($item['obj_type'] === ACTIVITY_OBJ_COMMENT && $item['title'] && (!$item['body'])) { $item['obj_type'] = 'Answer'; } } diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php index 022efc2cd..a5e87bbe2 100644 --- a/Zotlabs/Module/Profile_photo.php +++ b/Zotlabs/Module/Profile_photo.php @@ -403,6 +403,10 @@ class Profile_photo extends Controller { foreach ($r as $rr) { if ($rr['is_default']) { $default_profile_id = intval($rr['id']); + + if (!$profile_id) { + $profile_id = $default_profile_id; + } } if ($profile_id === intval($rr['id'])) { |