$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
if ($acao == "deleta") {
$query = "select '' from pbx_cs_usuarios where departamento = '$id' ";
$result = pg_query($dbcon, $query);
if (!$result) {
$msg = "Erro ao consulta base de dados!";
} else {
$assoc = pg_num_rows($result) > 0;
$msg = '';
if ($assoc) {
$msg = "O Departamento não pode ser excluido por estar associado a uma ou mais contas!";
} else {
$query = "delete from pbx_departamentos where id='$id'";
$queryRpl = 'insert into pbx_replica(rpl_command, rpl_user, rpl_origem) values(%s, %s, %s)';
$queryRpl = sprintf($queryRpl, QuotedStr($query), QuotedStr(GetLogin()), QuotedStr(GetServerName()));
$inTran = 0;
$result = pg_query($dbcon, 'begin');
try {
if (!$result)
throw new Exception('Não foi possível acessar a base de dados!');
$inTran = 1;
$result = pg_query($dbcon, $query);
if (!$result)
throw new Exception('Não foi possível excluir o departamento!');
if (SincContaSenha() && IsServerMaster()) {
$result = pg_query($dbcon, $queryRpl);
if (!$result)
throw new Exception('Não foi possível gravar dados da sincronização!');
}
else if (SincContaSenha()) {
$ret = ExecDb($queryRpl);
$result = $ret['result'] == 'true';
if (!$result)
throw new Exception('Não foi possível gravar dados da sincronização!');
}
$result = pg_query($dbcon, 'commit');
if (!$result)
throw new Exception('Não foi possível finalizar a transação!');
} catch (Exception $ex) {
if ($inTran)
@pg_query($dbcon, 'rollback');
$msg = $ex->getMessage();
}
}
}
if ($msg) {
echo"";
}
}
?>