|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
//define o label do botao
|
|
|
|
|
$acaoUser = 'Incluir';
|
|
|
|
|
|
|
|
|
|
// Define mensagem para o usuario
|
|
|
|
|
$msgUser = "";
|
|
|
|
|
|
|
|
|
|
// Define mensagens de erro
|
|
|
|
|
$msgErro = "";
|
|
|
|
|
|
|
|
|
|
$setFocus = "document.getElementById('gp_nome').focus();";
|
|
|
|
|
$jsStartup[] = $setFocus;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Verifica se o usuario pressionou o bot<EFBFBD>o para inserir
|
|
|
|
|
* o registro
|
|
|
|
|
*/
|
|
|
|
|
if ($formAction == FORM_NEW) {
|
|
|
|
|
LimpaGpVar();
|
|
|
|
|
} else {
|
|
|
|
|
if (trim($_POST["gp_nome"] == "")) {
|
|
|
|
|
GetGpValues();
|
|
|
|
|
$msgUser = "alert('O nome do grupo <EFBFBD> campo de preenchimento obrigat<EFBFBD>rio!');";
|
|
|
|
|
} else {
|
|
|
|
|
//string para inser<EFBFBD><EFBFBD>o do registro
|
|
|
|
|
$query = "insert into pbx_grupo(gp_nome, gp_status, gp_user)
|
|
|
|
|
values(%s, %s, %s)";
|
|
|
|
|
|
|
|
|
|
GetGpValues();
|
|
|
|
|
|
|
|
|
|
// Inicia uma transa<EFBFBD><EFBFBD>o no banco de dados
|
|
|
|
|
$result = @pg_query($dbcon, "begin");
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
//Prepara a query para inserir o registro no banco
|
|
|
|
|
$query = sprintf($query, QuotedStr($gp_nome), QuotedStr($gp_status), QuotedStr(GetIdUser()));
|
|
|
|
|
|
|
|
|
|
//Executa a query no banco
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if (!IsAdmin() && $result) {
|
|
|
|
|
//Insere o grupo para o criador e seus antecessores na ordem inversa de cria<EFBFBD><EFBFBD>o
|
|
|
|
|
$query = "select max(gp_id) from pbx_grupo";
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
$row = @pg_fetch_row($result);
|
|
|
|
|
|
|
|
|
|
$idGrupo = $row[0];
|
|
|
|
|
$idUser = GetIdUser();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Usuario administrador n<EFBFBD>o <EFBFBD> inserido no grupo.
|
|
|
|
|
*/
|
|
|
|
|
if ($result && !IsUserAdmin()) {
|
|
|
|
|
$query = " insert into pbx_grupo_usuario(user_id, gp_id)values(%s, %s)";
|
|
|
|
|
$query = sprintf($query, $idUser, $idGrupo);
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$query = " insert into pbx_grupo_usuario(user_id, gp_id)values(%s, %s)";
|
|
|
|
|
$idUser = GetIdSysAdmin($dbcon);
|
|
|
|
|
$query = sprintf($query, $idUser, $idGrupo);
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$result = @pg_query($dbcon, "commit");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($result) {
|
|
|
|
|
$acaoUser = 'Incluir';
|
|
|
|
|
$msgUser = "alert('Grupo cadastrado com sucesso');";
|
|
|
|
|
$jsStartup[] = "window.opener.ResetForm();";
|
|
|
|
|
LimpaGpVar();
|
|
|
|
|
} else {
|
|
|
|
|
$erroBd = @pg_last_error($dbcon);
|
|
|
|
|
@pg_query($dbcon, "rollback");
|
|
|
|
|
$acaoUser = 'Incluir';
|
|
|
|
|
$msgUser = "alert('A opera<EFBFBD><EFBFBD>o n<EFBFBD>o pode ser realizada!Erro: $erroBd');";
|
|
|
|
|
$msgErro = "A opera<EFBFBD><EFBFBD>o n<EFBFBD>o pode ser realizada!Erro: $erroBd";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!empty($msgUser))
|
|
|
|
|
$jsStartup[] = $msgUser;
|
|
|
|
|
|
|
|
|
|
$smarty->assign("gp_id", $gp_id);
|
|
|
|
|
$smarty->assign("gp_nome", $gp_nome);
|
|
|
|
|
$smarty->assign("gp_status", $gp_status);
|
|
|
|
|
$smarty->assign("acaoUser", $acaoUser);
|
|
|
|
|
$smarty->assign("formAction", FORM_INSERT);
|
|
|
|
|
$smarty->assign("erro", $msgErro);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetTemplate($smarty, 'seguranca/grupos/gruposCadastro.tpl');
|
|
|
|
|
|
|
|
|
|
function LimpaGpVar() {
|
|
|
|
|
$GLOBALS["gp_nome"] = "";
|
|
|
|
|
$GLOBALS["gp_status"] = 1;
|
|
|
|
|
$GLOBALS["gp_id"] = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetGpValues() {
|
|
|
|
|
$GLOBALS["gp_nome"] = mb_strtoupper(RemoveAcentos($_POST["gp_nome"]));
|
|
|
|
|
$GLOBALS["gp_status"] = $_POST["gp_status"];
|
|
|
|
|
$GLOBALS["gp_id"] = $_POST["gp_id"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|