<?php
$param = '';
$erro = '';
// echo VerificaAgenteLogadoAstrisk('elvis') ? 'Deslogado' : 'Logado';
$janW = 500;
$janH = 285;
$tpl = 'seguranca/usuarioConsulta.tpl';
$paramPesquisa = isset($_REQUEST['paramPesquisa']) ? $_REQUEST['paramPesquisa'] : '';
$filtro = isset($_REQUEST["paramPesquisa"]) ? trim($_REQUEST["paramPesquisa"]) : '';
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("& paramPesquisa%s& pgn=%s& bloco=%s& pg=%s& status=%s", $_REQUEST["paramPesquisa"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"],$_REQUEST["status"]);
$recontaPag = (GetFormAcao() == FORM_DELETE) || isset($_POST['pesquisa']);
$statusAtivo = isset($_REQUEST["status"]) ? trim($_REQUEST["status"]) : 'A';
$imgNovo = "< img src = \"images/novo.gif\" width = \"16\" height = \"16\" align = \"absmiddle\" border = \"0\" title = \"Inclui novo usu <EFBFBD> rio \ " > ";
$imgNovo = "< a href = \"javaScript:NovaJanela('index.php?idProg=22&idUser=0$filtroNovo', ' usuarioCad ' , ' $ janW ' , ' $ janH ' , ' resizable = NO,scrollbars=NO');\" > $imgNovo Novo Usu<EFBFBD> rio< / a > ";
if (IsAdmin()){
$imgLcFixo = "< img src = \"images/global.gif\" width = \"16\" height = \"16\" align = \"absmiddle\" border = \"0\" title = \"Licen<EFBFBD> a Painel Atendimento Fixo \ " > ";
$imgLcFixo = "< a href = \"javaScript:NovaJanela('index.php?idProg=362', ' usuarioCad ' , ' $ janW ' , ' $ janH ' , ' resizable = NO,scrollbars=NO');\" > $imgLcFixo Licen<EFBFBD> a Usu<EFBFBD> rio< / a > ";
}
if (IsPostBack() || (isset($_GET["idDelete"])) || (isset($_GET["idReset"]))) {
if (isset($_GET["idDelete"])) {
$id = QuotedStr($_GET["idDelete"]);
$param = $_SESSION["SSparamUser"];
try {
$msgAgt = "";
if (!pg_query($dbcon, 'begin')) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel iniciar a opera<EFBFBD> <EFBFBD> o de exclus<EFBFBD> o do usu<EFBFBD> rio!");
}
/*
* Pega o codigo do grupo do usuario;
*/
$query = "select gp_id from pbx_grupo where user_id = $id";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
$gpIdUser = QuotedStr($row[0]);
/*
* apaga o perfil exclusivo do usuario.
*/
/*
* Preserva apenas o grupo reservado do ususario.
*/
$query = "delete from pbx_grupo_usuario where user_id = {$id} and gp_id < > {$gpIdUser}";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover o usu<EFBFBD> rio dos grupos relacionados!");
}
/*
* Apaga as funcoes exclusivas do usuario.
*/
$query = " delete from pbx_grupo_funcoes where gp_id = {$gpIdUser}";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover o perfil exclusido do usu<EFBFBD> rio!");
}
/*
* Deleta restricoes de audio criadas para o grupo do usuario.
*/
$query = "delete from pbx_grupo_audio_ramal where gp_id = {$gpIdUser}";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover as restri<EFBFBD> <EFBFBD> es de <EFBFBD> udio dos ramais para o usu<EFBFBD> rio!");
}
/*
* Deleta restricoes de audio criadas para o grupo do usuario.
*/
$query = "delete from pbx_fila_audios where gp_id = {$gpIdUser}";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover as restri<EFBFBD> <EFBFBD> es de <EFBFBD> udio das filas para usu<EFBFBD> rio!");
}
/*
* Deleta permissao de acesso a revendas.
*/
$query = "delete from pbx_grupo_revendas where gp_id = {$gpIdUser}";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover as revendas ligadas ao usu<EFBFBD> rio!");
}
$query = "update pbx_usuarios set senha = md5('1234'), def_senha = 1 where id = $id;";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel atualizar a senha padr<EFBFBD> o do usu<EFBFBD> rio!");
}
$query = "update pbx_usuarios set status = false where id = $id";
if (!pg_query($dbcon, $query)) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel atualizar o status do usu<EFBFBD> rio!");
}
if (IncluiAgenteFile($dbcon) != "OK") {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel remover o usu<EFBFBD> rio da central!");
}
if (!pg_query($dbcon, 'commit')) {
GeraExcept("N<EFBFBD> o foi poss<EFBFBD> vel finalizar a opera<EFBFBD> <EFBFBD> o!");
}
$msg = "alert('Opera<EFBFBD> <EFBFBD> o realizada com sucesso!');";
} catch (Exception $ex) {
pg_query($dbcon, 'rollback');
$msg = sprintf("alert('%s');", $ex->getMessage());
}
$jsStartup[] = $msg;
} else if (isset($_GET["idReset"])) {
$id = $_GET["idReset"];
$param = $_SESSION["SSparamUser"];
$query = "update pbx_usuarios set senha = md5('1234'), def_senha = 1 where id = $id; ";
$query .= "UPDATE pbx_controle_acesso SET acs_erro = 2 WHERE acs_user_id = $id AND acs_erro = 1; ";
$result = pg_query($dbcon, $query);
if ($result)
@pg_affected_rows($result);
if ($result) {
$msg = "alert('Senha redefinida com sucesso!');";
} else {
$msg = "alert('A opera<EFBFBD> <EFBFBD> o n<EFBFBD> o pode ser realizada!');";
}
$jsStartup[] = $msg;
}
}
$compl = '';
if (isset($_REQUEST['paramPesquisa']) & & $_REQUEST['paramPesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s or a.apelido ilike %s or a.matricula ilike %s)", $compl, $compl, $compl);
}
if ($statusAtivo == "A") {
$statusAtv = 'true';
} else if ($statusAtivo == "I") {
$statusAtv = 'false';
}
$statusAtv = $statusAtivo ? "and status = $statusAtv" : '';
$query = "select id, nome, apelido, matricula, flag, coalesce(\"admin\", false)::int as adm , senha, coalesce(supervisor, false)::int as supervisor,
coalesce(agente,false)::int as agente, email, coalesce(status,true)::int as status from pbx_usuarios a ";
$query .= "where apelido < > 'sinccontasenha' $statusAtv $compl "
. "and upper(apelido) < > 'ADMIN' order by nome";
$params = "¶mPesquisa={$filtro}&status=$statusAtivo";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
$linha = "";
while ($dados = @pg_fetch_array($result)) {
$apelido = $dados["apelido"];
$imgEdit = "< img src = \"imgSite/editaUser.png\" width = \"16\" height = \"16\" border = \"0\" title = \"Edita o usu <EFBFBD> rio: $ apelido \ " > ";
$imgReset = "< img src = \"imgSite/redefineSenha.png\" width = \"16\" height = \"16\" border = \"0\" title = \"Define senha padr <EFBFBD> o para o usu <EFBFBD> rio: $ apelido \ " > ";
$imgDelete = sprintf("< img src = \"imgSite/%s\" width = \"16\" height = \"16\" border = \"0\" title = \" % s \ " > ", ($dados['status'] == 1 ? 'deletaUser.png' : 'deletaUserOff.png'), ( $dados['status'] == 1 ? "Desabilita e remove todo o perfil do usu<EFBFBD> rio: $apelido" : "O usu<EFBFBD> rio: $apelido foi desativado e seu perfil removido!"));
$imgPerfil = "< img src = \"imgSite/userOn16.png\" width = \"16\" height = \"16\" border = \"0\" title = \"Mostra o perifil do usu <EFBFBD> rio: $ apelido \ " > ";
$id = $dados["id"];
$nome = $dados["nome"];
$nome = "< a style = \"color: # 000 ; \ " href = \"javaScript:NovaJanela('index.php?idProg=22&idUser=$id', ' usuarioCad ' , ' $ janW ' , ' $ janH ' , ' resizable = NO,scrollbars=NO');\" > $nome< / a > ";
$imgEdit = "< a href = \"javaScript:NovaJanela('index.php?idProg=22&idUser=$id', ' usuarioCad ' , ' $ janW ' , ' $ janH ' , ' resizable = NO,scrollbars=NO');\" > $imgEdit< / a > ";
$imgReset = "< a href = \"javaScript:ResetaSenhaUser('$id', ' $ params ' ) ; \ " > $imgReset< / a > ";
$id = "< a style = \"color: # 000 ; \ " href = \"javaScript:NovaJanela('index.php?idProg=22&idUser=$id', ' usuarioCad ' , ' $ janW ' , ' $ janH ' , ' resizable = NO,scrollbars=NO');\" > $id< / a > ";
$matricula = $dados["matricula"];
$flag = $dados["flag"];
//$admin = $dados["adm"] ? $imgYes : $imgNo;
$senha = $dados["senha"];
//$supervisor = $dados["supervisor"] ? $imgYes : $imgNo;
//$agente = $dados["agente"] ? $imgYes : $imgNo;
$email = !empty($dados["email"]) ? ocultarEmail($dados["email"]) : " ";
$status = GetStatusModulo($dados['status'], true);
$delete = $dados['status'] == 1 ? "< a href = \"javaScript:DeletaUser('" . $ dados [ " id " ] . " ' , ' $ params ' ) ; \ " > " . $imgDelete . "< / a > " : $imgDelete;
$perfil = "< a href = \"javaScript:NovaJanela('index.php?idProg=123&login=$apelido', ' PerfilUser ' , ' 300 ' , ' 500 ' , ' scrollbars = YES');\" > " . $imgPerfil . "< / a > ";
$linha .= " < tr >
< td align = \"center\" > $id< / td >
< td align = \"left\" nowrap > $nome< / td >
< td width = \"120\" align = \"left\" > $apelido< / td >
< td width = \"120\" align = \"left\" > $matricula< / td >
< td width = \"200\" align = \"left\" nowrap > $email< / td >
< td width = \"20\" align = \"center\" > $status< / td >
< td width = \"20\" align = \"center\" style = \"border-right: 0 \ " > $imgEdit< / td >
< td width = \"20\" align = \"center\" style = \"border-left: 0 ; border-right: 0 \ " > $imgReset< / td >
< td width = \"20\" align = \"center\" style = \"border-left: 0 \ " > $delete< / td >
< td width = \"20\" align = \"center\" > $perfil< / td >
< / tr > ";
}
$smarty->assign('erro', $erro);
$smarty->assign("linhas", $linha);
$smarty->assign("paramPesquisa", $paramPesquisa);
$smarty->assign("imgNovo", $imgNovo);
$smarty->assign("imgLcFixo", $imgLcFixo);
$smarty->assign("links", $links);
$smarty->assign("pagMostra", $pagMostra);
$smarty->assign("totalReg", $totalReg);
$smarty->assign("status", $statusAtivo);
$smarty->assign("pgn", $_REQUEST["pgn"]);
$smarty->assign("bloco", $_REQUEST["bloco"]);
$smarty->assign("pg", $_REQUEST["pg"]);
GetTemplate($smarty, $tpl);
?>