Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function reportMonitoring($smarty, $module_name, $local_templates_dir, &$pDB, &$pDBACL, $arrConf, $arrLang)
- {
- $pMonitoring = new paloSantoMonitoring($pDB);
- $pACL = new paloACL($pDBACL);
- $filter_field = getParameter("filter_field");
- $filter_value = getParameter("filter_value");
- $action = getParameter("nav");
- $start = getParameter("start");
- $as_csv = getParameter("exportcsv");
- $date_ini = getParameter("date_start");
- $date_end = getParameter("date_end");
- $path_record = $arrConf['records_dir'];
- $user = isset($_SESSION['elastix_user'])?$_SESSION['elastix_user']:"";
- $_POST['date_start'] = isset($date_ini)?$date_ini:date("d M Y");
- $_POST['date_end'] = isset($date_end)?$date_end:date("d M Y");
- if (!empty($pACL->errMsg)) {
- echo "ERROR DE ACL: $pACL->errMsg <br>";
- }
- $extension = $pACL->getUserExtension($user);
- $esMonitoringAdmin = $pACL->isUserMonitoringGroup($user);
- $esAdministrador = $pACL->isUserAdministratorGroup($user);
- $esAdministrador = $esMonitoringAdmin || $esAdministrador;
- $date_initial = date('Y-m-d',strtotime($_POST['date_start']))." 00:00:00";
- $date_final = date('Y-m-d',strtotime($_POST['date_end']))." 23:59:59";
- $_DATA = $_POST;
- //begin grid parameters
- $oGrid = new paloSantoGrid($smarty);
- if($esAdministrador)
- $totalMonitoring = $pMonitoring->getNumMonitoring($filter_field, $filter_value, null, $date_initial, $date_final);
- else
- $totalMonitoring = $pMonitoring->getNumMonitoring($filter_field, $filter_value, $extension, $date_initial, $date_final);
- $limit = 20;
- $total = $totalMonitoring;
- $oGrid->setLimit($limit);
- $oGrid->setTotal($total);
- $oGrid->enableExport(); // enable csv export.
- $oGrid->pagingShow(true); // show paging section.
- $oGrid->calculatePagination($action,$start);
- $offset = $oGrid->getOffsetValue();
- $end = $oGrid->getEnd();
- $url = array(
- 'menu' => $module_name,
- 'filter_field' => $filter_field,
- 'filter_value' => $filter_value,
- 'date_start' => $_POST['date_start'],
- 'date_end' => $_POST['date_end'],
- );
- $arrData = null;
- if($esAdministrador)
- $arrResult =$pMonitoring->getMonitoring($limit, $offset, $filter_field, $filter_value, null, $date_initial, $date_final);
- else
- $arrResult =$pMonitoring->getMonitoring($limit, $offset, $filter_field, $filter_value, $extension, $date_initial, $date_final);
- if(!$esAdministrador & ($extension=="" || is_null($extension))){
- $smarty->assign("mb_message", "<b>".$arrLang["no_extension"]."</b>");
- }else{
- if($extension=="" || is_null($extension))
- $smarty->assign("mb_message", "<b>".$arrLang["no_extension"]."</b>");
- if(is_array($arrResult) && $total>0){
- $src = "";
- $dst = "";
- foreach($arrResult as $key => $value){
- $arrTmp[0] = "<input type='checkbox' name='id_".$value['uniqueid']."' />";
- $arrTmp[1] = date('d M Y',strtotime($value['calldate']));
- $arrTmp[2] = date('H:i:s',strtotime($value['calldate']));
- if(!isset($value['src']) || $value['src']=="")
- $src = "<font color='gray'>".$arrLang["unknown"]."</font>";
- else
- $src = $value['src'];
- if(!isset($value['dst']) || $value['dst']=="")
- $dst = "<font color='gray'>".$arrLang["unknown"]."</font>";
- else
- $dst = $value['dst'];
- $arrTmp[3] = $src;
- $arrTmp[4] = $dst;
- $arrTmp[5] = "<label title='".$value['duration']." seconds' style='color:green'>".SecToHHMMSS( $value['duration'] )."</label>";
- //$file = base64_encode($value['userfield']);
- $file = $value['uniqueid'];
- $namefile = basename($value['userfield']);
- $namefile = str_replace("audio:","",$namefile);
- switch($namefile[0]){
- case "O":
- $arrTmp[6] = $arrLang["Outgoing"];
- break;
- case "g":
- $arrTmp[6] = $arrLang["Group"];
- break;
- case "q":
- $arrTmp[6] = $arrLang["Queue"];
- break;
- default :
- $arrTmp[6] = $arrLang["Incoming"];
- break;
- }
- $recordingLink = "<a href=\"javascript:popUp('index.php?menu=$module_name&action=display_record&id=$file&rawmode=yes',350,100);\">{$arrLang['Listen']}</a> ";
- $recordingLink .= "<a href='?menu=$module_name&action=download&id=$file&rawmode=yes' >{$arrLang['Download']}</a>";
- $arrTmp[7] = $recordingLink;
- $arrData[] = $arrTmp;
- }
- }
- }
- $arrGrid = array("title" => $arrLang["Monitoring"],
- "icon" => "images/record.png",
- "width" => "99%",
- "start" => ($total==0) ? 0 : $offset + 1,
- "end" => $end,
- "total" => $total,
- "url" => $url,
- "columns" => array(
- 0 => array("name" => "<input type='submit' onClick=\"return confirmSubmit('{$arrLang["message_alert"]}');\" name='submit_eliminar' value='{$arrLang["Delete"]}' class='button' />",
- "property1" => ""),
- 1 => array("name" => $arrLang["Date"],
- "property1" => ""),
- 2 => array("name" => $arrLang["Time"],
- "property1" => ""),
- 3 => array("name" => $arrLang["Source"],
- "property1" => ""),
- 4 => array("name" => $arrLang["Destination"],
- "property1" => ""),
- 5 => array("name" => $arrLang["Duration"],
- "property1" => ""),
- 6 => array("name" => $arrLang["Type"],
- "property1" => ""),
- 7 => array("name" => $arrLang["Message"],
- "property1" => ""),
- )
- );
- //begin section filter
- $arrFormFilterMonitoring = createFieldFilter($arrLang);
- $oFilterForm = new paloForm($smarty, $arrFormFilterMonitoring);
- $smarty->assign("SHOW", $arrLang["Show"]);
- if($esAdministrador)
- $smarty->assign("user", "admin");
- else
- $smarty->assign("user", $user);
- $htmlFilter = $oFilterForm->fetchForm("$local_templates_dir/filter.tpl","",$_POST);
- //end section filter
- if($as_csv == 'yes'){
- $name_csv = "Monitoring_".date("d-M-Y").".csv";
- header("Cache-Control: private");
- header("Pragma: cache");
- header("Content-Type: application/octec-stream");
- header("Content-disposition: inline; filename={$name_csv}");
- header("Content-Type: application/force-download");
- $content = $oGrid->fetchGridCSV($arrGrid, $arrData);
- }
- else{
- $oGrid->showFilter(trim($htmlFilter));
- $content = $oGrid->fetchGrid($arrGrid, $arrData,$arrLang);
- }
- //end grid parameters
- return $content;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement