implement sender side of public scope setting (public post, network-wide, site-wide, etc....)

This commit is contained in:
friendica 2013-02-14 20:17:30 -08:00
parent 9784536ff9
commit b3bc061ae1

View File

@ -564,6 +564,18 @@ function encode_item($item) {
logger('encode_item: ' . print_r($item,true));
$r = q("select channel_r_stream from channel where channel_id = %d limit 1",
intval($item['uid'])
);
if($r)
$public_scope = $r[0]['channel_r_stream'];
else
$public_scope = 0;
$scope = map_scope($public_scope);
if($item['item_restrict'] & ITEM_DELETED) {
$x['message_id'] = $item['uri'];
$x['created'] = $item['created'];
@ -600,6 +612,10 @@ function encode_item($item) {
$x['attach'] = json_decode($item['attach'],true);
if($y = encode_item_flags($item))
$x['flags'] = $y;
if(! in_array($y,'private'))
$x['public_scope'] = $scope;
if($item['term'])
$x['tags'] = encode_item_terms($item['term']);
@ -607,6 +623,23 @@ function encode_item($item) {
}
function map_scope($scope) {
switch($scope) {
case PERMS_PUBLIC:
return 'public';
case PERMS_NETWORK:
return 'network: red';
case PERMS_SITE:
return 'site: ' . get_app()->get_hostname();
case PERMS_CONTACTS:
default:
return 'contacts';
}
}
function encode_item_xchan($xchan) {
$ret = array();
@ -1554,8 +1587,9 @@ function send_status_notifications($post_id,$item) {
foreach($x as $xx) {
if($xx['author_xchan'] === $r[0]['channel_hash']) {
$notify = true;
if($xx['id'] == $xx['parent'])
$parent = $xx['parent'];
}
if($xx['id'] == $xx['parent']) {
$parent = $xx['parent'];
}
}
}