From 664cf8ac8e5d35e8b9a4df35b646a00fd76e212b Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Mon, 18 Oct 2010 03:02:51 -0700 Subject: [PATCH] pass community page permissions through notification feeds --- include/items.php | 7 +++++-- include/notifier.php | 6 ++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/items.php b/include/items.php index 7647eed5c..e9277f114 100644 --- a/include/items.php +++ b/include/items.php @@ -515,10 +515,10 @@ function get_item_contact($item,$contacts) { } -function dfrn_deliver($contact,$atom,$debugging = false) { +function dfrn_deliver($owner,$contact,$atom,$debugging = false) { - if((! strlen($contact['dfrn-id'])) && (! $contact['duplex'])) + if((! strlen($contact['dfrn-id'])) && (! $contact['duplex']) && (! ($owner['page-flags'] == PAGE_COMMUNITY))) return 3; $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']); @@ -577,6 +577,9 @@ function dfrn_deliver($contact,$atom,$debugging = false) { if(($contact['rel']) && ($contact['rel'] != REL_FAN) && (! $contact['blocked']) && (! $contact['readonly'])) { $postvars['data'] = $atom; } + elseif($owner['page-flags'] == PAGE_COMMUNITY) { + $postvars['data'] = $atom; + } else { $postvars['data'] = str_replace('1','0',$atom); } diff --git a/include/notifier.php b/include/notifier.php index bef46677c..db95c3aae 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -72,7 +72,7 @@ killme(); } - $r = q("SELECT `contact`.*, `user`.`nickname` + $r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`page-flags` FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid` WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1", intval($uid) @@ -128,8 +128,6 @@ $recipients = array_diff($recipients,$deny); $conversant_str = dbesc(implode(', ',$conversants)); - - } $r = q("SELECT * FROM `contact` WHERE `id` IN ( $conversant_str ) AND `blocked` = 0 AND `pending` = 0"); @@ -310,7 +308,7 @@ switch($contact['network']) { case 'dfrn': - $deliver_status = dfrn_deliver($contact,$atom,$debugging); + $deliver_status = dfrn_deliver($owner,$contact,$atom,$debugging); break; default: break;