From 7b4a92146fd905c4fdecd800f07e81dabeeb6962 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 2 Dec 2012 20:54:20 -0800 Subject: local delivery --- include/deliver.php | 25 ++++++++++++++++++------- include/zot.php | 5 +++-- 2 files changed, 21 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/deliver.php b/include/deliver.php index df1596c10..546b75785 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -20,16 +20,27 @@ function deliver_run($argv, $argc) { dbesc($argv[$x]) ); if($r) { - $result = zot_zot($r[0]['outq_posturl'],$r[0]['outq_notify']); - if($result['success']) { - zot_process_response($result, $r[0]); - } - else { - $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1", - dbesc(datetime_convert()), + if($r[0]['outq_posturl'] === z_root() . '/post') { + // local delivery + // we should probably batch these and save a few delivery processes + $msg = array('body' => json_encode(array('pickup' => array(array('notify' => json_decode($r[0]['outq_notify'],true),'message' => json_decode($r[0]['outq_msg'],true)))))); + zot_import($msg); + $r = q("delete from outq where outq_hash = '%s' limit 1", dbesc($argv[$x]) ); } + else { + $result = zot_zot($r[0]['outq_posturl'],$r[0]['outq_notify']); + if($result['success']) { + zot_process_response($result, $r[0]); + } + else { + $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1", + dbesc(datetime_convert()), + dbesc($argv[$x]) + ); + } + } } } } diff --git a/include/zot.php b/include/zot.php index 0aaea7188..20752a291 100644 --- a/include/zot.php +++ b/include/zot.php @@ -703,15 +703,16 @@ function zot_import($arr) { logger('Activity received: ' . print_r($arr,true)); logger('Activity recipients: ' . print_r($deliveries,true)); -dbg(1); + $relay = ((array_key_exists('flags',$i['message']) && in_array('relay',$i['message']['flags'])) ? true : false); process_delivery($i['notify']['sender'],$arr,$deliveries,$relay); -dbg(0); + } elseif($i['message']['type'] === 'mail') { } } + } } } -- cgit v1.2.3