diff options
author | Friendika <info@friendika.com> | 2011-08-15 17:14:51 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-08-15 17:14:51 -0700 |
commit | 44918e27367d00d3625daaf751a05b166ecd2fc1 (patch) | |
tree | fe6789952ea48673924f2d83c6a217185c908c7c /mod | |
parent | 805770521eebdd0bc6ddfb2f174a76e0646557fc (diff) | |
download | volse-hubzilla-44918e27367d00d3625daaf751a05b166ecd2fc1.tar.gz volse-hubzilla-44918e27367d00d3625daaf751a05b166ecd2fc1.tar.bz2 volse-hubzilla-44918e27367d00d3625daaf751a05b166ecd2fc1.zip |
turn diaspora posts into x-www-form-urlencoded
Diffstat (limited to 'mod')
-rw-r--r-- | mod/receive.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/mod/receive.php b/mod/receive.php index 43f8c7bbc..46b1f2745 100644 --- a/mod/receive.php +++ b/mod/receive.php @@ -26,6 +26,9 @@ function receive_post(&$a) { $importer = $r[0]; + // I really don't know why we need urldecode - PHP should be doing this for us. + // It is an application/x-www-form-urlencoded + $xml = urldecode($_POST['xml']); logger('mod-diaspora: new salmon ' . $xml, LOGGER_DATA); @@ -34,6 +37,9 @@ function receive_post(&$a) { http_status_exit(500); $msg = diaspora_decode($importer,$xml); + + logger('mod-diaspora: decoded msg: ' . $msg, LOGGER_DATA); + if(! $msg) http_status_exit(500); @@ -58,21 +64,23 @@ function receive_post(&$a) { // is this a follower? Or have we ignored the person? // If so we can not accept this post. // However we will accept a sharing e.g. friend request + // or a retraction of same. - if((count($r)) && (($r[0]['readonly']) || ($r[0]['rel'] == CONTACT_IS_FOLLOWER) || ($r[0]['blocked']))) { - if(! $xmlbase->request) { + + $allow_blocked = (($xmlbase->request || ($xmlbase->retraction && $xmlbase->retraction->type == 'Person')) ? true : false); + + if((count($r)) + && (($r[0]['rel'] == CONTACT_IS_FOLLOWER) || ($r[0]['blocked']) || ($r[0]['readonly'])) + && (! $allow_blocked)) { logger('mod-diaspora: Ignoring this author.'); http_status_exit(202); // NOTREACHED - } } require_once('include/items.php'); $contact = ((count($r)) ? $r[0] : null); - logger('diaspora msg: ' . $msg, LOGGER_DATA); - if($xmlbase->request) { diaspora_request($importer,$contact,$xmlbase->request); } |