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