";
$option = ___GetVersao();
} catch (Exception $ex) {
$mensagem1 = $ex->getMessage();
}
$smarty->assign('dataAtu', $dataAtualiza);
$smarty->assign('coleta', $coleta);
$smarty->assign('opt', $option);
$smarty->assign('mensagem', $mensagem1);
$smarty->assign('rows', $rows);
$smarty->assign('select', ___GetSelectVersoes());
$smarty->assign('lastVersao', ___GetLastVersion());
GetTemplate($smarty, 'admin/centrais/centrais.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'));
___ErrorPG($ctPg, 1, 'Não foi possível conectar no servidor desejado!');
return $ctPg;
}
/*
* BUSCA A ULTIMA VERSÃO DO SISTEMA
*/
function ___GetLastVersion() {
global $ctPg;
$query = "SELECT versao_atualizacao FROM aplicativo_atualizacao ORDER BY 1 DESC";
$result = pg_query($ctPg, $query);
$res = pg_fetch_assoc($result);
return $res['versao_atualizacao'];
}
/*
* FUNÇÃO PARA ATUALIZAR A BASE DE ACORDO COM ATUALIZAÇÕES PROPOSTAS
*/
function ___SetAtualizacao($servers, $versaoAtualizar) {
global $ctPg;
/*
* SE A OPERAÇÃO FOR DESMARCADA OS REGISTRO SÃO ALTERADOS NO BANCO CANCELANDO A ATUALIZAÇÃO.
*/
$ser = pg_fetch_all(pg_query($ctPg, "SELECT id_central FROM central_atualizacao WHERE atualizar_central = 1"));
if ($ser) {
foreach ($ser as $val) {
if (!in_array($val['id_central'], $servers)) {
pg_query($ctPg, "UPDATE central_atualizacao SET atualizar_central = 0, atualizar_versao_central = '' WHERE id_central = {$val['id_central']};");
}
}
}
foreach ($servers as $id) {
pg_query($ctPg, "UPDATE central_atualizacao SET atualizar_central = 1, atualizar_versao_central = '$versaoAtualizar' WHERE id_central = $id;");
}
}
/*
* SISTEMA DE PESQUISA DOS SERVIDORES CADASTRADOS NA BASE
*/
function ___GetServidores($conexao, $versao = '', $vpn = '', $dataAtualizacao = '') {
$query = "SELECT * FROM central_atualizacao WHERE nome_central IS NOT NULL ";
if ($versao) {
$query .= " AND versao_central = '$versao'";
} else if ($vpn) {
$query .= " AND ip_central = '$vpn' OR nome_central ILIKE '%$vpn%' "
. "OR nome_central ILIKE '%$vpn%' "
. "OR sistema_central ILIKE '%$vpn%'";
} else if ($dataAtualizacao) {
$query .= sprintf(" AND data_atualizacao = '%s'", FormatDtMssql($dataAtualizacao));
}
$query .= " ORDER BY 1";
$result = pg_query($conexao, $query);
$return = pg_fetch_all($result);
___ErrorPG($conexao, $return, 'Não foi possível listar os servidores, verifique a conexão!');
return $return;
}
/*
* COLETA ERROS COM CONSULTAS NO POSTGRESQL
*/
function ___ErrorPG($conexao, $return, $msg) {
if (pg_last_error($conexao)) {
throw new Exception($msg);
}
if (!$return) {
throw new Exception("Não foi encontrado nenhum registro!");
}
}
/*
* VERIFICA SE A VPN POSSUI TODAS A INFORMAÇÕES
*/
function ___VerificaAtualizacao($versao, $disco, &$status, &$atualizacao, &$checkbox) {
if (!trim($versao) || !trim($disco)) {
$status = "-";
$atualizacao = "-";
$checkbox = "-";
}
}
/*
* CRIA COMBO COM AS VERSÕES DAS CENTRAIS
*/
function ___GetVersao() {
global $totalVersao, $ctPg;
$arrayVer = ___GetServidores($ctPg);
$opt = "";
foreach ($arrayVer as $versao) {
if (!in_array($versao['versao_central'], $totalVersao) && $versao['versao_central']) {
$totalVersao[] = $versao['versao_central'];
}
}
sort($totalVersao);
foreach ($totalVersao as $value) {
$opt .= "";
}
return $opt;
}
/*
* CRIA A ICONE PARA MODIFICAR A VPN
*/
function ___iconGrid($sizedb, $disco, $versao, $id, $ip, $central, $status, $atualizacao) {
$rows = '';
$myIP = $_SERVER["HTTP_HOST"];
$uri = $_SERVER["REQUEST_URI"];
if ($sizedb && $versao || $disco) {
$rows .= "
";
} else {
$rows .= "
";
}
return $rows;
}
/*
* CRIA O COMBO PARA MOSTRAR OS SERVIDORES
*/
function ___GetSelectVersoes() {
global $ctPg;
$rows = '';
$result = pg_query($ctPg, "SELECT versao_atualizacao FROM aplicativo_atualizacao ORDER BY versao_atualizacao DESC");
$res = pg_fetch_all($result);
foreach ($res as $ver) {
$rows .= "";
}
return $rows;
}
/*
* CONEXÃO COM O SERVIDOR QUE RODA O SCRIPT central_atualizacao
*/
function ___ConnectSSH($comando) {
$connection = ssh2_connect("127.0.0.1", 2223);
ssh2_auth_password($connection, 'root', 'SimpleS_root');
ssh2_exec($comando);
}