add zot6 delivery method
This commit is contained in:
parent
d56e1f6285
commit
c80ac58eff
@ -672,6 +672,7 @@ class Notifier {
|
|||||||
'account_id' => $target_item['aid'],
|
'account_id' => $target_item['aid'],
|
||||||
'channel_id' => $target_item['uid'],
|
'channel_id' => $target_item['uid'],
|
||||||
'posturl' => $hub['hubloc_callback'],
|
'posturl' => $hub['hubloc_callback'],
|
||||||
|
'driver' => $hub['hubloc_network'],
|
||||||
'notify' => $packet,
|
'notify' => $packet,
|
||||||
'msg' => json_encode($encoded_item)
|
'msg' => json_encode($encoded_item)
|
||||||
]
|
]
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<?php /** @file */
|
<?php /** @file */
|
||||||
|
|
||||||
|
use Zotlabs\Lib\Libzot;
|
||||||
|
use Zotlabs\Zot6\Receiver;
|
||||||
|
use Zotlabs\Zot6\Zot6Handler;
|
||||||
|
|
||||||
function update_queue_item($id, $add_priority = 0) {
|
function update_queue_item($id, $add_priority = 0) {
|
||||||
logger('queue: requeue item ' . $id,LOGGER_DEBUG);
|
logger('queue: requeue item ' . $id,LOGGER_DEBUG);
|
||||||
$x = q("select outq_created, outq_posturl from outq where outq_hash = '%s' limit 1",
|
$x = q("select outq_created, outq_posturl from outq where outq_hash = '%s' limit 1",
|
||||||
@ -226,37 +230,86 @@ function queue_deliver($outq, $immediate = false) {
|
|||||||
|
|
||||||
logger('deliver: dest: ' . $outq['outq_posturl'], LOGGER_DEBUG);
|
logger('deliver: dest: ' . $outq['outq_posturl'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$channel = null;
|
if($outq['outq_driver'] === 'zot6') {
|
||||||
|
|
||||||
if($outq['outq_msg'] && $outq['outq_channel']) {
|
if($outq['outq_posturl'] === z_root() . '/zot') {
|
||||||
$channel = channelx_by_n($outq['outq_channel']);
|
// local delivery
|
||||||
}
|
$zot = new Receiver(new Zot6Handler(),$outq['outq_notify']);
|
||||||
|
$result = $zot->run(true);
|
||||||
|
logger('returned_json: ' . json_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DATA);
|
||||||
|
logger('deliver: local zot delivery succeeded to ' . $outq['outq_posturl']);
|
||||||
|
Libzot::process_response($outq['outq_posturl'],[ 'success' => true, 'body' => json_encode($result) ], $outq);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger('remote');
|
||||||
|
$channel = null;
|
||||||
|
|
||||||
$host_crypto = null;
|
if($outq['outq_channel']) {
|
||||||
|
$channel = channelx_by_n($outq['outq_channel']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$host_crypto = null;
|
||||||
|
if($channel && $base) {
|
||||||
|
$h = q("select hubloc_sitekey, site_crypto from hubloc left join site on hubloc_url = site_url where site_url = '%s' and\
|
||||||
|
hubloc_network = 'zot6' order by hubloc_id desc limit 1",
|
||||||
|
dbesc($base)
|
||||||
|
);
|
||||||
|
if($h) {
|
||||||
|
$host_crypto = $h[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$msg = $outq['outq_notify'];
|
||||||
|
|
||||||
|
$result = Libzot::zot($outq['outq_posturl'],$msg,$channel,$host_crypto);
|
||||||
|
|
||||||
|
if($result['success']) {
|
||||||
|
logger('deliver: remote zot delivery succeeded to ' . $outq['outq_posturl']);
|
||||||
|
Libzot::process_response($outq['outq_posturl'],$result, $outq);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger('deliver: remote zot delivery failed to ' . $outq['outq_posturl']);
|
||||||
|
logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA);
|
||||||
|
update_queue_item($outq['outq_hash'],10);
|
||||||
|
}
|
||||||
|
|
||||||
if($channel && $base) {
|
|
||||||
$h = q("select hubloc_sitekey, site_crypto from hubloc left join site on hubloc_url = site_url where site_url = '%s' order by hubloc_id desc limit 1",
|
|
||||||
dbesc($base)
|
|
||||||
);
|
|
||||||
if($h) {
|
|
||||||
$host_crypto = $h[0];
|
|
||||||
}
|
}
|
||||||
}
|
return;
|
||||||
|
|
||||||
$msg = $outq['outq_notify'];
|
|
||||||
|
|
||||||
$result = zot_zot($outq['outq_posturl'],$msg,$channel,$host_crypto);
|
|
||||||
|
|
||||||
|
|
||||||
if($result['success']) {
|
|
||||||
logger('deliver: remote zot delivery succeeded to ' . $outq['outq_posturl']);
|
|
||||||
zot_process_response($outq['outq_posturl'],$result, $outq);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger('deliver: remote zot delivery failed to ' . $outq['outq_posturl']);
|
|
||||||
logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA);
|
|
||||||
update_queue_item($outq['outq_hash'],10);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
$channel = null;
|
||||||
|
|
||||||
|
if($outq['outq_msg'] && $outq['outq_channel']) {
|
||||||
|
$channel = channelx_by_n($outq['outq_channel']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$host_crypto = null;
|
||||||
|
|
||||||
|
if($channel && $base) {
|
||||||
|
$h = q("select hubloc_sitekey, site_crypto from hubloc left join site on hubloc_url = site_url where site_url = '%s' order by hubloc_id desc limit 1",
|
||||||
|
dbesc($base)
|
||||||
|
);
|
||||||
|
if($h) {
|
||||||
|
$host_crypto = $h[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$msg = $outq['outq_notify'];
|
||||||
|
|
||||||
|
$result = zot_zot($outq['outq_posturl'],$msg,$channel,$host_crypto);
|
||||||
|
|
||||||
|
|
||||||
|
if($result['success']) {
|
||||||
|
logger('deliver: remote zot delivery succeeded to ' . $outq['outq_posturl']);
|
||||||
|
zot_process_response($outq['outq_posturl'],$result, $outq);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger('deliver: remote zot delivery failed to ' . $outq['outq_posturl']);
|
||||||
|
logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA);
|
||||||
|
update_queue_item($outq['outq_hash'],10);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user