diff options
author | Olivier Migeot <olivier@migeot.org> | 2011-10-04 11:45:57 +0200 |
---|---|---|
committer | Olivier Migeot <olivier@migeot.org> | 2011-10-04 11:45:57 +0200 |
commit | 273594af62c960b5a52da5ec1cf6d6bd450415ba (patch) | |
tree | 5f79914d28c343f7642ecb13b99f9e0e3f5090a7 /mod/receive.php | |
parent | 1548449586f17c0ef9bfab0ffb16f2a495fc6082 (diff) | |
parent | dfd5cc57c2134067dc6229b8583b5e808f160004 (diff) | |
download | volse-hubzilla-273594af62c960b5a52da5ec1cf6d6bd450415ba.tar.gz volse-hubzilla-273594af62c960b5a52da5ec1cf6d6bd450415ba.tar.bz2 volse-hubzilla-273594af62c960b5a52da5ec1cf6d6bd450415ba.zip |
Merge remote branch 'upstream/master'
Diffstat (limited to 'mod/receive.php')
-rw-r--r-- | mod/receive.php | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/mod/receive.php b/mod/receive.php index 34128518b..950bf0bd3 100644 --- a/mod/receive.php +++ b/mod/receive.php @@ -12,18 +12,26 @@ require_once('include/diaspora.php'); function receive_post(&$a) { - if($a->argc != 3 || $a->argv[1] !== 'users') - http_status_exit(500); + $public = false; - $guid = $a->argv[2]; + if(($a->argc == 2) && ($a->argv[1] === 'public')) { + $public = true; + } + else { - $r = q("SELECT * FROM `user` WHERE `guid` = '%s' LIMIT 1", - dbesc($guid) - ); - if(! count($r)) - http_status_exit(500); + if($a->argc != 3 || $a->argv[1] !== 'users') + http_status_exit(500); + + $guid = $a->argv[2]; + + $r = q("SELECT * FROM `user` WHERE `guid` = '%s' AND `account_expired` = 0 LIMIT 1", + dbesc($guid) + ); + if(! count($r)) + http_status_exit(500); - $importer = $r[0]; + $importer = $r[0]; + } // It is an application/x-www-form-urlencoded @@ -41,9 +49,13 @@ function receive_post(&$a) { if(! is_array($msg)) http_status_exit(500); - diaspora_dispatch($importer,$msg); + $ret = 0; + if($public) + diaspora_dispatch_public($msg); + else + $ret = diaspora_dispatch($importer,$msg); - http_status_exit(200); + http_status_exit(($ret) ? $ret : 200); // NOTREACHED } |