aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2010-11-21 23:00:01 -0800
committerFriendika <info@friendika.com>2010-11-21 23:00:01 -0800
commitde6c777d3f6753b8fb5f33bc0ee8acafc6772551 (patch)
treeef95d120dd770da99071b195fdc08626981cc639 /include
parent552c56102ea70c6c9e32e13675b564a36814a069 (diff)
downloadvolse-hubzilla-de6c777d3f6753b8fb5f33bc0ee8acafc6772551.tar.gz
volse-hubzilla-de6c777d3f6753b8fb5f33bc0ee8acafc6772551.tar.bz2
volse-hubzilla-de6c777d3f6753b8fb5f33bc0ee8acafc6772551.zip
infrastructure for queueing, redelivery
Diffstat (limited to 'include')
-rw-r--r--include/items.php5
-rw-r--r--include/notifier.php27
-rw-r--r--include/salmon.php4
3 files changed, 31 insertions, 5 deletions
diff --git a/include/items.php b/include/items.php
index 584236f78..b5e901c91 100644
--- a/include/items.php
+++ b/include/items.php
@@ -710,7 +710,10 @@ function dfrn_deliver($owner,$contact,$atom) {
$xml = post_url($contact['notify'],$postvars);
- logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars,true) . "\n" . "RECEIVING: " . $xml);
+ logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars,true) . "\n" . "RECEIVING: " . $xml, LOGGER_DATA);
+
+ if(! strlen($xml))
+ return(-1);
$res = simplexml_load_string($xml);
diff --git a/include/notifier.php b/include/notifier.php
index f22917e4f..bbc4f0047 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -255,10 +255,24 @@
case 'dfrn':
logger('notifier: dfrndelivery: ' . $contact['name']);
$deliver_status = dfrn_deliver($owner,$contact,$atom);
+
+ if($deliver_status == (-1)) {
+ // queue message for redelivery
+
+ }
+
break;
default:
if($followup && $contact['notify']) {
- slapper($owner,$contact['notify'],$slap);
+ logger('notifier: slapdelivery: ' . $contact['name']);
+ $deliver_status = slapper($owner,$contact['notify'],$slap);
+
+ if($deliver_status == (-1)) {
+ // queue message for redelivery
+
+ }
+
+
}
else {
@@ -269,7 +283,13 @@
logger('notifier: slapdelivery: ' . $contact['name']);
foreach($slaps as $slappy) {
if($contact['notify']) {
- slapper($owner,$contact['notify'],$slappy);
+ $deliver_status = slapper($owner,$contact['notify'],$slappy);
+ if($deliver_status == (-1)) {
+ // queue message for redelivery
+ // if not already in queue
+ // else if deliver_status ok and queued, remove from queue
+
+ }
}
}
}
@@ -277,6 +297,7 @@
break;
}
+
if(($cmd === 'mail') && ($deliver_status == 0)) {
$r = q("UPDATE `mail` SET `delivered` = 1 WHERE `id` = %d LIMIT 1",
intval($item_id)
@@ -292,7 +313,7 @@
logger('notifier: urldelivery: ' . $url);
foreach($slaps as $slappy) {
if($url) {
- slapper($owner,$url,$slappy);
+ $deliver_status = slapper($owner,$url,$slappy);
}
}
}
diff --git a/include/salmon.php b/include/salmon.php
index a12b7391e..85bda1c8f 100644
--- a/include/salmon.php
+++ b/include/salmon.php
@@ -205,6 +205,8 @@ EOT;
}
logger('slapper returned ' . $return_code);
- return;
+ if(! $return_code)
+ return(-1);
+ return ((substr($return_code,0,1) === '2') ? 0 : 1);
}