|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
$id = isset($_GET['id']) ? $_GET['id'] : '';
|
|
|
|
|
$dataIni = isset($_POST['dataIni']) ? $_POST['dataIni'] : '';
|
|
|
|
|
$dataFim = isset($_POST['dataFim']) ? $_POST['dataFim'] : '';
|
|
|
|
|
$versao = isset($_POST['versao']) ? $_POST['versao'] : '';
|
|
|
|
|
$autor = isset($_POST['autor']) ? $_POST['autor'] : '';
|
|
|
|
|
$action = isset($_GET['act']) ? $_GET['act'] : '';
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
if ($action == 'imprimir') {
|
|
|
|
|
___GetChanceLog();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$conexao = ___GetPGConnect();
|
|
|
|
|
|
|
|
|
|
if ($id && $action == "delete" && IsAdmin()) {
|
|
|
|
|
$mensagem = ___GetDeleteReg($conexao, $id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$versoes = ___GetVersoes($conexao, $versao);
|
|
|
|
|
$autores = ___GetAutor($conexao, $autor);
|
|
|
|
|
$rows = ___GetGridCorrecoes($conexao, $dataIni, $dataFim, $versao, $autor);
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
$mensagem = $ex->getMessage();
|
|
|
|
|
} finally {
|
|
|
|
|
$smarty->assign('rows', $rows);
|
|
|
|
|
$smarty->assign('admin', IsAdmin());
|
|
|
|
|
$smarty->assign('mensagem', $mensagem);
|
|
|
|
|
$smarty->assign('autores', $autores);
|
|
|
|
|
$smarty->assign('versoes', $versoes);
|
|
|
|
|
$smarty->assign('dataIni', $dataIni);
|
|
|
|
|
$smarty->assign('dataFim', $dataFim);
|
|
|
|
|
GetTemplate($smarty, 'admin/correcoes.tpl');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* CONEX<EFBFBD>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'));
|
|
|
|
|
___GetErrorPG($ctPg);
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
___GetErrorPG($conexao);
|
|
|
|
|
$opt = "<option value=''> --------- </option>";
|
|
|
|
|
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 ___GetAutor($conexao, $nome = null) {
|
|
|
|
|
$query = "SELECT DISTINCT autor_controle FROM controle_atualizacao WHERE autor_controle <> '' ORDER BY 1";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($conexao, $query);
|
|
|
|
|
$resp = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
___GetErrorPG($conexao);
|
|
|
|
|
|
|
|
|
|
$opt = "<option value=''> --------- </option>";
|
|
|
|
|
foreach ($resp as $autor) {
|
|
|
|
|
$selected = '';
|
|
|
|
|
if ($nome == $autor['autor_controle']) {
|
|
|
|
|
$selected = "selected";
|
|
|
|
|
}
|
|
|
|
|
$opt .= "<option value='{$autor['autor_controle']}' $selected >{$autor['autor_controle']}</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $opt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ___GetGridCorrecoes($conexao, $dataIni, $dataFim, $versao, $autor) {
|
|
|
|
|
$query = "SELECT * FROM controle_atualizacao WHERE 1=1 ";
|
|
|
|
|
|
|
|
|
|
$dataIni && $dataFim ? $query .= sprintf("AND data_controle::DATE >= '%s' AND data_controle::DATE <= '%s' ", FormatDtMssql($dataIni), FormatDtMssql($dataFim)) : '';
|
|
|
|
|
$versao ? $query .= "AND versao_controle = '$versao' " : '';
|
|
|
|
|
$autor ? $query .= "AND autor_controle = '$autor' " : '';
|
|
|
|
|
|
|
|
|
|
$query .= " ORDER BY data_controle DESC";
|
|
|
|
|
|
|
|
|
|
$result = pg_query($conexao, $query);
|
|
|
|
|
$_SESSION['SSDadosChangelog'] = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
___GetErrorPG($conexao);
|
|
|
|
|
|
|
|
|
|
if (!$_SESSION['SSDadosChangelog']) {
|
|
|
|
|
$linha = "<tr><td align='center' colspan='7'><b>N<EFBFBD>o encotramos registros com as informa<EFBFBD><EFBFBD>es passadas!</b></td></tr>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($_SESSION['SSDadosChangelog'] as $grid) {
|
|
|
|
|
$linha .= "<tr>";
|
|
|
|
|
$linha .= "<td>{$grid['versao_controle']}</td>";
|
|
|
|
|
$linha .= "<td>{$grid['tipo_controle']}</td>";
|
|
|
|
|
$linha .= "<td>{$grid['modulo_controle']}</td>";
|
|
|
|
|
$linha .= "<td>{$grid['autor_controle']}</td>";
|
|
|
|
|
$linha .= sprintf("<td>%s</td>", date('d/m/Y H:i:s', strtotime($grid['data_controle'])));
|
|
|
|
|
if (IsAdmin()) {
|
|
|
|
|
$linha .= "<td align=\"center\"><a href=\"javaScript:NovaJanela('index.php?idProg=326&id={$grid['id_controle']}&act=edit', 'CadCentrais', '1100', '50', 'resizable=YES,scrollbars=NO');\"><img width='16px' title='Editar' src='imgSite/edit-solid.png'/></a></td>";
|
|
|
|
|
$linha .= "<td align=\"center\"><a href=\"index.php?idProg=325&act=delete&id={$grid['id_controle']}\"><img title=\"Remover\" src=\"imgSite/trash.png\" width=\"16px\"></a></td>";
|
|
|
|
|
}
|
|
|
|
|
$linha .= "</tr>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $linha;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ___GetDeleteReg($conexao, $id) {
|
|
|
|
|
$query = "DELETE FROM controle_atualizacao WHERE id_controle = $id";
|
|
|
|
|
pg_query($conexao, $query);
|
|
|
|
|
___GetErrorPG($conexao);
|
|
|
|
|
return "Registro foi exluido com sucesso!";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ___GetErrorPG($conexao) {
|
|
|
|
|
if (pg_last_error($conexao)) {
|
|
|
|
|
throw new Exception('N<EFBFBD>o foi poss<EFBFBD>vel realizar consulta!');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ___GetChanceLog() {
|
|
|
|
|
$arquivo = '/var/www/html/aplicativo/audio/CHANGELOG.txt';
|
|
|
|
|
|
|
|
|
|
if ($_SESSION['SSDadosChangelog']) {
|
|
|
|
|
$log .= "Changelog - Simples IP - " . date('d/m/Y') . PHP_EOL;
|
|
|
|
|
$log .= "Diante deste documento consta as corre<EFBFBD><EFBFBD>es/altera<EFBFBD><EFBFBD>es/ajuestes e afins ocorridos nas vers<EFBFBD>es correntes do sistema.". PHP_EOL;
|
|
|
|
|
$log .= "___________________________________________________________________________________________________________________" . PHP_EOL;
|
|
|
|
|
foreach ($_SESSION['SSDadosChangelog'] as $value) {
|
|
|
|
|
$log .= PHP_EOL . "M<EFBFBD>dulo: {$value['modulo_controle']}" . PHP_EOL;
|
|
|
|
|
$log .= "Vers<EFBFBD>o: {$value['versao_controle']}" . PHP_EOL;
|
|
|
|
|
$log .= "Tipo: {$value['tipo_controle']}" . PHP_EOL;
|
|
|
|
|
|
|
|
|
|
$string = strip_tags(html_entity_decode($value['descricao_controle']), '<p>');
|
|
|
|
|
$string = preg_replace("~<p>~", "|||", $string);
|
|
|
|
|
$str = strip_tags($string);
|
|
|
|
|
|
|
|
|
|
$log .= "Descri<EFBFBD><EFBFBD>o: ";
|
|
|
|
|
$log .= str_replace('|||', PHP_EOL, $str) . PHP_EOL;
|
|
|
|
|
$log .= "Autor: {$value['autor_controle']} " . PHP_EOL;
|
|
|
|
|
$log .= sprintf("Registrado: %s",date('d/m/Y H:i:s', strtotime($value['data_controle']))) . PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
ob_end_clean();
|
|
|
|
|
ob_start();
|
|
|
|
|
$handle = fopen($arquivo, 'w');
|
|
|
|
|
fwrite($handle, html_entity_decode($log));
|
|
|
|
|
fclose($handle);
|
|
|
|
|
|
|
|
|
|
header('HTTP/1.1 200 OK');
|
|
|
|
|
header('Content-Description: File Transfer');
|
|
|
|
|
header('Content-Transfer-Encoding: binary');
|
|
|
|
|
header(sprintf("Content-type: %s", GetMimeContentType('CHANGELOG.txt')));
|
|
|
|
|
header('Content-Type: application/octet-stream');
|
|
|
|
|
header("Content-Disposition: attachment; filename=CHANGELOG.txt");
|
|
|
|
|
header('Content-length: ' . filesize($arquivo));
|
|
|
|
|
header('Connection: close');
|
|
|
|
|
readfile($arquivo);
|
|
|
|
|
unlink($arquivo);
|
|
|
|
|
ob_flush();
|
|
|
|
|
exit(0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|