From e785759a8bd90c4d0e2bb5866e2ad014f45ddb2a Mon Sep 17 00:00:00 2001
From: rabuzarus <>
Date: Tue, 3 Nov 2015 14:31:15 +0100
Subject: [PATCH] template-rework:make use of get_contact_details_by_url()
---
include/Contact.php | 2 +-
mod/allfriends.php | 42 +++++++++++++++----
mod/common.php | 36 ++++++++++++----
view/templates/contact_template.tpl | 9 +++-
.../templates/contact_template.tpl | 30 +++++++------
.../frost/templates/contact_template.tpl | 8 +++-
view/theme/quattro/dark/style.css | 2 +-
view/theme/quattro/green/style.css | 2 +-
view/theme/quattro/lilac/style.css | 2 +-
view/theme/quattro/quattro.less | 2 +-
.../quattro/templates/contact_template.tpl | 8 +++-
.../theme/vier/templates/contact_template.tpl | 8 +++-
12 files changed, 111 insertions(+), 40 deletions(-)
diff --git a/include/Contact.php b/include/Contact.php
index 3f74a19d5..db5480f51 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -245,7 +245,7 @@ function get_contact_details_by_url($url, $uid = -1) {
$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"]))
+ if (isset($r[0]["forum"]) OR 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"];
diff --git a/mod/allfriends.php b/mod/allfriends.php
index bb1b7f1ce..8396efdd2 100644
--- a/mod/allfriends.php
+++ b/mod/allfriends.php
@@ -1,6 +1,8 @@
user[uid];
+
$c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($cid),
intval(local_user())
@@ -46,14 +50,38 @@ function allfriends_content(&$a) {
foreach($r as $rr) {
+ //get further details of the contact
+ $contact_details = get_contact_details_by_url($rr['url'], $uid);
+
+ $photo_menu = '';
+
+ // $rr[cid] is only available for common contacts. So if the contact is a common one, use contact_photo_menu to generate the photo_menu
+ // If the contact is not common to the user, Connect/Follow' will be added to the photo menu
+ if ($rr[cid]) {
+ $rr[id] = $rr[cid];
+ $photo_menu = contact_photo_menu ($rr);
+ }
+ else {
+ $connlnk = $a->get_baseurl() . '/follow/?url=' . $rr['url'];
+ $photo_menu = array(array(t("View Profile"), zrl($rr['url'])));
+ $photo_menu[] = array(t("Connect/Follow"), $connlnk);
+ }
+
$entry = array(
- 'url' => $rr['url'],
- 'itemurl' => $rr['url'],
- 'name' => htmlentities($rr['name']),
- 'thumb' => $rr['photo'],
- 'img_hover' => htmlentities($rr['name']),
- 'tags' => '',
- 'id' => ++$id,
+ 'url' => $rr['url'],
+ 'itemurl' => $rr['url'],
+ 'name' => htmlentities($rr['name']),
+ 'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
+ 'img_hover' => htmlentities($rr['name']),
+ 'details' => $contact_details['location'],
+ 'tags' => $contact_details['keywords'],
+ 'about' => $contact_details['about'],
+ 'account_type' => (($contact_details['community']) ? t('Forum') : ''),
+ 'network' => network_to_name($contact_details['network'], $contact_details['url']),
+ 'photo_menu' => $photo_menu,
+ 'conntxt' => t('Connect'),
+ 'connlnk' => $connlnk,
+ 'id' => ++$id,
);
$entries[] = $entry;
}
diff --git a/mod/common.php b/mod/common.php
index caf2f7ea5..60a4a450b 100644
--- a/mod/common.php
+++ b/mod/common.php
@@ -1,6 +1,8 @@
argv[3]);
$zcid = 0;
+ if (! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
if($cmd !== 'loc' && $cmd != 'rem')
return;
+
if(! $uid)
return;
@@ -93,14 +101,28 @@ function common_content(&$a) {
foreach($r as $rr) {
+ // $rr[id] is needed to use contact_photo_menu()
+ $rr[id] = $rr[cid];
+
+ $photo_menu = '';
+ $photo_menu = contact_photo_menu ($rr);
+
+ //get further details of the contact
+ $contact_details = get_contact_details_by_url($rr['url'], $uid);
+
$entry = array(
- 'url' => $rr['url'],
- 'itemurl' => $rr['url'],
- 'name' => htmlentities($rr['name']),
- 'thumb' => $rr['photo'],
- 'img_hover' => htmlentities($rr['name']),
- 'tags' => '',
- 'id' => ++$id,
+ 'url' => $rr['url'],
+ 'itemurl' => $rr['url'],
+ 'name' => $rr['name'],
+ 'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
+ 'img_hover' => htmlentities($rr['name']),
+ 'details' => $contact_details['location'],
+ 'tags' => $contact_details['keywords'],
+ 'about' => $contact_details['about'],
+ 'account_type' => (($contact_details['community']) ? t('Forum') : ''),
+ 'network' => network_to_name($contact_details['network'], $contact_details['url']),
+ 'photo_menu' => $photo_menu,
+ 'id' => ++$id,
);
$entries[] = $entry;
}
diff --git a/view/templates/contact_template.tpl b/view/templates/contact_template.tpl
index 75f49653b..06918533c 100644
--- a/view/templates/contact_template.tpl
+++ b/view/templates/contact_template.tpl
@@ -30,11 +30,16 @@
-
{{$contact.name}}
+
+ {{$contact.name}}
+ {{if $contact.account_type}} ({{$contact.account_type}}){{/if}}
+
{{if $contact.alt_text}}
{{$contact.alt_text}}
{{/if}}
{{if $contact.itemurl}}
{{$contact.itemurl}}
{{/if}}
- {{if $contact.network}}
{{$contact.network}}
{{/if}}
+ {{if $contact.tags}}
{{$contact.tags}}
{{/if}}
{{if $contact.details}}
{{$contact.details}}
{{/if}}
+ {{if $contact.network}}
{{$contact.network}}
{{/if}}
+
diff --git a/view/theme/frost-mobile/templates/contact_template.tpl b/view/theme/frost-mobile/templates/contact_template.tpl
index 198b24746..3395c9dad 100644
--- a/view/theme/frost-mobile/templates/contact_template.tpl
+++ b/view/theme/frost-mobile/templates/contact_template.tpl
@@ -13,28 +13,32 @@
{{if $contact.photo_menu}}
{{**}}
-
+
{{/if}}
-
{{$contact.name}}
+
+ {{$contact.name}}
+ {{if $contact.account_type}} ({{$contact.account_type}}){{/if}}
+
{{if $contact.alt_text}}
{{$contact.alt_text}}
{{/if}}
{{if $contact.itemurl}}
{{$contact.itemurl}}
{{/if}}
- {{if $contact.network}}
{{$contact.network}}
{{/if}}
+ {{if $contact.tags}}
{{$contact.tags}}
{{/if}}
{{if $contact.details}}
{{$contact.details}}
{{/if}}
+ {{if $contact.network}}
{{$contact.network}}
{{/if}}
diff --git a/view/theme/frost/templates/contact_template.tpl b/view/theme/frost/templates/contact_template.tpl
index 777ed5017..fe491fd83 100644
--- a/view/theme/frost/templates/contact_template.tpl
+++ b/view/theme/frost/templates/contact_template.tpl
@@ -27,11 +27,15 @@
-
{{$contact.name}}
+
+ {{$contact.name}}
+ {{if $contact.account_type}} ({{$contact.account_type}}){{/if}}
+
{{if $contact.alt_text}}
{{$contact.alt_text}}
{{/if}}
{{if $contact.itemurl}}
{{$contact.itemurl}}
{{/if}}
- {{if $contact.network}}
{{$contact.network}}
{{/if}}
+ {{if $contact.tags}}
{{$contact.tags}}
{{/if}}
{{if $contact.details}}
{{$contact.details}}
{{/if}}
+ {{if $contact.network}}
{{$contact.network}}
{{/if}}
diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css
index b0489af80..485ac3938 100644
--- a/view/theme/quattro/dark/style.css
+++ b/view/theme/quattro/dark/style.css
@@ -1583,7 +1583,7 @@ span[id^="showmore-wrap"] {
}
.contact-name {
font-weight: bold;
- padding-top: 15px;
+ /* padding-top: 15px; */
}
.contact-details {
color: #999999;
diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css
index 0c7050045..345043ffb 100644
--- a/view/theme/quattro/green/style.css
+++ b/view/theme/quattro/green/style.css
@@ -1583,7 +1583,7 @@ span[id^="showmore-wrap"] {
}
.contact-name {
font-weight: bold;
- padding-top: 15px;
+ /* padding-top: 15px; */
}
.contact-details {
color: #999999;
diff --git a/view/theme/quattro/lilac/style.css b/view/theme/quattro/lilac/style.css
index c5f655427..b2dec86c8 100644
--- a/view/theme/quattro/lilac/style.css
+++ b/view/theme/quattro/lilac/style.css
@@ -1583,7 +1583,7 @@ span[id^="showmore-wrap"] {
}
.contact-name {
font-weight: bold;
- padding-top: 15px;
+ /* padding-top: 15px; */
}
.contact-details {
color: #999999;
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
index cd604b656..7aede8df0 100644
--- a/view/theme/quattro/quattro.less
+++ b/view/theme/quattro/quattro.less
@@ -908,7 +908,7 @@ span[id^="showmore-wrap"] {
img { width: 175px; height: 175px; }
}
}
-.contact-name { font-weight: bold; padding-top: 15px; }
+.contact-name { font-weight: bold; /* padding-top: 15px; */}
.contact-details {
color: @Grey3; white-space: nowrap;
overflow: hidden;
diff --git a/view/theme/quattro/templates/contact_template.tpl b/view/theme/quattro/templates/contact_template.tpl
index 7060505e9..2d59a8a25 100644
--- a/view/theme/quattro/templates/contact_template.tpl
+++ b/view/theme/quattro/templates/contact_template.tpl
@@ -26,11 +26,15 @@
- {{$contact.name}}
+
+ {{$contact.name}}
+ {{if $contact.account_type}} ({{$contact.account_type}}){{/if}}
+
{{if $contact.alt_text}}{{$contact.alt_text}}
{{/if}}
{{if $contact.itemurl}}{{$contact.itemurl}}
{{/if}}
- {{if $contact.network}}{{$contact.network}}
{{/if}}
+ {{if $contact.tags}}{{$contact.tags}}
{{/if}}
{{if $contact.details}}{{$contact.details}}
{{/if}}
+ {{if $contact.network}}{{$contact.network}}
{{/if}}
{{if $contact.connlnk}}
diff --git a/view/theme/vier/templates/contact_template.tpl b/view/theme/vier/templates/contact_template.tpl
index 2993bb92c..60e05610f 100644
--- a/view/theme/vier/templates/contact_template.tpl
+++ b/view/theme/vier/templates/contact_template.tpl
@@ -31,11 +31,15 @@
-
{{$contact.name}}
+
+ {{$contact.name}}
+ {{if $contact.account_type}} ({{$contact.account_type}}){{/if}}
+
{{if $contact.alt_text}}
{{$contact.alt_text}}
{{/if}}
{{if $contact.itemurl}}
{{$contact.itemurl}}
{{/if}}
- {{if $contact.network}}
{{$contact.network}}
{{/if}}
+ {{if $contact.tags}}
{{$contact.tags}}
{{/if}}
{{if $contact.details}}
{{$contact.details}}
{{/if}}
+ {{if $contact.network}}
{{$contact.network}}
{{/if}}