aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-09-22 22:58:59 -0700
committerfriendica <info@friendica.com>2013-09-22 23:00:55 -0700
commita2b20bd58f0b1c466235a96c41846aba613ea31b (patch)
tree32b131945dc26c22e6bf4d51c051f5daea0fa142
parent956d275693c451c4d9ba60751704b80257f37433 (diff)
downloadvolse-hubzilla-a2b20bd58f0b1c466235a96c41846aba613ea31b.tar.gz
volse-hubzilla-a2b20bd58f0b1c466235a96c41846aba613ea31b.tar.bz2
volse-hubzilla-a2b20bd58f0b1c466235a96c41846aba613ea31b.zip
one more edge case in the public perms - don't match perms = 0 which is private, this and prior checkin are for issue #114
-rw-r--r--include/security.php5
-rw-r--r--mod/display.php6
-rw-r--r--mod/search.php2
3 files changed, 7 insertions, 6 deletions
diff --git a/include/security.php b/include/security.php
index 632b8d607..1181e6bf2 100644
--- a/include/security.php
+++ b/include/security.php
@@ -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)
diff --git a/mod/display.php b/mod/display.php
index 476087ce7..c9f6595c6 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -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);
+
}
}
diff --git a/mod/search.php b/mod/search.php
index 1cb6cb461..9930db288 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -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"