|
|
@ -104,7 +104,7 @@ class Roster extends WidgetBase |
|
|
|
function prepareRosterElement($contact, $caps = false) |
|
|
|
{ |
|
|
|
$type = ''; |
|
|
|
$jingle = $jingle_audio = $jingle_video = false; |
|
|
|
$jingle = $jingle_audio = $jingle_video = $jingle_ice = false; |
|
|
|
|
|
|
|
if($caps && isset($caps[$contact->node.'#'.$contact->ver])) { |
|
|
|
$cap = $caps[$contact->node.'#'.$contact->ver]; |
|
|
@ -114,15 +114,21 @@ class Roster extends WidgetBase |
|
|
|
$client = reset($client); |
|
|
|
$features = $cap->features; |
|
|
|
|
|
|
|
if(array_search('urn:xmpp:jingle:1', unserialize($features)) !== null) { |
|
|
|
$features = unserialize($features); |
|
|
|
|
|
|
|
if(array_search('urn:xmpp:jingle:1', $features) !== null) { |
|
|
|
$jingle = true; |
|
|
|
|
|
|
|
if(array_search('urn:xmpp:jingle:apps:rtp:audio', unserialize($features)) !== null) { |
|
|
|
if(array_search('urn:xmpp:jingle:apps:rtp:audio', $features) !== null) { |
|
|
|
$jingle_audio = true; |
|
|
|
} |
|
|
|
if(array_search('urn:xmpp:jingle:apps:rtp:video', unserialize($features)) !== null) { |
|
|
|
if(array_search('urn:xmpp:jingle:apps:rtp:video', $features) !== null) { |
|
|
|
$jingle_video = true; |
|
|
|
} |
|
|
|
if(array_search('urn:xmpp:jingle:transports:ice-udp:0', $features) |
|
|
|
|| array_search('urn:xmpp:jingle:transports:ice-udp:1', $features)) { |
|
|
|
$jingle_ice = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -165,7 +171,7 @@ class Roster extends WidgetBase |
|
|
|
if($type == 'bot') |
|
|
|
$html .= '<div class="infoicon bot"></div>'; |
|
|
|
|
|
|
|
if($jingle_video == true) |
|
|
|
if($jingle_video ) |
|
|
|
$html .= '<div class="infoicon jingle" onclick="openPopup(\''.$contact->jid.'/'.$contact->ressource.'\')"></div>'; |
|
|
|
|
|
|
|
if(($contact->tuneartist != null && $contact->tuneartist != '') || |
|
|
|