DFRN: Improved delivery status handling
This commit is contained in:
@@ -1281,7 +1281,11 @@ class dfrn {
|
||||
|
||||
$res = parse_xml_string($xml);
|
||||
|
||||
return $res->status;
|
||||
if (!isset($res->status)) {
|
||||
return -11;
|
||||
}
|
||||
|
||||
return intval($res->status);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2800,19 +2804,20 @@ class dfrn {
|
||||
* @param text $xml The DFRN message
|
||||
* @param array $importer Record of the importer user mixed with contact of the content
|
||||
* @param bool $sort_by_date Is used when feeds are polled
|
||||
* @return integer Import status
|
||||
* @todo set proper type-hints
|
||||
*/
|
||||
public static function import($xml,$importer, $sort_by_date = false) {
|
||||
public static function import($xml, $importer, $sort_by_date = false) {
|
||||
|
||||
if ($xml == "") {
|
||||
return;
|
||||
return 400;
|
||||
}
|
||||
|
||||
if ($importer["readonly"]) {
|
||||
// We aren't receiving stuff from this person. But we will quietly ignore them
|
||||
// rather than a blatant "go away" message.
|
||||
logger('ignoring contact '.$importer["id"]);
|
||||
return;
|
||||
return 403;
|
||||
}
|
||||
|
||||
$doc = new DOMDocument();
|
||||
@@ -2917,5 +2922,6 @@ class dfrn {
|
||||
}
|
||||
}
|
||||
logger("Import done for user " . $importer["uid"] . " from contact " . $importer["id"], LOGGER_DEBUG);
|
||||
return 200;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,14 +372,22 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||
|
||||
function xml_status($st, $message = '') {
|
||||
|
||||
$xml_message = ((strlen($message)) ? "\t<message>" . xmlify($message) . "</message>\r\n" : '');
|
||||
$result = array('status' => $st);
|
||||
|
||||
if ($st)
|
||||
if ($message != '') {
|
||||
$result['message'] = $message;
|
||||
}
|
||||
|
||||
if ($st) {
|
||||
logger('xml_status returning non_zero: ' . $st . " message=" . $message);
|
||||
}
|
||||
|
||||
header("Content-type: text/xml");
|
||||
|
||||
$xmldata = array("result" => $result);
|
||||
|
||||
echo xml::from_array($xmldata, $xml);
|
||||
|
||||
header( "Content-type: text/xml" );
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
|
||||
echo "<result>\r\n\t<status>$st</status>\r\n$xml_message</result>\r\n";
|
||||
killme();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user