]> git.mxchange.org Git - friendica.git/blobdiff - include/Contact.php
Merge pull request #2016 from fabrixxm/template_vars_hook
[friendica.git] / include / Contact.php
index db5480f5170d68f3a5742d5bf4b4abe6d938d598..eeb38a5d7a519f031b3e1b3ae939519da55f3632 100644 (file)
@@ -198,12 +198,17 @@ function get_contact_details_by_url($url, $uid = -1) {
        if ($uid == -1)
                $uid = local_user();
 
-       $r = q("SELECT `url`, `name`, `nick`, `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+       $r = q("SELECT `id` AS `gid`, `url`, `name`, `nick`, `addr`, `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
                dbesc(normalise_link($url)));
 
-       if ($r)
+       if ($r) {
                $profile = $r[0];
-       else {
+
+               if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND
+                       in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+                       proc_run('php',"include/update_gcontact.php", $profile["gid"]);
+
+       } else {
                $r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
                        dbesc(normalise_link($url)));
 
@@ -213,19 +218,20 @@ function get_contact_details_by_url($url, $uid = -1) {
                        $profile["gender"] = "";
                        $profile["community"] = false;
                        $profile["network"] = "";
+                       $profile["addr"] = "";
                }
        }
 
        // Fetching further contact data from the contact table
-       $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
+       $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
                dbesc(normalise_link($url)), intval($uid), dbesc($profile["network"]));
 
        if (!count($r))
-               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
                        dbesc(normalise_link($url)), intval($uid));
 
        if (!count($r))
-               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
+               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
                        dbesc(normalise_link($url)));
 
        if ($r) {
@@ -235,6 +241,8 @@ function get_contact_details_by_url($url, $uid = -1) {
                        $profile["name"] = $r[0]["name"];
                if (isset($r[0]["nick"]) AND $r[0]["nick"] AND ($profile["nick"] == ""))
                        $profile["nick"] = $r[0]["nick"];
+               if (isset($r[0]["addr"]) AND $r[0]["addr"] AND ($profile["addr"] == ""))
+                       $profile["addr"] = $r[0]["addr"];
                if (isset($r[0]["photo"]) AND $r[0]["photo"])
                        $profile["photo"] = $r[0]["photo"];
                if (isset($r[0]["location"]) AND $r[0]["location"])