X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2FContact.php;h=a3cbbfed15265c765a8bd6278e1f6c160e4f76fe;hb=83e54f70d3204525ba16ea3faf5f17cd001fbc9e;hp=eeb38a5d7a519f031b3e1b3ae939519da55f3632;hpb=4528529968d0ef291c7307c534e792e1bb0013ed;p=friendica.git diff --git a/include/Contact.php b/include/Contact.php index eeb38a5d7a..a3cbbfed15 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -144,7 +144,7 @@ function terminate_friendship($user,$self,$contact) { // and we won't waste any more time trying to communicate with them. // This provides for the possibility that their database is temporarily messed // up or some other transient event and that there's a possibility we could recover from it. - + if(! function_exists('mark_for_death')) { function mark_for_death($contact) { @@ -159,14 +159,15 @@ function mark_for_death($contact) { } else { - // TODO: We really should send a notification to the owner after 2-3 weeks - // so they won't be surprised when the contact vanishes and can take - // remedial action if this was a serious mistake or glitch + /// @todo + /// We really should send a notification to the owner after 2-3 weeks + /// so they won't be surprised when the contact vanishes and can take + /// remedial action if this was a serious mistake or glitch $expiry = $contact['term-date'] . ' + 32 days '; if(datetime_convert() > datetime_convert('UTC','UTC',$expiry)) { - // relationship is really truly dead. + // relationship is really truly dead. // archive them rather than delete // though if the owner tries to unarchive them we'll start the whole process over again @@ -192,9 +193,6 @@ 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(); @@ -268,15 +266,6 @@ function get_contact_details_by_url($url, $uid = -1) { } 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"] = ""; @@ -286,7 +275,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 +287,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; @@ -322,19 +338,23 @@ function contact_photo_menu($contact) { $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']; + $posts_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/posts'; $contact_drop_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/drop?confirm=1'; + /** + * menu array: + * "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ] + */ $menu = Array( - 'status' => array(t("View Status"), $status_link), - 'profile' => array(t("View Profile"), $profile_link), - 'photos' => array(t("View Photos"), $photos_link), - 'network' => array(t("Network Posts"), $posts_link), - '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), + 'status' => array(t("View Status"), $status_link, true), + 'profile' => array(t("View Profile"), $profile_link, true), + 'photos' => array(t("View Photos"), $photos_link,true), + 'network' => array(t("Network Posts"), $posts_link,false), + 'edit' => array(t("Edit Contact"), $contact_url, false), + 'drop' => array(t("Drop Contact"), $contact_drop_link, false), + 'pm' => array(t("Send PM"), $pm_url, false), + 'poke' => array(t("Poke"), $poke_link, false), ); @@ -342,31 +362,11 @@ function contact_photo_menu($contact) { call_hooks('contact_photo_menu', $args); -/* $o = ""; - foreach($menu as $k=>$v){ - if ($v!="") { - if(($k !== t("Network Posts")) && ($k !== t("Send PM")) && ($k !== t('Edit Contact'))) - $o .= "
  • $k
  • \n"; - else - $o .= "
  • $k
  • \n"; - } - } - 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'))) - $menu[$k][2] = 1; - else - $menu[$k][2] = 0; - } - } - $menucondensed = array(); - foreach ($menu AS $menuitem) + foreach ($menu AS $menuname=>$menuitem) if ($menuitem[1] != "") - $menucondensed[] = $menuitem; + $menucondensed[$menuname] = $menuitem; return $menucondensed; }}