<?php
/**
 * Retrieves and creates the wp-config.php file.
 *
 * The permissions for the base directory must allow for writing files in order
 * for the wp-config.php to be created using this page.
 *
 * @package WordPress
 * @subpackage Administration
 */

/**
 * We are installing.
 *
 * @package WordPress
 */
define('WP_INSTALLING', true);

/**#@+
 * These three defines are required to allow us to use require_wp_db() to load
 * the database class while being wp-content/db.php aware.
 * @ignore
 */
define('ABSPATH', dirname(dirname(__FILE__)).'/');
define('WPINC', 'wp-includes');
define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
/**#@-*/

require_once('../wp-includes/compat.php');
require_once('../wp-includes/functions.php');
require_once('../wp-includes/classes.php');

if (!file_exists('../wp-config-sample.php'))
	wp_die('Ho sento, neccessito un fitxer wp-config-sample.php per a procedir. Sisplau puja aquest fitxer altre cop des de la teva instal&middot;aci&oacute; de WordPress.');

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

if ( !is_writable('../'))
	wp_die("Ho sento, no puc escriure en el directori. Pots o b&eacute; canviar els permisos en el teu directori de WordPress o b&eacute; crear el teu wp-config.php manualment.");

// Check if wp-config.php has been created
if (file_exists('../wp-config.php'))
	wp_die("<p>El fitxer 'wp-config.php' ja existeix. Si has de fer canvis en la configuraci&oacute; d'aquest fitxer, sisplau abans esborra'l. Pots provar d'<a href='install.php'>instal&middot;lar ara</a>.</p>");

// Check if wp-config.php exists above the root directory
if (file_exists('../../wp-config.php') && ! file_exists('../../wp-load.php'))
	wp_die("<p>The file 'wp-config.php' already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>.</p>");

if (isset($_GET['step']))
	$step = $_GET['step'];
else
	$step = 0;

/**
 * Display setup wp-config.php file header.
 *
 * @ignore
 * @since 2.3.0
 * @package WordPress
 * @subpackage Installer_WP_Config
 */
function display_header() {
	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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WordPress &rsaquo; Creaci&oacute; del fitxer de configuraci&oacute;</title>
<link rel="stylesheet" href="css/install.css" type="text/css" />

</head>
<body>
<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
<?php
}//end function display_header();

switch($step) {
	case 0:
		display_header();
?>

<p>Benvinguda, benvingut a WordPress. Abans de comen&ccedil;ar, necessitem algunes informacions sobre la base de dades. Haur&agrave;s de con&egrave;ixer aix&ograve; per tal de procedir.</p>
<ol>
	<li>Nom de la base de dades</li>
	<li>Nom d'usuari en la base de dades</li>
	<li>Paraula de pas de l'usuari en la base de dades</li>
	<li>Nom del host de la base de dades</li>
	<li>Prefix de les taules (si vols tenir m&eacute;s d'un WordPress a la mateixa base de dades) </li>
</ol>
<p><strong>Si per algun motiu la creaci&oacute; autom&agrave;tica del fitxer no funcion&eacute;s, no et preocupis. Tot el que fem aqu&iacute; &eacute;s escriure les informacions de la base de dades en el fitxer de configuraci&oacute;. Tamb&eacute; pots simplement obrir <code>wp-config-sample.php</code> en un editor de textos, escriure les dades, i desar-ho sota el nom <code>wp-config.php</code>. </strong></p>
<p>Molt probablement has rebut aquestes informacions del teu prove&iuml;dor d'hostatjament. Si no tens les dades haur&agrave;s de contactar-lo abans de continuar. Si est&agrave;s a punt&hellip;</p>

<p class="step"><a href="setup-config.php?step=1" class="button">som-hi!</a></p>
<?php
	break;

	case 1:
		display_header();
	?>
<form method="post" action="setup-config.php?step=2">
	<p>Aqu&iacute; sota hauries d'introduir els detalls de connexi&oacute; amb la base de dades. Si no n'est&agrave;s segur(a), contacta amb el teu prove&iuml;dor d'hostatjament. </p>
	<table class="form-table">
		<tr>
			<th scope="row"><label for="dbname">Nom de la base de dades</label></th>
			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
			<td>El nom de la base de dades en la qual vols usar el WordPress. </td>
		</tr>
		<tr>
			<th scope="row"><label for="uname">Nom d'usuari</label></th>
			<td><input name="uname" id="uname" type="text" size="25" value="username" /></td>
			<td>El teu nom d'usuari a MySQL</td>
		</tr>
		<tr>
			<th scope="row"><label for="pwd">Paraula de pas</label></th>
			<td><input name="pwd" id="pwd" type="text" size="25" value="password" /></td>
			<td>...i la paraula de pas a MySQL.</td>
		</tr>
		<tr>
			<th scope="row"><label for="dbhost">Nom del host de la base de dades</label></th>
			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
			<td>99% de probabilitats que no ho haur&agrave;s de canviar.</td>
		</tr>
		<tr>
			<th scope="row"><label for="prefix">Prefix de les taules</label></th>
			<td><input name="prefix" id="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
			<td>Si vols tenir m&uacute;ltiples instal&middot;lacions de WordPress en una &uacute;nica base de dades, canvia-ho.</td>
		</tr>
	</table>
	<p class="step"><input name="submit" type="submit" value="Enviar" class="button" /></p>
</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.
	/**#@+
	 * @ignore
	 */
	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_wp_db();
	if ( !empty($wpdb->error) )
		wp_die($wpdb->error->get_error_message());

	$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("elnomdelabasededades", $dbname, $line));
				break;
			case "define('DB_USER'":
				fwrite($handle, str_replace("'elnomdusuari'", "'$uname'", $line));
				break;
			case "define('DB_PASSW":
				fwrite($handle, str_replace("'latevacontrasenya'", "'$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);

	display_header();
?>
<p>Molt b&eacute;! Ja has fet aquesta part de la instal&middot;laci&oacute;. Ara WordPress pot comunicar amb la teva base de dades. Si est&agrave;s a punt, passa a&hellip;</p>

<p class="step"><a href="install.php" class="button">Fer la instal&middot;laci&oacute;</a></p>
<?php
	break;
}
?>
</body>
</html>
