|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
function GetCombo($dbCon, $query, $codSel, $incTodos = true) {
|
|
|
|
|
$result = pg_query($dbCon, $query);
|
|
|
|
|
|
|
|
|
|
$reg = "<select name=\"listaEstrategia\" id=\"listaEstrategia\" size=\"1\">";
|
|
|
|
|
if ($incTodos)
|
|
|
|
|
$reg .= "<option value=\"0\">--------------</option>";
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$reg .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$reg .= "</select>";
|
|
|
|
|
return $reg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetLoginFromId($dbcon, $idUser) {
|
|
|
|
|
$query = "select apelido from pbx_usuarios where id = $idUser";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$ret = 0;
|
|
|
|
|
if ($result && pg_num_rows($result)) {
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
$ret = $row[0];
|
|
|
|
|
}
|
|
|
|
|
return $ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetSiteDesc($dbcon, $id) {
|
|
|
|
|
$query = "select d.descricao from pbx_sites d where id = $id";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
$ret = $row[0];
|
|
|
|
|
return $ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function SetPbx($db, $idUser) {
|
|
|
|
|
//
|
|
|
|
|
// Esta funcao retorna true se o usuario tiver algum menu ativado
|
|
|
|
|
// para pbx
|
|
|
|
|
$query = "select count(*)
|
|
|
|
|
from pbx_grupo_usuario a, pbx_grupo_funcoes b, pbx_funcoes_menu_pbx c
|
|
|
|
|
where b.gp_id = a.gp_id
|
|
|
|
|
and c.fun_id = b.fun_id
|
|
|
|
|
and a.user_id = $idUser";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
if (!$result)
|
|
|
|
|
$_SESSION["SSacessoPbx"] = 0;
|
|
|
|
|
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
$_SESSION["SSacessoPbx"] = $row[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function SetCmdAmi($cmd) {
|
|
|
|
|
$_SESSION[SS_EXECUTA_AMI] = $cmd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function AgenteAtendeManual() {
|
|
|
|
|
return $_SESSION[AGT_TP_ATEND] == AGT_MODU_MANUAL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetChannel() {
|
|
|
|
|
return GetRamalMonitorar(CANAL_MONITOR_AGENTE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetChannelTransf() {
|
|
|
|
|
return $_SESSION[AGT_CHANNEL_TRANSF];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetModoAtende() {
|
|
|
|
|
return $_SESSION[SS_MODO_ATENDIMENTO_COD];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDestinoIntercalar() {
|
|
|
|
|
return $_SESSION[SS_DESTINO_INTERCALAR];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetMatricula() {
|
|
|
|
|
return $_SESSION["SSmatriculaUser"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDacAtende() {
|
|
|
|
|
return $_SESSION[AGT_DAC_CONECT_DESC];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetNumDiscTransf() {
|
|
|
|
|
return $_SESSION[AGT_NUM_DISC];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function IsAgente() {
|
|
|
|
|
return $_SESSION["SSagente"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetChannelTrConsulta() {
|
|
|
|
|
return $_SESSION[AGT_CHANNEL_TRCONSULTA];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetChannelAgente() {
|
|
|
|
|
return $_SESSION[SS_AGT_CHANNEL_AGENTE];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function __GetContextoRamal() {
|
|
|
|
|
return !$_SESSION[SS_AGT_CONTEXTO_RAMAL] ? 'padrao' : $_SESSION[SS_AGT_CONTEXTO_RAMAL];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCmdAmi() {
|
|
|
|
|
return !$_SESSION[SS_EXECUTA_AMI] ? array() : $_SESSION[SS_EXECUTA_AMI];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCodigoParam($param = null) {
|
|
|
|
|
if ($param) {
|
|
|
|
|
$_SESSION['SSCodigoParam'] = $param;
|
|
|
|
|
}
|
|
|
|
|
return $_SESSION['SSCodigoParam'] ? $_SESSION['SSCodigoParam'] : null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetUrlAterisk($acao, $dacLogoff = '', $matLogoff = '', $urlInfo = '', $socket = null, $socketSuporte = 0) {
|
|
|
|
|
//$url = "http://192.168.80.13:9876/";
|
|
|
|
|
//$url = "http://172.16.51.14:9876/";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Quando $dacLogoff <EFBFBD> passado como array o mesmo contem todos os parametros.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
if (is_array($dacLogoff)) {
|
|
|
|
|
$params = $dacLogoff;
|
|
|
|
|
} else {
|
|
|
|
|
$dac = !empty($dacLogoff) ? $dacLogoff : GetDacAtende();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$url = !empty($urlInfo) ? VerificaCharFinal($urlInfo) : VerificaCharFinal($_SESSION[SS_PRM_URL_ASTERISK]);
|
|
|
|
|
$result = "";
|
|
|
|
|
$channel = GetChannel();
|
|
|
|
|
$channelTransf = GetChannelTransf();
|
|
|
|
|
$modoAtende = GetModoAtende();
|
|
|
|
|
$ramal = isset($GLOBALS["ramalOperacao"]) ? $GLOBALS["ramalOperacao"] : GetRamalMonitorar(RAMAL_MONITOR_AGENTE);
|
|
|
|
|
$matricula = !empty($matLogoff) ? $matLogoff : GetMatricula();
|
|
|
|
|
$numDisc = GetNumDiscTransf();
|
|
|
|
|
$dac = !empty($dacLogoff) ? $dacLogoff : GetDacAtende();
|
|
|
|
|
$rand = rand(0, 99999999999); //.rand(0, 99999999999);
|
|
|
|
|
$penalidade = $_SESSION["SSagentePenalidade"];
|
|
|
|
|
$ramalIntercalar = GetRamalMonitorar(RAMAL_MONITOR_SUPERVISOR);
|
|
|
|
|
$canalIntercalar = GetRamalMonitorar(CANAL_MONITOR_SUPERVISOR);
|
|
|
|
|
$rmalDestinoIntercalar = GetDestinoIntercalar();
|
|
|
|
|
$channelAgente = ($_SESSION[SS_MODO_ATENDIMENTO_COD] == ATENDIMENTO_MANUAL) ? GetRamalMonitorar(CANAL_MONITOR_AGENTE) : ("Local/$ramal@app-callcenter/n");
|
|
|
|
|
$channelTransfConsulta = GetChannelTrConsulta();
|
|
|
|
|
$contextoRamal = __GetContextoRamal();
|
|
|
|
|
$channelAgenteAborta = GetChannelAgente();
|
|
|
|
|
$codigoparam = GetCodigoParam();
|
|
|
|
|
$cmdAmi = GetCmdAmi();
|
|
|
|
|
|
|
|
|
|
switch ($acao) {
|
|
|
|
|
case AST_LOGIN_AGENTE: $result = LoginAgenteAmi($socket, $channel, $modoAtende, $ramal, $dac, $matricula, $penalidade);
|
|
|
|
|
break;
|
|
|
|
|
case AST_LOGOFF_AGENTE: $result = LogoffAgenteAmi($socket, $matricula, $ramal, $dac);
|
|
|
|
|
break;
|
|
|
|
|
case AST_ADD_FILA: $result = AddFilaAmi($socket, $dac, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
case AST_REM_FILA: $result = RemFilaAmi($socket, $dac, $matricula, $ramal);
|
|
|
|
|
break;
|
|
|
|
|
case AST_ADD_PAUSA: $result = AddPausaAmi($socket, $matricula, $ramal);
|
|
|
|
|
break;
|
|
|
|
|
case AST_REM_PAUSA: $result = RemPausaAmi($socket, $matricula, $ramal);
|
|
|
|
|
break;
|
|
|
|
|
case AST_DISCAR: $result = DiscarCallAmi($socket, $channelAgente, $matricula, $numDisc, $ramal, $contextoRamal, $codigoparam);
|
|
|
|
|
break;
|
|
|
|
|
case AST_TRANSFERIR: $result = TransferirAmi($socket, $channelTransf, $numDisc);
|
|
|
|
|
break;
|
|
|
|
|
case AST_TRANSF_PESQUISA: $result = TransferirPesquisaAmi($socket, $channelTransf, $numDisc, $GLOBALS["PESQUISA_MATRICULA"]);
|
|
|
|
|
break;
|
|
|
|
|
case AST_INCLUI_AGENTE: $result = IncluiAgenteAmi($socket);
|
|
|
|
|
break;
|
|
|
|
|
case AST_TESTE_URL: $result = TesteUrlAmi($socket);
|
|
|
|
|
break;
|
|
|
|
|
case MONITOR_AGENTS: $result = MonitorAgentsAmi($socket);
|
|
|
|
|
break;
|
|
|
|
|
case AST_INTERCALAR: $result = IntercalarAmi($socket, $canalIntercalar, $ramalIntercalar, $rmalDestinoIntercalar);
|
|
|
|
|
break;
|
|
|
|
|
case AST_MONITORAR: $result = MonitorarAmi($socket, $params);
|
|
|
|
|
break;
|
|
|
|
|
case AST_RELOAD_URA: $result = ReloadUraAmi($socket);
|
|
|
|
|
break;
|
|
|
|
|
case AST_RELOAD_FILA: $result = ReloadFilaAmi($socket);
|
|
|
|
|
break;
|
|
|
|
|
case AST_DESLIGAR_LIGACAO: $result = DesligarAmi($socket, $channelAgenteAborta);
|
|
|
|
|
break;
|
|
|
|
|
case AST_DESLIGAR_TODOS: $result = DesligaTodasAmi($socket, $ramalIntercalar);
|
|
|
|
|
break;
|
|
|
|
|
case AST_PENDULO_ADD_CANAIS: $result = PenduloAddCanaisAmi($socket, $ramal, $matricula, $channelTransf, $numDisc, $channelAgenteAborta, ($modoAtende != ATENDIMENTO_MANUAL));
|
|
|
|
|
break;
|
|
|
|
|
//Remove musica em espera
|
|
|
|
|
case AST_PENDULO_REM_CANAIS: $result = PenduloRemCanaisAmi($socket, $ramal, $matricula, $channelTransf);
|
|
|
|
|
break;
|
|
|
|
|
case AST_TRCONSULTA_ESPERA: $result = TrConsultaEsperaAmi($socket, $ramal, $matricula, $numDisc, $contextoRamal);
|
|
|
|
|
break;
|
|
|
|
|
//Transferie a liga<EFBFBD><EFBFBD>o
|
|
|
|
|
case AST_TRCONSULTA_TRANSFERE: $result = TrConsultaTransfereAmi($socket, $channelTransfConsulta, $matricula, $channelAgenteAborta);
|
|
|
|
|
break;
|
|
|
|
|
//Retorna da consulta sem transferir
|
|
|
|
|
case AST_TRCONSULTA_TRANSFERE_ABORTA: $result = TrConsultaTransfereAbortaAmi($socket, $channelAgenteAborta, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
//case AST_TRCONSULTA_LIBERA_AGENTE: $result = TrConsultaLiberaAgenteAmi($socket, $channelTransf);
|
|
|
|
|
// break;
|
|
|
|
|
//Inicia uma conferencia
|
|
|
|
|
case AST_TRCONSULTA_CONFERENCIA: $result = TrConsultaConferenciaAmi($socket, $channelTransfConsulta, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
//Inicia o MUTE na parte cliente
|
|
|
|
|
case AST_MUTE_CLIENTE: $result = TrMuteClienteAmi($socket, $channelTransf, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
//Inicia o MUTE na parte atendente
|
|
|
|
|
case AST_MUTE_ATENDENTE: $result = TrMuteAtendenteAmi($socket, $ramal, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
//Remove o Mute
|
|
|
|
|
case AST_REM_MUTE: $result = TrRemMuteAmi($socket, $channelTransf, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
//Seta variavel no canal
|
|
|
|
|
case AST_SET_VAR: $result = SetVarAmi($socket, $channelTransf, $ramal, $channelAgenteAborta, $matricula);
|
|
|
|
|
break;
|
|
|
|
|
case AST_EXEC_AMI: $result = ExecutaAgtAmi($socket, $cmdAmi);
|
|
|
|
|
break;
|
|
|
|
|
case AST_ALERTA_AGENTE: $result = AlertaAgtAmi($socket, (($modoAtende == ATENDIMENTO_MANUAL) ? $channel : $channelAgente), $ramal);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return $url . $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetUrl($acao, $dacLogoff = '', $matLogoff = '', $url = "") {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Abre o socket
|
|
|
|
|
*/
|
|
|
|
|
list($sckHost, $sckPort, $sckUser, $sckPass) = GetSckConnect();
|
|
|
|
|
$socket = ConectaAmi($sckHost, $sckPort, $sckUser, $sckPass);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Chama funcoes de socket de acordo com a acao
|
|
|
|
|
*/
|
|
|
|
|
$get = @GetUrlAterisk($acao, $dacLogoff, $matLogoff, $url, $socket, 1);
|
|
|
|
|
$_SESSION['SSanalisaGetUrl'] = $get;
|
|
|
|
|
/*
|
|
|
|
|
* fechar o socket
|
|
|
|
|
*/
|
|
|
|
|
DesconectaAmi($socket);
|
|
|
|
|
/*
|
|
|
|
|
* Retorna true se nao houver a palavra erro no retorno da execu<EFBFBD><EFBFBD>o
|
|
|
|
|
*/
|
|
|
|
|
return !stripos($get, "Error");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetInfoUrl($acao) {
|
|
|
|
|
$get = GetUrlAterisk($acao);
|
|
|
|
|
$get = file_get_contents($get);
|
|
|
|
|
return nl2br($get);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetMenuAgente($idSub) {
|
|
|
|
|
$block = "<img src=\"imgSite/lock12.png\" align=\"absmiddle\" border=0>";
|
|
|
|
|
$menuSel = "<img src=\"imgSite/stAprovado.png\" align=\"absmiddle\" border=0>";
|
|
|
|
|
|
|
|
|
|
//$menuDeSel = "<img src=\"imgSite/desel12.gif\" width=\"12\" height=\"12\" align=\"absmiddle\" border=0>";
|
|
|
|
|
$menuDeSel = $_SESSION[AGT_EM_PAUSA] || !$_SESSION[AGT_CONECT] ? "<img src=\"imgSite/lock12.png\" align=\"absmiddle\" border=0>" : "";
|
|
|
|
|
|
|
|
|
|
$menuAgente = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">";
|
|
|
|
|
$menuAgente .= "<tr>";
|
|
|
|
|
$menuAgente .= "<th width=70 class=\"headColun\"><a href=\"index.php?idProg=14&idSubProg=" . AGT_PRINCIPAL . "\">Principal " . ($idSub == AGT_PRINCIPAL ? $menuSel : $menuDeSel) . "</a></th>";
|
|
|
|
|
$menuAgente .= "<th width=70 class=\"headColun\"><a href=\"index.php?idProg=14&idSubProg=" . AGT_SEL_DAC . "\">DAC " . ($idSub == AGT_SEL_DAC ? $menuSel : $menuDeSel) . "</a></th>";
|
|
|
|
|
$menuAgente .= "<th width=70 class=\"headColun\"><a href=\"index.php?idProg=14&idSubProg=" . AGT_PAUSA . "\" onClick=\"return SaidaPausaLogoff()\">Pausa " . ($idSub == AGT_PAUSA ? $menuSel : $menuDeSel) . "</a></th>";
|
|
|
|
|
// $menuAgente .= "<th width=70 class=\"headColun\"><a href=\"index.php?idProg=14&idSubProg=".AGT_CALL."\">Call ".($idSub == AGT_CALL ? $menuSel : $menuDeSel)."</a></th>";
|
|
|
|
|
$menuAgente .= "<th style=\"background-color:#DDDDDD; color:#FF0000\" align=center class=\"headColun\">" . GetLogin() . "-" . GetMatricula() . "</th>";
|
|
|
|
|
//$menuAgente .= "<th width=70 class=\"headColun\"><a href=\"index.php?idProg=14&idSubProg=".AGT_CALL."\">Call ".($idSub == AGT_CALL ? $menuSel : $menuDeSel)."</a></th>";
|
|
|
|
|
$menuAgente .= "</tr>";
|
|
|
|
|
$menuAgente .= "</table>";
|
|
|
|
|
return $menuAgente;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetIdUserFromMatricula($dbcon, $matricula) {
|
|
|
|
|
$query = "select id from pbx_usuarios where matricula = '$matricula'";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$row = @pg_fetch_row($result);
|
|
|
|
|
$ret = $row[0];
|
|
|
|
|
return $ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function VerificaAgenteFixo($db) {
|
|
|
|
|
$idAgt = GetUsuario($db, GetMatricula());
|
|
|
|
|
$result = pg_query($db, "SELECT pa_fixo FROM pbx_usuarios WHERE id = {$idAgt['id']}");
|
|
|
|
|
$isAgtFixo = (int) pg_fetch_assoc($result);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Numero de PAs setado como zero permite ilimitada conex<EFBFBD>es.
|
|
|
|
|
*/
|
|
|
|
|
if ($isAgtFixo === 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ArrayOut($ar, $vl) {
|
|
|
|
|
$arAux = array();
|
|
|
|
|
foreach ($ar as $value) {
|
|
|
|
|
if ($vl != $value)
|
|
|
|
|
$arAux[] = $value;
|
|
|
|
|
}
|
|
|
|
|
return $arAux;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//parametros
|
|
|
|
|
function GetHeadRel($nivel = 0) {
|
|
|
|
|
|
|
|
|
|
return $_SESSION[SS_PRM_RELATORIO_HEAD];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetFootRel() {
|
|
|
|
|
return $_SESSION[SS_PRM_RELATORIO_LINHA1];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLogoRel() {
|
|
|
|
|
return "imgSite/" . $_SESSION[SS_PRM_LOGO_RELATORIO];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetEmpresa() {
|
|
|
|
|
return GetSlogan();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTodosAgentes($dbcon, $codSel, $incTodos = 1, $sql = '') {
|
|
|
|
|
$sel = !$codSel ? "selected" : "";
|
|
|
|
|
|
|
|
|
|
$agentes = "<select name=\"listaAgente\" id=\"listaAgente\" size=\"1\">";
|
|
|
|
|
|
|
|
|
|
if ($incTodos)
|
|
|
|
|
$agentes .= "<option value=\"0\" $sel>Todos</option>\n";
|
|
|
|
|
|
|
|
|
|
$sql = trim($sql) ? $sql : "select matricula, apelido as nome from pbx_usuarios u where status = true and apelido <> 'sinccontasenha' order by 2";
|
|
|
|
|
$result = pg_query($dbcon, $sql);
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$agentes .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$agentes .= "</select>";
|
|
|
|
|
return $agentes;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTodasContas($dbcon, $codSel) {
|
|
|
|
|
$sel = !$codSel ? "selected" : "";
|
|
|
|
|
|
|
|
|
|
$agentes = "<select name=\"listaAgente\" id=\"listaAgente\" size=\"1\">";
|
|
|
|
|
//$agentes .= "<option value=\"0\" $sel>Todos</option>";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, "select matricula, apelido as nome from pbx_usuarios_cs u order by 2");
|
|
|
|
|
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$agentes .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$agentes .= "</select>";
|
|
|
|
|
return $agentes;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTempoAgente() {
|
|
|
|
|
return ($_SESSION[SS_PRM_AGENTE_ATUALIZA] ? $_SESSION[SS_PRM_AGENTE_ATUALIZA] : AGT_TEMPO_ATUALIZA) * 1000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTempoSupervisor() {
|
|
|
|
|
return ($_SESSION[SS_PRM_SUPER_ATUALIZA] ? $_SESSION[SS_PRM_SUPER_ATUALIZA] : AGT_SUPERVISOR_ATUALIZA) * 1000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetFileAgente() {
|
|
|
|
|
return $_SESSION[SS_PRM_PATH_ARQ_AGENTE] ? $_SESSION[SS_PRM_PATH_ARQ_AGENTE] : DB_CONFIG_AGENTE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetUsuario($dbcon, $matricula) {
|
|
|
|
|
$query = "SELECT id, nome, apelido, matricula, email FROM pbx_usuarios WHERE matricula = '{$matricula}'";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$data = pg_fetch_assoc($result);
|
|
|
|
|
return $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetMsgSenha() {
|
|
|
|
|
return $_SESSION[SS_SENHA_DEF] ? ($_SESSION[SS_PRM_MSG_SENHA_DEF] ? $_SESSION[SS_PRM_MSG_SENHA_DEF] : "Altera<EFBFBD><EFBFBD>o de Senha") : ($_SESSION[SS_PRM_SENHA_EXPIRADA] ? $_SESSION[SS_PRM_MSG_SENHA_EXP] : "Altera<EFBFBD><EFBFBD>o de Senha");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function VerificaCharFinal($str, $ch = "/") {
|
|
|
|
|
return substr($str, -1) == $ch ? $str : $str . $ch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetHeadMenu($db) {
|
|
|
|
|
$query = "select fun_id, fun_nome, fun_menu, fun_menu_text, fun_menu_url, fun_menu_img, fun_id_pai
|
|
|
|
|
from pbx_funcoes
|
|
|
|
|
where fun_id_pai is null
|
|
|
|
|
order by 4";
|
|
|
|
|
$head = array();
|
|
|
|
|
$result = pg_query($db, $query);
|
|
|
|
|
while ($row = pg_fetch_array($result))
|
|
|
|
|
$head[] = $row;
|
|
|
|
|
$_SESSION[PRF_MENU_HEAD] = $head;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetSites($dbcon, $codSite, $disableb = "") {
|
|
|
|
|
/*
|
|
|
|
|
* Carrega lista de dacs disponivel
|
|
|
|
|
* para ser inserdo entre as tags <select></select>
|
|
|
|
|
*/
|
|
|
|
|
$query = "select id, descricao from pbx_sites where status = 1 order by upper(descricao)";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$codSel = $codSite;
|
|
|
|
|
$site = "<select name=\"listaSites\" id=\"listaSites\" size=\"1\" $disableb onchange=\"submit()\">";
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$site .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$site .= "</select>";
|
|
|
|
|
|
|
|
|
|
return $site;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetEmpresas($dbcon, $empresa, $disableb = "", $incTodos = 0, $useSelect = 1, $dispTodos = '--------') {
|
|
|
|
|
/*
|
|
|
|
|
* Carrega lista de dacs disponivel
|
|
|
|
|
* para ser inserdo entre as tags <select></select>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
$query = "select id, nome from pbx_empresa order by 2";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$codSel = $empresa;
|
|
|
|
|
$sel = '';
|
|
|
|
|
if ($useSelect)
|
|
|
|
|
$site = "<select name=\"listaEmpresas\" id=\"listaEmpresas\" size=\"1\" $disableb>";
|
|
|
|
|
$sel = $empresa ? "" : "selected";
|
|
|
|
|
|
|
|
|
|
if ($incTodos)
|
|
|
|
|
$site .= "<option value=\"0\" $sel>$dispTodos</option>";
|
|
|
|
|
|
|
|
|
|
$sel = "";
|
|
|
|
|
while ($dados = @pg_fetch_row($result)) {
|
|
|
|
|
if ((!$codSel && !$incTodos) || ($codSel == $dados[0])) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$codSel = $dados[0];
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$site .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
if ($useSelect)
|
|
|
|
|
$site .= "</select>";
|
|
|
|
|
return $site;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetTemplate($smarty, $nomeTpl) {
|
|
|
|
|
$smarty->display($nomeTpl);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetFormAcao() {
|
|
|
|
|
/*
|
|
|
|
|
* Retorna o dipo de acao que o usuario esta realizando
|
|
|
|
|
* com base no parametro formAction
|
|
|
|
|
*/
|
|
|
|
|
if ((!isset($_GET["formAction"]) && !isset($_POST["formAction"])) || (isset($_POST["formAction"]) && ($_POST["formAction"] == FORM_SELECT) ))
|
|
|
|
|
return FORM_SELECT;
|
|
|
|
|
if (isset($_GET["formAction"]) && ($_GET["formAction"] == FORM_NEW))
|
|
|
|
|
return FORM_NEW;
|
|
|
|
|
else if (isset($_POST["formAction"]) && ($_POST["formAction"] == FORM_INSERT))
|
|
|
|
|
return FORM_INSERT;
|
|
|
|
|
else if (isset($_GET["formAction"]) && ($_GET["formAction"] == FORM_UPDATE))
|
|
|
|
|
return FORM_UPDATE;
|
|
|
|
|
else if (isset($_POST["formAction"]) && ($_POST["formAction"] == FORM_SAVE))
|
|
|
|
|
return FORM_SAVE;
|
|
|
|
|
else if (isset($_GET["formAction"]) && ($_GET["formAction"] == FORM_DELETE))
|
|
|
|
|
return FORM_DELETE;
|
|
|
|
|
else if (isset($_REQUEST["formAction"]))
|
|
|
|
|
return $_REQUEST["formAction"];
|
|
|
|
|
else
|
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if(!isset($_REQUEST["formAction"]))
|
|
|
|
|
{
|
|
|
|
|
RETURN FORM_UNDEF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $_REQUEST["formAction"];
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetFormAcaoDesc($acao) {
|
|
|
|
|
switch ($acao) {
|
|
|
|
|
case FORM_NEW:
|
|
|
|
|
case FORM_INSERT: return "Inserir";
|
|
|
|
|
case FORM_UPDATE:
|
|
|
|
|
case FORM_SAVE: return "Alterar";
|
|
|
|
|
case FORM_DELETE: return "Apagar";
|
|
|
|
|
case FORM_DOWNLOAD: return "Download";
|
|
|
|
|
case FORM_UPLOAD: return "Upload";
|
|
|
|
|
Default: return "Indefinido";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTotalRegistro($db, $query) {
|
|
|
|
|
$result = pg_query($db, PaginacaoSql($query));
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
return $row[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinkFormAction($nomeJanela, $action, $idProg = null, $imagem = "", $addParam = "", $txt = "") {
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
if (!$idProg) {
|
|
|
|
|
$idProg = isset($_GET["idProg"]) ? $_GET["idProg"] : $_POST["idProg"];
|
|
|
|
|
}
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/novoUser.png" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=0";
|
|
|
|
|
$janW = $GLOBALS["janW"] ? $GLOBALS["janW"] : 500;
|
|
|
|
|
$janH = $GLOBALS["janH"] ? $GLOBALS["janH"] : 300;
|
|
|
|
|
|
|
|
|
|
$endeLink = "index.php?idProg=$idProg&formAction=$action&janW=$janW&janH=$janH";
|
|
|
|
|
if (!empty($addParam))
|
|
|
|
|
$endeLink .= '&' . $addParam;
|
|
|
|
|
$img = "<img src=\"$imgDef\" width=\"16\" height=\"16\" border=\"0\" align=\"absmiddle\" title=\"Inclui novo registro\">";
|
|
|
|
|
$link = "<a href=\"javaScript:NovaJanela('$endeLink', '$nomeJanela', '$janW', '$janH', '$atributos');\">{$img}{$txt}</a>";
|
|
|
|
|
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinkFormInsert($nomeJanela, $imagem = "", $addParam = "", $txt = "") {
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
$idProg = isset($_GET["idProg"]) ? $_GET["idProg"] : $_POST["idProg"];
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/novoUser.png" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=0";
|
|
|
|
|
$janW = $GLOBALS["janW"] ? $GLOBALS["janW"] : 500;
|
|
|
|
|
$janH = $GLOBALS["janH"] ? $GLOBALS["janH"] : 300;
|
|
|
|
|
$action = FORM_NEW;
|
|
|
|
|
$endeLink = "index.php?idProg=$idProg&formAction=$action";
|
|
|
|
|
if (!empty($addParam))
|
|
|
|
|
$endeLink .= '&' . $addParam;
|
|
|
|
|
$img = "<img src=\"$imgDef\" width=\"16\" height=\"16\" border=\"0\" align=\"absmiddle\" title=\"Inclui novo registro\">";
|
|
|
|
|
$link = "<a href=\"javaScript:NovaJanela('$endeLink', '$nomeJanela', '$janW', '$janH', '$atributos');\">$img$txt</a>";
|
|
|
|
|
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinkFormUpdate($varUrl, $nomeJanela, $imagem = "", $disabLink = 0, $useText = 0, $text = '', $progId = 0) {
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
$idProg = $progId ? $progId : $_REQUEST["idProg"];
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/editaUser.png" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=NO";
|
|
|
|
|
$janW = $GLOBALS["janW"] ? $GLOBALS["janW"] : 500;
|
|
|
|
|
$janH = $GLOBALS["janH"] ? $GLOBALS["janH"] : 300;
|
|
|
|
|
$action = FORM_UPDATE;
|
|
|
|
|
|
|
|
|
|
$img = $useText ? $text : "<img src=\"$imgDef\" width=\"16\" height=\"16\" border=\"0\" title=\"Edita este registro\">";
|
|
|
|
|
if ($disabLink)
|
|
|
|
|
$link = $img;
|
|
|
|
|
else
|
|
|
|
|
$link = "<a style=\"color: #000;\" href=\"javaScript:NovaJanela('index.php?idProg=$idProg&formAction=$action$varUrl', '$nomeJanela', '$janW', '$janH', '$atributos');\">$img</a>";
|
|
|
|
|
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinkFormDelete($param, $nomeFuncao, $imagem = "") {
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/deletaUser.png" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=NO";
|
|
|
|
|
$janW = isset($GLOBALS["janW"]) ? $GLOBALS["janW"] : 500;
|
|
|
|
|
$janH = isset($GLOBALS["janH"]) ? $GLOBALS["janH"] : 300;
|
|
|
|
|
$action = FORM_DELETE;
|
|
|
|
|
if (strpos($param, "|") !== false) {
|
|
|
|
|
$params = explode("|", $param);
|
|
|
|
|
$p = "";
|
|
|
|
|
foreach ($params as $value) {
|
|
|
|
|
$p .= !$p ? QuotedStr($value) : ", " . QuotedStr($value);
|
|
|
|
|
}
|
|
|
|
|
$param = $p;
|
|
|
|
|
} else {
|
|
|
|
|
$param = QuotedStr($param);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$img = "<img src=\"$imgDef\" width=\"16\" height=\"16\" border=\"0\" title=\"Apaga este registro!\">";
|
|
|
|
|
$link = sprintf("<a href=\"javaScript:$nomeFuncao(%s);\">$img</a>", $param);
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function validaForm($fields, $fieldsObrig, $fieldsType, $fieldsDiplay, &$msg) {
|
|
|
|
|
$ret = true;
|
|
|
|
|
foreach ($fields as $value) {
|
|
|
|
|
$nomeCampo = isset($fieldsDiplay[$value]) ? $fieldsDiplay[$value] : $value;
|
|
|
|
|
if ((isset($fieldsObrig[$value]) && ($fieldsObrig[$value])) && (!isset($_POST[$value]) || empty($_POST[$value]))) {
|
|
|
|
|
$msg[] = $nomeCampo . " <EFBFBD> campo obrigat<EFBFBD>rio" . ".";
|
|
|
|
|
$ret = false;
|
|
|
|
|
} else {
|
|
|
|
|
if (array_search($value, $_POST) !== false) {
|
|
|
|
|
if (!empty($_POST[$value]) && ($fieldsType[$value] == TYPE_INTEGER) && (!is_numeric($_POST[$value]))) {
|
|
|
|
|
$msg[] = "Valor inv<EFBFBD>lido:" . $nomeCampo . ".";
|
|
|
|
|
$ret = false;
|
|
|
|
|
}
|
|
|
|
|
if (!empty($_POST[$value]) && ($fieldsType[$value] == TYPE_DATE) && (!is_date($_POST[$value]))) {
|
|
|
|
|
$msg[] = "Data inv<EFBFBD>lida:" . $_POST[$value] . ".";
|
|
|
|
|
$ret = false;
|
|
|
|
|
}
|
|
|
|
|
//if(($fieldsType[$value] == TYPE_DETETIME) && (!is_($_POST[$value])))
|
|
|
|
|
if (!empty($_POST[$value]) && ($fieldsType[$value] == TYPE_FLOAT) && (!is_numeric($_POST[$value]))) {
|
|
|
|
|
$msg[] = "Valor inv<EFBFBD>lido:" . $_POST[$value] . ".";
|
|
|
|
|
$ret = false;
|
|
|
|
|
}
|
|
|
|
|
if (!empty($_POST[$value]) && ($fieldsType[$value] == TYPE_EMAIL) && (!is_email($_POST[$value]))) {
|
|
|
|
|
$msg[] = "Email inv<EFBFBD>lido: " . $_POST[$value] . ".";
|
|
|
|
|
;
|
|
|
|
|
$ret = false;
|
|
|
|
|
}
|
|
|
|
|
if (!empty($_POST[$value]) && ($fieldsType[$value] == TYPE_TIME) && (!is_time($_POST[$value]))) {
|
|
|
|
|
$msg[] = "Hora inv<EFBFBD>lido: " . $_POST[$value] . ".";
|
|
|
|
|
;
|
|
|
|
|
$ret = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//if(($fieldsType[$value] == TYPE_CPFCGC) && ())
|
|
|
|
|
//if($fieldsType[$value] == TYPE_IE && ())
|
|
|
|
|
//if($fieldsType[$value] == TYPE_FONE && ())
|
|
|
|
|
//if($fieldsType[$value] == TYPE_IDENTIFICA && ())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTipoIdentificaDesc($tpIdent) {
|
|
|
|
|
switch ($tpIdent) {
|
|
|
|
|
case TIPO_IDENTIFICA_CPF: return "CPF";
|
|
|
|
|
case TIPO_IDENTIFICA_CRC: return "CRC";
|
|
|
|
|
case TIPO_IDENTIFICA_CNPJ: return "CNPJ";
|
|
|
|
|
case TIPO_IDENTIFICA_IE: return "IE";
|
|
|
|
|
case TIPO_IDENTIFICA_OUTRO: return "OUTRO";
|
|
|
|
|
default: return "CNPJ";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function SetHosts($dbcon) {
|
|
|
|
|
$query = "select id, descricao, host, usuario, senha, basedados, porta from pbx_sites ";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$hosts = array();
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$hosts[] = $row;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$_SESSION[HOSTS_INFO] = $hosts;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetHost($id) {
|
|
|
|
|
$hosts = array();
|
|
|
|
|
$host = array();
|
|
|
|
|
|
|
|
|
|
$hosts = $_SESSION[HOSTS_INFO];
|
|
|
|
|
|
|
|
|
|
for ($i = 0; $i < count($hosts); $i++) {
|
|
|
|
|
$host = $hosts[$i];
|
|
|
|
|
|
|
|
|
|
if ($host[0] == $id) {
|
|
|
|
|
return $host;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDbFromHost($id) {
|
|
|
|
|
$host = GetHost($id);
|
|
|
|
|
//select id, empresa, descricao, host, usuario, senha, basedados, porta, tag
|
|
|
|
|
$dbPort = $host["porta"];
|
|
|
|
|
$dbHost = $host["host"];
|
|
|
|
|
$dbName = $host["basedados"];
|
|
|
|
|
$dbUser = $host["usuario"];
|
|
|
|
|
$dbPassword = $host["senha"];
|
|
|
|
|
$connectionString = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'";
|
|
|
|
|
return pg_connect($connectionString);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDefaultSite() {
|
|
|
|
|
return $_SESSION["SSDefaultSite"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetContas($dbcon, $codSel) {
|
|
|
|
|
$sel = !$codSel ? "selected" : "";
|
|
|
|
|
|
|
|
|
|
$linhas = "<select name=\"conta\" id=\"conta\" size=\"1\">";
|
|
|
|
|
|
|
|
|
|
$query = "select 1 as cod_conta, 'Conta Um' as nome_conta union
|
|
|
|
|
select 2 as cod_conta, 'Conta Dois' as nome_conta union
|
|
|
|
|
select 3 as cod_conta, 'Conta Treis' as nome_conta union
|
|
|
|
|
select 4 as cod_conta, 'Conta Quatro' as nome_conta ";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "</select>";
|
|
|
|
|
return $linhas;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetGrupoId($dbcon) {
|
|
|
|
|
$id = array();
|
|
|
|
|
$query = "SELECT DISTINCT gp_id FROM pbx_grupo_usuario ";
|
|
|
|
|
$query .= GetIdUser() ? " WHERE user_id = " . GetIdUser() : '';
|
|
|
|
|
$query .= ' ORDER BY gp_id';
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$data = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
foreach ($data as $value) {
|
|
|
|
|
array_push($id, $value['gp_id']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetGrupoContas($dbcon, $codSel) {
|
|
|
|
|
$sel = !$codSel ? "selected" : "";
|
|
|
|
|
|
|
|
|
|
$linhas = "<select name=\"gpConta\" id=\"gpConta\" size=\"1\">";
|
|
|
|
|
|
|
|
|
|
$query = "select 1 as cod_conta, 'Grupo Um' as nome_conta union
|
|
|
|
|
select 2 as cod_conta, 'Grupo Dois' as nome_conta union
|
|
|
|
|
select 3 as cod_conta, 'Grupo Treis' as nome_conta union
|
|
|
|
|
select 4 as cod_conta, 'Grupo Quatro' as nome_conta ";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "</select>";
|
|
|
|
|
return $linhas;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCentroCusto($dbcon, $codSel) {
|
|
|
|
|
$sel = !$codSel ? "selected" : "";
|
|
|
|
|
|
|
|
|
|
$linhas = "<select name=\"gpCentroCusto\" id=\"gpCentroCusto\" size=\"1\">";
|
|
|
|
|
|
|
|
|
|
$query = "select 1 as cod_conta, 'Centro Custo Um' as nome_conta union
|
|
|
|
|
select 2 as cod_conta, 'Centro Custo Dois' as nome_conta union
|
|
|
|
|
select 3 as cod_conta, 'Centro Custo Treis' as nome_conta union
|
|
|
|
|
select 4 as cod_conta, 'Centro Custo Quatro' as nome_conta ";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
while ($dados = pg_fetch_row($result)) {
|
|
|
|
|
if ($codSel == $dados[0]) {
|
|
|
|
|
$sel = "selected";
|
|
|
|
|
$i = 1;
|
|
|
|
|
} else {
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
|
|
|
|
|
}
|
|
|
|
|
$linhas .= "</select>";
|
|
|
|
|
return $linhas;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetUserFromConta($dbcon, $matricula, $incMatricula = 0) {
|
|
|
|
|
$query = "select matricula, apelido from pbx_cs_usuarios where matricula = '$matricula' ";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
if (!$result) {
|
|
|
|
|
$nome = 'N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!';
|
|
|
|
|
} else {
|
|
|
|
|
$row = @pg_fetch_row($result);
|
|
|
|
|
if ($incMatricula)
|
|
|
|
|
$nome = $row[0] . "-" . $row[1];
|
|
|
|
|
else
|
|
|
|
|
$nome = $row[1];
|
|
|
|
|
}
|
|
|
|
|
return $nome;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetHostAsterisk() {
|
|
|
|
|
$url = explode(":", $_SESSION[SS_PRM_URL_ASTERISK]);
|
|
|
|
|
return str_replace("//", "", $url[1]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetMunicipioPadrao() {
|
|
|
|
|
return $_SESSION["prm_mun_padrao"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetUfPadrao() {
|
|
|
|
|
return $_SESSION["prm_uf_padrao"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetTipoLigacao($tipo) {
|
|
|
|
|
$ligacoes = array("0", "saida-pstn", "entrada-pstn", "interna");
|
|
|
|
|
$display = array("Todas", "Saintes", "Entrantes", "Internas");
|
|
|
|
|
$select = "";
|
|
|
|
|
|
|
|
|
|
$tp = " <select name=\"tipoLigacao\" id=\"tipoLigacao\"> ";
|
|
|
|
|
for ($i = 0; $i < count($ligacoes); $i++) {
|
|
|
|
|
$value = $ligacoes[$i];
|
|
|
|
|
$text = $display[$i];
|
|
|
|
|
$select = ($tipo == $value) ? "selected" : "";
|
|
|
|
|
$tp .= "<option value=\"$value\" $select>$text</option>";
|
|
|
|
|
$sel = "";
|
|
|
|
|
}
|
|
|
|
|
$tp .= "</select>";
|
|
|
|
|
|
|
|
|
|
return $tp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetAbsPath() {
|
|
|
|
|
return $_SESSION[PATH_ABSOLUTO];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetBarPath() {
|
|
|
|
|
return $_SESSION[PATH_BAR];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetIdResult($result) {
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
return $row[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetCofigPadrao($dbcon) {
|
|
|
|
|
$query = "SELECT * FROM pbx_conf_padrao";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$dados = pg_fetch_array($result);
|
|
|
|
|
|
|
|
|
|
$_SESSION[CONF_PADRAO_CAMINHO_BACK] = $dados['caminho_backup'];
|
|
|
|
|
$_SESSION[CONF_PADRAO_CAMINHO_PRODUCAO] = $dados['caminho_producao'];
|
|
|
|
|
$_SESSION[CONF_PADRAO_CAMINHO_MUSICAS] = $dados['caminho_musicas'];
|
|
|
|
|
$_SESSION[CONF_PADRAO_URL_MUSICAS] = $dados['url_musicas'];
|
|
|
|
|
$_SESSION[CONF_PADRAO_URL_ASTERISK] = $dados['url_asterisk'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function IncluiAgenteFile($dbcon) {
|
|
|
|
|
$query = "select matricula, apelido from pbx_usuarios where delete_ = 0";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if (!$result) {
|
|
|
|
|
return "N<EFBFBD>o foi poss<EFBFBD>vel acessar o banco de dados!";
|
|
|
|
|
} else {
|
|
|
|
|
$file = fopen(GetFileAgente(), 'w');
|
|
|
|
|
if (!$file) {
|
|
|
|
|
return "N<EFBFBD>o foi poss<EFBFBD>vel acessar o arquivo de dados!";
|
|
|
|
|
} else {
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$userMatricula = $row["matricula"];
|
|
|
|
|
$userLogin = $row["apelido"];
|
|
|
|
|
$conteudo = "[$userMatricula](agents)\n";
|
|
|
|
|
$conteudo .= "fullname = $userLogin\n";
|
|
|
|
|
if (fwrite($file, $conteudo) === false) {
|
|
|
|
|
return "N<EFBFBD>o foi poss<EFBFBD>vel gravar o arquivo de dados!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
fclose($file);
|
|
|
|
|
GetUrl(AST_INCLUI_AGENTE); // return "N<EFBFBD>o foi poss<EFBFBD>vel atualizar o asterisk!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "OK";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function base64ToFile($base64) {
|
|
|
|
|
$file = tempnam(sys_get_temp_dir(), time());
|
|
|
|
|
// open the output file for writing
|
|
|
|
|
$ifp = fopen($file, 'wb');
|
|
|
|
|
|
|
|
|
|
// we could add validation here with ensuring count( $data ) > 1
|
|
|
|
|
fwrite($ifp, base64_decode($base64));
|
|
|
|
|
|
|
|
|
|
// clean up the file resource
|
|
|
|
|
fclose($ifp);
|
|
|
|
|
|
|
|
|
|
return $file;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?>
|