]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/install.php
Wordpress 2.9
[autoinstalls/wordpress.git] / wp-admin / install.php
index 32ef35dc4fd362225d97a8898938a62bcdf81003..8531a4b3f30d878acec4ddb9f43d285540020c65 100644 (file)
@@ -1,14 +1,38 @@
 <?php
 <?php
+/**
+ * WordPress Installer
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+/**
+ * We are installing WordPress.
+ *
+ * @since unknown
+ * @var bool
+ */
 define('WP_INSTALLING', true);
 
 define('WP_INSTALLING', true);
 
-require_once('../wp-load.php');
-require_once('./includes/upgrade.php');
+/** Load WordPress Bootstrap */
+require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
+
+/** Load WordPress Administration Upgrade API */
+require_once(dirname(__FILE__) . '/includes/upgrade.php');
 
 if (isset($_GET['step']))
        $step = $_GET['step'];
 else
        $step = 0;
 
 if (isset($_GET['step']))
        $step = $_GET['step'];
 else
        $step = 0;
-function display_header(){
+
+/**
+ * Display install header.
+ *
+ * @since unknown
+ * @package WordPress
+ * @subpackage Installer
+ */
+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">
 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">
@@ -24,40 +48,56 @@ header( 'Content-Type: text/html; charset=utf-8' );
 <?php
 }//end function display_header();
 
 <?php
 }//end function display_header();
 
-// Let's check to make sure WP isn't already installed.
-if ( is_blog_installed() ) {display_header(); die('<h1>'.__('Already Installed').'</h1><p>'.__('You appear to have already installed WordPress. To reinstall please clear your old database tables first.').'</p></body></html>');}
+function display_setup_form( $error = null ) {
+       // Ensure that Blogs appear in search engines by default
+       $blog_public = 1;
+       if ( isset($_POST) && !empty($_POST) ) {
+               $blog_public = isset($_POST['blog_public']);
+       }
 
 
-switch($step) {
-       case 0:
-       case 1: // in case people are directly linking to this
-         display_header();
+       if ( ! is_null( $error ) ) {
 ?>
 ?>
-<h1><?php _e('Welcome'); ?></h1>
-<p><?php printf(__('Welcome to the famous five minute WordPress installation process! You may want to browse the <a href="%s">ReadMe documentation</a> at your leisure.  Otherwise, just fill in the information below and you\'ll be on your way to using the most extendable and powerful personal publishing platform in the world.'), '../readme.html'); ?></p>
-<!--<h2 class="step"><a href="install.php?step=1"><?php _e('First Step'); ?></a></h2>-->
-
-<h1><?php _e('Information needed'); ?></h1>
-<p><?php _e("Please provide the following information.  Don't worry, you can always change these settings later."); ?></p>
-
+<p><?php printf( __('<strong>ERROR</strong>: %s'), $error); ?></p>
+<?php } ?>
 <form id="setup" method="post" action="install.php?step=2">
        <table class="form-table">
                <tr>
                        <th scope="row"><label for="weblog_title"><?php _e('Blog Title'); ?></label></th>
 <form id="setup" method="post" action="install.php?step=2">
        <table class="form-table">
                <tr>
                        <th scope="row"><label for="weblog_title"><?php _e('Blog Title'); ?></label></th>
-                       <td><input name="weblog_title" type="text" id="weblog_title" size="25" /></td>
+                       <td><input name="weblog_title" type="text" id="weblog_title" size="25" value="<?php echo ( isset($_POST['weblog_title']) ? esc_attr($_POST['weblog_title']) : '' ); ?>" /></td>
                </tr>
                <tr>
                        <th scope="row"><label for="admin_email"><?php _e('Your E-mail'); ?></label></th>
                </tr>
                <tr>
                        <th scope="row"><label for="admin_email"><?php _e('Your E-mail'); ?></label></th>
-                       <td><input name="admin_email" type="text" id="admin_email" size="25" /><br />
-                       <?php _e('Double-check your email address before continuing.'); ?>
+                       <td><input name="admin_email" type="text" id="admin_email" size="25" value="<?php echo ( isset($_POST['admin_email']) ? esc_attr($_POST['admin_email']) : '' ); ?>" /><br />
+                       <?php _e('Double-check your email address before continuing.'); ?></td>
                </tr>
                <tr>
                </tr>
                <tr>
-                       <td colspan="2"><label><input type="checkbox" name="blog_public" value="1" checked="checked" /> <?php _e('Allow my blog to appear in search engines like Google and Technorati.'); ?></label></td>
+                       <td colspan="2"><label><input type="checkbox" name="blog_public" value="1" <?php checked($blog_public); ?> /> <?php _e('Allow my blog to appear in search engines like Google and Technorati.'); ?></label></td>
                </tr>
        </table>
                </tr>
        </table>
-       <p class="step"><input type="submit" name="Submit" value="<?php _e('Install WordPress'); ?>" class="button" /></p>
+       <p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e('Install WordPress'); ?>" class="button" /></p>
 </form>
 </form>
+<?php
+}
+
+// Let's check to make sure WP isn't already installed.
+if ( is_blog_installed() ) {display_header(); die('<h1>'.__('Already Installed').'</h1><p>'.__('You appear to have already installed WordPress. To reinstall please clear your old database tables first.').'</p></body></html>');}
+
+switch($step) {
+       case 0:
+       case 1: // in case people are directly linking to this
+         display_header();
+?>
+<h1><?php _e('Welcome'); ?></h1>
+<p><?php printf(__('Welcome to the famous five minute WordPress installation process! You may want to browse the <a href="%s">ReadMe documentation</a> at your leisure.  Otherwise, just fill in the information below and you&#8217;ll be on your way to using the most extendable and powerful personal publishing platform in the world.'), '../readme.html'); ?></p>
+<!--<h2 class="step"><a href="install.php?step=1"><?php _e('First Step'); ?></a></h2>-->
+
+<h1><?php _e('Information needed'); ?></h1>
+<p><?php _e('Please provide the following information.  Don&#8217;t worry, you can always change these settings later.'); ?></p>
+
+
 
 <?php
 
 <?php
+               display_setup_form();
                break;
        case 2:
                if ( !empty($wpdb->error) )
                break;
        case 2:
                if ( !empty($wpdb->error) )
@@ -65,21 +105,25 @@ switch($step) {
 
                display_header();
                // Fill in the data we gathered
 
                display_header();
                // Fill in the data we gathered
-               $weblog_title = stripslashes($_POST['weblog_title']);
-               $admin_email = stripslashes($_POST['admin_email']);
-               $public = (int) $_POST['blog_public'];
+               $weblog_title = isset($_POST['weblog_title']) ? stripslashes($_POST['weblog_title']) : '';
+               $admin_email = isset($_POST['admin_email']) ? stripslashes($_POST['admin_email']) : '';
+               $public = isset($_POST['blog_public']) ? (int) $_POST['blog_public'] : 0;
                // check e-mail address
                // check e-mail address
+               $error = false;
                if (empty($admin_email)) {
                        // TODO: poka-yoke
                if (empty($admin_email)) {
                        // TODO: poka-yoke
-                       die('<p>'.__("<strong>ERROR</strong>: you must provide an e-mail address.").'</p>');
+                       display_setup_form( __('you must provide an e-mail address.') );
+                       $error = true;
                } else if (!is_email($admin_email)) {
                        // TODO: poka-yoke
                } else if (!is_email($admin_email)) {
                        // TODO: poka-yoke
-                       die('<p>'.__('<strong>ERROR</strong>: that isn&#8217;t a valid e-mail address.  E-mail addresses look like: <code>username@example.com</code>').'</p>');
+                       display_setup_form( __('that isn&#8217;t a valid e-mail address.  E-mail addresses look like: <code>username@example.com</code>') );
+                       $error = true;
                }
 
                }
 
-               $wpdb->show_errors();
-               $result = wp_install($weblog_title, 'admin', $admin_email, $public);
-               extract($result, EXTR_SKIP);
+               if ( $error === false ) {
+                       $wpdb->show_errors();
+                       $result = wp_install($weblog_title, 'admin', $admin_email, $public);
+                       extract($result, EXTR_SKIP);
 ?>
 
 <h1><?php _e('Success!'); ?></h1>
 ?>
 
 <h1><?php _e('Success!'); ?></h1>
@@ -93,14 +137,17 @@ switch($step) {
        </tr>
        <tr>
                <th><?php _e('Password'); ?></th>
        </tr>
        <tr>
                <th><?php _e('Password'); ?></th>
-               <td><code><?php echo $password; ?></code><br />
-                       <?php echo '<p>'.__('<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.').'</p>'; ?></td>
+               <td><?php if ( !empty( $password ) ) {
+                                               echo '<code>'. $password .'</code><br />';
+                                       }
+                                       echo '<p>'. $password_message .'</p>'; ?></td>
        </tr>
 </table>
 
 <p class="step"><a href="../wp-login.php" class="button"><?php _e('Log In'); ?></a></p>
 
 <?php
        </tr>
 </table>
 
 <p class="step"><a href="../wp-login.php" class="button"><?php _e('Log In'); ?></a></p>
 
 <?php
+               }
                break;
 }
 ?>
                break;
 }
 ?>