Commit c2156a8ff662ea064d6d5912a93d2cf777f6f784
1 parent
b6f975b8
Exists in
mysqli
and in
3 other branches
Instalador do BD e removedor de arquivos de configuração
Showing
2 changed files
with
124 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,102 @@ | @@ -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çã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ção da estrutura básica: <span id="ok1">aguardando…</span></li> | ||
41 | + <li>Carregamento da informação geográfica: <span id="ok2">aguardando…</span></li> | ||
42 | + <?php if ($_POST["cep"] == "cep") { ?><li>Carregamento da base de CEP, logradouros e bairros: <span id="ok3">aguardando…</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í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…"); | ||
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çã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ção!</strong> Para prosseguir, verifique se o banco de dados <code><?php echo DBNAME; ?></code> existe e se o usuário <code><?php echo DBUSER; ?></code> detém todas as permissõ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á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 | \ No newline at end of file | 103 | \ No newline at end of file |
@@ -0,0 +1,22 @@ | @@ -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 área administrativa e continuar a configuração.</p> | ||
9 | +<?php | ||
10 | +try { | ||
11 | + unlink("index.php"); | ||
12 | + unlink("bd.php"); | ||
13 | +} catch (Exception $e) { | ||
14 | +?> | ||
15 | + <p><strong>Atenção!</strong>< Não foi possível remover os arquivos de instalaçã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 | \ No newline at end of file | 23 | \ No newline at end of file |