summaryrefslogtreecommitdiffstats
path: root/index.php
diff options
context:
space:
mode:
authormatt <matt@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-07-12 18:58:58 +0000
committermatt <matt@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-07-12 18:58:58 +0000
commitd30fed14c7a112762e2255690302394b8771f40f (patch)
tree26f12f7cc33942ec84706c8a3ce0318086f7c819 /index.php
parentfc65ef3634975b1bbedb5b064b9745c7ce6cbab5 (diff)
downloadwordpress-mu-d30fed14c7a112762e2255690302394b8771f40f.tar.gz
wordpress-mu-d30fed14c7a112762e2255690302394b8771f40f.tar.xz
wordpress-mu-d30fed14c7a112762e2255690302394b8771f40f.zip
Updating svn:eol-style
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@13 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'index.php')
-rw-r--r--index.php782
1 files changed, 391 insertions, 391 deletions
diff --git a/index.php b/index.php
index ff6925f..3d4b01f 100644
--- a/index.php
+++ b/index.php
@@ -1,391 +1,391 @@
-<?php
-define('WP_INSTALLING', true);
-
-function printheader() {
- print '
-<!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">
-<head>
- <title>WordPress &rsaquo; Installation</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style media="screen" type="text/css">
- <!--
- html {
- background: #eee;
- }
- body {
- background: #fff;
- color: #000;
- font-family: Georgia, "Times New Roman", Times, serif;
- margin-left: 20%;
- margin-right: 20%;
- padding: .2em 2em;
- }
-
- h1 {
- color: #006;
- font-size: 18px;
- font-weight: lighter;
- }
-
- h2 {
- font-size: 16px;
- }
-
- p, li, dt {
- line-height: 140%;
- padding-bottom: 2px;
- }
-
- ul, ol {
- padding: 5px 5px 5px 20px;
- }
- #logo {
- margin-bottom: 2em;
- }
-.step a, .step input {
- font-size: 2em;
-}
-.step, th {
- text-align: right;
-}
-#footer {
-text-align: center; border-top: 1px solid #ccc; padding-top: 1em; font-style: italic;
-}
-.fakelink {
- color: #00a;
- text-decoration: underline;
-}
- -->
- </style>
-</head>
-<body>
-
-<div align="center"><img src="wp-inst/wp-images/wordpress-mu.png"></div><br>
-Welcome to WordPress MU, the Multi User Weblog System built on WordPress.<br><br>
-';
-}
-
-function check_writeable_dir( $dir, $ret )
-{
- if( is_writeable( $dir ) == false )
- {
- print $dir." : <b style='color: #f55'>FAILED</b><br>Quick Fix: <code>chmod 777 $dir</code><br>";
- return false;
- }
- else
- {
- if( $ret == true )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-}
-
-function do_htaccess( $oldfilename, $newfilename, $realpath, $base, $url )
-{
- // remove ending slash from $base and $url
- $htaccess = '';
- if( substr($base, -1 ) == '/') {
- $base = substr($base, 0, -1);
- }
-
- if( substr($url, -1 ) == '/') {
- $url = substr($url, 0, -1);
- }
- if( is_file( $oldfilename ) )
- {
- $fp = fopen( $oldfilename, "r" );
- if( $fp )
- {
- while( !feof( $fp ) )
- {
- $htaccess .= fgets( $fp, 4096 );
- }
- fclose( $fp );
- $htaccess = str_replace( "REALPATH", $realpath, $htaccess );
- $htaccess = str_replace( "BASE", $base, $htaccess );
- $htaccess = str_replace( "HOST", $url, $htaccess );
- $fp = fopen( $newfilename, "w" );
- fwrite( $fp, $htaccess );
- fclose( $fp );
- }
- }
-}
-
-function checkdirs() {
- $ret = true;
- $ret = check_writeable_dir( dirname(__FILE__), $ret );
- $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst", $ret );
- $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst/wp-content/", $ret );
- $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-templates", $ret );
-
- if( $ret == false )
- {
- print "<h2>Warning!</h2>";
- print "<div style='border: 1px solid #ccc'>";
- print "<p style='font-weight: bold; padding-left: 10px'>One or more of the above directories must be made writeable by the webserver.<br>";
- print "Please <code>chmod 777 <q>directory-name</q></code> or <code>chown</code> that directory to the user the web server runs as (usually nobody, apache, or www-data)<br>";
- print "Refresh this page when you're done!<br></p>";
- print "</div>";
- }
-
- return $ret;
-}
-
-function step1() {
- print "You're probably seeing this message because you're installing WPMU!<br><br>";
- print "If it's already installed, then <b>mod_rewrite</b> is disabled. Ask your administrator to enable that module, or look at the <a href='http://httpd.apache.org/docs/mod/mod_rewrite.html'>Apache documentation</a> or <a href='http://www.google.com/search?q=apache+mod_rewrite'>elsewhere</a> for help setting it up.<br><br>";
- if( checkdirs() == false ) {
- return false;
- }
-
- // Create default template cache dirs
- @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-cache" , 0777 );
- @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-templates_c" , 0777 );
-
- // Create Blogs living area.
- @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/blogs.dir", 0777 );
-
-
- $url = "http://".$_SERVER["SERVER_NAME"] . dirname( $_SERVER[ "SCRIPT_NAME" ] );
- if( substr( $url, -1 ) == '/' )
- $url = substr( $url, 0, -1 );
- $base = dirname( $_SERVER["SCRIPT_NAME"] );
- if( $base == "/")
- {
- $base = "";
- }
- $realpath = dirname(__FILE__);
-
- if( is_file( dirname(__FILE__) . "./wp-inst/wpmu-settings.php" ) == false )
- {
- $configfile = '';
- $fp = fopen( "./wp-inst/wpmu-settings.php.dist", "r" );
- if( $fp )
- {
- while( !feof( $fp ) )
- {
- $configfile .= fgets( $fp, 4096 );
- }
- fclose( $fp );
- }
- $configfile = str_replace( "BASE", $base."/", $configfile );
- $fp = fopen( "./wp-inst/wpmu-settings.php", "w" );
- fwrite( $fp, $configfile );
- fclose( $fp );
- }
- return true;
-}
-
-function printstep1form( $dbname = 'wordpress', $uname = 'username', $pwd = 'password', $dbhost = 'localhost', $prefix = 'wp_' ) {
- print "
- <form method='post' action='index.php'>
- <input type='hidden' name='action' value='step2'>
- <h1>Virtual Server Support</h1>
- <p><strong>Do you want to enable virtual server support?&nbsp;&nbsp;&nbsp;Yes <input type='radio' name='vhost' value='yes'> No <input type='radio' name='vhost' value='no' checked></strong></p>
- <p>If you do, your blog addresses will appear like <span class='fakelink'>http://joesblog.example.com/</span> instead of <span class='fakelink'>http://www.example.com/joesblog/</span> but you need to do a few more things to Apache and your DNS settings before it'll work.<br />
- If this is your first time installing WPMU then leave this at <em>No</em>.</p>
- <br />
- <h1>Database</h1>
-<p>We need some information on the database. You will need to know the following items before proceeding.</p>
-<ol>
- <li>Database name</li>
- <li>Database username</li>
- <li>Database password</li>
- <li>Database host</li>
- <li>Table prefix (if you want to run more than one WordPress in a single database) </li>
-</ol>
-<p><strong>If for any reason this automatic file creation doesn't work, don't worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>. </strong></p>
-
- <p>Below you should enter your database connection details. If you're not sure about these, contact your host. </p>
- <table>
- <tr>
- <th scope='row'>Database Name</th>
- <td><input name='dbname' type='text' size='45' value='".$dbname."' /></td>
- <td>The name of the database you want to run WP in. </td>
- </tr>
- <tr>
- <th scope='row'>User Name</th>
- <td><input name='uname' type='text' size='45' value='".$uname."' /></td>
- <td>Your MySQL username</td>
- </tr>
- <tr>
- <th scope='row'>Password</th>
- <td><input name='pwd' type='text' size='45' value='".$pwd."' /></td>
- <td>...and MySQL password.</td>
- </tr>
- <tr>
- <th scope='row'>Database Host</th>
- <td><input name='dbhost' type='text' size='45' value='".$dbhost."' /></td>
- <td>99% chance you won't need to change this value.</td>
- </tr>
- <tr>
- <th scope='row'>Table Prefix</th>
- <td><input name='prefix' type='text' id='prefix' value='".$prefix."' size='45' /></td>
- <td>If you want to run multiple WordPress installations in a single database, change this.</td>
- </tr>
- </table>
- <input name='submit' type='submit' value='Submit' />
-</form> ";
-}
-
-function step2() {
- $dbname = $_POST['dbname'];
- $uname = $_POST['uname'];
- $passwrd = $_POST['pwd'];
- $dbhost = $_POST['dbhost'];
- $vhost = $_POST['vhost' ];
- $prefix = $_POST['prefix'];
- if (empty($prefix)) $prefix = 'wp_';
-
- // Test the db connection.
- define('DB_NAME', $dbname);
- define('DB_USER', $uname);
- define('DB_PASSWORD', $passwrd);
- define('DB_HOST', $dbhost);
-
- if (!file_exists('wp-inst/wp-config-sample.php'))
- die('Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.');
-
- $configFile = file('wp-inst/wp-config-sample.php');
- // We'll fail here if the values are no good.
- require_once('wp-inst/wp-includes/wp-db.php');
- printheader();
-
- print "Creating Database Config File: ";
-
- $handle = fopen('wp-inst/wp-config.php', 'w');
-
- foreach ($configFile as $line_num => $line) {
- switch (substr($line,0,16)) {
- case "define('DB_NAME'":
- fwrite($handle, str_replace("wordpress", $dbname, $line));
- break;
- case "define('DB_USER'":
- fwrite($handle, str_replace("'username'", "'$uname'", $line));
- break;
- case "define('DB_PASSW":
- fwrite($handle, str_replace("'password'", "'$passwrd'", $line));
- break;
- case "define('DB_HOST'":
- fwrite($handle, str_replace("localhost", $dbhost, $line));
- break;
- case "define('VHOST', ":
- fwrite($handle, str_replace("VHOSTSETTING", $vhost, $line));
- break;
- case '$table_prefix =':
- fwrite($handle, str_replace('wp_', $prefix, $line));
- break;
- default:
- fwrite($handle, $line);
- }
- }
- fclose($handle);
- chmod('wp-inst/wp-config.php', 0666);
- print "<b style='color: #00aa00; font-weight: bold'>DONE</b><br />";
-}
-
-function printuserdetailsform( $weblog_title = 'My new Blog', $username = '', $email = '' ) {
- print "
- <form method='post' action='index.php'>
- <input type='hidden' name='action' value='step3'>
- <p>To finish setting up your blog, please fill in the folling form and click <q>Submit</q>.</p>
- <table width='100%'>
- <tr>
- <th scope='row'>Weblog&nbsp;Title</th>
- <td><input name='weblog_title' type='text' size='45' value='".$weblog_title."' /></td>
- <td>What would you like to call your weblog? </td>
- </tr>
- <tr>
- <th scope='row'>Email</th>
- <td><input name='email' type='text' size='45' value='".$email."' /></td>
- <td>Your email address.</td>
- </tr>
- </table>
- <input name='submit' type='submit' value='Submit' />
- </form>
- <br />
- You will be sent an email with your password and login links and details.";
-}
-
-function step3() {
- global $wpdb;
- $base = dirname( $_SERVER["SCRIPT_NAME"] );
- $domain = $_SERVER[ 'HTTP_HOST' ];
-
- $hostname = $_SERVER["HTTP_HOST"];
-
- $email = $wpdb->escape( $_POST[ 'email' ] );
- $weblog_title = $wpdb->escape( $_POST[ 'weblog_title' ] );
-
- // set up site tables
- $query = "INSERT INTO wp_sitemeta (meta_id, site_id, meta_key, meta_value) VALUES (1, 1, 'admin_email', '".$email."')";
- $wpdb->query( $query );
- $query = "INSERT INTO wp_sitemeta (meta_id, site_id, meta_key, meta_value) VALUES (2, 1, 'admin_user_id', '1')";
- $wpdb->query( $query );
-
-
- $res = create_blog( $domain, $base, 'admin', $weblog_title, $email);
- if( $res == 'ok' ) {
- if( $base == '/' ) {
- $url = "http://".$_SERVER["HTTP_HOST"] . '/';
- } else {
- $url = "http://".$_SERVER["HTTP_HOST"] . $base . '/';
- }
- $realpath = dirname(__FILE__);
- do_htaccess( "htaccess.dist", ".htaccess", $realpath, $base, $url );
- do_htaccess( "wp-inst/htaccess.dist", "wp-inst/.htaccess", $realpath, $base, $url );
-
- print "<p>Well Done! Your blog has been set up and you have been sent details of your login and password in an email.</p>";
- print "<p>You may view your new blog by visiting <a href='".$url."'>".$url."</a>!</p>";
- } else {
- if( $res == 'error: problem creating blog entry' ) {
- print "The <q>main</q> blog has already been created. Edit your blogs table and delete the entry for this domain!";
- } elseif( $res == 'error: username used' ) {
- print "The username you chose is already in use, please select another one.";
- }
- print "<br>result: $res<br>";
- printuserdetailsform( $_POST[ 'weblog_title' ], $_POST[ 'username' ], $_POST[ 'email' ] );
- }
-}
-
-switch( $_POST[ 'action' ] ) {
- case "step2":
- // get blog username
- // create wp-inst/wp-config.php
- step2();
- printuserdetailsform();
- break;
- case "step3":
- // call createBlog();
- // create .htaccess
- // print login info and links.
- require_once('./wp-inst/wp-config.php');
- require_once('./wp-inst/wp-admin/upgrade-functions.php');
- make_db_current_silent();
- populate_options();
- printheader();
- step3();
- break;
- default:
- // check that directories are writeable.
- // create wp-inst/wpmu-settings.php
- // get db auth info.
- printheader();
- if( step1() ) {
- printstep1form();
- }
- break;
-}
-?>
-<br /><br />
-<div align='center'>
-<a href="http://mu.wordpress.org/">WPMU</a> | <a href="http://mu.wordpress.org/forums/">Support Forums</a>
-</div>
-</body>
-</html>
+<?php
+define('WP_INSTALLING', true);
+
+function printheader() {
+ print '
+<!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">
+<head>
+ <title>WordPress &rsaquo; Installation</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style media="screen" type="text/css">
+ <!--
+ html {
+ background: #eee;
+ }
+ body {
+ background: #fff;
+ color: #000;
+ font-family: Georgia, "Times New Roman", Times, serif;
+ margin-left: 20%;
+ margin-right: 20%;
+ padding: .2em 2em;
+ }
+
+ h1 {
+ color: #006;
+ font-size: 18px;
+ font-weight: lighter;
+ }
+
+ h2 {
+ font-size: 16px;
+ }
+
+ p, li, dt {
+ line-height: 140%;
+ padding-bottom: 2px;
+ }
+
+ ul, ol {
+ padding: 5px 5px 5px 20px;
+ }
+ #logo {
+ margin-bottom: 2em;
+ }
+.step a, .step input {
+ font-size: 2em;
+}
+.step, th {
+ text-align: right;
+}
+#footer {
+text-align: center; border-top: 1px solid #ccc; padding-top: 1em; font-style: italic;
+}
+.fakelink {
+ color: #00a;
+ text-decoration: underline;
+}
+ -->
+ </style>
+</head>
+<body>
+
+<div align="center"><img src="wp-inst/wp-images/wordpress-mu.png"></div><br>
+Welcome to WordPress MU, the Multi User Weblog System built on WordPress.<br><br>
+';
+}
+
+function check_writeable_dir( $dir, $ret )
+{
+ if( is_writeable( $dir ) == false )
+ {
+ print $dir." : <b style='color: #f55'>FAILED</b><br>Quick Fix: <code>chmod 777 $dir</code><br>";
+ return false;
+ }
+ else
+ {
+ if( $ret == true )
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+}
+
+function do_htaccess( $oldfilename, $newfilename, $realpath, $base, $url )
+{
+ // remove ending slash from $base and $url
+ $htaccess = '';
+ if( substr($base, -1 ) == '/') {
+ $base = substr($base, 0, -1);
+ }
+
+ if( substr($url, -1 ) == '/') {
+ $url = substr($url, 0, -1);
+ }
+ if( is_file( $oldfilename ) )
+ {
+ $fp = fopen( $oldfilename, "r" );
+ if( $fp )
+ {
+ while( !feof( $fp ) )
+ {
+ $htaccess .= fgets( $fp, 4096 );
+ }
+ fclose( $fp );
+ $htaccess = str_replace( "REALPATH", $realpath, $htaccess );
+ $htaccess = str_replace( "BASE", $base, $htaccess );
+ $htaccess = str_replace( "HOST", $url, $htaccess );
+ $fp = fopen( $newfilename, "w" );
+ fwrite( $fp, $htaccess );
+ fclose( $fp );
+ }
+ }
+}
+
+function checkdirs() {
+ $ret = true;
+ $ret = check_writeable_dir( dirname(__FILE__), $ret );
+ $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst", $ret );
+ $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst/wp-content/", $ret );
+ $ret = check_writeable_dir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-templates", $ret );
+
+ if( $ret == false )
+ {
+ print "<h2>Warning!</h2>";
+ print "<div style='border: 1px solid #ccc'>";
+ print "<p style='font-weight: bold; padding-left: 10px'>One or more of the above directories must be made writeable by the webserver.<br>";
+ print "Please <code>chmod 777 <q>directory-name</q></code> or <code>chown</code> that directory to the user the web server runs as (usually nobody, apache, or www-data)<br>";
+ print "Refresh this page when you're done!<br></p>";
+ print "</div>";
+ }
+
+ return $ret;
+}
+
+function step1() {
+ print "You're probably seeing this message because you're installing WPMU!<br><br>";
+ print "If it's already installed, then <b>mod_rewrite</b> is disabled. Ask your administrator to enable that module, or look at the <a href='http://httpd.apache.org/docs/mod/mod_rewrite.html'>Apache documentation</a> or <a href='http://www.google.com/search?q=apache+mod_rewrite'>elsewhere</a> for help setting it up.<br><br>";
+ if( checkdirs() == false ) {
+ return false;
+ }
+
+ // Create default template cache dirs
+ @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-cache" , 0777 );
+ @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/smarty-templates_c" , 0777 );
+
+ // Create Blogs living area.
+ @mkdir( dirname(__FILE__) . "/wp-inst/wp-content/blogs.dir", 0777 );
+
+
+ $url = "http://".$_SERVER["SERVER_NAME"] . dirname( $_SERVER[ "SCRIPT_NAME" ] );
+ if( substr( $url, -1 ) == '/' )
+ $url = substr( $url, 0, -1 );
+ $base = dirname( $_SERVER["SCRIPT_NAME"] );
+ if( $base == "/")
+ {
+ $base = "";
+ }
+ $realpath = dirname(__FILE__);
+
+ if( is_file( dirname(__FILE__) . "./wp-inst/wpmu-settings.php" ) == false )
+ {
+ $configfile = '';
+ $fp = fopen( "./wp-inst/wpmu-settings.php.dist", "r" );
+ if( $fp )
+ {
+ while( !feof( $fp ) )
+ {
+ $configfile .= fgets( $fp, 4096 );
+ }
+ fclose( $fp );
+ }
+ $configfile = str_replace( "BASE", $base."/", $configfile );
+ $fp = fopen( "./wp-inst/wpmu-settings.php", "w" );
+ fwrite( $fp, $configfile );
+ fclose( $fp );
+ }
+ return true;
+}
+
+function printstep1form( $dbname = 'wordpress', $uname = 'username', $pwd = 'password', $dbhost = 'localhost', $prefix = 'wp_' ) {
+ print "
+ <form method='post' action='index.php'>
+ <input type='hidden' name='action' value='step2'>
+ <h1>Virtual Server Support</h1>
+ <p><strong>Do you want to enable virtual server support?&nbsp;&nbsp;&nbsp;Yes <input type='radio' name='vhost' value='yes'> No <input type='radio' name='vhost' value='no' checked></strong></p>
+ <p>If you do, your blog addresses will appear like <span class='fakelink'>http://joesblog.example.com/</span> instead of <span class='fakelink'>http://www.example.com/joesblog/</span> but you need to do a few more things to Apache and your DNS settings before it'll work.<br />
+ If this is your first time installing WPMU then leave this at <em>No</em>.</p>
+ <br />
+ <h1>Database</h1>
+<p>We need some information on the database. You will need to know the following items before proceeding.</p>
+<ol>
+ <li>Database name</li>
+ <li>Database username</li>
+ <li>Database password</li>
+ <li>Database host</li>
+ <li>Table prefix (if you want to run more than one WordPress in a single database) </li>
+</ol>
+<p><strong>If for any reason this automatic file creation doesn't work, don't worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>. </strong></p>
+
+ <p>Below you should enter your database connection details. If you're not sure about these, contact your host. </p>
+ <table>
+ <tr>
+ <th scope='row'>Database Name</th>
+ <td><input name='dbname' type='text' size='45' value='".$dbname."' /></td>
+ <td>The name of the database you want to run WP in. </td>
+ </tr>
+ <tr>
+ <th scope='row'>User Name</th>
+ <td><input name='uname' type='text' size='45' value='".$uname."' /></td>
+ <td>Your MySQL username</td>
+ </tr>
+ <tr>
+ <th scope='row'>Password</th>
+ <td><input name='pwd' type='text' size='45' value='".$pwd."' /></td>
+ <td>...and MySQL password.</td>
+ </tr>
+ <tr>
+ <th scope='row'>Database Host</th>
+ <td><input name='dbhost' type='text' size='45' value='".$dbhost."' /></td>
+ <td>99% chance you won't need to change this value.</td>
+ </tr>
+ <tr>
+ <th scope='row'>Table Prefix</th>
+ <td><input name='prefix' type='text' id='prefix' value='".$prefix."' size='45' /></td>
+ <td>If you want to run multiple WordPress installations in a single database, change this.</td>
+ </tr>
+ </table>
+ <input name='submit' type='submit' value='Submit' />
+</form> ";
+}
+
+function step2() {
+ $dbname = $_POST['dbname'];
+ $uname = $_POST['uname'];
+ $passwrd = $_POST['pwd'];
+ $dbhost = $_POST['dbhost'];
+ $vhost = $_POST['vhost' ];
+ $prefix = $_POST['prefix'];
+ if (empty($prefix)) $prefix = 'wp_';
+
+ // Test the db connection.
+ define('DB_NAME', $dbname);
+ define('DB_USER', $uname);
+ define('DB_PASSWORD', $passwrd);
+ define('DB_HOST', $dbhost);
+
+ if (!file_exists('wp-inst/wp-config-sample.php'))
+ die('Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.');
+
+ $configFile = file('wp-inst/wp-config-sample.php');
+ // We'll fail here if the values are no good.
+ require_once('wp-inst/wp-includes/wp-db.php');
+ printheader();
+
+ print "Creating Database Config File: ";
+
+ $handle = fopen('wp-inst/wp-config.php', 'w');
+
+ foreach ($configFile as $line_num => $line) {
+ switch (substr($line,0,16)) {
+ case "define('DB_NAME'":
+ fwrite($handle, str_replace("wordpress", $dbname, $line));
+ break;
+ case "define('DB_USER'":
+ fwrite($handle, str_replace("'username'", "'$uname'", $line));
+ break;
+ case "define('DB_PASSW":
+ fwrite($handle, str_replace("'password'", "'$passwrd'", $line));
+ break;
+ case "define('DB_HOST'":
+ fwrite($handle, str_replace("localhost", $dbhost, $line));
+ break;
+ case "define('VHOST', ":
+ fwrite($handle, str_replace("VHOSTSETTING", $vhost, $line));
+ break;
+ case '$table_prefix =':
+ fwrite($handle, str_replace('wp_', $prefix, $line));
+ break;
+ default:
+ fwrite($handle, $line);
+ }
+ }
+ fclose($handle);
+ chmod('wp-inst/wp-config.php', 0666);
+ print "<b style='color: #00aa00; font-weight: bold'>DONE</b><br />";
+}
+
+function printuserdetailsform( $weblog_title = 'My new Blog', $username = '', $email = '' ) {
+ print "
+ <form method='post' action='index.php'>
+ <input type='hidden' name='action' value='step3'>
+ <p>To finish setting up your blog, please fill in the folling form and click <q>Submit</q>.</p>
+ <table width='100%'>
+ <tr>
+ <th scope='row'>Weblog&nbsp;Title</th>
+ <td><input name='weblog_title' type='text' size='45' value='".$weblog_title."' /></td>
+ <td>What would you like to call your weblog? </td>
+ </tr>
+ <tr>
+ <th scope='row'>Email</th>
+ <td><input name='email' type='text' size='45' value='".$email."' /></td>
+ <td>Your email address.</td>
+ </tr>
+ </table>
+ <input name='submit' type='submit' value='Submit' />
+ </form>
+ <br />
+ You will be sent an email with your password and login links and details.";
+}
+
+function step3() {
+ global $wpdb;
+ $base = dirname( $_SERVER["SCRIPT_NAME"] );
+ $domain = $_SERVER[ 'HTTP_HOST' ];
+
+ $hostname = $_SERVER["HTTP_HOST"];
+
+ $email = $wpdb->escape( $_POST[ 'email' ] );
+ $weblog_title = $wpdb->escape( $_POST[ 'weblog_title' ] );
+
+ // set up site tables
+ $query = "INSERT INTO wp_sitemeta (meta_id, site_id, meta_key, meta_value) VALUES (1, 1, 'admin_email', '".$email."')";
+ $wpdb->query( $query );
+ $query = "INSERT INTO wp_sitemeta (meta_id, site_id, meta_key, meta_value) VALUES (2, 1, 'admin_user_id', '1')";
+ $wpdb->query( $query );
+
+
+ $res = create_blog( $domain, $base, 'admin', $weblog_title, $email);
+ if( $res == 'ok' ) {
+ if( $base == '/' ) {
+ $url = "http://".$_SERVER["HTTP_HOST"] . '/';
+ } else {
+ $url = "http://".$_SERVER["HTTP_HOST"] . $base . '/';
+ }
+ $realpath = dirname(__FILE__);
+ do_htaccess( "htaccess.dist", ".htaccess", $realpath, $base, $url );
+ do_htaccess( "wp-inst/htaccess.dist", "wp-inst/.htaccess", $realpath, $base, $url );
+
+ print "<p>Well Done! Your blog has been set up and you have been sent details of your login and password in an email.</p>";
+ print "<p>You may view your new blog by visiting <a href='".$url."'>".$url."</a>!</p>";
+ } else {
+ if( $res == 'error: problem creating blog entry' ) {
+ print "The <q>main</q> blog has already been created. Edit your blogs table and delete the entry for this domain!";
+ } elseif( $res == 'error: username used' ) {
+ print "The username you chose is already in use, please select another one.";
+ }
+ print "<br>result: $res<br>";
+ printuserdetailsform( $_POST[ 'weblog_title' ], $_POST[ 'username' ], $_POST[ 'email' ] );
+ }
+}
+
+switch( $_POST[ 'action' ] ) {
+ case "step2":
+ // get blog username
+ // create wp-inst/wp-config.php
+ step2();
+ printuserdetailsform();
+ break;
+ case "step3":
+ // call createBlog();
+ // create .htaccess
+ // print login info and links.
+ require_once('./wp-inst/wp-config.php');
+ require_once('./wp-inst/wp-admin/upgrade-functions.php');
+ make_db_current_silent();
+ populate_options();
+ printheader();
+ step3();
+ break;
+ default:
+ // check that directories are writeable.
+ // create wp-inst/wpmu-settings.php
+ // get db auth info.
+ printheader();
+ if( step1() ) {
+ printstep1form();
+ }
+ break;
+}
+?>
+<br /><br />
+<div align='center'>
+<a href="http://mu.wordpress.org/">WPMU</a> | <a href="http://mu.wordpress.org/forums/">Support Forums</a>
+</div>
+</body>
+</html>