The contact template now displays the address if available
This commit is contained in:
parent
2e81d0a2b3
commit
0f41f35041
13 changed files with 164 additions and 18 deletions
|
@ -198,12 +198,16 @@ function get_contact_details_by_url($url, $uid = -1) {
|
||||||
if ($uid == -1)
|
if ($uid == -1)
|
||||||
$uid = local_user();
|
$uid = local_user();
|
||||||
|
|
||||||
$r = q("SELECT `url`, `name`, `nick`, `addr`. `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
$r = q("SELECT `id` AS `gid`, `url`, `name`, `nick`, `addr`, `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
dbesc(normalise_link($url)));
|
dbesc(normalise_link($url)));
|
||||||
|
|
||||||
if ($r)
|
if ($r) {
|
||||||
$profile = $r[0];
|
$profile = $r[0];
|
||||||
else {
|
|
||||||
|
if ($profile["addr"] == "")
|
||||||
|
proc_run('php',"include/update_gcontact.php", $profile["gid"]);
|
||||||
|
|
||||||
|
} else {
|
||||||
$r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
|
$r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
|
||||||
dbesc(normalise_link($url)));
|
dbesc(normalise_link($url)));
|
||||||
|
|
||||||
|
|
114
include/update_gcontact.php
Normal file
114
include/update_gcontact.php
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once("boot.php");
|
||||||
|
|
||||||
|
function update_gcontact_run(&$argv, &$argc){
|
||||||
|
global $a, $db;
|
||||||
|
|
||||||
|
if(is_null($a)) {
|
||||||
|
$a = new App;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_null($db)) {
|
||||||
|
@include(".htconfig.php");
|
||||||
|
require_once("include/dba.php");
|
||||||
|
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
||||||
|
unset($db_host, $db_user, $db_pass, $db_data);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
require_once('include/session.php');
|
||||||
|
require_once('include/datetime.php');
|
||||||
|
require_once('library/simplepie/simplepie.inc');
|
||||||
|
require_once('include/items.php');
|
||||||
|
require_once('include/Contact.php');
|
||||||
|
require_once('include/email.php');
|
||||||
|
require_once('include/socgraph.php');
|
||||||
|
require_once('include/pidfile.php');
|
||||||
|
require_once('include/queue_fn.php');
|
||||||
|
|
||||||
|
load_config('config');
|
||||||
|
load_config('system');
|
||||||
|
|
||||||
|
$a->set_baseurl(get_config('system','url'));
|
||||||
|
|
||||||
|
load_hooks();
|
||||||
|
|
||||||
|
logger('update_gcontact: start');
|
||||||
|
|
||||||
|
$manual_id = 0;
|
||||||
|
$generation = 0;
|
||||||
|
$hub_update = false;
|
||||||
|
$force = false;
|
||||||
|
$restart = false;
|
||||||
|
|
||||||
|
if(($argc > 1) && (intval($argv[1])))
|
||||||
|
$contact_id = intval($argv[1]);
|
||||||
|
|
||||||
|
if(($argc > 2) && ($argv[2] == "force"))
|
||||||
|
$force = true;
|
||||||
|
|
||||||
|
if(!$contact_id) {
|
||||||
|
logger('update_gcontact: no contact');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$lockpath = get_lockpath();
|
||||||
|
if ($lockpath != '') {
|
||||||
|
$pidfile = new pidfile($lockpath, 'update_gcontact'.$contact_id);
|
||||||
|
if ($pidfile->is_already_running()) {
|
||||||
|
logger("update_gcontact: Already running for contact ".$contact_id);
|
||||||
|
if ($pidfile->running_time() > 9*60) {
|
||||||
|
$pidfile->kill();
|
||||||
|
logger("killed stale process");
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
|
||||||
|
|
||||||
|
if (!$r)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$data = probe_url($r[0]["url"]);
|
||||||
|
|
||||||
|
if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (($data["name"] == "") AND ($r[0]['name'] != ""))
|
||||||
|
$data["name"] = $r[0]['name'];
|
||||||
|
|
||||||
|
if (($data["nick"] == "") AND ($r[0]['nick'] != ""))
|
||||||
|
$data["nick"] = $r[0]['nick'];
|
||||||
|
|
||||||
|
if (($data["addr"] == "") AND ($r[0]['addr'] != ""))
|
||||||
|
$data["addr"] = $r[0]['addr'];
|
||||||
|
|
||||||
|
if (($data["photo"] == "") AND ($r[0]['photo'] != ""))
|
||||||
|
$data["photo"] = $r[0]['photo'];
|
||||||
|
|
||||||
|
|
||||||
|
q("UPDATE `gcontact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
|
||||||
|
WHERE `id` = %d",
|
||||||
|
dbesc($data["name"]),
|
||||||
|
dbesc($data["nick"]),
|
||||||
|
dbesc($data["addr"]),
|
||||||
|
dbesc($data["photo"]),
|
||||||
|
intval($contact_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
|
||||||
|
WHERE `uid` = 0 AND `nurl` = '%s'",
|
||||||
|
dbesc($data["name"]),
|
||||||
|
dbesc($data["nick"]),
|
||||||
|
dbesc($data["addr"]),
|
||||||
|
dbesc($data["photo"]),
|
||||||
|
dbesc(normalise_link($data["url"]))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (array_search(__file__,get_included_files())===0){
|
||||||
|
update_gcontact_run($_SERVER["argv"],$_SERVER["argc"]);
|
||||||
|
killme();
|
||||||
|
}
|
|
@ -69,7 +69,7 @@ function allfriends_content(&$a) {
|
||||||
|
|
||||||
$entry = array(
|
$entry = array(
|
||||||
'url' => $rr['url'],
|
'url' => $rr['url'],
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||||
'name' => htmlentities($rr['name']),
|
'name' => htmlentities($rr['name']),
|
||||||
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
||||||
'img_hover' => htmlentities($rr['name']),
|
'img_hover' => htmlentities($rr['name']),
|
||||||
|
|
|
@ -70,7 +70,7 @@ function common_content(&$a) {
|
||||||
|
|
||||||
|
|
||||||
if($cid == 0 && $zcid == 0)
|
if($cid == 0 && $zcid == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
if($cid)
|
if($cid)
|
||||||
|
@ -112,7 +112,7 @@ function common_content(&$a) {
|
||||||
|
|
||||||
$entry = array(
|
$entry = array(
|
||||||
'url' => $rr['url'],
|
'url' => $rr['url'],
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||||
'name' => $rr['name'],
|
'name' => $rr['name'],
|
||||||
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
||||||
'img_hover' => htmlentities($rr['name']),
|
'img_hover' => htmlentities($rr['name']),
|
||||||
|
|
|
@ -867,7 +867,7 @@ function _contact_detail_for_template($rr){
|
||||||
'name' => htmlentities($rr['name']),
|
'name' => htmlentities($rr['name']),
|
||||||
'username' => htmlentities($rr['name']),
|
'username' => htmlentities($rr['name']),
|
||||||
'sparkle' => $sparkle,
|
'sparkle' => $sparkle,
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']),
|
||||||
'url' => $url,
|
'url' => $url,
|
||||||
'network' => network_to_name($rr['network'], $rr['url']),
|
'network' => network_to_name($rr['network'], $rr['url']),
|
||||||
);
|
);
|
||||||
|
|
|
@ -69,7 +69,7 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
|
dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
|
||||||
dbesc(escape_tags($search)), dbesc(escape_tags($search)));
|
dbesc(escape_tags($search)), dbesc(escape_tags($search)));
|
||||||
|
|
||||||
$results = q("SELECT `contact`.`id` AS `cid`, `gcontact`.`url`, `gcontact`.`name`, `gcontact`.`photo`, `gcontact`.`network` , `gcontact`.`keywords`
|
$results = q("SELECT `contact`.`id` AS `cid`, `gcontact`.`url`, `gcontact`.`name`, `gcontact`.`photo`, `gcontact`.`network`, `gcontact`.`keywords`, `gcontact`.`addr`
|
||||||
FROM `gcontact`
|
FROM `gcontact`
|
||||||
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
||||||
AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
|
AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
|
||||||
|
@ -101,6 +101,7 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
$objresult = new stdClass();
|
$objresult = new stdClass();
|
||||||
$objresult->cid = $result["cid"];
|
$objresult->cid = $result["cid"];
|
||||||
$objresult->name = $result["name"];
|
$objresult->name = $result["name"];
|
||||||
|
$objresult->addr = $result["addr"];
|
||||||
$objresult->url = $result["url"];
|
$objresult->url = $result["url"];
|
||||||
$objresult->photo = $result["photo"];
|
$objresult->photo = $result["photo"];
|
||||||
$objresult->tags = $result["keywords"];
|
$objresult->tags = $result["keywords"];
|
||||||
|
@ -134,7 +135,9 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
|
|
||||||
$alt_text = "";
|
$alt_text = "";
|
||||||
|
|
||||||
$itemurl = $jj->url;
|
$contact_details = get_contact_details_by_url($jj->url, local_user());
|
||||||
|
|
||||||
|
$itemurl = (($contact_details["addr"] != "") ? $contact_details["addr"] : $jj->url);
|
||||||
|
|
||||||
// If We already know this contact then don't show the "connect" button
|
// If We already know this contact then don't show the "connect" button
|
||||||
if ($jj->cid > 0) {
|
if ($jj->cid > 0) {
|
||||||
|
@ -167,6 +170,9 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
'conntxt' => $conntxt,
|
'conntxt' => $conntxt,
|
||||||
'connlnk' => $connlnk,
|
'connlnk' => $connlnk,
|
||||||
'photo_menu' => $photo_menu,
|
'photo_menu' => $photo_menu,
|
||||||
|
'details' => $contact_details['location'],
|
||||||
|
'tags' => $contact_details['keywords'],
|
||||||
|
'about' => $contact_details['about'],
|
||||||
'network' => network_to_name($jj->network, $jj->url),
|
'network' => network_to_name($jj->network, $jj->url),
|
||||||
'id' => ++$id,
|
'id' => ++$id,
|
||||||
);
|
);
|
||||||
|
|
|
@ -70,10 +70,15 @@ function match_content(&$a) {
|
||||||
$photo_menu = array(array(t("View Profile"), zrl($jj->url)));
|
$photo_menu = array(array(t("View Profile"), zrl($jj->url)));
|
||||||
$photo_menu[] = array(t("Connect/Follow"), $connlnk);
|
$photo_menu[] = array(t("Connect/Follow"), $connlnk);
|
||||||
|
|
||||||
|
$contact_details = get_contact_details_by_url($jj->url, local_user());
|
||||||
|
|
||||||
$entry = array(
|
$entry = array(
|
||||||
'url' => zrl($jj->url),
|
'url' => zrl($jj->url),
|
||||||
'itemurl' => $jj->url,
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $jj->url),
|
||||||
'name' => $jj->name,
|
'name' => $jj->name,
|
||||||
|
'details' => $contact_details['location'],
|
||||||
|
'tags' => $contact_details['keywords'],
|
||||||
|
'about' => $contact_details['about'],
|
||||||
'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
|
'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
|
||||||
'inttxt' => ' ' . t('is interested in:'),
|
'inttxt' => ' ' . t('is interested in:'),
|
||||||
'conntxt' => t('Connect'),
|
'conntxt' => t('Connect'),
|
||||||
|
|
|
@ -35,6 +35,7 @@ function nogroup_content(&$a) {
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
foreach($r as $rr) {
|
foreach($r as $rr) {
|
||||||
|
|
||||||
|
$contact_details = get_contact_details_by_url($rr['url'], local_user());
|
||||||
|
|
||||||
$contacts[] = array(
|
$contacts[] = array(
|
||||||
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
|
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
|
||||||
|
@ -46,8 +47,11 @@ function nogroup_content(&$a) {
|
||||||
'thumb' => $rr['thumb'],
|
'thumb' => $rr['thumb'],
|
||||||
'name' => $rr['name'],
|
'name' => $rr['name'],
|
||||||
'username' => $rr['name'],
|
'username' => $rr['name'],
|
||||||
|
'details' => $contact_details['location'],
|
||||||
|
'tags' => $contact_details['keywords'],
|
||||||
|
'about' => $contact_details['about'],
|
||||||
'sparkle' => $sparkle,
|
'sparkle' => $sparkle,
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||||
'url' => $url,
|
'url' => $url,
|
||||||
'network' => network_to_name($rr['network'], $url),
|
'network' => network_to_name($rr['network'], $url),
|
||||||
);
|
);
|
||||||
|
|
|
@ -78,16 +78,20 @@ function suggest_content(&$a) {
|
||||||
|
|
||||||
$connlnk = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']);
|
$connlnk = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']);
|
||||||
$ignlnk = $a->get_baseurl() . '/suggest?ignore=' . $rr['id'];
|
$ignlnk = $a->get_baseurl() . '/suggest?ignore=' . $rr['id'];
|
||||||
$photo_menu = array(array(t("View Profile"), zrl($jj->url)));
|
$photo_menu = array(array(t("View Profile"), zrl($rr["url"])));
|
||||||
$photo_menu[] = array(t("Connect/Follow"), $connlnk);
|
$photo_menu[] = array(t("Connect/Follow"), $connlnk);
|
||||||
$photo_menu[] = array(t('Ignore/Hide'), $ignlnk);
|
$photo_menu[] = array(t('Ignore/Hide'), $ignlnk);
|
||||||
|
$contact_details = get_contact_details_by_url($rr["url"], local_user());
|
||||||
|
|
||||||
$entry = array(
|
$entry = array(
|
||||||
'url' => zrl($rr['url']),
|
'url' => zrl($rr['url']),
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||||
'img_hover' => $rr['url'],
|
'img_hover' => $rr['url'],
|
||||||
'name' => $rr['name'],
|
'name' => $rr['name'],
|
||||||
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
|
||||||
|
'details' => $contact_details['location'],
|
||||||
|
'tags' => $contact_details['keywords'],
|
||||||
|
'about' => $contact_details['about'],
|
||||||
'ignlnk' => $ignlnk,
|
'ignlnk' => $ignlnk,
|
||||||
'ignid' => $rr['id'],
|
'ignid' => $rr['id'],
|
||||||
'conntxt' => t('Connect'),
|
'conntxt' => t('Connect'),
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
require_once('include/Contact.php');
|
||||||
require_once('include/contact_selectors.php');
|
require_once('include/contact_selectors.php');
|
||||||
|
|
||||||
function viewcontacts_init(&$a) {
|
function viewcontacts_init(&$a) {
|
||||||
|
@ -12,7 +13,6 @@ function viewcontacts_init(&$a) {
|
||||||
|
|
||||||
|
|
||||||
function viewcontacts_content(&$a) {
|
function viewcontacts_content(&$a) {
|
||||||
|
|
||||||
require_once("mod/proxy.php");
|
require_once("mod/proxy.php");
|
||||||
|
|
||||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||||
|
@ -59,15 +59,20 @@ function viewcontacts_content(&$a) {
|
||||||
else
|
else
|
||||||
$url = zrl($url);
|
$url = zrl($url);
|
||||||
|
|
||||||
|
$contact_details = get_contact_details_by_url($rr['url'], $a->profile['uid']);
|
||||||
|
|
||||||
$contacts[] = array(
|
$contacts[] = array(
|
||||||
'id' => $rr['id'],
|
'id' => $rr['id'],
|
||||||
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']),
|
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']),
|
||||||
'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
|
'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
|
||||||
'name' => htmlentities(substr($rr['name'],0,20)),
|
'name' => htmlentities(substr($rr['name'],0,20)),
|
||||||
'username' => htmlentities($rr['name']),
|
'username' => htmlentities($rr['name']),
|
||||||
|
'details' => $contact_details['location'],
|
||||||
|
'tags' => $contact_details['keywords'],
|
||||||
|
'about' => $contact_details['about'],
|
||||||
'url' => $url,
|
'url' => $url,
|
||||||
'sparkle' => '',
|
'sparkle' => '',
|
||||||
'itemurl' => $rr['url'],
|
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||||
'network' => network_to_name($rr['network'], $rr['url']),
|
'network' => network_to_name($rr['network'], $rr['url']),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,8 @@ nav {
|
||||||
|
|
||||||
.wall-item-container .wall-item-content {
|
.wall-item-container .wall-item-content {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
/* margin-left: -70px;
|
/* margin-left: -70px;
|
||||||
padding-top: 25px; */
|
padding-top: 25px; */
|
||||||
}
|
}
|
||||||
|
|
|
@ -2294,7 +2294,7 @@ aside #id_password {
|
||||||
.contact-entry-wrapper {
|
.contact-entry-wrapper {
|
||||||
float: left;
|
float: left;
|
||||||
width: 363px;
|
width: 363px;
|
||||||
height: 90px;
|
height: 100px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
margin: 0 10px 10px 0px;
|
margin: 0 10px 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,10 +36,12 @@
|
||||||
{{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
|
{{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
|
{{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
|
||||||
{{if $contact.itemurl}}<div class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>{{/if}}
|
<div class="contact-entry-details">
|
||||||
|
{{if $contact.itemurl}}<span class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</span>{{/if}}
|
||||||
|
{{if $contact.network}}<span class="contact-entry-details" id="contact-entry-network-{{$contact.id}}" > ({{$contact.network}})</span>{{/if}}
|
||||||
|
</div>
|
||||||
{{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
|
{{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
|
||||||
{{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
|
{{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
|
||||||
{{if $contact.network}}<div class="contact-entry-details" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>{{/if}}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue