<?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.
 *
 * @internal This file must be parsable by PHP4.
 *
 * @package WordPress
 * @subpackage Administration
 */

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

/**
 * We are blissfully unaware of anything.
 */
define('WP_SETUP_CONFIG', true);

/**
 * Disable error reporting
 *
 * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
 */
error_reporting(0);

/**#@+
 * 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');
define('WP_DEBUG', false);
/**#@-*/

require_once(ABSPATH . WPINC . '/load.php');
require_once(ABSPATH . WPINC . '/version.php');
wp_check_php_mysql_versions();

require_once(ABSPATH . WPINC . '/compat.php');
require_once(ABSPATH . WPINC . '/functions.php');
require_once(ABSPATH . WPINC . '/class-wp-error.php');

if (!file_exists(ABSPATH . 'wp-config-sample.php'))
	wp_die('كەچۈرۈڭ، ماڭا wp-config-sample.php ھۆججىتى لازىم. بۇ ھۆججەتنى ۋوردپرەس قاچىلاش مۇندەرىجىڭىزدىن قايتا يۈكلەپ بېرىڭ');

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

// Check if wp-config.php has been created
if (file_exists(ABSPATH . 'wp-config.php'))
	wp_die("<p>'wp-config.php' ھۆججىتى بار ئىكەن. ئەگەر بۇ ھۆججەتتىكى بىرەر سەپلىمىنى قايتا بەلگىلىمەكچى بولسىڭىز، ئالدى بىلەن ئۇنى ئۆچۈرۈپ تاشلاڭ. <a href='install.php'>ھازىر قاچىلاپ</a> كۆرۈپ باقسىڭىز بولىدۇ.</p>");

// Check if wp-config.php exists above the root directory but is not part of another install
if (file_exists(ABSPATH . '../wp-config.php') && ! file_exists(ABSPATH . '../wp-settings.php'))
	wp_die("<p>'wp-config.php' ھۆججىتى ۋوردپرەس قاچىلاش مۇندەرىجىسىنىڭ بىر دەرىجە يۇقۇرى مۇندەرىجىسىدە بار ئىكەن. . ئەگەر بۇ ھۆججەتتىكى بىرەر سەپلىمىنى قايتا بەلگىلىمەكچى بولسىڭىز، ئالدى بىلەن ئۇنى ئۆچۈرۈپ تاشلاڭ. <a href='install.php'>ھازىر قاچىلاپ</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>ۋوردپرەس &rsaquo; سەپلىمە ھۆججىتى قۇرۇش</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>ۋوردپرەسكە خۇش كەپسىز. باشلاشتىن بۇرۇن بىز ساندانغا مۇناسىۋەتلىك بىر قىسىم ئۇچۇرلارغا ئېھتىياجلىق بولىمىز. داۋاملاشتۇرۇشتىن ئاۋال تۆۋەندىكى ئۇچۇرلارنى بىلىۋېلىڭ.</p>
<ol>
	<li>ساندان نامى</li>
	<li>ساندان قوللانچى نامى</li>
	<li>ساندان پارولى</li>
	<li>ساندان مۇلازىمېتىرى</li>
	<li>جەدۋەل ئالدى قوشۇلغۇچىسى (بىر سانداندا بىردىن ئارتۇق ۋوردپرەس ئىشلەتمەكچى بولسىڭىز)</li>
</ol>
<p><strong>بىرەر سەۋەب تۈپەيلىدىن ئاپتوماتىك ھۆججەت قۇرۇشقا مۇمكىن بولمىغان ئەھۋالدىمۇ ئەندىشە قىلماڭ. بۇ يەردە قىلىنماقچى بولغىنى پەقەت سەپلىمە ھۆججىتىگە ساندان ئۇچۇرلىرىنى يېزىشتىنلا ئىبارەت. سىز تېكىست  تەھرىرلىگۈچتە  <code>wp-config-sample.php</code> ھۆججىتىنى ئېچىپ، ئۇچۇرلىرىڭىزنى تولدۇرۇپ بولغاندىن كېيىن ئۇنى <code>wp-config.php</code> دېگەن نامدا ساقلىسىڭىزمۇ بولىدۇ. </strong></p>
<p>ئادەتتىكى ئەھۋالدا، بۇ ئۇچۇرلار سىزنىڭ تور مۇلازىمەتچىڭىز تەرىپىدىن تەمىنلەنگەن بولىدۇ. ئەگەر بۇ ئۇچۇرلارغا تېخى ئېرىشمىگەن بولسىڭىز، ئۇنداقتا داۋاملاشتۇرۇشتىن بۇرۇن ئۇلار بىلەن ئالاقىلىشىشىڭىزغا توغرا كېلىدۇ. تەييار بولغان بولسىڭىز&hellip;</p>

<p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button">ئۇنداقتا باشلايلى!</a></p>
<?php
	break;

	case 1:
		display_header();
	?>
<form method="post" action="setup-config.php?step=2">
	<p>تۆۋەندىكى ساندان ئۇلىنىشلىرىنى تەپسىلىي كىرگۈزۈشىڭىز كېرەك. بۇلارنى ئېنىق جەزملەشتۈرەلمىسىڭىز تور مۇلازىمەتچىڭىز بىلەن ئالاقىلىشىڭ. </p>
	<table class="form-table">
		<tr>
			<th scope="row"><label for="dbname">ساندان نامى</label></th>
			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
			<td>ۋوردپرەس ئۈچۈن ئىشلەتمەكچى بولغان ساندىنىڭىزنىڭ نامى. </td>
		</tr>
		<tr>
			<th scope="row"><label for="uname">قوللانچى نامى</label></th>
			<td><input name="uname" id="uname" type="text" size="25" value="username" /></td>
			<td>سىزنىڭ MySQL قوللانچى نامىڭىز</td>
		</tr>
		<tr>
			<th scope="row"><label for="pwd">پارول</label></th>
			<td><input name="pwd" id="pwd" type="text" size="25" value="password" /></td>
			<td>...ۋە MySQL پارولىڭىز.</td>
		</tr>
		<tr>
			<th scope="row"><label for="dbhost">ساندان مۇلازىمېتىرى</label></th>
			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
			<td>ناۋادا <code>localhost</code> ئىشلىمىسە، بۇ ئۇچۇرنى تور مۇلازىمېتىرىڭىزدىن سۈرۈشتە قىلىڭ.</td>
		</tr>
		<tr>
			<th scope="row"><label for="prefix">ساندان جەدۋىلى ئالدى قوشۇمچىسى</label></th>
			<td><input name="prefix" id="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
			<td>بىرقانچە ۋوردپرەسنى بىرلا ساندانغا قاچىلاپ ئىشلەتمەكچى بولسىڭىز بۇ يەرنى ئۆزگەرتىڭ.</td>
		</tr>
	</table>
	<?php if ( isset( $_GET['noapi'] ) ) { ?><input name="noapi" type="hidden" value="true" /><?php } ?>
	<p class="step"><input name="submit" type="submit" value="يوللاش" 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_';

	// Validate $prefix: it can only contain letters, numbers and underscores
	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
		wp_die( /*WP_I18N_BAD_PREFIX*/'<strong>خاتالىق</strong>: "ساندان جەدۋىلى ئالدى قوشۇمچىسى" ئۈچۈن پەقەت سان، ھەرپ ۋە ئاستى سىزىقچىنىلا ئىشلىتىشكە بولىدۇ.'/*/WP_I18N_BAD_PREFIX*/ );

	// 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 ) ) {
		$back = '<p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button">قايتا سىناڭ</a></p>';
		wp_die( $wpdb->error->get_error_message() . $back );
	}

	// Fetch or generate keys and salts.
	$no_api = isset( $_POST['noapi'] );
	require_once( ABSPATH . WPINC . '/plugin.php' );
	require_once( ABSPATH . WPINC . '/l10n.php' );
	require_once( ABSPATH . WPINC . '/pomo/translations.php' );
	if ( ! $no_api ) {
		require_once( ABSPATH . WPINC . '/class-http.php' );
		require_once( ABSPATH . WPINC . '/http.php' );
		wp_fix_server_vars();
		/**#@+
		 * @ignore
		 */
		function get_bloginfo() {
			return ( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . str_replace( $_SERVER['PHP_SELF'], '/wp-admin/setup-config.php', '' ) );
		}
		/**#@-*/
		$secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' );
	}

	if ( $no_api || is_wp_error( $secret_keys ) ) {
		$secret_keys = array();
		require_once( ABSPATH . WPINC . '/pluggable.php' );
		for ( $i = 0; $i < 8; $i++ ) {
			$secret_keys[] = wp_generate_password( 64, true, true );
		}
	} else {
		$secret_keys = explode( "\n", wp_remote_retrieve_body( $secret_keys ) );
		foreach ( $secret_keys as $k => $v ) {
			$secret_keys[$k] = substr( $v, 28, 64 );
		}
	}
	$key = 0;

	foreach ($configFile as $line_num => $line) {
		switch (substr($line,0,16)) {
			case "define('DB_NAME'":
				$configFile[$line_num] = str_replace("database_name_here", $dbname, $line);
				break;
			case "define('DB_USER'":
				$configFile[$line_num] = str_replace("'username_here'", "'$uname'", $line);
				break;
			case "define('DB_PASSW":
				$configFile[$line_num] = str_replace("'password_here'", "'$passwrd'", $line);
				break;
			case "define('DB_HOST'":
				$configFile[$line_num] = str_replace("localhost", $dbhost, $line);
				break;
			case '$table_prefix  =':
				$configFile[$line_num] = str_replace('wp_', $prefix, $line);
				break;
			case "define('AUTH_KEY":
			case "define('SECURE_A":
			case "define('LOGGED_I":
			case "define('NONCE_KE":
			case "define('AUTH_SAL":
			case "define('SECURE_A":
			case "define('LOGGED_I":
			case "define('NONCE_SA":
				$configFile[$line_num] = str_replace('put your unique phrase here', $secret_keys[$key++], $line );
				break;
		}
	}
	if ( ! is_writable(ABSPATH) ) :
		display_header();
?>
<p>كەچۈرۈڭ، <code>wp-config.php</code> ھۆججىتىگە يازالمىدىم.</p>
<p>سىز <code>wp-config.php</code> ھۆججىتىنى قولدا قۇرۇپ تۆۋەندىكى تېكىستنى چاپلاپ ئىشلەتسىڭىزمۇ بولىدۇ.</p>
<textarea cols="98" rows="15" class="code"><?php
		foreach( $configFile as $line ) {
			echo htmlentities($line, ENT_COMPAT, 'UTF-8');
		}
?></textarea>
<p>ئۇنى تۈگەتكەندىن كېيىن، «قاچىلاشنى باشلايلى» نى چېكىڭ.</p>
<p class="step"><a href="install.php" class="button">قاچىلاشنى باشلايلى</a></p>
<?php
	else :
		$handle = fopen(ABSPATH . 'wp-config.php', 'w');
		foreach( $configFile as $line ) {
			fwrite($handle, $line);
		}
		fclose($handle);
		chmod(ABSPATH . 'wp-config.php', 0666);
		display_header();
?>
<p>ھەممىسى ئوڭۇشلۇق بولدى! سىز قاچىلاشنىڭ بۇ قىسمىنى تۈگەتتىڭىز. ئەمدى ۋوردپرەس سىزنىڭ ساندانىڭىز بىلەن ئالاقىلىشىدۇ. تەييار بولغان بولسىڭىز، ئۇنداقتا&hellip;</p>

<p class="step"><a href="install.php" class="button">قاچىلاشنى باشلايلى</a></p>
<?php
	endif;
	break;
}
?>
</body>
</html>
