]> git.mxchange.org Git - friendica.git/commitdiff
The photo menu now respects if the local users differs from the contact owner
authorMichael Vogel <icarus@dabo.de>
Sun, 29 Nov 2015 08:35:35 +0000 (09:35 +0100)
committerMichael Vogel <icarus@dabo.de>
Sun, 29 Nov 2015 08:35:35 +0000 (09:35 +0100)
include/Contact.php

index b98c9f7056295774c8395d894e83b85ee8f6c7b1..fe73557de3c346d7762abc1be26f425adc326ae3 100644 (file)
@@ -286,7 +286,7 @@ function get_contact_details_by_url($url, $uid = -1) {
 }
 
 if(! function_exists('contact_photo_menu')){
-function contact_photo_menu($contact) {
+function contact_photo_menu($contact, $uid = 0) {
 
        $a = get_app();
 
@@ -298,6 +298,33 @@ function contact_photo_menu($contact) {
        $contact_drop_link = "";
        $poke_link="";
 
+       if ($uid == 0)
+               $uid = local_user();
+
+       if ($contact["uid"] != $uid) {
+               if ($uid == 0) {
+                       $profile_link = zrl($contact['url']);
+                       $menu = Array('profile' => array(t("View Profile"), $profile_link, true));
+
+                       return $menu;
+               }
+
+               $r = q("SELECT * FROM `contact` WHERE `nurl` = '%s' AND `network` = '%s' AND `uid` = %d",
+                       dbesc($contact["nurl"]), dbesc($contact["network"]), intval($uid));
+               if ($r)
+                       return contact_photo_menu($r[0], $uid);
+               else {
+                       $profile_link = zrl($contact['url']);
+                       $connlnk = 'follow/?url='.$contact['url'];
+                       $menu = Array(
+                               'profile' => array(t("View Profile"), $profile_link, true),
+                               'follow' => array(t("Connect/Follow"), $connlnk, true)
+                               );
+
+                       return $menu;
+               }
+       }
+
        $sparkle = false;
        if($contact['network'] === NETWORK_DFRN) {
                $sparkle = true;