From d31d3df4eafcc3e80f120fc4b23ced2e2ed4969d Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 10 Feb 2016 19:12:28 -0800 Subject: hook changes to support pubsubhubbub --- boot.php | 2 +- include/notifier.php | 34 +++++++++++++++++++++++++++++++--- include/queue_fn.php | 2 +- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/boot.php b/boot.php index cc46cf870..cbc8f633a 100755 --- a/boot.php +++ b/boot.php @@ -48,7 +48,7 @@ require_once('include/AccessList.php'); define ( 'PLATFORM_NAME', 'hubzilla' ); define ( 'RED_VERSION', trim(file_get_contents('version.inc'))); -define ( 'STD_VERSION', '1.2.1' ); +define ( 'STD_VERSION', '1.2.2' ); define ( 'ZOT_REVISION', 1 ); define ( 'DB_UPDATE_VERSION', 1161 ); diff --git a/include/notifier.php b/include/notifier.php index 5260e629f..93cc77a1c 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -423,6 +423,7 @@ function notifier_run($argv, $argc){ $details = q("select xchan_hash, xchan_instance_url, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . implode(',',$recipients) . ")"); + $recip_list = array(); if($details) { @@ -437,12 +438,39 @@ function notifier_run($argv, $argc){ if(! $delivery_options) format_and_send_email($channel,$d,$target_item); } + } + } - - } + $narr = array( + 'channel' => $channel, + 'env_recips' => $env_recips, + 'packet_recips' => $packet_recips, + 'recipients' => $recipients, + 'item' => $item, + 'target_item' => $target_item, + 'top_level_post' => $top_level_post, + 'private' => $private, + 'followup' => $followup, + 'relay_to_owner' => $relay_to_owner, + 'uplink' => $uplink, + 'cmd' => $cmd, + 'mail' => $mail, + 'location' => $location, + 'request' => $request, + 'normal_mode' => $normal_mode, + 'packet_type' => $packet_type, + 'walltowall' => $walltowall, + 'queued' => array() + ); + + call_hooks('notifier_process', $narr); + if($narr['queued']) { + foreach($narr['queued'] as $pq) + $deliveries[] = $pq; } + if(($private) && (! $env_recips)) { // shouldn't happen logger('notifier: private message with no envelope recipients.' . print_r($argv,true), LOGGER_NORMAL, LOG_NOTICE); @@ -504,7 +532,7 @@ function notifier_run($argv, $argc){ } logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG, LOG_DEBUG); - + foreach($dhubs as $hub) { diff --git a/include/queue_fn.php b/include/queue_fn.php index 0708aab56..3112a832b 100644 --- a/include/queue_fn.php +++ b/include/queue_fn.php @@ -101,7 +101,7 @@ function queue_deliver($outq, $immediate = false) { } } - $arr = array('outq' => $outq, 'handled' => false, 'immediate' => $immediate); + $arr = array('outq' => $outq, 'base' => $base, 'handled' => false, 'immediate' => $immediate); call_hooks('queue_deliver',$arr); if($arr['handled']) return; -- cgit v1.2.3