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 @@ |
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 | 103 | \ No newline at end of file | ... | ... |
... | ... | @@ -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 | 23 | \ No newline at end of file | ... | ... |