From 25c0c5d4ad9e155dd5329e197c7a19212d20b578 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 28 Nov 2015 18:49:37 +0100 Subject: [PATCH 1/3] Issue 1925 - display nickname@hostname.com --- include/text.php | 7 +++++-- mod/viewcontacts.php | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/text.php b/include/text.php index f210bff72..73c441e26 100644 --- a/include/text.php +++ b/include/text.php @@ -943,6 +943,9 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { if($class) $class = ' ' . $class; + if ($contact["addr"] == "") + $contact["addr"] = $contact["url"]; + $url = $contact['url']; $sparkle = ''; $redir = false; @@ -966,7 +969,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { . (($click) ? ' fakelink' : '') . '" ' . (($redir) ? ' target="redir" ' : '') . (($url) ? ' href="' . $url . '"' : '') . $click - . '" title="' . $contact['name'] . ' [' . $contact['url'] . ']" alt="' . $contact['name'] + . '" title="' . $contact['name'] . ' [' . $contact['addr'] . ']" alt="' . $contact['name'] . '" >'. $contact['name'] . '' . "\r\n"; } else { @@ -974,7 +977,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { . (($click) ? ' fakelink' : '') . '" ' . (($redir) ? ' target="redir" ' : '') . (($url) ? ' href="' . $url . '"' : '') . $click . ' >' . $contact['name']
+			. proxy_url($contact['micro'], false, PROXY_SIZE_THUMB) . '' . "\r\n"; } }} diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index c7f139e1e..c3bf3964f 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -64,6 +64,7 @@ function viewcontacts_content(&$a) { $contacts[] = array( 'id' => $rr['id'], 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']), + 'photo_menu' => contact_photo_menu($rr), 'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB), 'name' => htmlentities(substr($rr['name'],0,20)), 'username' => htmlentities($rr['name']), From 00cc409461c07852afbd7449ccea4a39e77df00f Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 29 Nov 2015 09:35:35 +0100 Subject: [PATCH 2/3] The photo menu now respects if the local users differs from the contact owner --- include/Contact.php | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/include/Contact.php b/include/Contact.php index b98c9f705..fe73557de 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -286,7 +286,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 +298,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; From c77ef0c4938144e5d7764664e6029c1f0ec49d67 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 29 Nov 2015 09:56:34 +0100 Subject: [PATCH 3/3] Viewcontacts now only shows native contacts (no more connector contacts) --- mod/viewcontacts.php | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index c3bf3964f..d16a48e34 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -26,19 +26,30 @@ function viewcontacts_content(&$a) { } - $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ", - intval($a->profile['uid']) + $r = q("SELECT COUNT(*) AS `total` FROM `contact` + WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 + AND `network` IN ('%s', '%s', '%s')", + intval($a->profile['uid']), + dbesc(NETWORK_DFRN), + dbesc(NETWORK_DIASPORA), + dbesc(NETWORK_OSTATUS) ); if(count($r)) $a->set_pager_total($r[0]['total']); - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY `name` ASC LIMIT %d , %d ", + $r = q("SELECT * FROM `contact` + WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 + AND `network` IN ('%s', '%s', '%s') + ORDER BY `name` ASC LIMIT %d, %d", intval($a->profile['uid']), + dbesc(NETWORK_DFRN), + dbesc(NETWORK_DIASPORA), + dbesc(NETWORK_OSTATUS), intval($a->pager['start']), intval($a->pager['itemspage']) ); - if(! count($r)) { - info( t('No contacts.') . EOL ); + if(!count($r)) { + info(t('No contacts.').EOL); return $o; }