diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/post.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/mod/post.php b/mod/post.php new file mode 100644 index 000000000..4a7e33b23 --- /dev/null +++ b/mod/post.php @@ -0,0 +1,51 @@ +<?php + +/** + * Zot endpoint + */ + + +require_once('include/salmon.php'); +require_once('include/crypto.php'); +// not yet ready for prime time +//require_once('include/zot.php'); + +function post_post(&$a) { + + $bulk_delivery = false; + + if($a->argc == 1) { + $bulk_delivery = true; + } + else { + $nickname = $a->argv[2]; + $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' + AND `account_expired` = 0 LIMIT 1", + dbesc($nickname) + ); + if(! count($r)) + http_status_exit(500); + + $importer = $r[0]; + } + + $xml = file_get_contents('php://input'); + + logger('mod-post: new zot: ' . $xml, LOGGER_DATA); + + if(! $xml) + http_status_exit(500); + + $msg = zot_decode($importer,$xml); + + logger('mod-post: decoded msg: ' . print_r($msg,true), LOGGER_DATA); + + if(! is_array($msg)) + http_status_exit(500); + + $ret = 0; + $ret = zot_incoming($bulk_delivery, $importer,$msg); + http_status_exit(($ret) ? $ret : 200); + // NOTREACHED +} + |