aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
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);
}