|
1 <?php |
|
2 /** |
|
3 * WordPress Installer |
|
4 * |
|
5 * @package WordPress |
|
6 * @subpackage Administration |
|
7 */ |
|
8 |
|
9 /** |
|
10 * We are installing WordPress. |
|
11 * |
|
12 * @since unknown |
|
13 * @var bool |
|
14 */ |
|
15 define('WP_INSTALLING', true); |
|
16 |
|
17 /** Load WordPress Bootstrap */ |
|
18 require_once(dirname(dirname(__FILE__)) . '/wp-load.php'); |
|
19 |
|
20 /** Load WordPress Administration Upgrade API */ |
|
21 require_once(dirname(__FILE__) . '/includes/upgrade.php'); |
|
22 |
|
23 if (isset($_GET['step'])) |
|
24 $step = $_GET['step']; |
|
25 else |
|
26 $step = 0; |
|
27 |
|
28 /** |
|
29 * Display install header. |
|
30 * |
|
31 * @since unknown |
|
32 * @package WordPress |
|
33 * @subpackage Installer |
|
34 */ |
|
35 function display_header() { |
|
36 header( 'Content-Type: text/html; charset=utf-8' ); |
|
37 ?> |
|
38 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
39 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> |
|
40 <head> |
|
41 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
42 <title><?php _e('WordPress › Installation'); ?></title> |
|
43 <?php wp_admin_css( 'install', true ); ?> |
|
44 </head> |
|
45 <body> |
|
46 <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1> |
|
47 |
|
48 <?php |
|
49 }//end function display_header(); |
|
50 |
|
51 function display_setup_form( $error = null ) { |
|
52 // Ensure that Blogs appear in search engines by default |
|
53 $blog_public = 1; |
|
54 if ( isset($_POST) && !empty($_POST) ) { |
|
55 $blog_public = isset($_POST['blog_public']); |
|
56 } |
|
57 |
|
58 if ( ! is_null( $error ) ) { |
|
59 ?> |
|
60 <p><?php printf( __('<strong>ERROR</strong>: %s'), $error); ?></p> |
|
61 <?php } ?> |
|
62 <form id="setup" method="post" action="install.php?step=2"> |
|
63 <table class="form-table"> |
|
64 <tr> |
|
65 <th scope="row"><label for="weblog_title"><?php _e('Blog Title'); ?></label></th> |
|
66 <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> |
|
67 </tr> |
|
68 <tr> |
|
69 <th scope="row"><label for="admin_email"><?php _e('Your E-mail'); ?></label></th> |
|
70 <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 /> |
|
71 <?php _e('Double-check your email address before continuing.'); ?> |
|
72 </tr> |
|
73 <tr> |
|
74 <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> |
|
75 </tr> |
|
76 </table> |
|
77 <p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e('Install WordPress'); ?>" class="button" /></p> |
|
78 </form> |
|
79 <?php |
|
80 } |
|
81 |
|
82 // Let's check to make sure WP isn't already installed. |
|
83 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>');} |
|
84 |
|
85 switch($step) { |
|
86 case 0: |
|
87 case 1: // in case people are directly linking to this |
|
88 display_header(); |
|
89 ?> |
|
90 <h1><?php _e('Welcome'); ?></h1> |
|
91 <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> |
|
92 <!--<h2 class="step"><a href="install.php?step=1"><?php _e('First Step'); ?></a></h2>--> |
|
93 |
|
94 <h1><?php _e('Information needed'); ?></h1> |
|
95 <p><?php _e('Please provide the following information. Don’t worry, you can always change these settings later.'); ?></p> |
|
96 |
|
97 |
|
98 |
|
99 <?php |
|
100 display_setup_form(); |
|
101 break; |
|
102 case 2: |
|
103 if ( !empty($wpdb->error) ) |
|
104 wp_die($wpdb->error->get_error_message()); |
|
105 |
|
106 display_header(); |
|
107 // Fill in the data we gathered |
|
108 $weblog_title = isset($_POST['weblog_title']) ? stripslashes($_POST['weblog_title']) : ''; |
|
109 $admin_email = isset($_POST['admin_email']) ? stripslashes($_POST['admin_email']) : ''; |
|
110 $public = isset($_POST['blog_public']) ? (int) $_POST['blog_public'] : 0; |
|
111 // check e-mail address |
|
112 $error = false; |
|
113 if (empty($admin_email)) { |
|
114 // TODO: poka-yoke |
|
115 display_setup_form( __('you must provide an e-mail address.') ); |
|
116 $error = true; |
|
117 } else if (!is_email($admin_email)) { |
|
118 // TODO: poka-yoke |
|
119 display_setup_form( __('that isn’t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>') ); |
|
120 $error = true; |
|
121 } |
|
122 |
|
123 if ( $error === false ) { |
|
124 $wpdb->show_errors(); |
|
125 $result = wp_install($weblog_title, 'admin', $admin_email, $public); |
|
126 extract($result, EXTR_SKIP); |
|
127 ?> |
|
128 |
|
129 <h1><?php _e('Success!'); ?></h1> |
|
130 |
|
131 <p><?php printf(__('WordPress has been installed. Were you expecting more steps? Sorry to disappoint.'), ''); ?></p> |
|
132 |
|
133 <table class="form-table"> |
|
134 <tr> |
|
135 <th><?php _e('Username'); ?></th> |
|
136 <td><code>admin</code></td> |
|
137 </tr> |
|
138 <tr> |
|
139 <th><?php _e('Password'); ?></th> |
|
140 <td><?php if ( !empty( $password ) ) { |
|
141 echo '<code>'. $password .'</code><br />'; |
|
142 } |
|
143 echo '<p>'. $password_message .'</p>'; ?></td> |
|
144 </tr> |
|
145 </table> |
|
146 |
|
147 <p class="step"><a href="../wp-login.php" class="button"><?php _e('Log In'); ?></a></p> |
|
148 |
|
149 <?php |
|
150 } |
|
151 break; |
|
152 } |
|
153 ?> |
|
154 <script type="text/javascript">var t = document.getElementById('weblog_title'); if (t){ t.focus(); }</script> |
|
155 </body> |
|
156 </html> |