forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
532 lines
19 KiB
532 lines
19 KiB
<?php |
|
|
|
/* |
|
* TIMEOUT DE RESPOSTA - (SEGUNDOS) |
|
*/ |
|
ini_set('default_socket_timeout', 10); |
|
|
|
/* |
|
* VARIAVEIS CONSTANTES |
|
*/ |
|
define('DIR_APP_AUDIO', "/var/www/html/aplicativo/audio/"); |
|
define('LOGIN_API', 'sinccontasenha'); |
|
define('PASSWD_API', 's3ncC0nt@S2nh@'); |
|
|
|
/* |
|
* VARIAVEIS DE ENTRADA DE DADOS |
|
*/ |
|
$dataIni = isset($_REQUEST["dataIni"]) ? trim($_REQUEST["dataIni"]) : date("d/m/Y"); |
|
$dataFim = isset($_REQUEST["dataFim"]) ? trim($_REQUEST["dataFim"]) : date("d/m/Y"); |
|
$src = isset($_REQUEST["src"]) ? trim($_REQUEST["src"]) : ''; |
|
$dst = isset($_REQUEST["dst"]) ? trim($_REQUEST["dst"]) : ''; |
|
$protocolo = isset($_REQUEST["proto"]) ? trim($_REQUEST["proto"]) : ''; |
|
|
|
$empresa = isset($_REQUEST["listaDacs"]) ? trim($_REQUEST["listaDacs"]) : ''; |
|
$agente = isset($_REQUEST["listaAgente"]) ? trim($_REQUEST["listaAgente"]) : ''; |
|
$classificacao = isset($_REQUEST["listaClass"]) ? trim($_REQUEST["listaClass"]) : ''; |
|
$item = isset($_REQUEST["listaItem"]) ? trim($_REQUEST["listaItem"]) : ''; |
|
|
|
$audio = isset($_GET['audio']) ? $_GET['audio'] : ''; |
|
$servidor = isset($_GET['srv']) ? $_GET['srv'] : ''; |
|
$dwn = isset($_GET['download']) ? true : false; |
|
|
|
$ajax = isset($_GET['ajax']) ? $_GET['ajax'] : ''; |
|
|
|
/* |
|
* LIMPA OS SERVIDORES COM STATUS OFFLINE |
|
*/ |
|
if ($ajax == 1) { |
|
SetServidorOffline('RemoveAll'); |
|
echo "OK"; |
|
exit(); |
|
} |
|
|
|
/* |
|
* VARIAVEIS COMPLEMENTARES |
|
*/ |
|
$revendasUser = GetRevendasUsuario($dbcon, 0, true); |
|
$colspan = 11; |
|
$exitAudio = 0; |
|
$pagMostra = 0; |
|
$contaReg = 0; |
|
$param = ''; |
|
|
|
try { |
|
|
|
/* |
|
* VERIFICA SE POSSUI UM ÁUDIO NA CHAMADA DA APP |
|
*/ |
|
GetAudioAlgar($servidor, $audio, $dwn); |
|
|
|
/* |
|
* CARREGA COMBOS DA PAGINA |
|
*/ |
|
$emp = ___GetEmpresa($dataIni, $dataFim, $revendasUser, $empresa); |
|
$agentes = ___GetAgente($revendasUser, $agente, $empresa); |
|
$optClass = ___GetClassificacao($dataIni, $dataFim, $revendasUser, $empresa, $classificacao, $item, $agente); |
|
$class = $optClass[0]; |
|
$itemClass = $optClass[1]; |
|
|
|
|
|
/* |
|
* LISTA DO REQUEST |
|
*/ |
|
$params = array('listaDacs', 'listaAgente', 'listaItem', 'listaClass', 'dataIni', 'dataFim', 'src', 'dst', 'tipoConsulta'); |
|
foreach ($params as $nomeParam) { |
|
$param .= sprintf('&%s=%s', $nomeParam, $_REQUEST[$nomeParam]); |
|
} |
|
/* |
|
* COLETA A QUERY A SER EXECUTADA |
|
*/ |
|
$setQuery = GetQuery($dataIni, $dataFim, $src, $dst, $protocolo, $empresa, $agente, $classificacao, $item, $revendasUser, 'query'); |
|
|
|
/* |
|
* EXECUTA A QUERY COM A PAGINACAO |
|
*/ |
|
$links = PaginaDados($idProg, $setQuery, $param, $regPagina, $offSet, $pagMostra, true); |
|
$dadosAudios = GetQuery('', '', '', '', '', '', '', '', '', '', $setQuery . " LIMIT $regPagina OFFSET $offSet "); |
|
|
|
/* |
|
* EXIBE A RESPOSTA NA GRID |
|
*/ |
|
$linhas = ___GetGrid($dadosAudios); |
|
} catch (Exception $ex) { |
|
$mensagem = $ex->getMessage(); |
|
} |
|
|
|
$jsJQuery[] = "\$('#dataIni').keypress(function(){formataDataHora(this);}) "; |
|
$jsJQuery[] = "\$('#dataFim').keypress(function(){formataDataHora(this);}) "; |
|
|
|
/* |
|
* VARIAVEIS PARA SER PASSADA PARA O SMARTY |
|
*/ |
|
$smarty->assign('dtIni', $dataIni); |
|
$smarty->assign('dtFim', $dataFim); |
|
$smarty->assign('src', $src); |
|
$smarty->assign('dst', $dst); |
|
$smarty->assign('proto', $protocolo); |
|
$smarty->assign('dacs', $emp); |
|
$smarty->assign('agentes', $agentes); |
|
$smarty->assign('class', $class); |
|
$smarty->assign('hasClass', $classificacao); |
|
$smarty->assign('itemClas', $itemClass); |
|
$smarty->assign('linhas', $linhas); |
|
$smarty->assign('colspan', 10); |
|
$smarty->assign('mensagem', $mensagem); |
|
$smarty->assign('links', $links); |
|
$smarty->assign("pagMostra", $pagMostra); |
|
$smarty->assign("totalReg", $totalReg); |
|
$smarty->assign("status", $statusAtivo); |
|
$smarty->assign("pgn", $_REQUEST["pgn"]); |
|
$smarty->assign("bloco", $_REQUEST["bloco"]); |
|
$smarty->assign("pg", $_REQUEST["pg"]); |
|
|
|
GetTemplate($smarty, 'audio_algar.tpl'); |
|
|
|
/* |
|
* DETERMINA QUAL O TIPO DE EXECUCAO SERÁ FEITA (STREMING NA PAGINA OU DOWNLOAD) |
|
*/ |
|
|
|
function GetAudioAlgar($servidor, $audio, $dwn = false) { |
|
global $jsJQuery; |
|
|
|
if (!$audio) { |
|
return null; |
|
} |
|
|
|
if ($servidor && !$dwn) { |
|
echo GetAudioApi($servidor, $audio); |
|
} else if ($servidor && $dwn) { |
|
GetAudioApi($servidor, $audio, true); |
|
CreateDownloadStream(base64_decode($audio)); |
|
} else { |
|
$patch = explode('/', base64_decode($audio)); |
|
$arq = count($patch); |
|
$file = $patch[$arq - 1]; |
|
$dstAudio = DIR_APP_AUDIO . str_ireplace('.WAV', '.MP3', $file); |
|
CnvrtWavToMp3(base64_decode($audio), $dstAudio); |
|
DownloadAudio($file, base64_decode($audio), 'mp3'); |
|
} |
|
exit(); |
|
} |
|
|
|
/* |
|
* BUSCA NO SERVIDOR O AUDIO PARA SER REPRODUZIDO |
|
*/ |
|
|
|
function GetAudioApi($servidor, $audio, $create = false) { |
|
$vpn = base64_decode($servidor); |
|
$audioMp3 = base64_decode($audio); |
|
$url = "http://$vpn/integracao?method=GetAudio&login=" . LOGIN_API . "&uniqueid=$audioMp3&senha=" . PASSWD_API . "&tipo=mp3&tipoRetorno=XML"; |
|
if ($create) { |
|
file_put_contents(DIR_APP_AUDIO . $audioMp3 . '.WAV', file_get_contents($url)); |
|
} else { |
|
return file_get_contents($url); |
|
} |
|
} |
|
|
|
/* |
|
* EXECUCAO DA QUERY DE CHAMADAS NO BANCO |
|
*/ |
|
|
|
function GetQuery($dataIni, $dataFim, $src, $dst, $protocolo, $empId, $agente, $classificacao, $item, $revendasUser, $param = null) { |
|
global $contaReg; |
|
|
|
if ($param == 'query') { |
|
$query = "SELECT a.uid,e.emp_nome_fantasia,emp_cnpj,chm_fila,vdr_apelido,chm_calldate,chm_duration,chm_src, |
|
chm_dst,prt_proto_parceiro,clas_descricao,clas_descricao_item,a.uid,chm_userfield,emp_vpn,emp_diretorio_ftp |
|
FROM vds_chamadas a |
|
INNER JOIN vds_vendedores b ON a.emp_id = b.emp_id |
|
INNER JOIN vds_classificacoes c ON c.uid = a.uid |
|
INNER JOIN vds_protcolos d ON d.uid = a.uid |
|
INNER JOIN vds_empresas e ON e.emp_id = a.emp_id |
|
WHERE chm_matricula = vdr_matricula |
|
AND a.chm_evento IN ('COMPLETEAGENT','COMPLETECALLER','COMPLETAAGENT','COMPLETACALLER', 'TRANSFER') "; |
|
|
|
if (!$protocolo) { |
|
$query .= $dataIni && $dataFim ? sprintf(" AND chm_data_bilhete >= '%s' AND chm_data_bilhete <= '%s' ", FormatDtMssql($dataIni), FormatDtMssql($dataFim)) : ''; |
|
$query .= $src ? "AND chm_src = '$src' " : ''; |
|
$query .= $dst ? "AND chm_dst = '$dst' " : ''; |
|
$query .= $agente ? sprintf("AND vdr_apelido = '%s' ", explode('|', $agente)[1]) : ''; |
|
$query .= $classificacao ? "AND clas_descricao = '$classificacao' " : ''; |
|
$query .= $item ? "AND clas_descricao_item = '$item' " : ''; |
|
|
|
if ($empId) { |
|
$query .= sprintf("AND a.emp_id IN (%s) ", $empId); |
|
} else if ($agente) { |
|
$query .= sprintf("AND a.emp_id IN (%s) ", explode('|', $agente)[0]); |
|
} else { |
|
$query .= "AND a.emp_id IN ($revendasUser) "; |
|
} |
|
} else { |
|
$query .= $protocolo ? "AND prt_proto_parceiro = '$protocolo' " : ''; |
|
} |
|
|
|
$query .= " ORDER BY 3 DESC "; |
|
|
|
$data = ___GetData($query); |
|
$contaReg = count($data); |
|
|
|
return $query; |
|
} |
|
|
|
$data = ___GetData($param); |
|
|
|
if (!$data) { |
|
throw new Exception("Não foi encontrado nenhum dado com as informações passadas!"); |
|
} |
|
|
|
return $data; |
|
} |
|
|
|
/* |
|
* CRIA O COMBO COM AS EMPRESAS DE ACORDO COM A RAGE DE DATA E CHAMADA PRESENTE NA PESQUISA |
|
*/ |
|
|
|
function ___GetEmpresa($dataIni, $dataFim, $revendaUser, $empId = null) { |
|
|
|
$query = sprintf("SELECT DISTINCT a.emp_id,emp_diretorio_ftp |
|
FROM vds_chamadas a |
|
INNER JOIN vds_empresas b ON a.emp_id = b.emp_id |
|
WHERE chm_data_bilhete >= '%s' AND chm_data_bilhete <= '%s' ", FormatDtMssql($dataIni), FormatDtMssql($dataFim)); |
|
$query .= " AND emp_diretorio_ftp IS NOT NULL AND a.emp_id IN($revendaUser) ORDER BY 2;"; |
|
|
|
$select = $empId ? '' : 'selected="selected"'; |
|
$option = "<select name=\"listaDacs\" id=\"listaDacs\" size=\"1\">"; |
|
$option .= "<option value=\"0\" $select>-----------------</option>"; |
|
|
|
$dadosEmp = ___GetData($query); |
|
|
|
foreach ($dadosEmp as $emp) { |
|
|
|
if (strpos($emp['emp_diretorio_ftp'], '/') !== false) { |
|
$str = explode('/', $emp['emp_diretorio_ftp']); |
|
$str = $str[count($str) - 1]; |
|
} else { |
|
$str = $emp['emp_diretorio_ftp']; |
|
} |
|
|
|
if ($emp['emp_id'] == $empId) { |
|
$select = "selected=\"selected\""; |
|
} else { |
|
$select = ''; |
|
} |
|
$option .= "<option value=\"{$emp['emp_id']}\" $select>$str</option>"; |
|
} |
|
|
|
$option .= "</select>"; |
|
|
|
return $option; |
|
} |
|
|
|
/* |
|
* CRIA O COMBO COM OS AGENTES DE ACORDO COM A RAGE DE DATA E CHAMADA PRESENTE NA PESQUISA |
|
*/ |
|
|
|
function ___GetAgente($revendaUser, $agente = null, $empId = null) { |
|
global $dataIni, $dataFim; |
|
|
|
if (!$empId) { |
|
$query = "SELECT vdr_apelido AS apelido, vdr_matricula AS matricula, emp_id |
|
FROM vds_vendedores |
|
WHERE "; |
|
$query .= "emp_id IN ($revendaUser) ORDER BY apelido"; |
|
} else { |
|
$query = sprintf("SELECT DISTINCT vdr_apelido AS apelido, vdr_matricula AS matricula, a.emp_id |
|
FROM vds_chamadas a |
|
INNER JOIN vds_vendedores b ON a.emp_id = b.emp_id |
|
WHERE chm_data_bilhete >= '%s' AND chm_data_bilhete <= '%s' AND b.emp_id = %s", FormatDtMssql($dataIni), FormatDtMssql($dataFim), $empId); |
|
$query .= " ORDER BY apelido"; |
|
} |
|
$select = $agente ? '' : 'selected="selected"'; |
|
$option = "<select name=\"listaAgente\" id=\"listaAgente\" size=\"1\">"; |
|
$option .= "<option value=\"0\" $select>-----------------</option>"; |
|
|
|
$dadosAgentes = ___GetData($query); |
|
|
|
foreach ($dadosAgentes as $agt) { |
|
if ("{$agt['emp_id']}|{$agt['apelido']}|{$agt['matricula']}" == $agente) { |
|
$select = "selected=\"selected\""; |
|
} else { |
|
$select = ''; |
|
} |
|
$option .= "<option value=\"{$agt['emp_id']}|{$agt['apelido']}|{$agt['matricula']}\" $select>{$agt['apelido']}</option>"; |
|
} |
|
|
|
$option .= "</select>"; |
|
|
|
return $option; |
|
} |
|
|
|
/* |
|
* CRIA O COMBO COM AS CLASSIFICACOES DE ACORDO COM A RAGE DE DATA E CHAMADA PRESENTE NA PESQUISA |
|
*/ |
|
|
|
function ___GetClassificacao($dataIni, $dataFim, $revendaUser, $empId = null, $classificacao = null, $item = null, $agente = null) { |
|
|
|
$query = sprintf("SELECT DISTINCT clas_descricao AS classificacao FROM vds_classificacoes |
|
WHERE clas_data >= '%s' AND clas_data <= '%s' ", FormatDtMssql($dataIni), FormatDtMssql($dataFim)); |
|
|
|
if ($empId) { |
|
$query .= sprintf(" AND emp_id IN('%s') ", $empId); |
|
} else if ($agente) { |
|
$query .= sprintf(" AND clas_matricula = '%s' ", explode('|', $agente)[2]); |
|
$query .= sprintf(" AND emp_id IN('%s') ", explode('|', $agente)[0]); |
|
} else { |
|
$query .= " AND emp_id IN($revendaUser) "; |
|
} |
|
|
|
$select = $classificacao ? '' : 'selected="selected"'; |
|
$option = "<select name=\"listaClass\" id=\"listaClass\" size=\"1\">"; |
|
$option .= "<option value=\"0\" $select>-----------------</option>"; |
|
$dadosClassificacao = ___GetData($query); |
|
|
|
foreach ($dadosClassificacao as $clas) { |
|
if ($clas['classificacao'] == $classificacao) { |
|
$select = "selected=\"selected\""; |
|
} else { |
|
$select = ''; |
|
} |
|
$option .= "<option value=\"{$clas['classificacao']}\" $select>{$clas['classificacao']}</option>"; |
|
} |
|
|
|
$option .= "</select>"; |
|
if ($classificacao) { |
|
$itemOption = ___GetClassificacaoItem($dataIni, $dataFim, $revendaUser, $classificacao, $item ? $item : '', $empId); |
|
return array($option, $itemOption); |
|
} else { |
|
return array($option); |
|
} |
|
} |
|
|
|
/* |
|
* CRIA E EXIBE COMBO COM OS ITENS DE CLASSIFICACAO DE ACORDO A PESQUISA DE CLASSFICACAO |
|
*/ |
|
|
|
function ___GetClassificacaoItem($dataIni, $dataFim, $revendaUser, $classificacao, $item = null, $empId = null) { |
|
|
|
$query = sprintf("SELECT DISTINCT clas_descricao_item AS item |
|
FROM vds_classificacoes a |
|
INNER JOIN vds_chamadas b ON a.uid = b.uid |
|
WHERE clas_reg::DATE >= '%s' AND clas_reg::DATE <= '%s' |
|
AND clas_descricao = '$classificacao' ", FormatDtMssql($dataIni), FormatDtMssql($dataFim)); |
|
if ($empId) { |
|
$query .= sprintf(" AND a.emp_id IN(%s); ", $empId); |
|
} else { |
|
$query .= " AND emp_id IN($revendaUser);"; |
|
} |
|
|
|
$select = $classificacao ? '' : 'selected="selected"'; |
|
$option = "<select name=\"listaItem\" id=\"listaItem\" size=\"1\">"; |
|
$option .= "<option value=\"0\" $select>-----------------</option>"; |
|
|
|
$dadosClassificacao = ___GetData($query); |
|
|
|
foreach ($dadosClassificacao as $clas) { |
|
if ($clas['item'] == $item) { |
|
$select = "selected=\"selected\""; |
|
} else { |
|
$select = ''; |
|
} |
|
$option .= "<option value=\"{$clas['item']}\" $select>{$clas['item']}</option>"; |
|
} |
|
|
|
$option .= "</select>"; |
|
return $option; |
|
} |
|
|
|
/* |
|
* FUNCAO PARA EXECUTAR QUERY E TRAZER OS DADOS EM ARRAY |
|
*/ |
|
|
|
function ___GetData($query) { |
|
global $dbcon; |
|
|
|
$result = pg_query($dbcon, $query); |
|
$resp = pg_fetch_all($result); |
|
|
|
if (!$resp) { |
|
return null; |
|
} |
|
|
|
return $resp; |
|
} |
|
|
|
/* |
|
* MONTA A GRID A SER APRESENTADA PARA O USUARIO FINAL DA APLICACAO |
|
*/ |
|
|
|
function ___GetGrid($dadosAudios) { |
|
global $colspan, $pagMostra, $contaReg; |
|
|
|
foreach ($dadosAudios as $dados) { |
|
$audioHTML = ''; |
|
$uid = $dados['uid'] ? $dados['uid'] : ""; |
|
$empresa = $dados['emp_nome_fantasia'] ? str_replace(" - ALGAR TELECOM", '', $dados['emp_nome_fantasia']) : ' - '; |
|
$fila = $dados['chm_fila'] ? $dados['chm_fila'] : ' - '; |
|
$apelido = $dados['vdr_apelido'] ? $dados['vdr_apelido'] : ' - '; |
|
$data = date('d/m/Y H:i:s', strtotime($dados['chm_calldate'])); |
|
$dataDir = date('Y/m/d', strtotime($dados['chm_calldate'])); |
|
$duration = SecondToStrTime($dados['chm_duration']); |
|
$orig = $dados['chm_src'] ? $dados['chm_src'] : ' - '; |
|
$dest = $dados['chm_dst'] ? $dados['chm_dst'] : ' - '; |
|
$proto = $dados["prt_proto_parceiro"] ? $dados["prt_proto_parceiro"] : ' - '; |
|
$clasDesc = !$dados["clas_descricao"] ? '-' : $dados["clas_descricao"]; |
|
$ItemDesc = !$dados["clas_descricao_item"] ? '-' : $dados["clas_descricao_item"]; |
|
$vpn = $dados['emp_vpn'] ? base64_encode($dados['emp_vpn']) : ''; |
|
$audioUnique = $dados['uid'] ? base64_encode($dados['uid']) : ''; |
|
|
|
$url = $_SERVER['SERVER_NAME']; |
|
$audioDir = VerificaAudioHDAUX($dados['emp_diretorio_ftp'], $dataDir, $proto, $uid); |
|
if ($audioDir) { |
|
$linkAudio = "https://$url/index.php?idProg=327&audio=$audioDir"; |
|
$audioHTML = "<audio controls preload='none' controlsList=\"download\" reconnect src=\"$linkAudio\"></audio>"; |
|
} |
|
// } else if ($vpn && VerificaConexaoCentral(base64_decode($vpn))) { |
|
// $linkAudio = "http://$url/index.php?idProg=327&audio=$audioUnique&srv=$vpn"; |
|
// $audioHTML = "<audio controls preload='none' controlsList=\"nodownload\" reconnect src=\"$linkAudio\"></audio>"; |
|
// } |
|
|
|
$downloadAudio = "<a href='$linkAudio&download=dwn'><img src=\"imgSite/cloud-download.png\" width='35px' ></a>"; |
|
|
|
$linhas .= "<tr> |
|
<td align=\"left\" class=\"headData\">$empresa</td> |
|
<td align=\"left\" class=\"headData\">$fila</td> |
|
<td align=\"left\" class=\"headData\">$apelido</td> |
|
<td align=\"left\" class=\"headData\">$data</td> |
|
<td align=\"center\" class=\"headData\">$duration</td> |
|
<td align=\"center\" class=\"headData\">$orig</td> |
|
<td align=\"center\" class=\"headData\">$dest</td> |
|
<td align=\"center\" class=\"headData\">$proto</td> |
|
<td align=\"center\" class=\"headData\">$clasDesc</td> |
|
<td align=\"center\" class=\"headData\">$ItemDesc</td>"; |
|
if (empty($audioHTML)) { |
|
$linhas .= "<td align=\"center\" class=\"headData\" colspan='2'><b>Áudio/Servidor inacessível!</b></td>"; |
|
} else { |
|
$linhas .= "<td align=\"center\" class=\"headData\">$audioHTML</td> |
|
<td align=\"center\" class=\"headData\">$downloadAudio</td>"; |
|
} |
|
|
|
$linhas .= "</tr>"; |
|
} |
|
|
|
$linhas .= "<tr> |
|
<th colspan=\"$colspan\" align=\"center\" class=\"headColun\">Total de Registros</th> |
|
<th align=\"center\" class=\"headColun\">$pagMostra de $contaReg</th> |
|
</tr>"; |
|
|
|
return $linhas; |
|
} |
|
|
|
/* |
|
* FUNCAO QUE UTILIZA API PING PARA VERIFICAR SE O SERVIDOR ESTÁ ATIVO |
|
*/ |
|
|
|
function VerificaConexaoCentral($servidor) { |
|
|
|
if (!SetServidorOffline($servidor)) { |
|
return false; |
|
} |
|
|
|
$url = "http://$servidor/integracao/?method=Ping&login=" . LOGIN_API . "&senha=" . PASSWD_API . "&tipoRetorno=XML"; |
|
$ret = file_get_contents($url); |
|
$xml = simplexml_load_string($ret); |
|
|
|
if (strval($xml->status) == 'OK' && strval($xml->result) == true) { |
|
return true; |
|
} else { |
|
SetServidorOffline($servidor, 1); |
|
return false; |
|
} |
|
} |
|
|
|
/* |
|
* ARMAZENA AS VPN's COM O STATUS OFFLINE |
|
*/ |
|
|
|
function SetServidorOffline($servidor, $add = null) { |
|
|
|
if ($servidor == 'RemoveAll') { |
|
unset($_SESSION['SSServerPingFail']); |
|
} |
|
|
|
if (!isset($_SESSION['SSServerPingFail'])) { |
|
$_SESSION['SSServerPingFail'] = array(); |
|
return true; |
|
} |
|
|
|
if ($add) { |
|
$_SESSION['SSServerPingFail'][] = $servidor; |
|
return null; |
|
} |
|
|
|
foreach ($_SESSION['SSServerPingFail'] as $server) { |
|
if ($servidor == $server) { |
|
return false; |
|
} |
|
} |
|
|
|
return true; |
|
} |
|
|
|
/* |
|
* VERIFICA SE O ARQUIVO ESTÁ NO SERVIDOR |
|
*/ |
|
|
|
function VerificaAudioHDAUX($dir, $dataDir, $proto, $uid) { |
|
if ($dir && $proto != ' - ') { |
|
$filename = '/hdaux/ftp/algar/audios/' . $dir . '/' . $dataDir . '/' . $proto . '.WAV'; |
|
if (CnvrtFileExists($filename)) { |
|
return base64_encode($filename); |
|
} |
|
|
|
$filename = sprintf('/hdaux/ftp/algar/audios/%s/%s/%s_%s.WAV', $dir, $dataDir, $proto, $uid); |
|
if (CnvrtFileExists($filename)) { |
|
return base64_encode($filename); |
|
} |
|
|
|
return null; |
|
} |
|
} |
|
|
|
?>
|
|
|