diff options
author | habeascodice <habeascodice@federated.social> | 2014-11-01 03:04:11 -0700 |
---|---|---|
committer | habeascodice <habeascodice@federated.social> | 2014-11-01 03:04:11 -0700 |
commit | 31376de0665091f2dba04755562ccd238d57a13c (patch) | |
tree | ae59c8697b9fd20c33aeaf8acb3a698b63e9657b /include/deliver.php | |
parent | c854f8c238da2df08b52249142ad24ef66e422d1 (diff) | |
parent | 50c16c394fe2d966c62d30930600212a4e33303e (diff) | |
download | volse-hubzilla-31376de0665091f2dba04755562ccd238d57a13c.tar.gz volse-hubzilla-31376de0665091f2dba04755562ccd238d57a13c.tar.bz2 volse-hubzilla-31376de0665091f2dba04755562ccd238d57a13c.zip |
Merge remote branch 'upstream/master'
Diffstat (limited to 'include/deliver.php')
-rw-r--r-- | include/deliver.php | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/include/deliver.php b/include/deliver.php index f4fae6061..8f6ba543d 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -38,15 +38,30 @@ function deliver_run($argv, $argc) { continue; } - if($r[0]['outq_posturl'] === z_root() . '/post') { + $notify = json_decode($r[0]['outq_notify'],true); + + $sendtoweb = false; + if(array_key_exists('iv',$notify) && (! $r[0]['outq_msg'])) + $sendtoweb = true; + + if(($r[0]['outq_posturl'] === z_root() . '/post') && (! $sendtoweb)) { logger('deliver: local delivery', LOGGER_DEBUG); // local delivery // we should probably batch these and save a few delivery processes // If there is no outq_msg, this is a refresh_all message which does not require local handling + // also send 'request' packets to the webservice so it can decode the packet if($r[0]['outq_msg']) { - $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,z_root()); + $m = json_decode($r[0]['outq_msg'],true); + if(array_key_exists('message_list',$m)) { + foreach($m['message_list'] as $mm) { + $msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $mm))))); + zot_import($msg,z_root()); + } + } + else { + $msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $m))))); + zot_import($msg,z_root()); + } $r = q("delete from outq where outq_hash = '%s' limit 1", dbesc($argv[$x]) ); |