]> git.mxchange.org Git - friendica.git/commitdiff
Reworked fetching of contact data on "display" page
authorMichael Vogel <icarus@dabo.de>
Tue, 6 Oct 2015 16:31:08 +0000 (18:31 +0200)
committerMichael Vogel <icarus@dabo.de>
Tue, 6 Oct 2015 16:31:08 +0000 (18:31 +0200)
mod/display.php
mod/notifications.php

index f945f9fe60d0090529b3b63ad2643094d46a6c07..46574bd064e509c60ba98da0bccdc68147623d23 100644 (file)
@@ -101,39 +101,6 @@ function display_fetchauthor($a, $item) {
        $profiledata["url"] = $item["author-link"];
        $profiledata["network"] = $item["network"];
 
-       // Fetching further contact data from the contact table
-       $r = q("SELECT `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
-               dbesc(normalise_link($profiledata["url"])), intval($item["uid"]), dbesc($item["network"]));
-
-       if (!count($r))
-               $r = q("SELECT `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
-                       dbesc(normalise_link($profiledata["url"])), intval($item["uid"]));
-
-       if (!count($r))
-               $r = q("SELECT `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
-                       dbesc(normalise_link($profiledata["url"])));
-
-       if (count($r)) {
-               $profiledata["photo"] = proxy_url($r[0]["photo"]);
-               $profiledata["address"] = bbcode($r[0]["location"]);
-               $profiledata["about"] = bbcode($r[0]["about"]);
-               if ($r[0]["nick"] != "")
-                       $profiledata["nickname"] = $r[0]["nick"];
-       }
-
-       // Fetching profile data from unique contacts
-       $r = q("SELECT `avatar`, `nick`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($profiledata["url"])));
-       if (count($r)) {
-               if ($profiledata["photo"] == "")
-                       $profiledata["photo"] = proxy_url($r[0]["avatar"]);
-               if ($profiledata["address"] == "")
-                       $profiledata["address"] = bbcode($r[0]["location"]);
-               if ($profiledata["about"] == "")
-                       $profiledata["about"] = bbcode($r[0]["about"]);
-               if (($profiledata["nickname"] == "") AND ($r[0]["nick"] != ""))
-                       $profiledata["nickname"] = $r[0]["nick"];
-       }
-
        // Check for a repeated message
        $skip = false;
        $body = trim($item["body"]);
@@ -187,28 +154,49 @@ function display_fetchauthor($a, $item) {
 
                $profiledata["address"] = "";
                $profiledata["about"] = "";
+       }
 
-               // Fetching profile data from unique contacts
-               if ($profiledata["url"] != "") {
-                       $r = q("SELECT `avatar`, `nick`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($profiledata["url"])));
-                       if (count($r)) {
-                               $profiledata["photo"] = proxy_url($r[0]["avatar"]);
-                               $profiledata["address"] = bbcode($r[0]["location"]);
-                               $profiledata["about"] = bbcode($r[0]["about"]);
-                               if ($r[0]["nick"] != "")
-                                       $profiledata["nickname"] = $r[0]["nick"];
-                       }
+       // Fetching further contact data from the contact table
+       $r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
+               dbesc(normalise_link($profiledata["url"])), intval($item["uid"]), dbesc($item["network"]));
+
+       if (!count($r))
+               $r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+                       dbesc(normalise_link($profiledata["url"])), intval($item["uid"]));
+
+       if (!count($r))
+               $r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
+                       dbesc(normalise_link($profiledata["url"])));
+
+       if (count($r)) {
+               if ((($r[0]["uid"] != local_user()) OR !local_user()) AND ($profiledata["network"] == NETWORK_DIASPORA)) {
+                       $r[0]["location"] = "";
+                       $r[0]["about"] = "";
                }
+
+               $profiledata["photo"] = proxy_url($r[0]["photo"]);
+               $profiledata["address"] = bbcode($r[0]["location"]);
+               $profiledata["about"] = bbcode($r[0]["about"]);
+               if ($r[0]["nick"] != "")
+                       $profiledata["nickname"] = $r[0]["nick"];
+       }
+
+       // Fetching profile data from unique contacts
+       $r = q("SELECT `avatar`, `nick`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($profiledata["url"])));
+       if (count($r)) {
+               if ($profiledata["photo"] == "")
+                       $profiledata["photo"] = proxy_url($r[0]["avatar"]);
+               if (($profiledata["address"] == "") AND ($profiledata["network"] != NETWORK_DIASPORA))
+                       $profiledata["address"] = bbcode($r[0]["location"]);
+               if (($profiledata["about"] == "") AND ($profiledata["network"] != NETWORK_DIASPORA))
+                       $profiledata["about"] = bbcode($r[0]["about"]);
+               if (($profiledata["nickname"] == "") AND ($r[0]["nick"] != ""))
+                       $profiledata["nickname"] = $r[0]["nick"];
        }
 
        if (local_user()) {
                if (in_array($profiledata["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
                        $profiledata["remoteconnect"] = $a->get_baseurl()."/follow?url=".urlencode($profiledata["url"]);
-               //if ($profiledata["network"] == NETWORK_DFRN) {
-               //      $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
-               //      $profiledata["remoteconnect"] = $connect;
-               //} elseif ($profiledata["network"] == NETWORK_DIASPORA)
-               //      $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
        } elseif ($profiledata["network"] == NETWORK_DFRN) {
                $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
                $profiledata["remoteconnect"] = $connect;
index bee33fa6079e717f43543e95d105c1474234549f..fadd1e94e563c42c66f3b6407b7c299fbf07e763 100644 (file)
@@ -250,7 +250,8 @@ function notifications_content(&$a) {
                                        '$gender_label' => t('Gender:'),
                                        '$hidden' => array('hidden', t('Hide this contact from others'), ($rr['hidden'] == 1), ''),
                                        '$activity' => array('activity', t('Post a new friend activity'), (intval(get_pconfig(local_user(),'system','post_newfriend')) ? '1' : 0), t('if applicable')),
-                                       '$url' => zrl($rr['url']),
+                                       '$url' => $rr['url'],
+                                       '$zrl' => zrl($rr['url']),
                                        '$url_label' => t('Profile URL'),
                                        '$knowyou' => $knowyou,
                                        '$approve' => t('Approve'),