wp/wp-admin/setup-config.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * Retrieves and creates the wp-config.php file.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * The permissions for the base directory must allow for writing files in order
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * for the wp-config.php to be created using this page.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * @internal This file must be parsable by PHP4.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 * @package WordPress
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 * @subpackage Administration
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * We are installing.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * @package WordPress
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
define('WP_INSTALLING', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * We are blissfully unaware of anything.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
define('WP_SETUP_CONFIG', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
 * Disable error reporting
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
 * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
error_reporting(0);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
/**#@+
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
 * These three defines are required to allow us to use require_wp_db() to load
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
 * the database class while being wp-content/db.php aware.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
 * @ignore
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
define('ABSPATH', dirname(dirname(__FILE__)).'/');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
define('WPINC', 'wp-includes');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
define('WP_DEBUG', false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
/**#@-*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
require(ABSPATH . WPINC . '/load.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
require(ABSPATH . WPINC . '/version.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
// Check for the required PHP version and for the MySQL extension or a database drop-in.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
wp_check_php_mysql_versions();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
require_once(ABSPATH . WPINC . '/functions.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
// Also loads plugin.php, l10n.php, pomo/mo.php (all required by setup-config.php)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
wp_load_translations_early();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
// Turn register_globals off.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
wp_unregister_GLOBALS();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
// Standardize $_SERVER variables across setups.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
wp_fix_server_vars();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
require_once(ABSPATH . WPINC . '/compat.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
require_once(ABSPATH . WPINC . '/class-wp-error.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
require_once(ABSPATH . WPINC . '/formatting.php');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
// Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
wp_magic_quotes();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
// Support wp-config-sample.php one level up, for the develop repo.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
if ( file_exists( ABSPATH . 'wp-config-sample.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
	$config_file = file( ABSPATH . 'wp-config-sample.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
elseif ( file_exists( dirname( ABSPATH ) . '/wp-config-sample.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
	$config_file = file( dirname( ABSPATH ) . '/wp-config-sample.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	wp_die( __( 'Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
// Check if wp-config.php has been created
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
if ( file_exists( ABSPATH . 'wp-config.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
	wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='%s'>installing now</a>." ), 'install.php' ) . '</p>' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
// Check if wp-config.php exists above the root directory but is not part of another install
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
if ( file_exists(ABSPATH . '../wp-config.php' ) && ! file_exists( ABSPATH . '../wp-settings.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
	wp_die( '<p>' . sprintf( __( "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>."), 'install.php' ) . '</p>' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
$step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
 * Display setup wp-config.php file header.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
 * @ignore
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
 * @since 2.3.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
 * @package WordPress
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
 * @subpackage Installer_WP_Config
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
function setup_config_display_header() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	global $wp_version;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	header( 'Content-Type: text/html; charset=utf-8' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
<!DOCTYPE html>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
<html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
<head>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
<title><?php _e( 'WordPress &rsaquo; Setup Configuration File' ); ?></title>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
<link rel="stylesheet" href="css/install.css?ver=<?php echo preg_replace( '/[^0-9a-z\.-]/i', '', $wp_version ); ?>" type="text/css" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
<link rel="stylesheet" href="../wp-includes/css/buttons.css?ver=<?php echo preg_replace( '/[^0-9a-z\.-]/i', '', $wp_version ); ?>" type="text/css" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
</head>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
<body class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
<h1 id="logo"><a href="<?php esc_attr_e( 'http://wordpress.org/' ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
} // end function setup_config_display_header();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
switch($step) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
	case 0:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		setup_config_display_header();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
<p><?php _e( 'Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.' ) ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
<ol>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
	<li><?php _e( 'Database name' ); ?></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
	<li><?php _e( 'Database username' ); ?></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
	<li><?php _e( 'Database password' ); ?></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
	<li><?php _e( 'Database host' ); ?></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
	<li><?php _e( 'Table prefix (if you want to run more than one WordPress in a single database)' ); ?></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
</ol>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
<p><strong><?php _e( "If for any reason this automatic file creation doesn&#8217;t work, don&#8217;t worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>." ); ?></strong></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
<p><?php _e( "In all likelihood, these items were supplied to you by your Web Host. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;" ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
<p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button button-large"><?php _e( 'Let&#8217;s go!' ); ?></a></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
	break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	case 1:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
		setup_config_display_header();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
<form method="post" action="setup-config.php?step=2">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
	<p><?php _e( "Below you should enter your database connection details. If you&#8217;re not sure about these, contact your host." ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
	<table class="form-table">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
		<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
			<th scope="row"><label for="dbname"><?php _e( 'Database Name' ); ?></label></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
			<td><?php _e( 'The name of the database you want to run WP in.' ); ?></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
		</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
		<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
			<th scope="row"><label for="uname"><?php _e( 'User Name' ); ?></label></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
			<td><input name="uname" id="uname" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'username', 'example username' ), ENT_QUOTES ); ?>" /></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
			<td><?php _e( 'Your MySQL username' ); ?></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
		</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
			<th scope="row"><label for="pwd"><?php _e( 'Password' ); ?></label></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
			<td><input name="pwd" id="pwd" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'password', 'example password' ), ENT_QUOTES ); ?>" /></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
			<td><?php _e( '&hellip;and your MySQL password.' ); ?></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
		</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
		<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
			<th scope="row"><label for="dbhost"><?php _e( 'Database Host' ); ?></label></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
			<td><?php _e( 'You should be able to get this info from your web host, if <code>localhost</code> does not work.' ); ?></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
		</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		<tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
			<th scope="row"><label for="prefix"><?php _e( 'Table Prefix' ); ?></label></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
			<td><input name="prefix" id="prefix" type="text" value="wp_" size="25" /></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
			<td><?php _e( 'If you want to run multiple WordPress installations in a single database, change this.' ); ?></td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
		</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
	</table>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
	<?php if ( isset( $_GET['noapi'] ) ) { ?><input name="noapi" type="hidden" value="1" /><?php } ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
	<p class="step"><input name="submit" type="submit" value="<?php echo htmlspecialchars( __( 'Submit' ), ENT_QUOTES ); ?>" class="button button-large" /></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
</form>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
	break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
	case 2:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
	foreach ( array( 'dbname', 'uname', 'pwd', 'dbhost', 'prefix' ) as $key )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
		$$key = trim( wp_unslash( $_POST[ $key ] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
	$tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try again' ) . '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
	if ( empty( $prefix ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" must not be empty.' . $tryagain_link ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
	// Validate $prefix: it can only contain letters, numbers and underscores.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.' . $tryagain_link ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
	// Test the db connection.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
	/**#@+
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
	 * @ignore
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
	define('DB_NAME', $dbname);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
	define('DB_USER', $uname);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
	define('DB_PASSWORD', $pwd);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
	define('DB_HOST', $dbhost);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
	/**#@-*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
	// We'll fail here if the values are no good.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
	require_wp_db();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
	if ( ! empty( $wpdb->error ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		wp_die( $wpdb->error->get_error_message() . $tryagain_link );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
	// Fetch or generate keys and salts.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
	$no_api = isset( $_POST['noapi'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
	if ( ! $no_api ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
		require_once( ABSPATH . WPINC . '/class-http.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
		require_once( ABSPATH . WPINC . '/http.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
		/**#@+
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
		 * @ignore
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
		 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
		function get_bloginfo() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
			return wp_guess_url();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
		/**#@-*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
		$secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
	if ( $no_api || is_wp_error( $secret_keys ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
		$secret_keys = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
		require_once( ABSPATH . WPINC . '/pluggable.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
		for ( $i = 0; $i < 8; $i++ ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
			$secret_keys[] = wp_generate_password( 64, true, true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
	} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
		$secret_keys = explode( "\n", wp_remote_retrieve_body( $secret_keys ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
		foreach ( $secret_keys as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			$secret_keys[$k] = substr( $v, 28, 64 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
	$key = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
	// Not a PHP5-style by-reference foreach, as this file must be parseable by PHP4.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
	foreach ( $config_file as $line_num => $line ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
		if ( '$table_prefix  =' == substr( $line, 0, 16 ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
			$config_file[ $line_num ] = '$table_prefix  = \'' . addcslashes( $prefix, "\\'" ) . "';\r\n";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
			continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
		if ( ! preg_match( '/^define\(\'([A-Z_]+)\',([ ]+)/', $line, $match ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
			continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
		$constant = $match[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
		$padding  = $match[2];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
		switch ( $constant ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
			case 'DB_NAME'     :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
			case 'DB_USER'     :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
			case 'DB_PASSWORD' :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
			case 'DB_HOST'     :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
				$config_file[ $line_num ] = "define('" . $constant . "'," . $padding . "'" . addcslashes( constant( $constant ), "\\'" ) . "');\r\n";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
			case 'AUTH_KEY'         :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
			case 'SECURE_AUTH_KEY'  :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
			case 'LOGGED_IN_KEY'    :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
			case 'NONCE_KEY'        :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
			case 'AUTH_SALT'        :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
			case 'SECURE_AUTH_SALT' :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
			case 'LOGGED_IN_SALT'   :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
			case 'NONCE_SALT'       :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
				$config_file[ $line_num ] = "define('" . $constant . "'," . $padding . "'" . $secret_keys[$key++] . "');\r\n";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
	unset( $line );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
	if ( ! is_writable(ABSPATH) ) :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
		setup_config_display_header();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
<p><?php _e( "Sorry, but I can&#8217;t write the <code>wp-config.php</code> file." ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
<p><?php _e( 'You can create the <code>wp-config.php</code> manually and paste the following text into it.' ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
<textarea id="wp-config" cols="98" rows="15" class="code" readonly="readonly"><?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
		foreach( $config_file as $line ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
			echo htmlentities($line, ENT_COMPAT, 'UTF-8');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
?></textarea>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
<p><?php _e( 'After you&#8217;ve done that, click &#8220;Run the install.&#8221;' ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
<p class="step"><a href="install.php" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
<script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
var el=document.getElementById('wp-config');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
el.focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
el.select();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
})();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
	else :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
		// If this file doesn't exist, then we are using the wp-config-sample.php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
		// file one level up, which is for the develop repo.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
		if ( file_exists( ABSPATH . 'wp-config-sample.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
			$path_to_wp_config = ABSPATH . 'wp-config.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
			$path_to_wp_config = dirname( ABSPATH ) . '/wp-config.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
		$handle = fopen( $path_to_wp_config, 'w' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
		foreach( $config_file as $line ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
			fwrite( $handle, $line );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
		fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
		chmod( $path_to_wp_config, 0666 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
		setup_config_display_header();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
<p><?php _e( "All right, sparky! You&#8217;ve made it through this part of the installation. WordPress can now communicate with your database. If you are ready, time now to&hellip;" ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
<p class="step"><a href="install.php" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
	endif;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
	break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
</body>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
</html>