aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Daemon/Notifier.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-10-10 18:40:02 -0700
committerzotlabs <mike@macgirvin.com>2017-10-10 18:40:02 -0700
commit69394c1680cc72b5c4b43c8d321a5348ca75be35 (patch)
tree2af27840af4824d654876c4439899b5fef5dd883 /Zotlabs/Daemon/Notifier.php
parent4203d43c58044582fdab9e46cddef7e7fa7b23fa (diff)
downloadvolse-hubzilla-69394c1680cc72b5c4b43c8d321a5348ca75be35.tar.gz
volse-hubzilla-69394c1680cc72b5c4b43c8d321a5348ca75be35.tar.bz2
volse-hubzilla-69394c1680cc72b5c4b43c8d321a5348ca75be35.zip
re-implement single delivery
Diffstat (limited to 'Zotlabs/Daemon/Notifier.php')
-rw-r--r--Zotlabs/Daemon/Notifier.php23
1 files changed, 20 insertions, 3 deletions
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index 5f8490b06..84212270f 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -66,6 +66,8 @@ require_once('include/bbcode.php');
* purge_all channel_id
* expire channel_id
* relay item_id (item was relayed to owner, we will deliver it as owner)
+ * single_activity item_id (deliver to a singleton network from the appropriate clone)
+ * single_mail mail_id (deliver to a singleton network from the appropriate clone)
* location channel_id
* request channel_id xchan_hash message_id
* rating xlink_id
@@ -106,7 +108,7 @@ class Notifier {
$normal_mode = true;
$packet_type = 'undefined';
- if($cmd === 'mail') {
+ if($cmd === 'mail' || $cmd === 'single_mail') {
$normal_mode = false;
$mail = true;
$private = true;
@@ -466,7 +468,7 @@ class Notifier {
'uplink' => $uplink,
'cmd' => $cmd,
'mail' => $mail,
- 'single' => false,
+ 'single' => (($cmd === 'single_mail' || $cmd === 'single_activity') ? true : false),
'location' => $location,
'request' => $request,
'normal_mode' => $normal_mode,
@@ -574,7 +576,7 @@ class Notifier {
'uplink' => $uplink,
'cmd' => $cmd,
'mail' => $mail,
- 'single' => false,
+ 'single' => (($cmd === 'single_mail' || $cmd === 'single_activity') ? true : false),
'location' => $location,
'request' => $request,
'normal_mode' => $normal_mode,
@@ -593,6 +595,21 @@ class Notifier {
}
+ // singleton deliveries by definition 'not got zot'.
+ // Single deliveries are other federated networks (plugins) and we're essentially
+ // delivering only to those that have this site url in their abook_instance
+ // and only from within a sync operation. This means if you post from a clone,
+ // and a connection is connected to one of your other clones; assuming that hub
+ // is running it will receive a sync packet. On receipt of this sync packet it
+ // will invoke a delivery to those connections which are connected to just that
+ // hub instance.
+
+ if($cmd === 'single_mail' || $cmd === 'single_activity') {
+ continue;
+ }
+
+ // default: zot protocol
+
$hash = random_string();
$packet = null;
$pmsg = '';