|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
include_once 'conf.php';
|
|
|
|
|
include_once 'config.php';
|
|
|
|
|
require_once 'IntegracaoDataBase.php';
|
|
|
|
|
include_once("util/util.php");
|
|
|
|
|
include_once '/var/www/html/aplicativo/admin/funcoes.php';
|
|
|
|
|
include_once 'util/funcoesAmi.php';
|
|
|
|
|
|
|
|
|
|
error_reporting(E_ALL);
|
|
|
|
|
ini_set('display_errors', 1);
|
|
|
|
|
/**
|
|
|
|
|
* CONEXAO COM BANCO DE DADOS
|
|
|
|
|
*/
|
|
|
|
|
$db = new IntegracaoDataBase();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* APRESENTA OS PROVEDORES DISPONIVEIS
|
|
|
|
|
*/
|
|
|
|
|
apresentaProvedoresDisponiveis($provedores);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* AGUARDA O COLABORADOR INFORMAR O SISTEMA A SER USADO!
|
|
|
|
|
*/
|
|
|
|
|
$provedor = informaSistemaProvedor($provedores);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* INFORMA A EMPRESA CASO FOR CLOUD
|
|
|
|
|
*/
|
|
|
|
|
$empresa = informaEmpresa();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* INFORMA A FILA A SER INSTALADA
|
|
|
|
|
*/
|
|
|
|
|
$queue = informaFilas();
|
|
|
|
|
$filasInput = explode(",", $queue);
|
|
|
|
|
$filas = validaFilas($filasInput);
|
|
|
|
|
|
|
|
|
|
$horarios = $filas;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* COLETA A VERSAO DO BANCO DE DADOS
|
|
|
|
|
*/
|
|
|
|
|
$version = installIntegracaoAtiva($provedor, $empresa);
|
|
|
|
|
|
|
|
|
|
$db->beginTransaction();
|
|
|
|
|
if ($version) {
|
|
|
|
|
|
|
|
|
|
#############CADASTRO################
|
|
|
|
|
echo "Integracao install init...\n";
|
|
|
|
|
//ANUNCIOS
|
|
|
|
|
if(installAnuncio($empresa, $version)){
|
|
|
|
|
echo "Anuncio install [ OK ]\n";
|
|
|
|
|
} else {
|
|
|
|
|
echo "Anuncio install [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//URAS
|
|
|
|
|
if(installURA($empresa, $version)){
|
|
|
|
|
echo "URA install [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "URA install [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//HORARIOS
|
|
|
|
|
if(installHorario($empresa, $version)){
|
|
|
|
|
echo "Horario install [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "Horario install [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//URA REDIR
|
|
|
|
|
if(installURARedir($provedor, $empresa, $version)){
|
|
|
|
|
echo "URA Redir install [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "URA Redir install [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#########CONFIGURA FLUXO################
|
|
|
|
|
echo "Integracao config init...\n";
|
|
|
|
|
//ANUNCIO
|
|
|
|
|
if(configuraFluxoAnuncio($provedor, $empresa, $version)){
|
|
|
|
|
echo "Anuncio fluxo config [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "Anuncio fluxo config [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//URA
|
|
|
|
|
if(configuraFluxoUra($provedor, $empresa, $version)){
|
|
|
|
|
echo "Ura fluxo config [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "Ura fluxo config [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//HORARIO
|
|
|
|
|
if(configuraFluxoHorario($provedor, $empresa, $version)){
|
|
|
|
|
echo "Horario fluxo config [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "Horario fluxo config [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
//URA REDIR
|
|
|
|
|
if(configuraFluxoUraRedir($provedor, $empresa, $version)){
|
|
|
|
|
echo "Ura Redir fluxo config [ OK ]\n";
|
|
|
|
|
}else{
|
|
|
|
|
echo "Ura Redir fluxo config [ FAIL ]\n";
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
atualizaAsterisk();
|
|
|
|
|
|
|
|
|
|
$db->commitTransaction();
|
|
|
|
|
} else {
|
|
|
|
|
$db->rollbackTransaction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
#### FUNCOES INSTALACAO ####
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
|
|
function installIntegracaoAtiva($provedor, $empresa) {
|
|
|
|
|
global $provedores, $configs, $db;
|
|
|
|
|
try {
|
|
|
|
|
$db->findIntegracaoCustom();
|
|
|
|
|
$versao = $db->findVersion($empresa)['versao'] + 1;
|
|
|
|
|
$version = $versao ? $versao : 1;
|
|
|
|
|
$metodos = $provedores[$provedor]['METODOS'];
|
|
|
|
|
foreach ($metodos as $metodo) {
|
|
|
|
|
$nome = $metodo . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$comando = ($empresa ? $empresa . '/' : '') . $provedor . '/' . lcfirst(str_replace(' ', '', ucwords(strtolower(str_replace('_', ' ', $metodo))))) . '.php';
|
|
|
|
|
$db->createIntegracaoAtiva($nome, $version, $comando);
|
|
|
|
|
}
|
|
|
|
|
return $version;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function installAnuncio($empresa, $version) {
|
|
|
|
|
global $anuncios, $configs, $db;
|
|
|
|
|
try {
|
|
|
|
|
foreach ($anuncios as $key => $val) {
|
|
|
|
|
$nome = $key . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$musica = strtolower($key . "_" . $configs['CONF']['NOMENCLATURA']) . ".ulaw";
|
|
|
|
|
$db->addAnuncio($nome, $musica, null, null);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function installURA($empresa, $version) {
|
|
|
|
|
global $ura, $configs, $db;
|
|
|
|
|
try {
|
|
|
|
|
foreach ($ura as $key => $val) {
|
|
|
|
|
$nome = $key . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$musica = strtolower($key . "_" . $configs['CONF']['NOMENCLATURA']) . ".ulaw";
|
|
|
|
|
$db->addUra($nome, $musica);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function installHorario($empresa, $version) {
|
|
|
|
|
global $horarios, $db, $configs;
|
|
|
|
|
try {
|
|
|
|
|
foreach ($horarios as $val) {
|
|
|
|
|
$nome = $val . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$db->addHorario($nome);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function installURARedir($provedor, $empresa, $version) {
|
|
|
|
|
global $provedores, $ura_redir, $configs, $db;
|
|
|
|
|
$metodos = $provedores[$provedor]['METODOS'];
|
|
|
|
|
try {
|
|
|
|
|
foreach ($ura_redir as $key => $val) {
|
|
|
|
|
if(in_array(str_replace("REDIR_", "", $key), $metodos)){
|
|
|
|
|
$nome = $key . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$musica = "silencio_int.ulaw";
|
|
|
|
|
$db->addUra($nome, $musica);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
#### FUNCOES CONFIGURA FLUXO ####
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Configura<EFBFBD><EFBFBD>o de Anuncios
|
|
|
|
|
*/
|
|
|
|
|
function configuraFluxoAnuncio($provedor, $empresa, $version) {
|
|
|
|
|
global $provedores, $anuncios, $configs, $db, $horarios;
|
|
|
|
|
$metodos = $provedores[$provedor]['METODOS'];
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
foreach ($anuncios as $key => $val) {
|
|
|
|
|
$direcaoTipo = null;
|
|
|
|
|
$direcaoNome = null;
|
|
|
|
|
foreach($val as $tipo => $nome){
|
|
|
|
|
if(in_array($nome, $metodos)){//PRIORIZAR INTEGRACAO CASO O PROVEDOR TIVER
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}else if($tipo != CONF_INTEGRACAO){//CASO NAO EXISTIR INTEGRACAO DO PROVEDOR, NAO PODE PEGAR INTEGRACAO, POIS O PROXIMO PODE SER UMA INTEGRACAO NAO EXISTENTE
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
if($tipo == CONF_HORARIO){
|
|
|
|
|
$direcaoNome = $horarios[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$nome = $direcaoNome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$key .= "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
|
|
|
|
|
$idAnuncio = $db->getAnuncioIdByName($key);
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($direcaoTipo, $nome);
|
|
|
|
|
|
|
|
|
|
$db->updateAnuncio($direcaoTipo, $idAcao, $idAnuncio);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Configura<EFBFBD><EFBFBD>o de Horarios
|
|
|
|
|
*/
|
|
|
|
|
function configuraFluxoHorario($provedor, $empresa, $version) {
|
|
|
|
|
global $filas, $configs, $db, $horarios, $horarioPadrao;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
foreach ($horarios as $horarioNome) {
|
|
|
|
|
|
|
|
|
|
$nome = $horarioNome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$horarioId = $db->getHorarioIdByName($nome);
|
|
|
|
|
$fila = $filas[0] . ($empresa ? '_'.$empresa: '');
|
|
|
|
|
|
|
|
|
|
foreach($horarioPadrao as $horarioPadraoItem){
|
|
|
|
|
foreach ($horarioPadraoItem as $tipo => $dado){
|
|
|
|
|
|
|
|
|
|
switch ($tipo) {
|
|
|
|
|
case "ITENS":
|
|
|
|
|
foreach($dado as $itens){
|
|
|
|
|
$horario_ini = $itens['HORARIO_INICIAL'];
|
|
|
|
|
$horario_fim = $itens['HORARIO_FINAL'];
|
|
|
|
|
$dias_semana = 0;
|
|
|
|
|
$semana = $itens['DIA_SEMANA_INICIO'];
|
|
|
|
|
$semana_fim = $itens['DIA_SEMANA_FIM'];
|
|
|
|
|
$opcao = CONF_FILAS;
|
|
|
|
|
$acao = $fila;
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($opcao, $acao);
|
|
|
|
|
|
|
|
|
|
$db->addHorarioItens($horarioId, $horario_ini, $horario_fim, $dias_semana, $semana, $semana_fim, $opcao, $idAcao);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "FORA_HORARIO":
|
|
|
|
|
foreach($dado as $tipo => $nome){
|
|
|
|
|
$nome = $nome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($tipo, $nome);
|
|
|
|
|
$db->updateHorario($horarioId, $tipo, $idAcao);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Configura<EFBFBD><EFBFBD>o de Uras
|
|
|
|
|
*/
|
|
|
|
|
function configuraFluxoUra($provedor, $empresa, $version) {
|
|
|
|
|
global $provedores, $ura, $configs, $db, $horarios;
|
|
|
|
|
$metodos = $provedores[$provedor]['METODOS'];
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
foreach ($ura as $key => $val) {
|
|
|
|
|
$key .= "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$uraId = $db->getUraIdByName($key);
|
|
|
|
|
foreach($val as $key => $itens){
|
|
|
|
|
switch ($key) {
|
|
|
|
|
case "ITENS":
|
|
|
|
|
|
|
|
|
|
foreach ($itens as $item){
|
|
|
|
|
$direcaoTipo = null;
|
|
|
|
|
$direcaoNome = null;
|
|
|
|
|
foreach ($item['acao'] as $tipo => $nome) {
|
|
|
|
|
if(in_array($nome, $metodos)){//PRIORIZAR INTEGRACAO CASO O PROVEDOR TIVER
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}else if($tipo != CONF_INTEGRACAO){//CASO NAO EXISTIR INTEGRACAO DO PROVEDOR, NAO PODE PEGAR INTEGRACAO, POIS O PROXIMO PODE SER UMA INTEGRACAO NAO EXISTENTE
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
if($tipo == CONF_HORARIO){
|
|
|
|
|
$direcaoNome = $horarios[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$nome = $direcaoNome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($direcaoTipo, $nome);
|
|
|
|
|
$db->addUraDestino($uraId, $item['numero'], $tipo, $idAcao, $item['sequencia'], $nome) ;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "TIMEOUT":
|
|
|
|
|
$direcaoTipo = null;
|
|
|
|
|
$direcaoNome = null;
|
|
|
|
|
|
|
|
|
|
foreach ($itens as $tipo => $nome){//PRIORIZAR INTEGRACAO CASO O PROVEDOR TIVER
|
|
|
|
|
if(in_array($nome, $metodos)){
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}else if($tipo != CONF_INTEGRACAO){//CASO NAO EXISTIR INTEGRACAO DO PROVEDOR, NAO PODE PEGAR INTEGRACAO, POIS O PROXIMO PODE SER UMA INTEGRACAO NAO EXISTENTE
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
if($tipo == CONF_HORARIO){
|
|
|
|
|
$direcaoNome = $horarios[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$nome = $direcaoNome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($direcaoTipo, $nome);
|
|
|
|
|
$db->updateUra($uraId, $direcaoTipo, $idAcao) ;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Configura<EFBFBD><EFBFBD>o de Uras Redirecionamento
|
|
|
|
|
*/
|
|
|
|
|
function configuraFluxoUraRedir($provedor, $empresa, $version) {
|
|
|
|
|
global $provedores, $ura_redir, $configs, $db, $horarios;
|
|
|
|
|
$metodos = $provedores[$provedor]['METODOS'];
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
foreach ($ura_redir as $key => $val) {
|
|
|
|
|
$key .= "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$uraId = $db->getUraIdByName($key);
|
|
|
|
|
$sequencia=1;
|
|
|
|
|
foreach($val as $key => $item){
|
|
|
|
|
$sequencia+=1;
|
|
|
|
|
if(!empty($item)){
|
|
|
|
|
$direcaoTipo = null;
|
|
|
|
|
$direcaoNome = null;
|
|
|
|
|
foreach ($item as $tipo => $nome){
|
|
|
|
|
if($tipo != CONF_INTEGRACAO){//NAO PODE TER REDIRECIONAMENTO PARA INTEGRACAO
|
|
|
|
|
$direcaoTipo = $tipo;
|
|
|
|
|
$direcaoNome = $nome;
|
|
|
|
|
if($tipo == CONF_HORARIO){
|
|
|
|
|
$direcaoNome = $horarios[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$nome = $direcaoNome . "_" . $configs['CONF']['NOMENCLATURA'] . "_" . ($empresa ? $empresa . '_' : '') . 'V' . $version;
|
|
|
|
|
$idAcao = $db->getIdDirecionamento($direcaoTipo, $nome);
|
|
|
|
|
$db->addUraDestino($uraId, $key, $tipo, $idAcao, $sequencia, $nome);
|
|
|
|
|
}else{
|
|
|
|
|
$db->addUraDestino($uraId, $key, '', null, $sequencia, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
#### FUNCOES IMPORTANTES ####
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
|
|
function apresentaProvedoresDisponiveis($provedores, $select = null) {
|
|
|
|
|
$prov = "Sistemas de provedores disponiveis: \n\n";
|
|
|
|
|
foreach ($provedores as $key => $val) {
|
|
|
|
|
$prov .= sprintf(" - [ %s ] \n", $key);
|
|
|
|
|
if (strtoupper($select) == $key) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!$select) {
|
|
|
|
|
echo $prov;
|
|
|
|
|
} else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function informaSistemaProvedor($provedores) {
|
|
|
|
|
do {
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
echo "\nSelecione o sistema de provedor: \n";
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
$input = strtoupper(trim(fgets(STDIN)));
|
|
|
|
|
$resp = apresentaProvedoresDisponiveis($provedores, $input);
|
|
|
|
|
} while (!$resp);
|
|
|
|
|
return $input;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function informaEmpresa() {
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
echo "\nInforme a empresa: \n";
|
|
|
|
|
echo "\n OBS: APENAS PARA EMPRESAS NO CLOUD \n";
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
$empresa = strtoupper(trim(fgets(STDIN)));
|
|
|
|
|
return $empresa;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function informaFilas() {
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
echo "\nInforme as que seram utilizadas na integracao: \n";
|
|
|
|
|
echo "\n OBS: FILAS DEVEM SER SEPADADAS POR Virgulas(,) \n";
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
$queue = strtoupper(trim(fgets(STDIN)));
|
|
|
|
|
return $queue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function validaFilas($filas){
|
|
|
|
|
global $db, $empresa;
|
|
|
|
|
$filaValidada = [];
|
|
|
|
|
foreach ($filas as $value) {
|
|
|
|
|
$fila = $value . ($empresa ? '_'.$empresa: '');
|
|
|
|
|
$filaId = $db->getFilaNumeroByName($fila);
|
|
|
|
|
|
|
|
|
|
if(empty($filaId)){
|
|
|
|
|
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
echo "\n Fila $value nao existe \n";
|
|
|
|
|
echo "\n --------------------------------- \n";
|
|
|
|
|
exit();
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
array_push($filaValidada, $value);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $filaValidada;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function atualizaAsterisk(){
|
|
|
|
|
global $db;
|
|
|
|
|
gera_arquivos($db->getConnection(), 'ANUNCIOS');
|
|
|
|
|
gera_arquivos($db->getConnection(), 'TESTES');
|
|
|
|
|
|
|
|
|
|
gera_arquivos($db->getConnection(), 'URA');
|
|
|
|
|
gera_arquivos($db->getConnection(), 'TESTES');
|
|
|
|
|
|
|
|
|
|
gera_arquivos($db->getConnection(), 'HORARIOS');
|
|
|
|
|
gera_arquivos($db->getConnection(), 'TESTES');
|
|
|
|
|
}
|