diff options
Diffstat (limited to 'include/items.php')
-rwxr-xr-x | include/items.php | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/include/items.php b/include/items.php index cc777788c..818e7f526 100755 --- a/include/items.php +++ b/include/items.php @@ -545,6 +545,7 @@ function get_feed_for($channel, $observer_hash, $params) { 'order' => 'post', 'top' => $params['top'] ), $channel, $observer_hash, CLIENT_MODE_NORMAL, get_app()->module); + $feed_template = get_markup_template('atom_feed.tpl'); @@ -4349,6 +4350,8 @@ function zot_feed($uid,$observer_hash,$arr) { $mindate = null; $message_id = null; + require_once('include/security.php'); + if(array_key_exists('mindate',$arr)) { $mindate = datetime_convert('UTC','UTC',$arr['mindate']); } @@ -4371,10 +4374,8 @@ function zot_feed($uid,$observer_hash,$arr) { return $result; } - if(! is_sys_channel($uid)) { - require_once('include/security.php'); + if(! is_sys_channel($uid)) $sql_extra = item_permissions_sql($uid,$observer_hash); - } $limit = " LIMIT 100 "; @@ -4839,3 +4840,39 @@ function comment_local_origin($item) { return false; } + + +function i2asld($i) { + + if(! $i) + return array(); + + $ret = array(); + + if($i['verb']) { + $ret['@context'] = dirname($i['verb']); + $ret['@type'] = ucfirst(basename($i['verb'])); + } + $ret['@id'] = $i['plink']; + $ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME); + if($i['title']) + $ret['title'] = $i['title']; + $ret['content'] = bbcode($i['body']); + + $ret['actor'] = asencode_person($i['author']); + $ret['owner'] = asencode_person($i['owner']); + + + return $ret; + +} + + +function asencode_person($p) { + $ret = array(); + $ret['@type'] = 'Person'; + $ret['@id'] = 'acct:' . $p['xchan_addr']; + $ret['displayName'] = $p['xchan_name']; + + return $ret; +} |