|
|
|
<?php
|
|
|
|
|
|
|
|
include('util/funcoesApl.php');
|
|
|
|
|
|
|
|
if (isset($_GET["tipo"])) {
|
|
|
|
session_start();
|
|
|
|
include('bd.php');
|
|
|
|
}
|
|
|
|
define("PROTO_XML", "XML");
|
|
|
|
define("PROTO_TXT", "TEXT");
|
|
|
|
|
|
|
|
if (!isset($_getAcoes_)) {
|
|
|
|
header("Content-type: text/xml; charset=ISO-8859-1");
|
|
|
|
echo _GetAcoes($dbcon, $force, $id, $tipo, $tipo2, $id_ura);
|
|
|
|
}
|
|
|
|
|
|
|
|
function _GetAcoes($dbcon, $force, $id, $tipo, $tipo2, $id_ura, $proto = PROTO_XML)
|
|
|
|
{
|
|
|
|
$tipo = isset($_GET["tipo"]) ? $_GET["tipo"] : $tipo;
|
|
|
|
$tipo2 = isset($_GET["tipo2"]) ? $_GET["tipo2"] : $tipo2;
|
|
|
|
$org_id = GetOrganizacao();
|
|
|
|
|
|
|
|
$id = isset($_GET["id"]) && !isset($force) ? $_GET["id"] : $id;
|
|
|
|
$id_ura = isset($_GET["id_ura"]) ? $_GET["id_ura"] : $id_ura;
|
|
|
|
|
|
|
|
$proto = isset($_GET["proto"]) || isset($proto) ? (isset($proto) ? $proto : $_GET["proto"]) : PROTO_XML;
|
|
|
|
$dadosArq = array();
|
|
|
|
$dadosLinha = array();
|
|
|
|
$idxArq = 0;
|
|
|
|
|
|
|
|
if ($proto == PROTO_XML) {
|
|
|
|
|
|
|
|
$ret = '<?xml version="1.0" encoding="ISO-8859-1" ?>';
|
|
|
|
$ret .= '<cidades>';
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($tipo == "ramal") {
|
|
|
|
$query2 = "SELECT id, nome FROM pbx_ramais WHERE org_id = $org_id ORDER BY nome asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2["nome"];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2["nome"];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "ura") {
|
|
|
|
if ($id_ura <> '') {
|
|
|
|
$query2 = "SELECT * FROM pbx_ura where id not in($id_ura) AND org_id = $org_id order by id asc";
|
|
|
|
} else {
|
|
|
|
$query2 = "SELECT * FROM pbx_ura WHERE org_id = $org_id order by id asc";
|
|
|
|
}
|
|
|
|
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'] . '-' . $dados2['nome'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "voice") {
|
|
|
|
$query2 = "SELECT * FROM pbx_voicemail_usuarios WHERE org_id = $org_id order by caixa_postal asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
if (trim($dados2['caixa_postal']) != '') {
|
|
|
|
for ($i = 1; $i <= 3; $i++) {
|
|
|
|
switch ($i) {
|
|
|
|
case 1:
|
|
|
|
$tipo = 'ocupado';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$tipo = 'ausente';
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$tipo = 'silencio';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['caixa_postal'] . '/' . $tipo;
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['caixa_postal'] . '/' . $tipo;
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if ($tipo == "grupo") {
|
|
|
|
$query2 = "SELECT * FROM pbx_grupos WHERE org_id = $org_id order by id asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['numero'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['descricao'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "filas") {
|
|
|
|
$query2 = "SELECT * FROM pbx_queues_grupos where status='A' AND org_id = $org_id order by id asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['numero'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "horarios") {
|
|
|
|
$query2 = "SELECT distinct a.id, a.nome from pbx_horarios a, pbx_horarios_itens b where b.id_horario = a.id AND org_id = $org_id order by id asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "disa") {
|
|
|
|
$query2 = "SELECT * FROM pbx_disa WHERE org_id = $org_id order by id asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['numero'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['numero'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "anuncios") {
|
|
|
|
$query2 = "SELECT * FROM pbx_anuncios WHERE org_id = $org_id order by id asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "conferencia") {
|
|
|
|
$query2 = "SELECT * FROM pbx_conferencia WHERE org_id = $org_id order by numero asc";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['numero'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['numero'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "callback") {
|
|
|
|
$query2 = "SELECT distinct id, descricao FROM pbx_callback WHERE org_id = $org_id order by descricao ";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['descricao'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "rotaInterna") {
|
|
|
|
$query2 = "SELECT b.modelo AS id, b.modelo AS nome
|
|
|
|
FROM pbx_rotas_saida a, pbx_rotas_saida_modelos b
|
|
|
|
WHERE b.id_rota = a.id
|
|
|
|
AND org_id = $org_id
|
|
|
|
AND upper(a.tipo) = 'I'
|
|
|
|
ORDER BY 1";
|
|
|
|
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['nome'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "integativa") {
|
|
|
|
$query2 = "SELECT b.itgm_id AS id, a.itgc_nome || '-' || b.itgm_nome AS nome
|
|
|
|
FROM pbx_integracao_configuracao a, pbx_integracao_metodo b
|
|
|
|
WHERE b.itgc_id = a.itgc_id
|
|
|
|
AND b.itgm_retorno = 1
|
|
|
|
AND org_id = $org_id
|
|
|
|
ORDER BY a.itgc_nome, b.itgm_nome";
|
|
|
|
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
} else if ($tipo == "repetir") {
|
|
|
|
$dadosArq[$idxArq][0] = 'repetir';
|
|
|
|
$dadosArq[$idxArq][1] = '-------';
|
|
|
|
$idxArq++;
|
|
|
|
} else if ($tipo == "desligar") {
|
|
|
|
$dadosArq[$idxArq][0] = 'desligar';
|
|
|
|
$dadosArq[$idxArq][1] = '-------';
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($tipo2 == "departamento") {
|
|
|
|
$query2 = "SELECT * FROM pbx_departamentos WHERE org_id = $org_id AND cod_empresa = $id ORDER BY id";
|
|
|
|
$result2 = pg_query($dbcon, $query2);
|
|
|
|
while ($dados2 = pg_fetch_array($result2)) {
|
|
|
|
$dadosArq[$idxArq][0] = $dados2['id'];
|
|
|
|
$dadosArq[$idxArq][1] = $dados2['nome_depto'];
|
|
|
|
$idxArq++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($proto == PROTO_XML) {
|
|
|
|
foreach ($dadosArq as $data) {
|
|
|
|
if (($tipo == "repetir") || ($tipo == "desligar")) {
|
|
|
|
$ret .= sprintf("<nome id=\"%s;%s\">%s</nome>\n", $data[0], $data[0], $data[1]);
|
|
|
|
} else {
|
|
|
|
$ret .= sprintf("<nome id=\"%s;%s\">%s</nome>\n", $data[0], $data[1], $data[1]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$ret .= ("<valor1 id=\"$id\"></valor1>");
|
|
|
|
$ret .= ("</cidades>");
|
|
|
|
} else {
|
|
|
|
foreach ($dadosArq as $data) {
|
|
|
|
if (trim($id) == trim($data[0])) {
|
|
|
|
$sel = "selected";
|
|
|
|
} else {
|
|
|
|
$sel = "";
|
|
|
|
}
|
|
|
|
|
|
|
|
if (($tipo == "repetir") || ($tipo == "desligar")) {
|
|
|
|
$ret .= sprintf("<option value=\"%s;%s\" %s>%s</option>\n", $data[0], $data[0], $sel, $data[1]);
|
|
|
|
} else {
|
|
|
|
$ret .= sprintf("<option value=\"%s;%s\" %s>%s</option>\n", $data[0], $data[1], $sel, $data[1]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $ret;
|
|
|
|
}
|