aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs')
-rw-r--r--Zotlabs/Lib/Activity.php138
-rw-r--r--Zotlabs/Module/Profile_photo.php4
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'])) {