<?php
define('WP_INSTALLING', true);

if (!file_exists('../wp-config-sample.php'))
    die('Desculpe, preciso do ficheiro wp-config-sample.php para trabalhar. Por favor, faça upload de novo da sua instalação do WordPress.');

$configFile = file('../wp-config-sample.php');

if (!is_writable('../')) die("Desculpe, não consigo escrever para a directoria. Tem que mudar as permissões da sua directoria do WordPress ou criar o seu  wp-config.php manualmente.");


if (isset($_GET['step']))
	$step = $_GET['step'];
else
	$step = 0;
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WordPress &rsaquo; Criar Ficheiro de Configuração</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style media="screen" type="text/css">
	<!--
	html {
		background: #eee;
	}
	body {
		background: #fff;
		color: #000;
		font-family: Georgia, "Times New Roman", Times, serif;
		margin-left: 20%;
		margin-right: 20%;
		padding: .2em 2em;
	}

	h1 {
		color: #006;
		font-size: 18px;
		font-weight: lighter;
	}

	h2 {
		font-size: 16px;
	}

	p, li, dt {
		line-height: 140%;
		padding-bottom: 2px;
	}

	ul, ol {
		padding: 5px 5px 5px 20px;
	}
	#logo {
		margin-bottom: 2em;
	}
	.step a, .step input {
		font-size: 2em;
	}
	td input {
		font-size: 1.5em;
	}
	.step, th {
		text-align: right;
	}
	#footer {
		text-align: center;
		border-top: 1px solid #ccc;
		padding-top: 1em;
		font-style: italic;
	}
	-->
	</style>
</head>
<body>
<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
<?php
// Check if wp-config.php has been created
if (file_exists('../wp-config.php'))
	die("<p>O ficheiro 'wp-config.php' já existe. Se precisa de restaurar alguma configuração deste ficheiro, por favor apague-o primeiro. Pode tentar <a href='install.php'>instalar agora</a>.</p></body></html>");

switch($step) {
	case 0:
?> 

<p>Bem-vindo ao WordPress. Antes de iniciar, necessitamos de algumas informações sobre a base de dados. Terá de saber as seguintes informações antes de prosseguir.</p> 
<ol> 
  <li>Nome da base de dados</li> 
  <li>Nome de utilizador da base de dados</li> 
  <li>Senha da base de dados</li> 
  <li>Computador Anfitrião <em>(Host)</em> da base de dados</li> 
  <li>Prefixo da Tabela (se pretender executar mais do que um WordPress numa única base de dados) </li>
</ol> 
<p><strong>Se, por algum motivo, esta criação automática do ficheiro de configuração falhar, não se preocupe. Tudo o que é necessário é preencher as informações da base de dados num ficheiro de configuração. Poderá abrir o ficheiro <code>wp-config-sample.php</code> num editor de texto, preencher os dados e guardá-lo como  <code>wp-config.php</code>. </strong></p>
<p>Muito provavelmente as informações necessárias foram-lhe fornecidas pelo seu fornecedor de alojamento. Se não souber estas informações, deverá contactar o seu fornecedor de alojamento antes de continuar. Se estiver pronto, <a href="setup-config.php?step=1">vamos avançar</a>! </p>
<?php
	break;

	case 1:
	?> 
</p> 
<form method="post" action="setup-config.php?step=2">
  <p>Deverá introduzir abaixo os detalhes da ligação à base de dados. Se não estiver seguro acerca dos mesmos, contacte o seu fornecedor de alojamento. </p>
  <table> 
    <tr> 
      <th scope="row">Nome da Base de Dados</th> 
      <td><input name="dbname" type="text" size="25" value="wordpress" /></td>
      <td>O nome da base de dados na qual pretende executar o WordPress.</td> 
    </tr> 
    <tr> 
      <th scope="row">Nome de Utilizador</th> 
      <td><input name="uname" type="text" size="25" value="username" /></td>
      <td>O seu nome de utilizador da base de dados MySQL</td> 
    </tr> 
    <tr> 
      <th scope="row">Senha</th> 
      <td><input name="pwd" type="text" size="25" value="password" /></td>
      <td>...e a senha MySQL.</td> 
    </tr> 
    <tr> 
      <th scope="row">Computador Anfitrião <em>(Host)</em> da Base de Dados</th> 
      <td><input name="dbhost" type="text" size="25" value="localhost" /></td>
      <td>Muito provavelmente não necessita de alterar este valor.</td> 
    </tr>
    <tr>
      <th scope="row">Prefixo da Tabela</th>
      <td><input name="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
      <td>Se pretender instalar vários blogues WordPress numa única base de dados, altere este valor.</td>
    </tr> 
  </table>
  <h2 class="step">
  <input name="submit" type="submit" value="Submeter" />
  </h2>
</form> 
<?php
	break;

	case 2:
	$dbname  = trim($_POST['dbname']);
    $uname   = trim($_POST['uname']);
    $passwrd = trim($_POST['pwd']);
    $dbhost  = trim($_POST['dbhost']);
	$prefix  = trim($_POST['prefix']);
	if (empty($prefix)) $prefix = 'wp_';

    // Test the db connection.
    define('DB_NAME', $dbname);
    define('DB_USER', $uname);
    define('DB_PASSWORD', $passwrd);
    define('DB_HOST', $dbhost);

    // We'll fail here if the values are no good.
    require_once('../wp-includes/wp-db.php');
	$handle = fopen('../wp-config.php', 'w');

    foreach ($configFile as $line_num => $line) {
        switch (substr($line,0,16)) {
            case "define('DB_NAME'":
                fwrite($handle, str_replace("wordpress", $dbname, $line));
                break;
            case "define('DB_USER'":
                fwrite($handle, str_replace("'username'", "'$uname'", $line));
                break;
            case "define('DB_PASSW":
                fwrite($handle, str_replace("'password'", "'$passwrd'", $line));
                break;
            case "define('DB_HOST'":
                fwrite($handle, str_replace("localhost", $dbhost, $line));
                break;
			case '$table_prefix  =':
				fwrite($handle, str_replace('wp_', $prefix, $line));
				break;
            default:
                fwrite($handle, $line);
        }
    }
    fclose($handle);
	chmod('../wp-config.php', 0666);
?> 
<p>Muito bem! Esta parte da instalação está concluída. O WordPress já consegue comunicar com a base de dados. Se estiver pronto, é altura de <a href="install.php">executar a instalação!</a></p> 
<?php
	break;
}
?>
<p id="footer"><a href="http://wordpress.org/">WordPress</a>, plataforma pessoal de publicação.</p>
</body>
</html>
