enhanced email privacy

This commit is contained in:
Friendika 2011-08-11 01:52:31 -07:00
parent 3f61f9f2c5
commit 04b59ac49a
2 changed files with 11 additions and 6 deletions

View file

@ -283,14 +283,14 @@ function conversation(&$a, $items, $mode, $update) {
continue; continue;
$toplevelpost = (($item['id'] == $item['parent']) ? true : false); $toplevelpost = (($item['id'] == $item['parent']) ? true : false);
$toplevelprivate = false;
// Take care of author collapsing and comment collapsing // Take care of author collapsing and comment collapsing
// If a single author has more than 3 consecutive top-level posts, squash the remaining ones. // If a single author has more than 3 consecutive top-level posts, squash the remaining ones.
// If there are more than two comments, squash all but the last 2. // If there are more than two comments, squash all but the last 2.
if($toplevelpost) { if($toplevelpost) {
$toplevelprivate = (($toplevelpost && $item['private']) ? true : false);
$item_writeable = (($item['writable'] || $item['self']) ? true : false); $item_writeable = (($item['writable'] || $item['self']) ? true : false);
if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) { if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) {
@ -312,9 +312,12 @@ function conversation(&$a, $items, $mode, $update) {
$comments_seen = 0; $comments_seen = 0;
$comments_collapsed = false; $comments_collapsed = false;
} }
else else {
// prevent private email from leaking into public conversation
if((! $toplevelpost) && (! toplevelprivate) && ($item['private']) && ($profile_owner != local_user()))
continue;
$comments_seen ++; $comments_seen ++;
}
$override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false); $override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
$show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false); $show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false);

View file

@ -421,8 +421,10 @@ function poller_run($argv, $argc){
$datarray['contact-id'] = $contact['id']; $datarray['contact-id'] = $contact['id'];
if($datarray['parent-uri'] === $datarray['uri']) if($datarray['parent-uri'] === $datarray['uri'])
$datarray['private'] = 1; $datarray['private'] = 1;
if(! get_pconfig($importer_uid,'system','allow_public_email_replies')) if(! get_pconfig($importer_uid,'system','allow_public_email_replies')) {
$datarray['private'] = 1; $datarray['private'] = 1;
$datarray['allow_cid'] = '<' . $contact['id'] . '>';
}
$datarray['author-name'] = $contact['name']; $datarray['author-name'] = $contact['name'];
$datarray['author-link'] = 'mailbox'; $datarray['author-link'] = 'mailbox';
$datarray['author-avatar'] = $contact['photo']; $datarray['author-avatar'] = $contact['photo'];