PABX da Simples IP
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.

113 lines
3.5 KiB

<?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"];
}
?>