web/wp-admin/setup-config.php
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
equal deleted inserted replaced
-1:000000000000 109:03b0d1493584
       
     1 <?php
       
     2 /**
       
     3  * Retrieves and creates the wp-config.php file.
       
     4  *
       
     5  * The permissions for the base directory must allow for writing files in order
       
     6  * for the wp-config.php to be created using this page.
       
     7  *
       
     8  * @package WordPress
       
     9  * @subpackage Administration
       
    10  */
       
    11 
       
    12 /**
       
    13  * We are installing.
       
    14  *
       
    15  * @package WordPress
       
    16  */
       
    17 define('WP_INSTALLING', true);
       
    18 
       
    19 /**#@+
       
    20  * These three defines are required to allow us to use require_wp_db() to load
       
    21  * the database class while being wp-content/db.php aware.
       
    22  * @ignore
       
    23  */
       
    24 define('ABSPATH', dirname(dirname(__FILE__)).'/');
       
    25 define('WPINC', 'wp-includes');
       
    26 define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
       
    27 /**#@-*/
       
    28 
       
    29 require_once(ABSPATH . WPINC . '/compat.php');
       
    30 require_once(ABSPATH . WPINC . '/functions.php');
       
    31 require_once(ABSPATH . WPINC . '/classes.php');
       
    32 
       
    33 if (!file_exists(ABSPATH . 'wp-config-sample.php'))
       
    34 	wp_die('Je suis d&eacute;sol&eacute;, mais il me faut partir d\'un fichier <code>wp-config-sample.php</code>. Veuillez remettre en ligne ce fichier depuis votre archive WordPress.');
       
    35 
       
    36 $configFile = file(ABSPATH . 'wp-config-sample.php');
       
    37 
       
    38 if ( !is_writable(ABSPATH))
       
    39 	wp_die("Je suis d&eacute;sol&eacute;, mais je ne peux pas &eacute;crire dans le r&eacute;pertoire. Il vous faut soit modifier les permissions de votre r&eacute;pertoire WordPress, soit cr&eacute;er votre fichier <code>wp-config.php</code> manuellement.");
       
    40 
       
    41 // Check if wp-config.php has been created
       
    42 if (file_exists(ABSPATH . 'wp-config.php'))
       
    43 	wp_die("<p>Le fichier 'wp-config.php' existe d&eacute;j&agrave;. Si vous devez mettre &agrave; z&eacute;ro les &eacute;l&eacute;ments de configuration de ce fichier, veuillez l'effacer avant de continuer. Vous pouvez <a href='install.php'>lancer l'installateur</a> maintenant.</p>");
       
    44 
       
    45 // Check if wp-config.php exists above the root directory but is not part of another install
       
    46 if (file_exists(ABSPATH . '../wp-config.php') && ! file_exists(ABSPATH . '../wp-settings.php'))
       
    47 	wp_die("<p>Le fichier 'wp-config.php' existe déjà dans un répertoire supérieur à votre installation de WordPress. Si vous avez besoin de réinitialiser un élément de configuration de ce fichier, merci de l'effacer d'abord. Vous maintenant procéder <a href='install.php'>l'installation</a>.</p>");
       
    48 
       
    49 if (isset($_GET['step']))
       
    50 	$step = $_GET['step'];
       
    51 else
       
    52 	$step = 0;
       
    53 
       
    54 /**
       
    55  * Display setup wp-config.php file header.
       
    56  *
       
    57  * @ignore
       
    58  * @since 2.3.0
       
    59  * @package WordPress
       
    60  * @subpackage Installer_WP_Config
       
    61  */
       
    62 function display_header() {
       
    63 	header( 'Content-Type: text/html; charset=utf-8' );
       
    64 ?>
       
    65 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       
    66 <html xmlns="http://www.w3.org/1999/xhtml">
       
    67 <head>
       
    68 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       
    69 <title>WordPress &rsaquo; Setup Configuration File</title>
       
    70 <link rel="stylesheet" href="css/install.css" type="text/css" />
       
    71 
       
    72 </head>
       
    73 <body>
       
    74 <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
       
    75 <?php
       
    76 }//end function display_header();
       
    77 
       
    78 switch($step) {
       
    79 	case 0:
       
    80 		display_header();
       
    81 ?>
       
    82 
       
    83 <p>Bienvenue dans WordPress. Avant de nous lancer, nous avons besoin de quelques informations &agrave; propos de la base de donn&eacute;es. Il vous faudra conna&icirc;tre les points suivants pour aller plus loin.</p>
       
    84 <ol>
       
    85 	<li>Le nom de la base de donn&eacute;es</li>
       
    86 	<li>Votre identifiant de base de donn&eacute;es</li>
       
    87 	<li>Votre mot de passe de base de donn&eacute;es</li>
       
    88 	<li>L'h&ocirc;te de la base de donn&eacute;es</li>
       
    89 	<li>Le pr&eacute;fixe de table (si vous voulez installer plus d'un blog WordPress sur la m&ecirc;me base de donn&eacute;es)</li>
       
    90 </ol>
       
    91 <p><strong>Si pour une raison quelconque la cr&eacute;ation automatique du fichier ne fonctionnait pas, ne paniquez pas : elle ne fait que remplir les informations de la base de donn&eacute;es dans un fichier de configuration. Vous pouvez donc simplement ouvrir <code>wp-config-sample.php</code> dans un &eacute;diteur de texte, y entrer vos informations, et enregistrer le fichier sous le nouveau nom <code>wp-config.php</code>.</strong></p>
       
    92 <p>Normalement, ces informations vous ont &eacute;t&eacute; fournies par votre h&eacute;bergeur. Si vous ne les avez pas, il vous faudra le contacter pour continuer. Si vous &ecirc;tes pr&ecirc;t&hellip;</p>
       
    93 
       
    94 <p class="step"><a href="setup-config.php?step=1" class="button">Allons-y !</a></p>
       
    95 <?php
       
    96 	break;
       
    97 
       
    98 	case 1:
       
    99 		display_header();
       
   100 	?>
       
   101 <form method="post" action="setup-config.php?step=2">
       
   102 	<p>Entrez ci-dessous les d&eacute;tails de connexion &agrave; votre base de donn&eacute;es. Si vous ne les connaissez pas avec certitude, contactez votre h&eacute;bergeur. </p>
       
   103 	<table class="form-table">
       
   104 		<tr>
       
   105 			<th scope="row"><label for="dbname">Nom de la base de donn&eacute;es</label></th>
       
   106 			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
       
   107 			<td>Le nom de la base dans laquelle vous voulez installer WP. </td>
       
   108 		</tr>
       
   109 		<tr>
       
   110 			<th scope="row"><label for="uname">Identifiant</label></th>
       
   111 			<td><input name="uname" id="uname" type="text" size="25" value="username" /></td>
       
   112 			<td>Votre identifiant MySQL.</td>
       
   113 		</tr>
       
   114 		<tr>
       
   115 			<th scope="row"><label for="pwd">Mot de passe</label></th>
       
   116 			<td><input name="pwd" id="pwd" type="text" size="25" value="password" /></td>
       
   117 			<td>...et votre mot de passe MySQL.</td>
       
   118 		</tr>
       
   119 		<tr>
       
   120 			<th scope="row"><label for="dbhost">H&ocirc;te de la base de donn&eacute;es</label></th>
       
   121 			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
       
   122 			<td>Dans 99% des cas, vous n'aurez pas &agrave; modifier cette valeur.</td>
       
   123 		</tr>
       
   124 		<tr>
       
   125 			<th scope="row"><label for="prefix">Pr&eacute;fixe de table</label></th>
       
   126 			<td><input name="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
       
   127 			<td>Si vous voulez installer plusieurs blogs WordPress dans une m&ecirc;me base de donn&eacute;es, modifiez ce champ.</td>
       
   128 		</tr>
       
   129 	</table>
       
   130 	<p class="step"><input name="submit" type="submit" value="Valider" class="button" /></p>
       
   131 </form>
       
   132 <?php
       
   133 	break;
       
   134 
       
   135 	case 2:
       
   136 	$dbname  = trim($_POST['dbname']);
       
   137 	$uname   = trim($_POST['uname']);
       
   138 	$passwrd = trim($_POST['pwd']);
       
   139 	$dbhost  = trim($_POST['dbhost']);
       
   140 	$prefix  = trim($_POST['prefix']);
       
   141 	if (empty($prefix)) $prefix = 'wp_';
       
   142 
       
   143 	// Test the db connection.
       
   144 	/**#@+
       
   145 	 * @ignore
       
   146 	 */
       
   147 	define('DB_NAME', $dbname);
       
   148 	define('DB_USER', $uname);
       
   149 	define('DB_PASSWORD', $passwrd);
       
   150 	define('DB_HOST', $dbhost);
       
   151 	/**#@-*/
       
   152 
       
   153 	// We'll fail here if the values are no good.
       
   154 	require_wp_db();
       
   155 	if ( !empty($wpdb->error) )
       
   156 		wp_die($wpdb->error->get_error_message());
       
   157 
       
   158 	$handle = fopen(ABSPATH . 'wp-config.php', 'w');
       
   159 
       
   160 	foreach ($configFile as $line_num => $line) {
       
   161 		switch (substr($line,0,16)) {
       
   162 			case "define('DB_NAME'":
       
   163 				fwrite($handle, str_replace("votre_nom_de_bdd", $dbname, $line));
       
   164 				break;
       
   165 			case "define('DB_USER'":
       
   166 				fwrite($handle, str_replace("'votre_utilisateur_de_bdd'", "'$uname'", $line));
       
   167 				break;
       
   168 			case "define('DB_PASSW":
       
   169 				fwrite($handle, str_replace("'votre_mdp_de_bdd'", "'$passwrd'", $line));
       
   170 				break;
       
   171 			case "define('DB_HOST'":
       
   172 				fwrite($handle, str_replace("localhost", $dbhost, $line));
       
   173 				break;
       
   174 			case '$table_prefix  =':
       
   175 				fwrite($handle, str_replace('wp_', $prefix, $line));
       
   176 				break;
       
   177 			default:
       
   178 				fwrite($handle, $line);
       
   179 		}
       
   180 	}
       
   181 	fclose($handle);
       
   182 	chmod(ABSPATH . 'wp-config.php', 0666);
       
   183 
       
   184 	display_header();
       
   185 ?>
       
   186 <p>Tr&egrave;s bien, mon grand ! Nous sommes arriv&eacute;s au terme de cette partie de l'installation. WordPress peut maintenant communiquer avec votre base de donn&eacute;es. Si vous &ecirc;tes pr&ecirc;t, il est grand temps de&hellip;</p>
       
   187 
       
   188 <p class="step"><a href="install.php" class="button">Lancer l'installateur&nbsp;!</a></p>
       
   189 <?php
       
   190 	break;
       
   191 }
       
   192 ?>
       
   193 </body>
       
   194 </html>