aboutsummaryrefslogtreecommitdiffstats
path: root/mod/receive.php
diff options
context:
space:
mode:
authorOlivier Migeot <olivier@migeot.org>2011-10-04 11:45:57 +0200
committerOlivier Migeot <olivier@migeot.org>2011-10-04 11:45:57 +0200
commit273594af62c960b5a52da5ec1cf6d6bd450415ba (patch)
tree5f79914d28c343f7642ecb13b99f9e0e3f5090a7 /mod/receive.php
parent1548449586f17c0ef9bfab0ffb16f2a495fc6082 (diff)
parentdfd5cc57c2134067dc6229b8583b5e808f160004 (diff)
downloadvolse-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.php34
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
}