"; $imgNovo = "$imgNovo Novo Usuário"; $org_id = GetOrganizacao(); if (IsAdmin()) { $imgLcFixo = ""; $imgLcFixo = "$imgLcFixo Licença Usuário"; } 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); } $compl .= " AND b.id_organizacao = $org_id "; if ($statusAtivo == "A") { $statusAtv = 'true'; } else if ($statusAtivo == "I") { $statusAtv = 'false'; } $statusAtv = $statusAtivo ? "and status = $statusAtv" : ''; $query = "SELECT a.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 INNER JOIN pbx_organizacao_usuarios b ON b.id_usuario = a.id 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 = ""; $imgReset = ""; $imgDelete = sprintf("", ($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 = ""; $id = $dados["id"]; $nome = $dados["nome"]; $nome = " $nome"; $imgEdit = " $imgEdit"; $imgReset = "$imgReset"; $id = " $id"; $matricula = $dados["matricula"]; $flag = $dados["flag"]; $senha = $dados["senha"]; $email = !empty($dados["email"]) ? ocultarEmail($dados["email"]) : " "; $status = GetStatusModulo($dados['status'], true); $delete = $dados['status'] == 1 ? "" . $imgDelete . "" : $imgDelete; $perfil = "" . $imgPerfil . ""; $linha .= " $id $nome $apelido $matricula $email $status $imgEdit $imgReset $delete $perfil "; } $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);