Example #1
0
 function zb_AsteriskParseCDR($data)
 {
     global $altcfg;
     $normalData = $data;
     if (!empty($normalData)) {
         $totalTime = 0;
         $callsCounter = 0;
         $cells = wf_TableCell('#');
         $cells .= wf_TableCell(__('Time'));
         $cells .= wf_TableCell(__('From'));
         $cells .= wf_TableCell(__('To'));
         $cells .= wf_TableCell(__('Type'));
         $cells .= wf_TableCell(__('Status'));
         $cells .= wf_TableCell(__('Talk time'));
         $rows = wf_TableRow($cells, 'row1');
         foreach ($normalData as $io => $each) {
             $callsCounter++;
             $debugData = wf_tag('pre') . print_r($each, true) . wf_tag('pre', true);
             $startTime = explode(' ', $each['calldate']);
             @($startTime = $startTime[1]);
             $tmpTime = strtotime($each['calldate']);
             $endTime = $tmpTime + $each['duration'];
             $endTime = date("H:i:s", $endTime);
             $answerTime = $tmpTime + ($each['duration'] - $each['billsec']);
             $answerTime = date("H:i:s", $answerTime);
             $tmpStats = __('Taken up the phone') . ': ' . $answerTime . "\n";
             $tmpStats .= __('End of call') . ': ' . $endTime;
             $sessionTimeStats = wf_tag('abbr', false, '', 'title="' . $tmpStats . '"');
             $sessionTimeStats .= $startTime;
             $sessionTimeStats .= wf_tag('abbr', true);
             $callDirection = '';
             $cells = wf_TableCell(wf_modal($callsCounter, $callsCounter, $debugData, '', '500', '600'), '', '', 'sorttable_customkey="' . $callsCounter . '"');
             $cells .= wf_TableCell($sessionTimeStats, '', '', 'sorttable_customkey="' . $tmpTime . '"');
             $cells .= wf_TableCell(zb_AsteriskGetNumAlias($each['src']));
             $cells .= wf_TableCell(zb_AsteriskGetNumAlias($each['dst']));
             $CallType = __('Dial');
             if (ispos($each['lastapp'], 'internal-caller-transfer')) {
                 $CallType = __('Call transfer');
             }
             $cells .= wf_TableCell($CallType);
             $callStatus = $each['disposition'];
             $statusIcon = '';
             if (ispos($each['disposition'], 'ANSWERED')) {
                 $callStatus = __('Answered');
                 $statusIcon = wf_img('skins/calls/phone_green.png');
             }
             if (ispos($each['disposition'], 'NO ANSWER')) {
                 $callStatus = __('No answer');
                 $statusIcon = wf_img('skins/calls/phone_red.png');
             }
             if (ispos($each['disposition'], 'BUSY')) {
                 $callStatus = __('Busy');
                 $statusIcon = wf_img('skins/calls/phone_yellow.png');
             }
             if (ispos($each['disposition'], 'FAILED')) {
                 $callStatus = __('Failed');
                 $statusIcon = wf_img('skins/calls/phone_fail.png');
             }
             $cells .= wf_TableCell($statusIcon . ' ' . $callStatus);
             $speekTime = $each['billsec'];
             $totalTime = $totalTime + $each['billsec'];
             $speekTime = zb_AsteriskFormatTime($speekTime);
             $cells .= wf_TableCell($speekTime, '', '', 'sorttable_customkey="' . $each['billsec'] . '"');
             $rows .= wf_TableRow($cells, 'row3');
         }
         $result = wf_TableBody($rows, '100%', '0', 'sortable');
         $result .= __('Time spent on calls') . ': ' . zb_AsteriskFormatTime($totalTime) . wf_tag('br');
         $result .= __('Total calls') . ': ' . $callsCounter;
         show_window('', $result);
     }
 }
Example #2
0
 /**
  * Gets Ubilling user login by number mobile
  * 
  * @param string $number - number
  * 
  * @return string
  */
 function zb_AsteriskGetLoginByNumber($number)
 {
     global $allrealnames;
     global $alladdress;
     if (strlen($number) == 13 or strlen(substr($number, -10)) == 10) {
         $number_cut = substr($number, -10);
         $LoginByNumberQueryArray = zb_LoginByNumberQuery();
         foreach ($LoginByNumberQueryArray as $num => $loginArray) {
             if (in_array($number_cut, $loginArray)) {
                 $user_by_number = $num;
                 break;
             }
         }
         $result = array();
         if (!empty($user_by_number)) {
             $result['link'] = wf_Link('?module=userprofile&username='******'login'] = $user_by_number;
             $result['name'] = @$allrealnames[$user_by_number];
             $result['adres'] = @$alladdress[$user_by_number];
             return $result;
         } else {
             $result['link'] = $number;
             $result['login'] = '';
             $result['name'] = '';
             $result['adres'] = '';
             return $result;
         }
     } else {
         $result['link'] = zb_AsteriskGetNumAlias($number);
         $result['login'] = '';
         $result['name'] = '';
         $result['adres'] = '';
         return $result;
     }
 }