Commit c2156a8ff662ea064d6d5912a93d2cf777f6f784

Authored by Leandro Arndt
1 parent b6f975b8

Instalador do BD e removedor de arquivos de configuração

Showing 2 changed files with 124 additions and 0 deletions   Show diff stats
instalar/bd.php 0 → 100644
... ... @@ -0,0 +1,102 @@
  1 +<?php
  2 +
  3 +require_once("../inc/config.php");
  4 +
  5 +if ($_SERVER['REQUEST_METHOD'] == "POST") {
  6 + if ($_POST["etapa"] > 0) { // Executa cada carregamento
  7 + mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
  8 + $mysqli = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);
  9 + $mysqli->autocommit(false);
  10 + try {
  11 + if ($_POST["etapa"] != 3) { // Carrega tudo de uma vez
  12 + $mysqli->multi_query(file_get_contents(join(DIRECTORY_SEPARATOR, array(dirname(dirname(__FILE__)), "basedados", "dbesiclivre")).($_POST["etapa"]).".sql"));
  13 + } else {
  14 + $comandos = explode(";", file_get_contents(join(DIRECTORY_SEPARATOR, array(dirname(dirname(__FILE__)), "basedados", "dbesiclivre")).($_POST["etapa"]).".sql"));
  15 + foreach ($comandos as $c) {
  16 + if (!ctype_space($c)) { // Evita erro "1065 - Query was empty"
  17 + $mysqli->query($c);
  18 + }
  19 + }
  20 + $mysqli->query("COMMIT;");
  21 + }
  22 + echo "Etapa ".$_POST["etapa"]." finalizada com sucesso.";
  23 + die();
  24 + } catch (Exception $e) {
  25 + echo $e->getCode()." - ".$e->getMessage();
  26 + http_response_code(500);
  27 + die();
  28 + }
  29 + } else { // Página que irá demandar o carregamento
  30 + include("../inc/topo.php");
  31 +?>
  32 +
  33 + <div id="principal">
  34 + <h1>Instala&ccedil;&atilde;o do e-SIC Livre</h1>
  35 + <h2>Passo 2 de 2</h2>
  36 + <h3>Instalando o banco de dados</h3>
  37 +
  38 + <p>Aguarde enquanto o sistema instala o banco de dados.</p>
  39 + <ul>
  40 + <li>Cria&ccedil;&atilde;o da estrutura b&aacute;sica: <span id="ok1">aguardando&hellip;</span></li>
  41 + <li>Carregamento da informa&ccedil;&atilde;o geogr&aacute;fica: <span id="ok2">aguardando&hellip;</span></li>
  42 + <?php if ($_POST["cep"] == "cep") { ?><li>Carregamento da base de CEP, logradouros e bairros: <span id="ok3">aguardando&hellip;</span></li><?php } ?>
  43 + </ul>
  44 + </div>
  45 +
  46 +<script src="../js/jquery.js" type="text/javascript"></script>
  47 +
  48 +<script type="text/javascript">
  49 + var etapas = <?php echo ($_POST["cep"] == "cep" ? 3 : 2); ?>;
  50 + var etapa = 1;
  51 +
  52 + var concluido = function(data) {
  53 + console.log("Ok: "+data.responseText);
  54 + $("#ok"+etapa).html("conclu&iacute;do.");
  55 + if (etapa < etapas) {
  56 + etapa += 1; executar();
  57 + } else {
  58 + window.location = window.location.href.substr(0, window.location.href.length-6) + "fim.php";
  59 + }
  60 + };
  61 +
  62 + var erro = function(data) {
  63 + $("#ok"+etapa).html("<strong>ERRO</strong> (\""+data.responseText+"\").");
  64 + }
  65 +
  66 + var executar = function() {
  67 + $("#ok"+etapa).html("executando&hellip;");
  68 + $.post("bd.php", {"etapa": etapa}, concluido).fail(erro);
  69 + };
  70 +
  71 + $(document).ready(function() {
  72 + executar();
  73 + });
  74 +</script>
  75 +
  76 +<?php
  77 + include("../inc/rodape.php");
  78 + }
  79 +} else {
  80 + include("../inc/topo.php");
  81 +?>
  82 + <div id="principal">
  83 + <h1>Instala&ccedil;&atilde;o do e-SIC Livre</h1>
  84 + <h2>Passo 2 de 2</h2>
  85 + <h3>Instalando o banco de dados</h3>
  86 +
  87 + <p><strong>Aten&ccedil;&atilde;o!</strong> Para prosseguir, verifique se o banco de dados <code><?php echo DBNAME; ?></code> existe e se o usu&aacute;rio <code><?php echo DBUSER; ?></code> det&eacute;m todas as permiss&otilde;es para ele.</p>
  88 +
  89 + <form action="bd.php" method="post">
  90 + <!-- p><label for="mysql">Caminho para o comando <code>mysql</code>, se necess&aacute;rio: </label><input type="text" name="mysql" value="" id="mysql"></p -->
  91 + <p><input type="checkbox" name="cep" value="cep" id="cep"><label for="cep">Carregar informações de CEP, logradouros e bairros.</label></p>
  92 + <input type="hidden" value="0" name="etapa">
  93 + <input type="submit" value="Prosseguir" id="prosseguir" onClick="document.getElementById('prosseguir').disabled = true;">
  94 + </form>
  95 +
  96 + </div>
  97 +
  98 +<?php
  99 + include("../inc/rodape.php");
  100 +}
  101 +
  102 +?>
0 103 \ No newline at end of file
... ...
instalar/fim.php 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +<?php
  2 +include("../inc/topo.php");
  3 +?>
  4 +
  5 +<div id="principal">
  6 + <h1>e-SIC Livre instalado!</h1>
  7 +
  8 + <p>O e-SIC Livre foi instalado com sucesso. Clique <a href="../restrito/">aqui</a> para acessar a &aacute;rea administrativa e continuar a configura&ccedil;&atilde;o.</p>
  9 +<?php
  10 +try {
  11 + unlink("index.php");
  12 + unlink("bd.php");
  13 +} catch (Exception $e) {
  14 +?>
  15 + <p><strong>Aten&ccedil;&atilde;o!</strong>< N&atilde;o foi poss&iacute;vel remover os arquivos de instala&ccedil;&atilde;o. Para sua segurança, remova manualmente os arquivos <pre><?php echo join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), "index.php")); ?></pre> e <pre><?php echo join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), "bd.php")); ?></pre></p>
  16 +<?php
  17 +}
  18 +?>
  19 +
  20 +<?php
  21 +include("../inc/rodape.php");
  22 +?>
0 23 \ No newline at end of file
... ...