one more edge case in the public perms - don't match perms = 0 which is private, this and prior checkin are for issue #114

This commit is contained in:
friendica 2013-09-22 22:58:59 -07:00
parent 956d275693
commit a2b20bd58f
3 changed files with 7 additions and 6 deletions

View File

@ -412,7 +412,7 @@ function stream_perms_api_uids($perms_min = PERMS_SITE) {
$ret = array();
if(local_user())
$ret[] = local_user();
$r = q("select channel_id from channel where channel_r_stream <= %d",
$r = q("select channel_id from channel where channel_r_stream > 0 and channel_r_stream <= %d",
intval($perms_min)
);
if($r)
@ -435,7 +435,8 @@ function stream_perms_xchans($perms_min = PERMS_SITE) {
$ret = array();
if(local_user())
$ret[] = get_observer_hash();
$r = q("select channel_hash from channel where channel_r_stream <= %d",
$r = q("select channel_hash from channel where channel_r_stream > 0 and channel_r_stream <= %d",
intval($perms_min)
);
if($r)

View File

@ -113,18 +113,18 @@ function display_content(&$a, $update = 0, $load = false) {
}
}
if($r === null) {
dbg(1);
$r = q("SELECT * from item
WHERE item_restrict = 0
and mid = '%s'
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans() . " ))
and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
$sql_extra )
group by mid limit 1",
dbesc($target_item['parent_mid'])
);
dbg(0);
}
}

View File

@ -208,7 +208,7 @@ function search_content(&$a,$update = 0, $load = false) {
WHERE item_restrict = 0
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans() . " ))
and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
$pub_sql )
$sql_extra
group by mid ORDER BY created DESC $pager_sql"