diff options
author | zotlabs <mike@macgirvin.com> | 2016-12-20 23:26:31 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2016-12-20 23:26:31 -0800 |
commit | 3d811a17feb9b3d0fd4dc09023e3b7b5fe1623ac (patch) | |
tree | bf33cc99db4ce8e8048a5c6c1a8682d26d267a28 | |
parent | f3ec818a66e7909bcb744868cfef43c3481c4e43 (diff) | |
download | volse-hubzilla-3d811a17feb9b3d0fd4dc09023e3b7b5fe1623ac.tar.gz volse-hubzilla-3d811a17feb9b3d0fd4dc09023e3b7b5fe1623ac.tar.bz2 volse-hubzilla-3d811a17feb9b3d0fd4dc09023e3b7b5fe1623ac.zip |
provide call button on connections list if mobile|tablet and a phone number exists
-rw-r--r-- | Zotlabs/Module/Connections.php | 12 | ||||
-rw-r--r-- | include/connections.php | 30 | ||||
-rw-r--r-- | view/css/mod_connections.css | 4 | ||||
-rwxr-xr-x | view/tpl/connection_template.tpl | 2 |
4 files changed, 46 insertions, 2 deletions
diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index a0375cebb..950be660d 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -229,9 +229,17 @@ class Connections extends \Zotlabs\Web\Controller { $contacts = array(); if($r) { - + + vcard_query($r); + + foreach($r as $rr) { if($rr['xchan_url']) { + + if(($rr['vcard']) && is_array($rr['vcard']['tels']) && $rr['vcard']['tels'][0]['nr']) + $phone = ((\App::$is_mobile || \App::$is_tablet) ? $rr['vcard']['tels'][0]['nr'] : ''); + else + $phone = ''; $status_str = ''; $status = array( @@ -267,6 +275,8 @@ class Connections extends \Zotlabs\Web\Controller { 'network_label' => t('Network'), 'network' => network_to_name($rr['xchan_network']), 'public_forum' => ((intval($rr['xchan_pubforum'])) ? true : false), + 'call' => t('Call'), + 'phone' => $phone, 'status_label' => t('Status'), 'status' => $status_str, 'connected_label' => t('Connected'), diff --git a/include/connections.php b/include/connections.php index b85be33b2..44003bc93 100644 --- a/include/connections.php +++ b/include/connections.php @@ -858,3 +858,33 @@ function vcard_translate_type($type) { return [$type, t('Other') . ' (' . $type . ')']; } } + + +function vcard_query(&$r) { + + $arr = []; + + if($r && is_array($r) && count($r)) { + $uid = $r[0]['abook_channel']; + foreach($r as $rv) { + if($rv['abook_xchan'] && (! in_array("'" . dbesc($rv['abook_xchan']) . "'",$arr))) + $arr[] = "'" . dbesc($rv['abook_xchan']) . "'"; + } + } + + if($arr) { + $a = q("select * from abconfig where chan = %d and xchan in (" . protect_sprintf(implode(',', $arr)) . ") and cat = 'system' and k = 'vcard'", + intval($uid) + ); + if($a) { + foreach($a as $av) { + for($x = 0; $x < count($r); $x ++) { + if($r[$x]['abook_xchan'] == $av['xchan']) { + $vctmp = \Sabre\VObject\Reader::read($av['v']); + $r[$x]['vcard'] = (($vctmp) ? get_vcard_array($vctmp,$r[$x]['abook_id']) : [] ); + } + } + } + } + } +}
\ No newline at end of file diff --git a/view/css/mod_connections.css b/view/css/mod_connections.css index a33430e48..00e6e2a70 100644 --- a/view/css/mod_connections.css +++ b/view/css/mod_connections.css @@ -33,3 +33,7 @@ .contact-info-label { font-weight: bold; } + +.connphone { + color: green; +}
\ No newline at end of file diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl index a238f5bc7..64d27e609 100755 --- a/view/tpl/connection_template.tpl +++ b/view/tpl/connection_template.tpl @@ -14,7 +14,7 @@ </form> {{/if}} </div> - <h3>{{if $contact.public_forum}}<i class="fa fa-comments-o"></i> {{/if}}<a href="{{$contact.url}}" title="{{$contact.img_hover}}" >{{$contact.name}}</a></h3> + <h3>{{if $contact.public_forum}}<i class="fa fa-comments-o"></i> {{/if}}<a href="{{$contact.url}}" title="{{$contact.img_hover}}" >{{$contact.name}}</a>{{if $contact.phone}} <a class="btn btn-default btn-xs" href="tel:{{$contact.phone}}" title="{{$contact.call}}"><i class="fa fa-phone connphone"></i></a>{{/if}}</h3> </div> <div class="section-content-tools-wrapper"> <div class="contact-photo-wrapper" > |