diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/zfinger.php | 21 | ||||
-rw-r--r-- | mod/zotfeed.php | 35 |
2 files changed, 49 insertions, 7 deletions
diff --git a/mod/zfinger.php b/mod/zfinger.php index b13af50b7..32523ecac 100644 --- a/mod/zfinger.php +++ b/mod/zfinger.php @@ -7,13 +7,15 @@ function zfinger_init(&$a) { $ret = array('success' => false); - $zhash = ((x($_REQUEST,'guid_hash')) ? $_REQUEST['guid_hash'] : ''); - $zguid = ((x($_REQUEST,'guid')) ? $_REQUEST['guid'] : ''); - $zguid_sig = ((x($_REQUEST,'guid_sig')) ? $_REQUEST['guid_sig'] : ''); - $zaddr = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : ''); - $ztarget = ((x($_REQUEST,'target')) ? $_REQUEST['target'] : ''); - $zsig = ((x($_REQUEST,'target_sig')) ? $_REQUEST['target_sig'] : ''); - $zkey = ((x($_REQUEST,'key')) ? $_REQUEST['key'] : ''); + $zhash = ((x($_REQUEST,'guid_hash')) ? $_REQUEST['guid_hash'] : ''); + $zguid = ((x($_REQUEST,'guid')) ? $_REQUEST['guid'] : ''); + $zguid_sig = ((x($_REQUEST,'guid_sig')) ? $_REQUEST['guid_sig'] : ''); + $zaddr = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : ''); + $ztarget = ((x($_REQUEST,'target')) ? $_REQUEST['target'] : ''); + $zsig = ((x($_REQUEST,'target_sig')) ? $_REQUEST['target_sig'] : ''); + $zkey = ((x($_REQUEST,'key')) ? $_REQUEST['key'] : ''); + $mindate = ((x($_REQUEST,'mindate')) ? $_REQUEST['mindate'] : ''); + $feed = ((x($_REQUEST,'feed')) ? intval($_REQUEST['feed']) : 0); if($ztarget) { if((! $zkey) || (! $zsig) || (! rsa_verify($ztarget,base64url_decode($zsig),$zkey))) { @@ -139,6 +141,11 @@ function zfinger_init(&$a) { if($permissions['view_profile']) $ret['profile'] = $profile; +// if($feed && $permissions['view_stream']) +// $ret['messages'] = $zot_feed($e['channel_id'],(($ztarget && $zsig) +// ? base64url_encode(hash('whirlpool',$ztarget . $zsig,true)) +// : '' ),$mindate); + // array of (verified) hubs this channel uses $ret['locations'] = array(); diff --git a/mod/zotfeed.php b/mod/zotfeed.php new file mode 100644 index 000000000..6519481d2 --- /dev/null +++ b/mod/zotfeed.php @@ -0,0 +1,35 @@ +<?php + +require_once('include/items.php'); +require_once('include/zot.php'); + +function zotfeed_init(&$a) { + + $result = array('success' => false); + + $mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : ''); + if(! $mindate) + $mindate = '0000-00-00 00:00:00'; + + if(get_config('system','block_public') && (! get_account_id()) && (! remote_user())) { + $result['message'] = 'Public access denied'; + json_return_and_die($result); + } + + $channel_address = ((argc() > 1) ? argv(1) : ''); + if($channel_address) { + $r = q("select channel_id from channel where channel_address = '%s' limit 1", + dbesc(argv(1)) + ); + } + if(! $r) { + $result['message'] = 'Channel not found.'; + json_return_and_die($result); + } + + $result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],$mindate); + $result['success'] = true; + json_return_and_die($result); + + +} |