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.
74 lines
1.9 KiB
74 lines
1.9 KiB
2 years ago
|
#!/usr/bin/php -q
|
||
|
<?php
|
||
|
include('bd.php');
|
||
|
|
||
|
ob_implicit_flush(true);
|
||
|
set_time_limit(6);
|
||
|
error_reporting(0);
|
||
|
$in = fopen("php://stdin", "r");
|
||
|
$stdlog = fopen("/var/log/asterisk/indisponibilidade.log", "w");
|
||
|
|
||
|
// Habilita modo debugging (mais verbose)
|
||
|
$debug = true;
|
||
|
|
||
|
// Do function definitions before we start the main loop
|
||
|
function read() {
|
||
|
global $in, $debug, $stdlog;
|
||
|
$input = str_replace("\n", "", fgets($in, 4096));
|
||
|
if ($debug)
|
||
|
fputs($stdlog, "read: $input\n");
|
||
|
return $input;
|
||
|
}
|
||
|
|
||
|
function write($line) {
|
||
|
global $debug, $stdlog;
|
||
|
if ($debug)
|
||
|
fputs($stdlog, "write: $line\n");
|
||
|
echo $line . "\n";
|
||
|
}
|
||
|
|
||
|
// Colocaos headers AGI dentro de um array
|
||
|
while ($env = read()) {
|
||
|
$s = split(": ", $env);
|
||
|
$agi[str_replace("agi_", "", $s[0])] = trim($s[1]);
|
||
|
if (($env == "") || ($env == "\n")) {
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
//Pega o nome da fila passado via parametro pelo plano de discagem
|
||
|
$FILA = $argv[1];
|
||
|
$query = "SELECT ind_file,ind_feriado,CASE WHEN CURRENT_TIME(0)::time BETWEEN ind_inicio AND ind_fim THEN 1 ELSE 0 END AS indisponivel FROM pbx_indisponivel where status = '1' and ind_data = CURRENT_DATE and id_dac in (select id from pbx_dacs where upper(nome) = upper('$FILA'))";
|
||
|
$result = @pg_query($conexao, $query);
|
||
|
|
||
|
while ($row = pg_fetch_array($result)) {
|
||
|
|
||
|
if ($row['ind_feriado'] == '1') {
|
||
|
$file = substr($row['ind_file'], 0, strpos($row['ind_file'], '.'));
|
||
|
write("SET VARIABLE CDR(userfield) indisponivel");
|
||
|
read();
|
||
|
if ($file) {
|
||
|
write("EXEC PlayBack customizados/$file");
|
||
|
read();
|
||
|
}
|
||
|
write("HANGUP");
|
||
|
read();
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
if ($row['indisponivel'] == '1') {
|
||
|
$file = substr($row['ind_file'], 0, strpos($row['ind_file'], '.'));
|
||
|
if ($file) {
|
||
|
write("EXEC PlayBack customizados/$file");
|
||
|
read();
|
||
|
}
|
||
|
write("HANGUP");
|
||
|
read();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pg_close();
|
||
|
fclose($in);
|
||
|
fclose($stdlog);
|
||
|
exit;
|
||
|
?>
|