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 | ... | ... |