2003-05-23 07:07:05 -04:00
< ? php
2008-08-14 02:30:38 -04:00
/**
* WordPress Installer
*
* @ package WordPress
* @ subpackage Administration
*/
/**
* We are installing WordPress .
*
* @ since unknown
* @ var bool
*/
2005-03-17 18:34:06 -05:00
define ( 'WP_INSTALLING' , true );
2004-07-23 04:45:55 -04:00
2008-08-14 02:30:38 -04:00
/** Load WordPress Bootstrap */
2009-05-19 11:29:57 -04:00
require_once ( dirname ( dirname ( __FILE__ )) . '/wp-load.php' );
2008-08-14 02:30:38 -04:00
/** Load WordPress Administration Upgrade API */
2009-05-12 12:47:49 -04:00
require_once ( dirname ( __FILE__ ) . '/includes/upgrade.php' );
2003-05-23 07:07:05 -04:00
2004-05-09 01:47:02 -04:00
if ( isset ( $_GET [ 'step' ]))
$step = $_GET [ 'step' ];
else
$step = 0 ;
2008-08-14 02:30:38 -04:00
/**
* Display install header .
*
* @ since unknown
* @ package WordPress
* @ subpackage Installer
*/
function display_header () {
2005-04-18 23:35:48 -04:00
header ( 'Content-Type: text/html; charset=utf-8' );
2003-05-23 07:07:05 -04:00
?>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
2006-09-28 13:35:59 -04:00
< html xmlns = " http://www.w3.org/1999/xhtml " < ? php language_attributes (); ?> >
2004-06-11 12:09:18 -04:00
< head >
2004-07-23 04:45:55 -04:00
< meta http - equiv = " Content-Type " content = " text/html; charset=utf-8 " />
2006-09-28 13:35:59 -04:00
< title >< ? php _e ( 'WordPress › Installation' ); ?> </title>
2008-05-21 20:06:41 -04:00
< ? php wp_admin_css ( 'install' , true ); ?>
2003-05-23 07:07:05 -04:00
</ head >
< body >
2005-11-17 04:55:53 -05:00
< h1 id = " logo " >< img alt = " WordPress " src = " images/wordpress-logo.png " /></ h1 >
2007-12-19 21:10:09 -05:00
2003-05-23 07:07:05 -04:00
< ? php
2007-12-19 21:10:09 -05:00
} //end function display_header();
2009-02-15 07:58:10 -05:00
function display_setup_form ( $error = null ) {
2009-08-16 05:01:39 -04:00
// Ensure that Blogs appear in search engines by default
$blog_public = 1 ;
if ( isset ( $_POST ) && ! empty ( $_POST ) ) {
$blog_public = isset ( $_POST [ 'blog_public' ]);
}
2009-09-14 10:03:32 -04:00
2009-02-15 07:58:10 -05:00
if ( ! is_null ( $error ) ) {
2003-05-23 07:07:05 -04:00
?>
2009-03-12 23:53:39 -04:00
< p >< ? php printf ( __ ( '<strong>ERROR</strong>: %s' ), $error ); ?> </p>
2009-02-15 07:58:10 -05:00
< ? php } ?>
2005-01-24 02:44:38 -05:00
< form id = " setup " method = " post " action = " install.php?step=2 " >
2008-02-23 23:33:10 -05:00
< table class = " form-table " >
2006-09-28 13:35:59 -04:00
< tr >
2008-03-14 14:22:19 -04:00
< th scope = " row " >< label for = " weblog_title " >< ? php _e ( 'Blog Title' ); ?> </label></th>
2009-05-05 15:43:53 -04:00
< 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 >
2006-09-28 13:35:59 -04:00
</ tr >
< tr >
2008-03-14 14:22:19 -04:00
< th scope = " row " >< label for = " admin_email " >< ? php _e ( 'Your E-mail' ); ?> </label></th>
2009-05-05 15:43:53 -04:00
< 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 />
2009-08-16 05:09:24 -04:00
< ? php _e ( 'Double-check your email address before continuing.' ); ?> </td>
2006-09-28 13:35:59 -04:00
</ tr >
< tr >
2009-08-16 05:01:39 -04:00
< 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>
2006-09-28 13:35:59 -04:00
</ tr >
</ table >
2009-05-05 15:43:53 -04:00
< p class = " step " >< input type = " submit " name = " Submit " value = " <?php esc_attr_e('Install WordPress'); ?> " class = " button " /></ p >
2004-07-23 04:45:55 -04:00
</ form >
2009-02-15 07:58:10 -05:00
< ? 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>' );}
2009-12-29 17:07:35 -05:00
$php_version = phpversion ();
$mysql_version = $wpdb -> db_version ();
$php_compat = version_compare ( $php_version , $required_php_version , '>=' );
$mysql_compat = version_compare ( $mysql_version , $required_mysql_version , '>=' ) || file_exists ( WP_CONTENT_DIR . '/db.php' );
if ( ! $mysql_compat && ! $php_compat )
$compat = sprintf ( __ ( 'You cannot install because WordPress %1$s 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 );
elseif ( ! $php_compat )
$compat = sprintf ( __ ( 'You cannot install because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version , $required_php_version , $php_version );
elseif ( ! $mysql_compat )
$compat = sprintf ( __ ( 'You cannot install because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version , $required_mysql_version , $mysql_version );
if ( ! $mysql_compat || ! $php_compat ) {
display_header ();
die ( '<h1>' . __ ( 'Insufficient Requirements' ) . '</h1><p>' . $compat . '</p></body></html>' );
}
2009-02-15 07:58:10 -05:00
switch ( $step ) {
case 0 :
case 1 : // in case people are directly linking to this
display_header ();
?>
< h1 >< ? php _e ( 'Welcome' ); ?> </h1>
2009-05-05 00:28:05 -04:00
< 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>
2009-02-15 07:58:10 -05:00
<!--< h2 class = " step " >< a href = " install.php?step=1 " >< ? php _e ( 'First Step' ); ?> </a></h2>-->
< h1 >< ? php _e ( 'Information needed' ); ?> </h1>
2009-05-05 00:28:05 -04:00
< p >< ? php _e ( 'Please provide the following information. Don’t worry, you can always change these settings later.' ); ?> </p>
2009-02-15 07:58:10 -05:00
2004-07-23 04:45:55 -04:00
< ? php
2009-02-15 07:58:10 -05:00
display_setup_form ();
2006-09-28 13:35:59 -04:00
break ;
2004-07-23 04:45:55 -04:00
case 2 :
2007-12-22 12:45:30 -05:00
if ( ! empty ( $wpdb -> error ) )
wp_die ( $wpdb -> error -> get_error_message ());
2008-02-05 01:47:27 -05:00
display_header ();
2006-09-28 13:35:59 -04:00
// Fill in the data we gathered
2008-11-10 13:54:18 -05:00
$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 ;
2006-09-28 13:35:59 -04:00
// check e-mail address
2009-02-15 07:58:10 -05:00
$error = false ;
2006-09-28 13:35:59 -04:00
if ( empty ( $admin_email )) {
2007-08-02 21:08:59 -04:00
// TODO: poka-yoke
2009-02-15 07:58:10 -05:00
display_setup_form ( __ ( 'you must provide an e-mail address.' ) );
$error = true ;
2006-09-28 13:35:59 -04:00
} else if ( ! is_email ( $admin_email )) {
2007-08-02 21:08:59 -04:00
// TODO: poka-yoke
2009-02-15 07:58:10 -05:00
display_setup_form ( __ ( 'that isn’t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>' ) );
$error = true ;
2006-09-28 13:35:59 -04:00
}
2006-02-12 02:53:23 -05:00
2009-02-15 07:58:10 -05:00
if ( $error === false ) {
$wpdb -> show_errors ();
$result = wp_install ( $weblog_title , 'admin' , $admin_email , $public );
extract ( $result , EXTR_SKIP );
2003-05-23 07:07:05 -04:00
?>
2007-08-02 21:08:59 -04:00
< h1 >< ? php _e ( 'Success!' ); ?> </h1>
2003-05-23 07:07:05 -04:00
2008-02-21 18:55:11 -05:00
< p >< ? php printf ( __ ( 'WordPress has been installed. Were you expecting more steps? Sorry to disappoint.' ), '' ); ?> </p>
2006-09-28 13:35:59 -04:00
2008-02-23 23:33:10 -05:00
< table class = " form-table " >
2008-02-21 18:55:11 -05:00
< tr >
< th >< ? php _e ( 'Username' ); ?> </th>
< td >< code > admin </ code ></ td >
</ tr >
< tr >
< th >< ? php _e ( 'Password' ); ?> </th>
2009-05-14 02:54:33 -04:00
< td >< ? php if ( ! empty ( $password ) ) {
echo '<code>' . $password . '</code><br />' ;
}
echo '<p>' . $password_message . '</p>' ; ?> </td>
2008-02-21 18:55:11 -05:00
</ tr >
</ table >
2008-07-10 12:59:17 -04:00
< p class = " step " >< a href = " ../wp-login.php " class = " button " >< ? php _e ( 'Log In' ); ?> </a></p>
2006-09-28 13:35:59 -04:00
2003-05-23 07:07:05 -04:00
< ? php
2009-02-15 07:58:10 -05:00
}
2006-09-28 13:35:59 -04:00
break ;
2003-05-23 07:07:05 -04:00
}
?>
2008-03-14 14:22:19 -04:00
< script type = " text/javascript " > var t = document . getElementById ( 'weblog_title' ); if ( t ){ t . focus (); } </ script >
2003-05-23 07:07:05 -04:00
</ body >
2008-03-14 14:22:19 -04:00
</ html >