forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
9.9 KiB
205 lines
9.9 KiB
<?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("¶mPesquisa%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ário\">"; |
|
$imgNovo = "<a href=\"javaScript:NovaJanela('index.php?idProg=22&idUser=0$filtroNovo', 'usuarioCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\">$imgNovo Novo Usuário</a>"; |
|
|
|
$imgLcFixo = "<img src=\"images/global.gif\" width=\"16\" height=\"16\" align=\"absmiddle\" border=\"0\" title=\"Licença fixo usuário\">"; |
|
$imgLcFixo = "<a href=\"javaScript:NovaJanela('index.php?idProg=362', 'usuarioCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\">$imgLcFixo Licença Usuá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ão foi possível iniciar a operação de exclusão do usuá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ão foi possível remover o usuá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ão foi possível remover o perfil exclusido do usuá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ão foi possível remover as restrições de áudio dos ramais para o usuá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ão foi possível remover as restrições de áudio das filas para usuário!"); |
|
} |
|
|
|
/* |
|
* Deleta permissao de acesso a revendas. |
|
*/ |
|
$query = "delete from pbx_grupo_revendas where gp_id = {$gpIdUser}"; |
|
if (!pg_query($dbcon, $query)) { |
|
GeraExcept("Não foi possível remover as revendas ligadas ao usuário!"); |
|
} |
|
|
|
$query = "update pbx_usuarios set senha = md5('1234'), def_senha = 1 where id = $id;"; |
|
if (!pg_query($dbcon, $query)) { |
|
GeraExcept("Não foi possível atualizar a senha padrão do usuário!"); |
|
} |
|
|
|
$query = "update pbx_usuarios set status = false where id = $id"; |
|
if (!pg_query($dbcon, $query)) { |
|
GeraExcept("Não foi possível atualizar o status do usuário!"); |
|
} |
|
|
|
if (IncluiAgenteFile($dbcon) != "OK") { |
|
GeraExcept("Não foi possível remover o usuário da central!"); |
|
} |
|
|
|
if (!pg_query($dbcon, 'commit')) { |
|
GeraExcept("Não foi possível finalizar a operação!"); |
|
} |
|
|
|
$msg = "alert('Operaçã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ção nã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ário: $apelido\">"; |
|
$imgReset = "<img src=\"imgSite/redefineSenha.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Define senha padrão para o usuá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ário: $apelido" : "O usuá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á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); |
|
?>
|
|
|