aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs')
-rw-r--r--Zotlabs/Daemon/Notifier.php6
-rw-r--r--Zotlabs/Lib/Activity.php12
-rw-r--r--Zotlabs/Module/Activity.php17
-rw-r--r--Zotlabs/Module/Item.php14
4 files changed, 42 insertions, 7 deletions
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index 02a0e155f..741078422 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -331,6 +331,12 @@ class Notifier {
return;
}
+ // follow/unfollow is for internal use only
+ if (in_array($target_item['verb'], [ACTIVITY_FOLLOW, ACTIVITY_UNFOLLOW])) {
+ logger('not fowarding follow/unfollow note activity');
+ return;
+ }
+
if (strpos($target_item['postopts'], 'nodeliver') !== false) {
logger('notifier: target item is undeliverable', LOGGER_DEBUG);
return;
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 9370c2aa5..882bf4a1c 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -379,6 +379,8 @@ class Activity {
$ret = [];
+
+
if ($i['verb'] === ACTIVITY_FRIEND) {
// Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note
$objtype = 'Note';
@@ -724,7 +726,6 @@ class Activity {
$ret = [];
$reply = false;
-
if ($i['verb'] === ACTIVITY_FRIEND) {
// Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note
$ret['obj'] = [];
@@ -2098,6 +2099,15 @@ class Activity {
static function decode_note($act) {
+ // Within our family of projects, Follow/Unfollow of a thread is an internal activity which should not be transmitted,
+ // hence if we receive it - ignore or reject it.
+ // Unfollow is not defined by ActivityStreams, which prefers Undo->Follow.
+ // This may have to be revisited if AP projects start using Follow for objects other than actors.
+
+ if (in_array($act->type, [ 'Follow', 'Unfollow' ])) {
+ return false;
+ }
+
$response_activity = false;
$s = [];
diff --git a/Zotlabs/Module/Activity.php b/Zotlabs/Module/Activity.php
index 48f2663cf..2fbc35274 100644
--- a/Zotlabs/Module/Activity.php
+++ b/Zotlabs/Module/Activity.php
@@ -26,7 +26,12 @@ class Activity extends Controller {
$portable_id = EMPTY_STR;
- $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 ";
+ $item_normal_extra = sprintf(" and not verb in ('%s', '%s') ",
+ dbesc(ACTIVITY_FOLLOW),
+ dbesc(ACTIVITY_UNFOLLOW)
+ );
+
+ $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 $item_normal_extra ";
$i = null;
@@ -86,7 +91,7 @@ class Activity extends Controller {
}
$parents_str = ids_to_querystr($i,'item_id');
-
+
$items = q("SELECT item.*, item.id AS item_id FROM item WHERE item.parent IN ( %s ) $item_normal ",
dbesc($parents_str)
);
@@ -197,8 +202,12 @@ class Activity extends Controller {
}
}
- $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0
- and item.item_delayed = 0 and item.item_blocked = 0 ";
+ $item_normal_extra = sprintf(" and not verb in ('%s', '%s') ",
+ dbesc(ACTIVITY_FOLLOW),
+ dbesc(ACTIVITY_UNFOLLOW)
+ );
+
+ $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 $item_normal_extra ";
$sigdata = HTTPSig::verify(EMPTY_STR);
if ($sigdata['portable_id'] && $sigdata['header_valid']) {
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 32c146bce..ff52babf5 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -55,7 +55,12 @@ class Item extends Controller {
$portable_id = EMPTY_STR;
- $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 ";
+ $item_normal_extra = sprintf(" and not verb in ('%s', '%s') ",
+ dbesc(ACTIVITY_FOLLOW),
+ dbesc(ACTIVITY_UNFOLLOW)
+ );
+
+ $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 $item_normal_extra ";
$i = null;
@@ -167,7 +172,12 @@ class Item extends Controller {
$portable_id = EMPTY_STR;
- $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 ";
+ $item_normal_extra = sprintf(" and not verb in ('%s', '%s') ",
+ dbesc(ACTIVITY_FOLLOW),
+ dbesc(ACTIVITY_UNFOLLOW)
+ );
+
+ $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_blocked = 0 $item_normal_extra ";
$i = null;