X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2FContact.php;h=3f74a19d5f44e66f22a9b9dfcdeaed6b6ebdf46f;hb=162931be91fc7aad65487c4f55a8d0d8624323e2;hp=1215f40e75e35b9e1c825873ea864b5422f50816;hpb=cd8be48ca703b8931d7dc85a0aea1837a21e56aa;p=friendica.git diff --git a/include/Contact.php b/include/Contact.php index 1215f40e75..3f74a19d5f 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -113,7 +113,7 @@ function terminate_friendship($user,$self,$contact) { '$photo' => $self['photo'], '$thumb' => $self['thumb'], '$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME), - '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(), + '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . get_guid(32), '$title' => '', '$type' => 'text', '$content' => t('stopped following'), @@ -191,6 +191,92 @@ function unmark_for_death($contact) { ); }} +function get_contact_details_by_url($url, $uid = -1) { + require_once("mod/proxy.php"); + require_once("include/bbcode.php"); + + 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", + dbesc(normalise_link($url))); + + if ($r) + $profile = $r[0]; + else { + $r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'", + dbesc(normalise_link($url))); + + if (count($r)) { + $profile = $r[0]; + $profile["keywords"] = ""; + $profile["gender"] = ""; + $profile["community"] = false; + $profile["network"] = ""; + } + } + + // 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'", + 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", + 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", + dbesc(normalise_link($url))); + + if ($r) { + if (isset($r[0]["url"]) AND $r[0]["url"]) + $profile["url"] = $r[0]["url"]; + if (isset($r[0]["name"]) AND $r[0]["name"]) + $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]["photo"]) AND $r[0]["photo"]) + $profile["photo"] = $r[0]["photo"]; + if (isset($r[0]["location"]) AND $r[0]["location"]) + $profile["location"] = $r[0]["location"]; + if (isset($r[0]["about"]) AND $r[0]["about"]) + $profile["about"] = $r[0]["about"]; + if (isset($r[0]["keywords"]) AND $r[0]["keywords"]) + $profile["keywords"] = $r[0]["keywords"]; + if (isset($r[0]["gender"]) AND $r[0]["gender"]) + $profile["gender"] = $r[0]["gender"]; + if (isset($r[0]["forum"]) AND isset($r[0]["prv"])) + $profile["community"] = ($r[0]["forum"] OR $r[0]["prv"]); + if (isset($r[0]["network"]) AND $r[0]["network"]) + $profile["network"] = $r[0]["network"]; + if (isset($r[0]["addr"]) AND $r[0]["addr"]) + $profile["addr"] = $r[0]["addr"]; + if (isset($r[0]["bd"]) AND $r[0]["bd"]) + $profile["bd"] = $r[0]["bd"]; + if ($r[0]["uid"] == 0) + $profile["cid"] = 0; + else + $profile["cid"] = $r[0]["id"]; + } else + $profile["cid"] = 0; + + if (isset($profile["photo"])) + $profile["photo"] = proxy_url($profile["photo"], false, PROXY_SIZE_SMALL); + + if (isset($profile["location"])) + $profile["location"] = bbcode($profile["location"]); + + if (isset($profile["about"])) + $profile["about"] = bbcode($profile["about"]); + + if (($profile["cid"] == 0) AND ($profile["network"] == NETWORK_DIASPORA)) { + $profile["location"] = ""; + $profile["about"] = ""; + } + + return($profile); +} + if(! function_exists('contact_photo_menu')){ function contact_photo_menu($contact) { @@ -219,17 +305,20 @@ function contact_photo_menu($contact) { $status_link = $profile_link . "?url=status"; $photos_link = $profile_link . "?url=photos"; $profile_link = $profile_link . "?url=profile"; - $pm_url = $a->get_baseurl() . '/message/new/' . $contact['id']; } - $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id']; + if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA))) + $pm_url = $a->get_baseurl() . '/message/new/' . $contact['id']; + + if ($contact["network"] == NETWORK_DFRN) + $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id']; + $contact_url = $a->get_baseurl() . '/contacts/' . $contact['id']; $posts_link = $a->get_baseurl() . '/network/0?nets=all&cid=' . $contact['id']; $contact_drop_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/drop?confirm=1'; $menu = Array( - 'poke' => array(t("Poke"), $poke_link), 'status' => array(t("View Status"), $status_link), 'profile' => array(t("View Profile"), $profile_link), 'photos' => array(t("View Photos"), $photos_link), @@ -237,6 +326,7 @@ function contact_photo_menu($contact) { 'edit' => array(t("Edit Contact"), $contact_url), 'drop' => array(t("Drop Contact"), $contact_drop_link), 'pm' => array(t("Send PM"), $pm_url), + 'poke' => array(t("Poke"), $poke_link), ); @@ -254,6 +344,7 @@ function contact_photo_menu($contact) { } } return $o;*/ + foreach($menu as $k=>$v){ if ($v[1]!="") { if(($v[0] !== t("Network Posts")) && ($v[0] !== t("Send PM")) && ($v[0] !== t('Edit Contact'))) @@ -262,7 +353,14 @@ function contact_photo_menu($contact) { $menu[$k][2] = 0; } } - return $menu; + + $menucondensed = array(); + + foreach ($menu AS $menuitem) + if ($menuitem[1] != "") + $menucondensed[] = $menuitem; + + return $menucondensed; }}