function GetCrmActivityCommunications($ID) { $communications = CCrmActivity::GetCommunications($ID); $communicationData = array(); if (is_array($communications)) { foreach ($communications as &$comm) { CCrmActivity::PrepareCommunicationInfo($comm); $datum = array('id' => $comm['ID'], 'type' => $comm['TYPE'], 'value' => $comm['VALUE'], 'entityId' => $comm['ENTITY_ID'], 'entityType' => CCrmOwnerType::ResolveName($comm['ENTITY_TYPE_ID']), 'entityTitle' => $comm['TITLE'], 'entityUrl' => CCrmOwnerType::GetShowUrl($comm['ENTITY_TYPE_ID'], $comm['ENTITY_ID'])); if ($datum['type'] === 'PHONE' && CCrmSipHelper::checkPhoneNumber($datum['value'])) { $datum['enableSip'] = true; } $communicationData[] =& $datum; unset($datum); } unset($comm); } return array('DATA' => array('ID' => $ID, 'COMMUNICATIONS' => $communicationData)); }
public static function PrepareSipCallHtml($phone, $params = null) { if (!CCrmSipHelper::checkPhoneNumber($phone)) { return ''; } $entityType = is_array($params) && isset($params['ENTITY_TYPE']) ? $params['ENTITY_TYPE'] : ''; $entityID = is_array($params) && isset($params['ENTITY_ID']) ? intval($params['ENTITY_ID']) : 0; return '<span class="crm-tel-btn" onclick="BX.CrmSipManager.startCall({ number:\'' . CUtil::JSEscape($phone) . '\', enableInfoLoading: true }, { ENTITY_TYPE: \'' . CUtil::JSEscape($entityType) . '\', ENTITY_ID: \'' . CUtil::JSEscape($entityID) . '\' }, true, this);"></span>'; }