diff --git a/boot.php b/boot.php index b395d3423a..497a87ce9e 100644 --- a/boot.php +++ b/boot.php @@ -1658,7 +1658,7 @@ if(! function_exists('load_contact_links')) { if(! $uid || x($a->contacts,'empty')) return; - $r = q("SELECT `id`,`network`,`url`,`thumb` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `thumb` != ''", + $r = q("SELECT `id`,`network`,`url`,`thumb`, `rel` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `thumb` != ''", intval($uid) ); if(count($r)) { diff --git a/include/conversation.php b/include/conversation.php index bbb0b921a3..1edf794257 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -884,21 +884,25 @@ function item_photo_menu($item){ } - $menu = Array( - t("Follow Thread") => $sub_link, - t("View Status") => $status_link, - t("View Profile") => $profile_link, - t("View Photos") => $photos_link, - t("Network Posts") => $posts_link, - t("Edit Contact") => $contact_url, - t("Send PM") => $pm_url - ); + if (local_user()) { + $menu = Array( + t("Follow Thread") => $sub_link, + t("View Status") => $status_link, + t("View Profile") => $profile_link, + t("View Photos") => $photos_link, + t("Network Posts") => $posts_link, + t("Edit Contact") => $contact_url, + t("Send PM") => $pm_url + ); - if ($a->contacts[$clean_url]['network'] === NETWORK_DFRN) - $menu[t("Poke")] = $poke_link; + if ($a->contacts[$clean_url]['network'] === NETWORK_DFRN) + $menu[t("Poke")] = $poke_link; - if (($cid == 0) AND in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA))) - $menu[t("Connect/Follow")] = $a->get_baseurl($ssl_state)."/follow?url=".urlencode($item['author-link']); + if ((($cid == 0) OR ($a->contacts[$clean_url]['rel'] == CONTACT_IS_FOLLOWER)) AND + in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA))) + $menu[t("Connect/Follow")] = $a->get_baseurl($ssl_state)."/follow?url=".urlencode($item['author-link']); + } else + $menu = array(t("View Profile") => $item['author-link']); $args = array('item' => $item, 'menu' => $menu); diff --git a/mod/dirfind.php b/mod/dirfind.php index 4156d3b1cf..1e4f5539fb 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -5,6 +5,11 @@ require_once('include/Contact.php'); function dirfind_init(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL ); + return; + } + if(! x($a->page,'aside')) $a->page['aside'] = ''; @@ -132,7 +137,8 @@ function dirfind_content(&$a, $prefix = "") { } else { $connlnk = $a->get_baseurl().'/follow/?url='.(($jj->connect) ? $jj->connect : $jj->url); $conntxt = t('Connect'); - $photo_menu = array(array(t("Connect/Follow"), $connlnk)); + $photo_menu = array(array(t("View Profile"), zrl($jj->url))); + $photo_menu[] = array(t("Connect/Follow"), $connlnk); } $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);