| | 73 | * Initial check if blog is installed and other requirements |
| | 74 | * |
| | 75 | * @since 3.1.0 |
| | 76 | * @package WordPress |
| | 77 | * @subpackage Installer |
| | 78 | */ |
| | 79 | function check_requirements() { |
| | 80 | global $wpdb; |
| | 81 | |
| | 82 | // Let's check to make sure WP isn't already installed. |
| | 83 | if ( is_blog_installed() ) { |
| | 84 | display_header(); |
| | 85 | die( '<h1>' . __( 'Already Installed' ) . '</h1><p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p><p class="step"><a href="../wp-login.php" class="button">' . __('Log In') . '</a></p></body></html>' ); |
| | 86 | } |
| | 87 | |
| | 88 | $php_version = phpversion(); |
| | 89 | $mysql_version = $wpdb->db_version(); |
| | 90 | $php_compat = version_compare( $php_version, $required_php_version, '>=' ); |
| | 91 | $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); |
| | 92 | |
| | 93 | if ( !$mysql_compat && !$php_compat ) |
| | 94 | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ); |
| | 95 | elseif ( !$php_compat ) |
| | 96 | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ); |
| | 97 | elseif ( !$mysql_compat ) |
| | 98 | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ); |
| | 99 | |
| | 100 | if ( !$mysql_compat || !$php_compat ) { |
| | 101 | display_header(); |
| | 102 | die('<h1>' . __('Insufficient Requirements') . '</h1><p>' . $compat . '</p></body></html>'); |
| | 103 | } |
| | 104 | } // end check_requirements() |
| | 105 | endif; |
| | 106 | |
| | 107 | if ( !function_exists('display_setup_form') ) : |
| | 108 | /** |
| 147 | | $php_version = phpversion(); |
| 148 | | $mysql_version = $wpdb->db_version(); |
| 149 | | $php_compat = version_compare( $php_version, $required_php_version, '>=' ); |
| 150 | | $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); |
| 151 | | |
| 152 | | if ( !$mysql_compat && !$php_compat ) |
| 153 | | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ); |
| 154 | | elseif ( !$php_compat ) |
| 155 | | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ); |
| 156 | | elseif ( !$mysql_compat ) |
| 157 | | $compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ); |
| 158 | | |
| 159 | | if ( !$mysql_compat || !$php_compat ) { |
| | 194 | if ( !function_exists('step_1') ) : |
| | 195 | /** |
| | 196 | * Process install step 1 |
| | 197 | * |
| | 198 | * @since 3.1.0 |
| | 199 | * @package WordPress |
| | 200 | * @subpackage Installer |
| | 201 | */ |
| | 202 | function step_1() { |
| 182 | | display_header(); |
| 183 | | // Fill in the data we gathered |
| 184 | | $weblog_title = isset( $_POST['weblog_title'] ) ? trim( stripslashes( $_POST['weblog_title'] ) ) : ''; |
| 185 | | $user_name = isset($_POST['user_name']) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin'; |
| 186 | | $admin_password = isset($_POST['admin_password']) ? $_POST['admin_password'] : ''; |
| 187 | | $admin_password_check = isset($_POST['admin_password2']) ? $_POST['admin_password2'] : ''; |
| 188 | | $admin_email = isset( $_POST['admin_email'] ) ?trim( stripslashes( $_POST['admin_email'] ) ) : ''; |
| 189 | | $public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : 0; |
| 190 | | // check e-mail address |
| 191 | | $error = false; |
| 192 | | if ( empty( $user_name ) ) { |
| 193 | | // TODO: poka-yoke |
| 194 | | display_setup_form( __('you must provide a valid username.') ); |
| 195 | | $error = true; |
| 196 | | } elseif ( $user_name != sanitize_user( $user_name, true ) ) { |
| 197 | | display_setup_form( __('the username you provided has invalid characters.') ); |
| 198 | | $error = true; |
| 199 | | } elseif ( $admin_password != $admin_password_check ) { |
| 200 | | // TODO: poka-yoke |
| 201 | | display_setup_form( __( 'your passwords do not match. Please try again' ) ); |
| 202 | | $error = true; |
| 203 | | } else if ( empty( $admin_email ) ) { |
| 204 | | // TODO: poka-yoke |
| 205 | | display_setup_form( __( 'you must provide an e-mail address.' ) ); |
| 206 | | $error = true; |
| 207 | | } elseif ( ! is_email( $admin_email ) ) { |
| 208 | | // TODO: poka-yoke |
| 209 | | display_setup_form( __( 'that isn’t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>' ) ); |
| 210 | | $error = true; |
| 211 | | } |
| | 216 | if ( !function_exists('step_2') ) : |
| | 217 | /** |
| | 218 | * Process install step 2 |
| | 219 | * |
| | 220 | * @since 3.1.0 |
| | 221 | * @package WordPress |
| | 222 | * @subpackage Installer |
| | 223 | */ |
| | 224 | function step_2() { |
| | 225 | global $wpdb; |
| | 226 | |
| | 227 | if ( ! empty( $wpdb->error ) ) |
| | 228 | wp_die( $wpdb->error->get_error_message() ); |
| 213 | | if ( $error === false ) { |
| 214 | | $wpdb->show_errors(); |
| 215 | | $result = wp_install($weblog_title, $user_name, $admin_email, $public, '', $admin_password); |
| 216 | | extract( $result, EXTR_SKIP ); |
| | 230 | display_header(); |
| | 231 | // Fill in the data we gathered |
| | 232 | $weblog_title = isset( $_POST['weblog_title'] ) ? trim( stripslashes( $_POST['weblog_title'] ) ) : ''; |
| | 233 | $user_name = isset($_POST['user_name']) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin'; |
| | 234 | $admin_password = isset($_POST['admin_password']) ? $_POST['admin_password'] : ''; |
| | 235 | $admin_password_check = isset($_POST['admin_password2']) ? $_POST['admin_password2'] : ''; |
| | 236 | $admin_email = isset( $_POST['admin_email'] ) ?trim( stripslashes( $_POST['admin_email'] ) ) : ''; |
| | 237 | $public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : 0; |
| | 238 | // check e-mail address |
| | 239 | $error = false; |
| | 240 | if ( empty( $user_name ) ) { |
| | 241 | // TODO: poka-yoke |
| | 242 | display_setup_form( __('you must provide a valid username.') ); |
| | 243 | $error = true; |
| | 244 | } elseif ( $user_name != sanitize_user( $user_name, true ) ) { |
| | 245 | display_setup_form( __('the username you provided has invalid characters.') ); |
| | 246 | $error = true; |
| | 247 | } elseif ( $admin_password != $admin_password_check ) { |
| | 248 | // TODO: poka-yoke |
| | 249 | display_setup_form( __( 'your passwords do not match. Please try again' ) ); |
| | 250 | $error = true; |
| | 251 | } else if ( empty( $admin_email ) ) { |
| | 252 | // TODO: poka-yoke |
| | 253 | display_setup_form( __( 'you must provide an e-mail address.' ) ); |
| | 254 | $error = true; |
| | 255 | } elseif ( ! is_email( $admin_email ) ) { |
| | 256 | // TODO: poka-yoke |
| | 257 | display_setup_form( __( 'that isn’t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>' ) ); |
| | 258 | $error = true; |
| | 259 | } |
| | 260 | |
| | 261 | if ( $error === false ) { |
| | 262 | $wpdb->show_errors(); |
| | 263 | $result = wp_install($weblog_title, $user_name, $admin_email, $public, '', $admin_password); |
| | 264 | extract( $result, EXTR_SKIP ); |