From 9a726f030844221f1eea9babcce915784b6ca1de Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Nov 2012 13:57:55 -0800 Subject: finish basic item encoding, add plugin compatibility tag, notes on improving $global_perms for edge cases --- include/items.php | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'include/items.php') diff --git a/include/items.php b/include/items.php index 355f48b91..c74732807 100755 --- a/include/items.php +++ b/include/items.php @@ -504,6 +504,12 @@ function encode_item($item) { logger('encode_item: ' . print_r($item,true)); + if($item['item_restrict'] & ITEM_DELETED) { + $x['message_id'] = $item['uri']; + $x['flags'] = array('deleted'); + return $x; + } + $x['message_id'] = $item['uri']; $x['message_top'] = $item['parent_uri']; $x['message_parent'] = $item['thr_parent']; @@ -527,9 +533,8 @@ function encode_item($item) { $x['target'] = json_decode($item['target'],true); if($item['attach']) $x['attach'] = json_decode($item['attach'],true); - - $x['restrictions'] = array(); - $x['flags'] = array(); + if($y = encode_item_flags($item)) + $x['flags'] = $y; if($item['term']) $x['tags'] = encode_item_terms($item['term']); @@ -568,6 +573,22 @@ function termtype($t) { return(($types[$t]) ? $types[$t] : 'unknown'); } + +function encode_item_flags($item) { + +// most of item_flags and item_restrict are local settings which don't apply when transmitted. +// We may need those for the case of syncing other hub locations which you are attached to. +// ITEM_DELETED is handled in encode_item directly so we don't need to handle it here. + + $ret = array(); + if($item['flags'] & ITEM_THREAD_TOP) + $ret[] = 'thread_parent'; + if($item['flags'] & ITEM_NSFW) + $ret[] = 'nsfw'; + + return $ret; +} + function get_atom_elements($feed,$item) { require_once('library/HTMLPurifier.auto.php'); -- cgit v1.2.3