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.
 
 
 
 
 
 

111 lines
4.3 KiB

<?php
$id = isset($_GET['id']) ? $_GET['id'] : '';
$action = isset($_GET['act']) ? $_GET['act'] : '';
$versao = isset($_POST['versao']) ? $_POST['versao'] : '';
$tipo = isset($_POST['tipo']) ? $_POST['tipo'] : '';
$modulo = isset($_POST['modulo']) ? $_POST['modulo'] : '';
$autor = isset($_POST['autor']) ? $_POST['autor'] : '';
$descricao = isset($_POST['descricao']) ? $_POST['descricao'] : '';
$tpLayout = 1;
//Mantém os metodos GET da sessão depois da Requisição
$_SESSION['SSIdCorrecao'] = $id ? $id : $_SESSION['SSIdCorrecao'];
$_SESSION['SSCorrecaoAction'] = $action ? $action : $_SESSION['SSCorrecaoAction'];
try {
$conexao = ___GetPGConnect();
if (isset($_POST['btExecutar'])) {
$mensagem = ___GetManter($conexao, $versao, $tipo, $modulo, $autor, $descricao);
}
if ($id) {
$dados = ___GetRegisto($conexao, $id);
$versao = $dados['versao_controle'];
$tipo = $dados['tipo_controle'];
$modulo = $dados['modulo_controle'];
$autor = $dados['autor_controle'];
$descricao = $dados['descricao_controle'];
}
} catch (Exception $ex) {
$mensagem = $ex->getMessage();
} finally {
$smarty->assign('versoes', ___GetVersoes($conexao, $versao));
$smarty->assign('tipo', $tipo);
$smarty->assign('modulo', $modulo);
$smarty->assign('autor', $autor);
$smarty->assign('descricao', $descricao);
$smarty->assign('mensagem', $mensagem);
GetTemplate($smarty, 'admin/cadCorrecoes.tpl');
}
/*
* CONEXÃO COM A BASE DAS CENTRAIS CADASTRADA
*/
function ___GetPGConnect() {
$ctPg = pg_connect(sprintf("host=%s port=%s dbname=%s user=%s password=%s", IP_CENTRAL_ATUALIZACAO, '5432', 'atualizacoes', 'contacte', 'ctepgSQL'));
if (pg_last_error()) {
throw new Exception('Não foi possível conectar no banco de dados!');
}
return $ctPg;
}
function ___GetVersoes($conexao, $versao = null) {
$query = "SELECT versao_atualizacao FROM aplicativo_atualizacao ORDER BY data_atualizacao DESC";
$result = pg_query($conexao, $query);
$resp = pg_fetch_all($result);
foreach ($resp as $value) {
$selected = "";
if ($value['versao_atualizacao'] == $versao) {
$selected = "selected";
}
$opt .= sprintf("<option value=\"%s\" $selected>%s</option>", $value['versao_atualizacao'], $value['versao_atualizacao']);
}
return $opt;
}
function ___GetManter($conexao, $versao, $tipo, $modulo, $autor, $descricao) {
if (!$versao && !$tipo && !$modulo && !$autor && !$descricao) {
throw new Exception('Por favor complete todos os campos!');
}
if ($_SESSION['SSCorrecaoAction'] == 'edit') {
$query = "UPDATE controle_atualizacao SET versao_controle = '$versao',tipo_controle = '$tipo', modulo_controle = '$modulo', autor_controle = '$autor', descricao_controle = '$descricao' WHERE id_controle = {$_SESSION['SSIdCorrecao']}";
$mensagem = "As configuracões de atualização foram alteradas!";
} else if ($_SESSION['SSCorrecaoAction'] == 'novo'){
$query = "INSERT INTO controle_atualizacao (versao_controle,tipo_controle,modulo_controle,autor_controle,descricao_controle) "
. "VALUES('$versao', '$tipo', '$modulo', '$autor', '$descricao');";
$mensagem = "Correções foram cadastrada com sucesso!";
}
unset($_SESSION['SSCorrecaoAction']);
!empty($query) ? pg_query($conexao, $query) : '';
if (pg_last_error()) {
$msg = ($_SESSION['SSIdCorrecao'] ? 'Não foi possível realizar as modificações!' : 'Não foi possível inserir os dados no banco!') . pg_last_error();
throw new Exception($msg);
}
return $mensagem;
}
function ___GetRegisto($conexao, $id) {
$query = "SELECT * FROM controle_atualizacao WHERE id_controle = $id";
$result = pg_query($conexao, $query);
$resp = pg_fetch_assoc($result);
if (pg_last_error()) {
throw new Exception('Não foi possível consultar o registro da correção!');
}
return $resp;
}