aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php10
-rw-r--r--mod/profile.php2
2 files changed, 9 insertions, 3 deletions
diff --git a/boot.php b/boot.php
index f1db7a349..68025d822 100644
--- a/boot.php
+++ b/boot.php
@@ -2686,10 +2686,16 @@ function item_photo_menu($item){
$photo_link="";
$profile_link = ((strlen($item['author-link'])) ? $item['author-link'] : $item['url']);
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
-
+ $contact_uid = ((x($item,'contact-uid')) && intval($item['contact-uid']) ? intval($item['contact-uid']) : 0);
+
+ // $item['contact-uid'] is only set on profile page.
+ // So we are checking for a profile page where the viewer owns the page,
+ // otherwise a logged in user if some other page that displays items.
+ // Then check if we can use a sparkle (redirect) link to the profile by virtue of it being our contact
+ // or a friend's contact that we both have a connection to.
- if(strlen($item['author-link'])) {
+ if(((local_user() && (! $contact_uid)) || ($contact_uid && $contact_uid == local_user())) && strlen($item['author-link'])) {
if(link_compare($item['author-link'],$item['url']) && ($item['network'] === 'dfrn') && (! $item['self'])) {
$status_link = $redirect_url."?url=status";
$profile_link = $redirect_url."?url=profile";
diff --git a/mod/profile.php b/mod/profile.php
index ab1e8f738..b421591f6 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -402,7 +402,7 @@ function profile_content(&$a, $update = 0) {
// This is my profile page but I'm not the author of this post/comment. If it's somebody that's a fan or mutual friend,
// I can go directly to their profile as an authenticated guest.
- if(local_user() && ($item['contact-uid'] == $_SESSION['uid'])
+ if(local_user() && ($item['contact-uid'] == local_user())
&& ($item['network'] === 'dfrn') && (! $item['self'] )) {
$profile_url = $redirect_url;
$sparkle = ' sparkle';