}
function display_fetchauthor($a, $item) {
- require_once("mod/proxy.php");
- require_once("include/bbcode.php");
$profiledata = array();
$profiledata["uid"] = -1;
$profiledata["nickname"] = $item["author-name"];
$profiledata["name"] = $item["author-name"];
$profiledata["picdate"] = "";
- $profiledata["photo"] = proxy_url($item["author-avatar"]);
+ $profiledata["photo"] = $item["author-avatar"];
$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"] = proxy_parse_html(bbcode($r[0]["location"]));
- $profiledata["about"] = proxy_parse_html(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"] = proxy_parse_html(bbcode($r[0]["location"]));
- if ($profiledata["about"] == "")
- $profiledata["about"] = proxy_parse_html(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"]);
$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"] = proxy_parse_html(bbcode($r[0]["location"]));
- $profiledata["about"] = proxy_parse_html(bbcode($r[0]["about"]));
- if ($r[0]["nick"] != "")
- $profiledata["nickname"] = $r[0]["nick"];
+ // Don't show details from Diaspora contacts if you don't follow the contact
+ $showdetails = ($profiledata["network"] != NETWORK_DIASPORA);
+
+ // Fetching further contact data from the contact table
+ $r = q("SELECT `uid`, `network`, `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`
+ FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s' AND `rel` IN (%d, %d)",
+ dbesc(normalise_link($profiledata["url"])), intval(local_user()), dbesc($item["network"]),
+ intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
+ if (!count($r))
+ $r = q("SELECT `uid`, `network`, `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`
+ FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `rel` IN (%d, %d)",
+ dbesc(normalise_link($profiledata["url"])), intval(local_user()),
+ intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
+
+ if (count($r)) {
+ $profiledata["name"] = $r[0]["name"];
+ $profiledata["photo"] = $r[0]["photo"];
+ $profiledata["nickname"] = $r[0]["nick"];
+ $profiledata["addr"] = $r[0]["addr"];
+ $profiledata["keywords"] = $r[0]["keywords"];
+ $profiledata["network"] = $r[0]["network"];
+
+ if (local_user() OR $showdetails) {
+ $showdetails = true;
+ $profiledata["address"] = $r[0]["location"];
+ $profiledata["about"] = $r[0]["about"];
+ $profiledata["gender"] = $r[0]["gender"];
+ }
+ }
+
+ // Fetching profile data from global contacts
+ if ($profiledata["network"] != NETWORK_FEED) {
+ $r = q("SELECT `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`, `network` FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($profiledata["url"])));
+ if (count($r)) {
+ $profiledata["name"] = $r[0]["name"];
+ $profiledata["photo"] = $r[0]["photo"];
+ $profiledata["nickname"] = $r[0]["nick"];
+ $profiledata["addr"] = $r[0]["addr"];
+ $profiledata["keywords"] = $r[0]["keywords"];
+ $profiledata["network"] = $r[0]["network"];
+
+ if ($showdetails) {
+ $profiledata["address"] = $r[0]["location"];
+ $profiledata["about"] = $r[0]["about"];
+ $profiledata["gender"] = $r[0]["gender"];
}
}
}
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;
return;
}
- require_once("include/bbcode.php");
require_once('include/security.php');
require_once('include/conversation.php');
require_once('include/acl_selectors.php');