Commit ab6717fe151698c4c33b04af92b61aa5dd7f6198
1 parent
c169e9ff
Exists in
mysqli
and in
3 other branches
Configuração por script
Showing
1 changed file
with
181 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,181 @@ |
1 | +<?php | |
2 | +// Verifica permissões de escrita | |
3 | +if ( (is_writable("../inc/config.php") and is_writable("../restrito/inc/config.php")) or | |
4 | + ( !(file_exists("../inc/config.php") and file_exists("../restrito/inc/config.php")) and | |
5 | + (is_writable("../inc/") and is_writable("../restrito/inc/"))) and | |
6 | + is_writable("index.php") and is_writable("bd.php") | |
7 | + ) { | |
8 | + | |
9 | + // Se o o método é POST, verifica o preenchimento e tenta escrever os arquivos de configuração | |
10 | + if ($_SERVER['REQUEST_METHOD'] == "POST") { | |
11 | + $erro = false; | |
12 | + | |
13 | + // Verifica os campos obrigatórios | |
14 | + if ($_POST["nome"] and $_POST["codigo"] and $_POST["sitelink"] and $_POST["urlsistema"] and | |
15 | + $_POST["dbhost"] and $_POST["dbuser"] and $_POST["dbpass"] and $_POST["dbname"] and | |
16 | + ((!$_POST["phpmailer"]) or ($_POST["smtphost"] and | |
17 | + (!($_POST["smtpauth"]) or ($_POST["smtpuser"] and $_POST["smtppwd"])) | |
18 | + )) | |
19 | + ) { | |
20 | + $nome = $_POST["nome"]; | |
21 | + $codigo = $_POST["codigo"]; | |
22 | + ($_POST["sitelink"][strlen($_POST["sitelink"]-1)] != "/") ? $sitelink = $_POST["sitelink"]."/" : $sitelink = $_POST["sitelink"]; | |
23 | + ($_POST["urlsistema"][strlen($_POST["urlsistema"]-1)] != "/") ? $urlsistema = $_POST["urlsistema"]."/" : $urlsistema = $_POST["urlsistema"]; | |
24 | + $dbhost = $_POST["dbhost"]; | |
25 | + $dbuser = $_POST["dbuser"]; | |
26 | + $dbpass = $_POST["dbpass"]; | |
27 | + $dbname = $_POST["dbname"]; | |
28 | + $phpmailer = $_POST["phpmailer"]; | |
29 | + $smtphost = $_POST["$smtpport"] ? $_POST["smtphost"].":".$_POST["smtpport"] : $_POST["smtphost"]; | |
30 | + $smtpauth = $_POST["smtpauth"]; | |
31 | + $smtpuser = $_POST["smtpuser"]; | |
32 | + $smtppwd = $_POST["smtppwd"]; | |
33 | + | |
34 | + try { | |
35 | + $config = fopen("../inc/config.php", "w"); | |
36 | + fwrite($config, <<<CONF | |
37 | +<?php | |
38 | +/********************************************************************************** | |
39 | + Sistema e-SIC Livre: sistema de acesso a informação baseado na lei de acesso. | |
40 | + | |
41 | + Copyright (C) 2014 Prefeitura Municipal do Natal | |
42 | + | |
43 | + Este programa é software livre; você pode redistribuí-lo e/ou | |
44 | + modificá-lo sob os termos da Licença GPL2. | |
45 | +***********************************************************************************/ | |
46 | + | |
47 | +error_reporting(E_ERROR); | |
48 | + | |
49 | +define("SISTEMA_NOME", "$nome"); //nome do sistema para exibição em lugares diversos | |
50 | +define("SISTEMA_CODIGO", "$codigo"); //codigo para definição da lista de sessão do sistema | |
51 | + | |
52 | + | |
53 | +define("MAIL_HOST", "$smtphost"); | |
54 | +define("DBHOST", "$dbhost"); | |
55 | +define("DBUSER", "$dbuser"); | |
56 | +define("DBPASS", "$dbpass"); | |
57 | +define("DBNAME", "$dbname"); | |
58 | + | |
59 | +define("SITELNK", "$sitelink"); //endereço principal do site | |
60 | + | |
61 | +define("URL_BASE_SISTEMA", "$urlsistema"); //endereço principal do site | |
62 | + | |
63 | +?> | |
64 | +CONF | |
65 | + ); | |
66 | + fclose($config); | |
67 | + $config = fopen("../restrito/inc/config.php", "w"); | |
68 | + fwrite($config, <<<CONF | |
69 | +<?php | |
70 | +/********************************************************************************** | |
71 | + Sistema e-SIC Livre: sistema de acesso a informação baseado na lei de acesso. | |
72 | + | |
73 | + Copyright (C) 2014 Prefeitura Municipal do Natal | |
74 | + | |
75 | + Este programa é software livre; você pode redistribuí-lo e/ou | |
76 | + modificá-lo sob os termos da Licença GPL2. | |
77 | +***********************************************************************************/ | |
78 | + | |
79 | +error_reporting(E_ERROR); | |
80 | + | |
81 | +define("SISTEMA_NOME", "$nome"); //nome do sistema para exibição em lugares diversos | |
82 | +define("SISTEMA_CODIGO", "$codigo"); //codigo para definição da lista de sessão do sistema | |
83 | + | |
84 | + | |
85 | +define("MAIL_HOST", "$smtphost"); | |
86 | +define("DBHOST", "$dbhost"); | |
87 | +define("DBUSER", "$dbuser"); | |
88 | +define("DBPASS", "$dbpass"); | |
89 | +define("DBNAME", "$dbname"); | |
90 | + | |
91 | +define("SITELNK", "$sitelink"); //endereço principal do site | |
92 | + | |
93 | +define("URL_BASE_SISTEMA", "$urlsistema"); //endereço principal do site | |
94 | + | |
95 | +define("DIR_CLASSES_LEIACESSO","../../class"); | |
96 | + | |
97 | +?> | |
98 | +CONF | |
99 | + ); | |
100 | + fclose($config); | |
101 | + } catch(Exceptipon $e) { | |
102 | + $erro = "não foi possível escrever os arquivos de configuração ($e)"; | |
103 | + } | |
104 | + } else { | |
105 | + $erro = "campos obrigatórios não preenchidos"; | |
106 | + } | |
107 | + | |
108 | + // Se a configuração foi bem sucedida, passa à próxima etapa | |
109 | + if (!$erro) { | |
110 | + header("Location: {$_POST["urlsistema"]}instalar/bd.php"); | |
111 | + die(); | |
112 | + } else { | |
113 | + echo "<script language='javascript'>alert('Erro na configuração do sistema: $erro.');</script>"; | |
114 | + } | |
115 | +} | |
116 | + | |
117 | +include("../inc/topo.php"); | |
118 | + | |
119 | +// Formulário de configuração | |
120 | +?> | |
121 | + | |
122 | +<div id="principal"> | |
123 | + <h1>Instalação do e-SIC Livre</h1> | |
124 | + <h2>Passo 1 de 2</h2> | |
125 | + <form action="index.php" method="post"> | |
126 | + <fieldset> | |
127 | + <legend>Informações do sistema</legend> | |
128 | + <table> | |
129 | + <tr><td><label for="nome">Nome do sistema:<small>*</small></label></td><td><input type="text" name="nome" id="nome" value="e-SIC Livre"></td></tr> | |
130 | + <tr><td><label for="codigo">Código dos <em>cookies</em> de sessão:<small>*</small></label></td><td><input type="text" name="codigo" id="codigo" value="esiclivre"></td></tr> | |
131 | + <tr><td><label for="sitelink">URL do <em>site</em> principal:<small>*</small></label></td><td><input type="text" name="sitelink" id="sitelink" value=""></td></tr> | |
132 | + <tr><td><label for="urlsistema">URL da raiz do sistema:<small>*</small></label></td><td><input type="text" name="urlsistema" id="urlsistema" value=""></td></tr> | |
133 | + </table> | |
134 | + </fieldset> | |
135 | + | |
136 | + <fieldset> | |
137 | + <legend>Banco de dados</legend> | |
138 | + <table> | |
139 | + <tr><td><label for="dbhost">Endereço do servidor:<small>*</small></label></td><td><input type="text" name="dbhost" id="dbhost" value=""></td></tr> | |
140 | + <tr><td><label for="dbuser"></label>Usuário:<small>*</small></td><td><input type="text" name="dbuser" id="dbuser" value=""></td></tr> | |
141 | + <tr><td><label for="dbpass">Senha:<small>*</small></label></td><td><input type="password" name="dbpass" id="dbpass" value=""></td></tr> | |
142 | + <tr><td><label for="dbname">Nome do banco de dados:<small>*</small></label></td><td><input type="text" name="dbname" id="dbname" value=""></td></tr> | |
143 | + </table> | |
144 | + </fieldset> | |
145 | + | |
146 | + <fieldset> | |
147 | + <legend>Envio de e-mail</legend> | |
148 | + <table> | |
149 | + <tr><td><label for="phpmailer">Usar o PHP Mailer?</label></td><td><input type="checkbox" name="phpmailer" id="phpmailer" value="phpmailer"></td></tr> | |
150 | + <tr><td colspan="2">Se usar o PHP Mailer, preencha os campos a seguir:</td></tr> | |
151 | + <tr><td><label for="smtphost">Servidor de e-mail:</label></td><td><input type="text" name="smtphost" id="smtphost" value=""></td></tr> | |
152 | + <tr><td><label for="smtpport"></label>Porta de SMTP:</td><td><input type="text" name="smtpport" id="smtpport" value=""></td></tr> | |
153 | + <tr><td><label for="smtpauth"></label>Necessário autenticar?</td><td><input type="checkbox" name="smtpauth" id="smtpauth" value="smtpauth"></td></tr> | |
154 | + <tr><td><label for="smtpuser"></label>Usuário do servidor de e-mail:</td><td><input type="text" name="smtpuser" id="smtpuser" value=""></td></tr> | |
155 | + <tr><td><label for="smtppwd"></label>Senha do usuário do servidor de e-mail:</td><td><input type="password" name="smtppwd" id="smtppwd" value=""></td></tr> | |
156 | + </table> | |
157 | + </fieldset> | |
158 | + <p><small>*Campos obrigatórios.</small></p> | |
159 | + | |
160 | + <input type="submit" value="Prosseguir"> | |
161 | + </form> | |
162 | +</div> | |
163 | + | |
164 | +<?php | |
165 | +} else { // Não há permissão de escrita nos arquivos de configuração | |
166 | +?> | |
167 | + <h1>Erro!</h1> | |
168 | + <p>O usuário do servidor web não tem permissão de escrita para ao menos um dos arquivos: | |
169 | + <ul> | |
170 | + <li><code>inc/config.php</code></li> | |
171 | + <li><code>restrito/inc/config.php</code></li> | |
172 | + <li><code>instalar/index.php</code></li> | |
173 | + <li><code>instalar/bd.php</code></li> | |
174 | + </ul> | |
175 | + Edite a configuração manualmente ou conceda permissão de escrita a esses arquivos.</p> | |
176 | + <p>Para editar as configurações, renomeie os arquivos <code>config-exemplo.php</code> nas pastas <code>inc/config/</code> e <code>restrito/inc/</code> para <code>config.php</code> e informe em ambos os parâmetros adequados. Depois, execute os <em>scripts</em> SQL no diretório <code>basedados</code>.</p> | |
177 | + <p>Se proceder manualmente, exclua a pasta "instalar" e seu conteúdo após a instalação.</p> | |
178 | +<?php | |
179 | +} | |
180 | +include("../inc/rodape.php"); | |
181 | +?> | |
0 | 182 | \ No newline at end of file | ... | ... |