gravacoes
unknown
php
2 years ago
5.4 kB
8
Indexable
<!DOCTYPE html>
<html>
<head>
<title>Player</title>
<!-- Estilos CSS -->
<link type="text/css" href="jplayer/skin/jplayer.css" rel="stylesheet"/>
<style>
.window {
margin-top: 5px;
margin-left: 70px;
display: none;
width: 0px;
height: 0px;
position: absolute;
align: center;
right: 200;
left: 500;
top: 30;
float: right;
background: #FFF;
z-index: 9900;
padding: 0px;
border-radius: 10px;
}
</style>
<!-- Bibliotecas -->
<script type="text/javascript" src="jplayer/jquery.jplayer.min.js"></script>
</head>
<body>
<?php
//$uniqueid = $_GET['uniqueid'] ?? null;
$uniqueid = isset($_GET['uniqueid']) ? $_GET['uniqueid'] : null;
if ($uniqueid === null) {
echo '-__Arquivo Inexistente.';
exit;
}
include('../conectar.php');
function convertePasta($uniqueid) {
include('conectar.php');
$caminho = "asterisk_gravacoes/";
$select = "SELECT CONCAT(SUBSTR(`calldate`,6,2),'_',SUBSTR(`calldate`,1,4)) AS `mesAno`
FROM `cdr`
WHERE `uniqueid` = '".$uniqueid."' LIMIT 1";
$result = $conn->query($select);
// Verifica se a consulta foi bem-sucedida
if ($result === false) {
die("Erro na consulta: " . $conn->error);
}
$numRows = $result->num_rows;
if ($numRows > 0) {
while ($row = $result->fetch_assoc()) {
$mesAno = $row['mesAno'];
$caminho = "asterisk_gravacoes/".$mesAno."/";
}
} else {
$caminho = "asterisk_gravacoes/";
}
return $caminho;
}
function converter($arquivo, $uniqueid) {
$arquivo = basename($arquivo);
$tmpArquivo = basename($arquivo, ".WAV") . ".wav";
$tmp = 'jplayer/tmp/' . $tmpArquivo;
$caminho = convertePasta($uniqueid);
$tmpPath = '../' . $tmp; // Caminho completo para verificar a existência do arquivo
if (file_exists($tmpPath)) {
return true; // Arquivo já convertido e existente, não é necessário fazer novamente
}
// Armazena o caminho do arquivo original
$arquivoPath = '/var/www/html/' . $caminho . $arquivo;
// Comando completo a ser enviado para o socket
$command = "Action: Login\r\nUserName: monitoramento\r\nSecret: shk1217\r\n\r\n";
$command .= "Action: Command\r\nCommand: file convert $arquivoPath /var/www/html/$tmp\r\n\r\n";
$command .= "Action: Logoff\r\n\r\n";
$timeout = 30;
$socket = fsockopen("127.0.0.1", "5038", $errno, $errstr, $timeout);
if (!$socket) {
return 'Erro ao conectar ao servidor Asterisk'; // Trata o erro de conexão
}
// Escreve o comando no socket e lê todo o conteúdo de uma vez
fwrite($socket, $command);
$vardata = stream_get_contents($socket);
fclose($socket);
// Verifica a existência do arquivo temporário após a conversão
return file_exists($tmpPath);
}
$arquivo = '';
// Procurar pelo arquivo com base somente em $uniqueid usando glob
$uniqueidPattern = '/var/www/html/' . convertePasta($uniqueid) . '*' . $uniqueid . '*';
$uniqueidFiles = glob($uniqueidPattern);
if (!empty($uniqueidFiles)) {
// Caso encontre arquivos com o valor de $uniqueid, atualiza a variável $arquivo com o caminho do primeiro arquivo encontrado
$arquivo = $uniqueidFiles[0];
if (converter($arquivo, $uniqueid)) {
$arquivo = 'jplayer/tmp/' . basename($arquivo,".WAV").".wav";
} else {
echo "Arquivo não convertido: " . $uniqueid . "<br>";
}
} else {
// Caso não encontre o arquivo pelo valor de $uniqueid, retorne uma mensagem ou realize outra ação adequada
echo "Arquivo não encontrado para o uniqueid: " . $uniqueid . "<br>";
// Ou execute outra ação apropriada
}
?>
<script>
$(document).ready(function() {
$("#jquery_jplayer_1").jPlayer({
ready: function(event) {
$(this).jPlayer("setMedia", {
wav: "<?php echo $arquivo; ?>",
wav: "<?php echo $arquivo; ?>"
});
},
swfPath: "./",
supplied: "wav, wav",
wmode: "window",
smoothPlayBar: true,
keyEnabled: true
});
$(".download").click(function() {
window.open("jplayer/download.php?arquivo=<?php echo $arquivo; ?>");
});
$(".close").click(function() {
$('#painelGravacao').css("display", "none");
});
});
</script>
<div style="background-color: #FAFAFA !important; width: 420px; padding: 0px;">
<a style="font-size: 16px; color: #000 !important;" href="javascript:;" class="close">x</a>
<audio style="width: 380px;" controls>
<source src="<?php echo $arquivo; ?>" type="audio/wav">
</audio>
</div>
</body>
</html>Editor is loading...