aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-09-14 19:33:42 -0700
committerFriendika <info@friendika.com>2011-09-14 19:33:42 -0700
commit5c0e135fe98fc91cee32e065c81e7a440c25ee2c (patch)
tree08dd94a263506010ba51b152878571cffaef59a9 /mod
parent93c235a912aa4d413dd00e636c211fe53b5c1553 (diff)
downloadvolse-hubzilla-5c0e135fe98fc91cee32e065c81e7a440c25ee2c.tar.gz
volse-hubzilla-5c0e135fe98fc91cee32e065c81e7a440c25ee2c.tar.bz2
volse-hubzilla-5c0e135fe98fc91cee32e065c81e7a440c25ee2c.zip
diaspora protocol changes
Diffstat (limited to 'mod')
-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..72e290348 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' 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
}