Browse Source

ensuring all non-deliveries get in the queue

pull/1/head
Friendika 11 years ago
parent
commit
0a03a710b3
3 changed files with 41 additions and 24 deletions
  1. +4
    -0
      boot.php
  2. +15
    -3
      include/items.php
  3. +22
    -21
      mod/dfrn_notify.php

+ 4
- 0
boot.php View File

@ -416,6 +416,8 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
if($binary)
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$a->set_curl_code(0);
$s = curl_exec($ch);
$http_code = intval(curl_getinfo($ch, CURLINFO_HTTP_CODE));
@ -474,6 +476,8 @@ function post_url($url,$params, $headers = null, &$redirects = 0) {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr);
}
$a->set_curl_code(0);
$s = curl_exec($ch);
$http_code = intval(curl_getinfo($ch, CURLINFO_HTTP_CODE));


+ 15
- 3
include/items.php View File

@ -536,7 +536,6 @@ function item_store($arr) {
$arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
$arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
$arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : '');
$arr['body'] = ((x($arr,'body')) ? escape_tags(trim($arr['body'])) : '');
$arr['last-child'] = ((x($arr,'last-child')) ? intval($arr['last-child']) : 0 );
$arr['visible'] = ((x($arr,'visible') !== false) ? intval($arr['visible']) : 1 );
$arr['deleted'] = 0;
@ -550,6 +549,13 @@ function item_store($arr) {
$arr['allow_gid'] = ((x($arr,'allow_gid')) ? trim($arr['allow_gid']) : '');
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
$arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
$arr['body'] = ((x($arr,'body')) ? escape_tags(trim($arr['body'])) : '');
// The content body has been through a lot of filtering and transport escaping by now.
// We don't want to skip any filters, however a side effect of all this filtering
// is that ampersands will have been double encoded.
$arr['body'] = str_replace('&','&',$arr['body']);
@ -640,6 +646,7 @@ function get_item_contact($item,$contacts) {
function dfrn_deliver($owner,$contact,$atom) {
$a = get_app();
if((! strlen($contact['dfrn-id'])) && (! $contact['duplex']) && (! ($owner['page-flags'] == PAGE_COMMUNITY)))
return 3;
@ -657,6 +664,10 @@ function dfrn_deliver($owner,$contact,$atom) {
$xml = fetch_url($url);
$curl_stat = $a->get_curl_code();
if(! $curl_stat)
return(-1); // timed out
logger('dfrn_deliver: ' . $xml);
if(! $xml)
@ -711,8 +722,9 @@ function dfrn_deliver($owner,$contact,$atom) {
logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars,true) . "\n" . "RECEIVING: " . $xml, LOGGER_DATA);
if(! strlen($xml))
return(-1);
$curl_stat = $a->get_curl_code();
if((! $curl_stat) || (! strlen($xml)))
return(-1); // timed out
$res = simplexml_load_string($xml);


+ 22
- 21
mod/dfrn_notify.php View File

@ -149,6 +149,8 @@ function dfrn_notify_post(&$a) {
xml_status(0);
// NOTREACHED
}
logger('dfrn_notify: feed item count = ' . $feed->get_item_quantity());
foreach($feed->get_items() as $item) {
@ -223,6 +225,7 @@ function dfrn_notify_post(&$a) {
if($is_reply) {
if($feed->get_item_quantity() == 1) {
logger('dfrn_notify: received remote comment');
// remote reply to our post. Import and then notify everybody else.
$datarray = get_atom_elements($feed,$item);
$datarray['type'] = 'remote-comment';
@ -254,29 +257,27 @@ function dfrn_notify_post(&$a) {
intval($posted_id)
);
if($datarray['type'] == 'remote-comment') {
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"comment-import\" \"$posted_id\" &",
array(),$foo));
if(($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
require_once('bbcode.php');
$from = stripslashes($datarray['author-name']);
$tpl = load_view_file('view/cmnt_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $importer['username'],
'$email' => $importer['email'],
'$display' => $a->get_baseurl() . '/display/' . $posted_id,
'$from' => $from,
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"comment-import\" \"$posted_id\" &",
array(),$foo));
if(($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
require_once('bbcode.php');
$from = stripslashes($datarray['author-name']);
$tpl = load_view_file('view/cmnt_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $importer['username'],
'$email' => $importer['email'],
'$display' => $a->get_baseurl() . '/display/' . $posted_id,
'$from' => $from,
'$body' => strip_tags(bbcode(stripslashes($datarray['body'])))
));
));
$res = mail($importer['email'], $from . t(" commented on your item at ") . $a->config['sitename'],
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
}
$res = mail($importer['email'], $from . t(" commented on your item at ") . $a->config['sitename'],
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
}
}
xml_status(0);


Loading…
Cancel
Save