aboutsummaryrefslogtreecommitdiffstats
path: root/include/zot.php
diff options
context:
space:
mode:
authormrjive <mrjive@mrjive.it>2015-09-23 17:13:55 +0200
committermrjive <mrjive@mrjive.it>2015-09-23 17:13:55 +0200
commit006ca4421a7027ccee4612beb99a1f9976146070 (patch)
tree114c0dc95c4cf3baa514de13ca2ed0c1759dd388 /include/zot.php
parent5ec3d3e36d8bb7918b844b4ebbeb878c4b45e30d (diff)
parentf506f73d3fc80fb68f63f654b5e93a6920780d6f (diff)
downloadvolse-hubzilla-006ca4421a7027ccee4612beb99a1f9976146070.tar.gz
volse-hubzilla-006ca4421a7027ccee4612beb99a1f9976146070.tar.bz2
volse-hubzilla-006ca4421a7027ccee4612beb99a1f9976146070.zip
Merge pull request #4 from redmatrix/master
updating from original codebase
Diffstat (limited to 'include/zot.php')
-rw-r--r--include/zot.php38
1 files changed, 30 insertions, 8 deletions
diff --git a/include/zot.php b/include/zot.php
index fb55da0fa..288493b07 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -957,7 +957,7 @@ function zot_process_response($hub, $arr, $outq) {
logger('zot_process_response: headers: ' . print_r($arr['header'],true), LOGGER_DATA);
}
- if(array_key_exists('delivery_report',$x)) {
+ if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) {
foreach($x['delivery_report'] as $xx) {
if(is_array($xx) && array_key_exists('message_id',$xx)) {
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s','%s','%s','%s','%s' ) ",
@@ -1583,11 +1583,12 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
$DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
- if($d['hash'] === $sender['hash']) {
- $DR->update('self delivery ignored');
- $result[] = $DR->get();
- continue;
- }
+// uncomment this once we find out what's stopping the clone sync of the item from working
+// if($d['hash'] === $sender['hash']) {
+// $DR->update('self delivery ignored');
+// $result[] = $DR->get();
+// continue;
+// }
// allow public postings to the sys channel regardless of permissions, but not
@@ -2815,7 +2816,7 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
$channel = $r[0];
- $h = q("select * from hubloc where hubloc_hash = '%s'",
+ $h = q("select * from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0",
dbesc($channel['channel_hash'])
);
@@ -3311,7 +3312,27 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
}
- $result[] = array($d['hash'],'channel sync updated',$channel['channel_name'],'');
+
+ if(array_key_exists('item',$arr) && $arr['item'])
+ sync_items($channel,$arr['item']);
+
+ if(array_key_exists('item_id',$arr) && $arr['item_id'])
+ sync_items($channel,$arr['item_id']);
+
+
+ // we should probably do this for all items, but usually we only send one.
+
+ require_once('include/DReport.php');
+
+ if(array_key_exists('item',$arr) && is_array($arr['item'][0])) {
+ $DR = new DReport(z_root(),$d['hash'],$d['hash'],$arr['item'][0]['message_id'],'channel sync processed');
+ $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
+ }
+ else
+ $DR = new DReport(z_root(),$d['hash'],$d['hash'],'sync packet','channel sync delivered');
+
+ $result[] = $DR->get();
+
}
return $result;
@@ -3753,4 +3774,5 @@ function zotinfo($arr) {
}
call_hooks('zot_finger',$ret);
return($ret);
+
}