<?php
/**
 * Pobiera i tworzy plik wp-config.php.
 *
 * Uprawnienia do głównego katalogu WordPressa muszą pozwalać na
 * zapisywanie do plików, aby możliwe było utworzenie pliku
 * wp-config.php z użyciem tej strony.
 *
 * @package WordPress
 * @subpackage Administration
 */

/**
 * Instalujemy.
 *
 * @package WordPress
 */
define('WP_INSTALLING', true);

/**#@+
 * Poniższe trzy definicje są wymagane, abyśmy mogli użyć require_wp_db() do
 * wczytania klasy bazy danych, zważając na zawartość pliku wp-content/db.php.
 * @ignore
 */
define('ABSPATH', dirname(dirname(__FILE__)).'/');
define('WPINC', 'wp-includes');
define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
/**#@-*/

require_once(ABSPATH . WPINC . '/compat.php');
require_once(ABSPATH . WPINC . '/functions.php');
require_once(ABSPATH . WPINC . '/classes.php');

if (!file_exists(ABSPATH . 'wp-config-sample.php'))
	wp_die('Przepraszam, potrzebuję pliku wp-config-sample.php, aby się na nim wzorować. Proszę wysłać ten plik na serwer z paczki z plikami WordPressa.');

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

if ( !is_writable(ABSPATH))
	wp_die("Przepraszam, nie mogę zapisywać do katalogu, w którym umieszczone są pliki WordPressa. Musisz zmienić uprawnienia dostępu do tego katalogu lub utworzyć plik wp-config.php ręcznie.");

// Sprawdź, czy plik wp-config.php został utworzony
if (file_exists(ABSPATH . 'wp-config.php'))
	wp_die("<p>Plik 'wp-config.php' już istnieje. Jeżeli musisz zmienić jakikolwiek z elementów konfiguracji zawartych w tym pliku, prosimy o jego uprzednie usunięcie. Możesz spróbować <a href='install.php'>przeprowadzić instalację</a>.</p>");

// Sprawdź, czy plik wp-config.php znajduje się w katalogu nadrędnym katalogu głównego, ale nie jest częścią innej instalacji
if (file_exists(ABSPATH . '../wp-config.php') && ! file_exists(ABSPATH . '../wp-settings.php'))
	wp_die("<p>Plik 'wp-config.php' już istnieje w katalogu nadrzędnym katalogu Twojej instalacji WordPressa. Jezeli musisz zmienić jakikolwiek z elementów konfiguracji zawartych w tym pliku, prosimy o jego uprzednie usunięcie. You may try <a href='install.php'>przeprowadzić instalację</a>.</p>");

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

/**
 * Wyświetl nagłówek instalatora pliku wp-config.php.
 *
 * @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; Tworzenie pliku konfiguracji</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
}//koniec funkcji display_header();

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

<p>Witamy w WordPressie. Przed rozpoczęciem potrzebujemy pewnych informacji dotyczących Twojej bazy danych. Przed przejściem dalej, musisz zdobyć następujące informacje:</p>
<ol>
	<li>Nazwę bazy danych</li>
	<li>Nazwę użytkownika bazy danych</li>
	<li>Hasło do bazy danych</li>
	<li>Adres serwera bazy danych</li>
	<li>Prefiks tabel (jeżeli chcesz posiadać więcej niż jedną instalację WordPressa w tej samej bazie danych) </li>
</ol>
<p><strong>Jeśli z jakiegoś powodu automatyczne tworzenie pliku nie zadziała, nie martw się. Jedynym, czego ten skrypt dokonuje, jest zapis ustawień bazy danych do pliku konfiguracji. Możesz również po prostu otworzyć plik <code>wp-config-sample.php</code> w edytorze tekstowym, wypełnić go wymaganymi informacjami i zapisać go jako <code>wp-config.php</code>. </strong></p>
<p>Najprawdopodobniej dane te zostały Ci dostarczone przez administratora Twojego serwera WWW. Jeśli nie posiadasz tych informacji, zdobądź je, aby móc kontynuować. Jeżeli wszystko jest przygotowane&hellip;</p>

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

	case 1:
		display_header();
	?>
<form method="post" action="setup-config.php?step=2">
	<p>Wprowadź dane wymagane do połączenia się z bazą danych poniżej. Jeżeli nie masz co do nich pewności, skontaktuj się z administratorem swojego serwera. </p>
	<table class="form-table">
		<tr>
			<th scope="row"><label for="dbname">Nazwa bazy danych</label></th>
			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
			<td>Nazwa bazy danych, w której WP ma zostać zainstalowany. </td>
		</tr>
		<tr>
			<th scope="row"><label for="uname">Nazwa użytkownika</label></th>
			<td><input name="uname" id="uname" type="text" size="25" value="username" /></td>
			<td>Nazwa użytkownika bazy danych MySQL</td>
		</tr>
		<tr>
			<th scope="row"><label for="pwd">Hasło</label></th>
			<td><input name="pwd" id="pwd" type="text" size="25" value="password" /></td>
			<td>... i jego hasło.</td>
		</tr>
		<tr>
			<th scope="row"><label for="dbhost">Adres serwera bazy</label></th>
			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
			<td>Na 99% zmiana tej wartości nie będzie potrzebna.</td>
		</tr>
		<tr>
			<th scope="row"><label for="prefix">Prefiks tabel</label></th>
			<td><input name="prefix" id="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
			<td>Jeżeli chcesz posiadać więcej niż jedną instalację WordPressa w tej samej bazie danych, zmień tę wartość.</td>
		</tr>
	</table>
	<p class="step"><input name="submit" type="submit" value="Zatwierdź" 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_';

	// Przetestuj połączenie z bazą danych.
	/**#@+
	 * @ignore
	 */
	define('DB_NAME', $dbname);
	define('DB_USER', $uname);
	define('DB_PASSWORD', $passwrd);
	define('DB_HOST', $dbhost);
	/**#@-*/

	// W tym miejscu wystąpi błąd, jeśli wprowadzone dane są nieprawidłowe.
	require_wp_db();
	if ( !empty($wpdb->error) )
		wp_die($wpdb->error->get_error_message());

	$handle = fopen(ABSPATH . 'wp-config.php', 'w');

	foreach ($configFile as $line_num => $line) {
		switch (substr($line,0,16)) {
			case "define('DB_NAME'":
				fwrite($handle, str_replace("nazwatwojejbazydanych", $dbname, $line));
				break;
			case "define('DB_USER'":
				fwrite($handle, str_replace("'nazwauzytkownika'", "'$uname'", $line));
				break;
			case "define('DB_PASSW":
				fwrite($handle, str_replace("'tutajtwojehaslo'", "'$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(ABSPATH . 'wp-config.php', 0666);

	display_header();
?>
<p>W porządku, złotko! Udało Ci się przebrnąć przez tę część instalacji. WordPress może teraz połączyć się z Twoją bazą danych. Jezeli wszystko jest gotowe, czas na&hellip;</p>

<p class="step"><a href="install.php" class="button">Uruchomienie instalacji</a></p>
<?php
	break;
}
?>
</body>
</html>
