2003-05-23 13:07:05 +02:00
< ? php
2005-03-18 00:34:06 +01:00
define ( 'WP_INSTALLING' , true );
2004-05-18 22:05:40 +02:00
if ( ! file_exists ( '../wp-config.php' ))
2004-11-28 05:41:48 +01:00
die ( " There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://wordpress.org/docs/faq/#wp-config'>We got it</a>. You can <a href='setup-config.php'>create a <code>wp-config.php</code> file through a web interface</a>, but this doesn't work for all server setups. The safest way is to manually create the file. " );
2004-07-23 10:45:55 +02:00
2003-06-13 00:50:20 +02:00
require_once ( '../wp-config.php' );
2004-12-14 08:55:26 +01:00
require_once ( './upgrade-functions.php' );
2003-05-23 13:07:05 +02:00
2004-12-14 08:55:26 +01:00
$guessurl = str_replace ( '/wp-admin/install.php?step=2' , '' , 'http://' . $_SERVER [ 'HTTP_HOST' ] . dirname ( $_SERVER [ 'PHP_SELF' ]) );
2004-07-23 10:45:55 +02:00
2004-05-09 07:47:02 +02:00
if ( isset ( $_GET [ 'step' ]))
$step = $_GET [ 'step' ];
else
$step = 0 ;
2005-04-19 05:35:48 +02:00
header ( 'Content-Type: text/html; charset=utf-8' );
2003-05-23 13:07:05 +02:00
?>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
2004-06-11 18:09:18 +02:00
< head >
2005-04-22 02:16:48 +02:00
< title >< ? php _e ( 'WordPress › Installation' ); ?> </title>
2004-07-23 10:45:55 +02:00
< meta http - equiv = " Content-Type " content = " text/html; charset=utf-8 " />
2003-05-23 13:07:05 +02:00
< style media = " screen " type = " text/css " >
2004-07-23 10:45:55 +02:00
<!--
html {
background : #eee;
}
2003-05-23 13:07:05 +02:00
body {
2004-07-23 10:45:55 +02:00
background : #fff;
color : #000;
2003-05-23 13:07:05 +02:00
font - family : Georgia , " Times New Roman " , Times , serif ;
2004-07-23 10:45:55 +02:00
margin - left : 20 % ;
margin - right : 20 % ;
padding : . 2 em 2 em ;
2003-05-23 13:07:05 +02:00
}
2004-07-23 10:45:55 +02:00
h1 {
color : #006;
font - size : 18 px ;
font - weight : lighter ;
2003-05-23 13:07:05 +02:00
}
2004-07-23 10:45:55 +02:00
h2 {
font - size : 16 px ;
2003-05-23 13:07:05 +02:00
}
2004-07-23 10:45:55 +02:00
p , li , dt {
2003-05-23 13:07:05 +02:00
line - height : 140 % ;
2004-07-23 10:45:55 +02:00
padding - bottom : 2 px ;
2003-05-23 13:07:05 +02:00
}
2004-06-11 18:09:18 +02:00
2004-07-23 10:45:55 +02:00
ul , ol {
padding : 5 px 5 px 5 px 20 px ;
}
#logo {
margin - bottom : 2 em ;
}
2005-01-24 08:44:38 +01:00
. step a , . step input {
font - size : 2 em ;
}
td input {
font - size : 1.5 em ;
}
. step , th {
text - align : right ;
}
#footer {
text - align : center ;
border - top : 1 px solid #ccc;
padding - top : 1 em ;
font - style : italic ;
}
2004-07-23 10:45:55 +02:00
-->
2003-05-23 13:07:05 +02:00
</ style >
</ head >
< body >
2004-07-23 10:45:55 +02:00
< h1 id = " logo " >< img alt = " WordPress " src = " http://static.wordpress.org/logo.png " /></ h1 >
2003-05-23 13:07:05 +02:00
< ? php
2004-07-23 10:45:55 +02:00
// Let's check to make sure WP isn't already installed.
2003-10-07 19:28:40 +02:00
$wpdb -> hide_errors ();
2004-05-24 10:22:18 +02:00
$installed = $wpdb -> get_results ( " SELECT * FROM $wpdb->users " );
2005-02-28 00:09:58 +01:00
if ( $installed ) 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>' );
2003-10-07 19:28:40 +02:00
$wpdb -> show_errors ();
2004-07-23 10:45:55 +02:00
2003-05-23 13:07:05 +02:00
switch ( $step ) {
case 0 :
?>
2005-02-28 00:09:58 +01:00
< p >< ? php printf ( __ ( 'Welcome to WordPress installation. We’re now going to go through a few steps to get you up and running with the latest in personal publishing platforms. You may want to peruse the <a href="%s">ReadMe documentation</a> at your leisure.' ), '../readme.html' ); ?> </p>
< h2 class = " step " >< a href = " install.php?step=1 " >< ? php _e ( 'First Step »' ); ?> </a></h2>
2003-05-23 13:07:05 +02:00
< ? php
break ;
2003-08-04 01:46:20 +02:00
2003-05-23 13:07:05 +02:00
case 1 :
2005-03-05 03:27:08 +01:00
2003-05-23 13:07:05 +02:00
?>
2005-02-28 00:09:58 +01:00
< h1 >< ? php _e ( 'First Step' ); ?> </h1>
< p >< ? php _e ( " Before we begin we need a little bit of information. Don't worry, you can always change these later. " ); ?> </p>
2004-07-23 10:45:55 +02:00
2005-01-24 08:44:38 +01:00
< form id = " setup " method = " post " action = " install.php?step=2 " >
2004-07-23 10:45:55 +02:00
< table width = " 100% " >
< tr >
2005-02-28 00:09:58 +01:00
< th width = " 33% " >< ? php _e ( 'Weblog title:' ); ?> </th>
2004-07-23 10:45:55 +02:00
< td >< input name = " weblog_title " type = " text " id = " weblog_title " size = " 25 " /></ td >
</ tr >
< tr >
2005-02-28 00:09:58 +01:00
< th >< ? php _e ( 'Your e-mail:' ); ?> </th>
2004-07-23 10:45:55 +02:00
< td >< input name = " admin_email " type = " text " id = " admin_email " size = " 25 " /></ td >
</ tr >
</ table >
2005-02-28 00:09:58 +01:00
< p >< em >< ? php _e ( 'Double-check that email address before continuing.' ); ?> </em></p>
2004-07-23 10:45:55 +02:00
< h2 class = " step " >
2005-02-28 00:09:58 +01:00
< input type = " submit " name = " Submit " value = " <?php _e('Continue to Second Step »'); ?> " />
2004-07-23 10:45:55 +02:00
</ h2 >
</ form >
< ? php
break ;
case 2 :
2005-03-05 03:27:08 +01:00
// Fill in the data we gathered
$weblog_title = $_POST [ 'weblog_title' ];
$admin_email = $_POST [ 'admin_email' ];
// check e-mail address
if ( empty ( $admin_email )) {
die ( __ ( " <strong>ERROR</strong>: please type your e-mail address " ));
} else if ( ! is_email ( $admin_email )) {
die ( __ ( " <strong>ERROR</strong>: the e-mail address isn't correct " ));
}
2004-07-23 10:45:55 +02:00
?>
2005-02-28 00:09:58 +01:00
< h1 >< ? php _e ( 'Second Step' ); ?> </h1>
< p >< ? php _e ( 'Now we’re going to create the database tables and fill them with some default data.' ); ?> </p>
2004-07-23 10:45:55 +02:00
2003-05-23 13:07:05 +02:00
< ? php
2004-09-05 03:22:17 +02:00
flush ();
2003-05-23 13:07:05 +02:00
2004-09-05 03:22:17 +02:00
// Set everything up
make_db_current_silent ();
populate_options ();
2003-05-23 13:07:05 +02:00
2004-09-05 03:22:17 +02:00
$wpdb -> query ( " UPDATE $wpdb->options SET option_value = ' $weblog_title ' WHERE option_name = 'blogname' " );
$wpdb -> query ( " UPDATE $wpdb->options SET option_value = ' $admin_email ' WHERE option_name = 'admin_email' " );
2003-05-23 13:07:05 +02:00
2004-09-05 03:22:17 +02:00
// Now drop in some default links
2005-03-05 03:27:08 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->linkcategories (cat_id, cat_name) VALUES (1, ' " . addslashes ( __ ( 'Blogroll' )) . " ') " );
2005-01-11 21:22:11 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://blog.carthik.net/index.php', 'Carthik', 1, 'http://blog.carthik.net/feed/'); " );
2005-01-11 00:30:57 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://blogs.linux.ie/xeer/', 'Donncha', 1, 'http://blogs.linux.ie/xeer/feed/'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://zengun.org/weblog/', 'Michel', 1, 'http://zengun.org/weblog/feed/'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://boren.nu/', 'Ryan', 1, 'http://boren.nu/feed/'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://photomatt.net/', 'Matt', 1, 'http://xml.photomatt.net/feed/'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://zed1.com/journalized/', 'Mike', 1, 'http://zed1.com/journalized/feed/'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://www.alexking.org/', 'Alex', 1, 'http://www.alexking.org/blog/wp-rss2.php'); " );
$wpdb -> query ( " INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss) VALUES ('http://dougal.gunters.org/', 'Dougal', 1, 'http://dougal.gunters.org/feed/'); " );
2003-05-23 13:07:05 +02:00
2004-09-05 03:22:17 +02:00
// Default category
2005-03-21 17:53:42 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename) VALUES ('0', ' " . addslashes ( __ ( 'Uncategorized' )) . " ', ' " . sanitize_title ( __ ( 'Uncategorized' )) . " ') " );
2003-05-23 13:07:05 +02:00
2004-09-05 03:22:17 +02:00
// First post
2003-05-23 13:07:05 +02:00
$now = date ( 'Y-m-d H:i:s' );
2004-04-02 03:21:29 +02:00
$now_gmt = gmdate ( 'Y-m-d H:i:s' );
2005-03-05 03:27:08 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_title, post_category, post_name, post_modified, post_modified_gmt) VALUES ('1', ' $now ', ' $now_gmt ', ' " . addslashes ( __ ( 'Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!' )) . " ', ' " . addslashes ( __ ( 'Hello world!' )) . " ', '0', ' " . addslashes ( __ ( 'hello-world' )) . " ', ' $now ', ' $now_gmt ') " );
2004-10-26 18:28:43 +02:00
2004-11-15 06:59:34 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->post2cat (`rel_id`, `post_id`, `category_id`) VALUES (1, 1, 1) " );
2004-02-26 23:21:33 +01:00
2004-09-05 03:22:17 +02:00
// Default comment
2005-03-05 03:27:08 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content) VALUES ('1', ' " . addslashes ( __ ( 'Mr WordPress' )) . " ', '', 'http://wordpress.org', '127.0.0.1', ' $now ', ' $now_gmt ', ' " . addslashes ( __ ( 'Hi, this is a comment.<br />To delete a comment, just log in, and view the posts\' comments, there you will have the option to edit or delete them.' )) . " ') " );
2004-02-26 23:21:33 +01:00
2004-09-05 03:22:17 +02:00
// Set up admin user
$random_password = substr ( md5 ( uniqid ( microtime ())), 0 , 6 );
2005-03-05 03:27:08 +01:00
$wpdb -> query ( " INSERT INTO $wpdb->users (ID, user_login, user_pass, user_nickname, user_email, user_level, user_idmode, user_registered) VALUES ( '1', 'admin', MD5(' $random_password '), ' " . addslashes ( __ ( 'Administrator' )) . " ', ' $admin_email ', '10', 'nickname', NOW() ) " );
2004-08-21 22:48:32 +02:00
2005-04-14 01:25:48 +02:00
$message_headers = 'From: ' . stripslashes ( $_POST [ 'weblog_title' ]) . ' <wordpress@' . $_SERVER [ 'SERVER_NAME' ] . '>' ;
2005-02-28 00:09:58 +01:00
$message = sprintf ( __ ( " Your new WordPress blog has been successfully set up at:
2004-08-21 22:48:32 +02:00
2005-02-28 00:09:58 +01:00
% 1 \ $s
2004-08-21 22:48:32 +02:00
You can log in to the administrator account with the following information :
Username : admin
2005-02-28 00:09:58 +01:00
Password : % 2 \ $s
2004-08-21 22:48:32 +02:00
We hope you enjoy your new weblog . Thanks !
-- The WordPress Team
http :// wordpress . org /
2005-02-28 00:09:58 +01:00
" ), $guessurl , $random_password );
2005-02-11 02:31:23 +01:00
2005-02-28 00:09:58 +01:00
@ mail ( $admin_email , __ ( 'New WordPress Blog' ), $message , $message_headers );
2004-09-05 03:22:17 +02:00
upgrade_all ();
2003-05-23 13:07:05 +02:00
?>
2005-02-28 00:09:58 +01:00
< p >< em >< ? php _e ( 'Finished!' ); ?> </em></p>
2003-05-23 13:07:05 +02:00
2005-03-13 18:06:18 +01:00
< p >< ? php printf ( __ ( 'Now you can <a href="%1$s">log in</a> with the <strong>username</strong> "<code>admin</code>" and <strong>password</strong> "<code>%2$s</code>".' ), '../wp-login.php' , $random_password ); ?> </p>
2005-03-02 16:42:59 +01:00
< p >< ? php _e ( '<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you. If you lose it, you will have to delete the tables from the database yourself, and re-install WordPress. So to review:' ); ?>
2003-05-23 13:07:05 +02:00
</ p >
2004-07-23 10:45:55 +02:00
< dl >
2005-03-13 18:06:18 +01:00
< dt >< ? php _e ( 'Username' ); ?> </dt>
2004-07-23 10:45:55 +02:00
< dd >< code > admin </ code ></ dd >
2005-02-28 00:09:58 +01:00
< dt >< ? php _e ( 'Password' ); ?> </dt>
2004-07-23 10:45:55 +02:00
< dd >< code >< ? php echo $random_password ; ?> </code></dd>
2005-02-28 00:09:58 +01:00
< dt >< ? php _e ( 'Login address' ); ?> </dt>
2004-09-05 03:22:17 +02:00
< dd >< a href = " ../wp-login.php " > wp - login . php </ a ></ dd >
2004-07-23 10:45:55 +02:00
</ dl >
2005-02-28 00:09:58 +01:00
< p >< ? php _e ( 'Were you expecting more steps? Sorry to disappoint. All done! :)' ); ?> </p>
2003-05-23 13:07:05 +02:00
< ? php
break ;
}
?>
2005-02-28 00:09:58 +01:00
< p id = " footer " >< ? php _e ( '<a href="http://wordpress.org/">WordPress</a>, personal publishing platform.' ); ?> </p>
2003-05-23 13:07:05 +02:00
</ body >
2004-10-26 18:28:43 +02:00
</ html >