]> git.mxchange.org Git - friendica.git/blobdiff - include/conversation.php
bug #147 comments not working on private notes page
[friendica.git] / include / conversation.php
index 6b1f6492508aa9d9360ddae056da378cb106dc1a..6aad2485a7ab505d4ead881af73ea14e2b0295cd 100644 (file)
@@ -80,6 +80,7 @@ function localize_item(&$item){
 
        }
         
+
 }
 
 /**
@@ -110,7 +111,7 @@ function conversation(&$a, $items, $mode, $update) {
        }
 
        if($mode === 'notes') {
-               $profile_owner = $a->profile['profile_uid'];
+               $profile_owner = local_user();
                $page_writeable = true;
        }
 
@@ -283,14 +284,14 @@ function conversation(&$a, $items, $mode, $update) {
                                continue;
 
                        $toplevelpost = (($item['id'] == $item['parent']) ? true : false);
-
+                       $toplevelprivate = false;
 
                        // 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 there are more than two comments, squash all but the last 2.
-
+               
                        if($toplevelpost) {
-
+                               $toplevelprivate = (($toplevelpost && $item['private']) ? true : false);
                                $item_writeable = (($item['writable'] || $item['self']) ? true : false);
 
                                if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) {
@@ -312,9 +313,12 @@ function conversation(&$a, $items, $mode, $update) {
                                $comments_seen = 0;
                                $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 ++;
-
+                       }       
 
                        $override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
                        $show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false);
@@ -377,12 +381,12 @@ function conversation(&$a, $items, $mode, $update) {
                                }
                        }
 
-
                        $likebuttons = '';
+                       $shareable = ((($profile_owner == local_user()) && ($mode != 'display') && (! $item['private'])) ? true : false);
 
                        if($page_writeable) {
                                if($toplevelpost) {
-                                       $likebuttons = replace_macros((($item['private'] || ($profile_owner != local_user())) ? $noshare_tpl : $like_tpl),array(
+                                       $likebuttons = replace_macros(((($shareable)) ? $like_tpl : $noshare_tpl),array(
                                                '$id' => $item['id'],
                                                '$likethis' => t("I like this \x28toggle\x29"),
                                                '$nolike' => t("I don't like this \x28toggle\x29"),