aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2003-03-17 17:34:20 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2003-03-17 17:34:20 +0000
commitf81602d72bb1378e1bbdbd6996549ceab8ba597b (patch)
tree34e90fad7af3e62b35133820a6393c95c395cb36
parent28ed4efed1bfc2319c6b4db4d357ea10bb1c3d0a (diff)
downloadforums-f81602d72bb1378e1bbdbd6996549ceab8ba597b.tar
forums-f81602d72bb1378e1bbdbd6996549ceab8ba597b.tar.gz
forums-f81602d72bb1378e1bbdbd6996549ceab8ba597b.tar.bz2
forums-f81602d72bb1378e1bbdbd6996549ceab8ba597b.tar.xz
forums-f81602d72bb1378e1bbdbd6996549ceab8ba597b.zip
It's alive! It's alive! ...
git-svn-id: file:///svn/phpbb/trunk@3659 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/install/install.php939
1 files changed, 457 insertions, 482 deletions
diff --git a/phpBB/install/install.php b/phpBB/install/install.php
index afb74c219a..f3598dc8cf 100644
--- a/phpBB/install/install.php
+++ b/phpBB/install/install.php
@@ -19,11 +19,13 @@
*
***************************************************************************/
-error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
+//error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
+error_reporting (E_ERROR | E_WARNING | E_PARSE | E_WARNING); // This will NOT report uninitialized variables
set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
-if ( !get_magic_quotes_gpc() )
+if (!get_magic_quotes_gpc())
{
+ $_REQUEST = slash_input_data($_REQUEST);
$_GET = slash_input_data($_GET);
$_POST = slash_input_data($_POST);
}
@@ -34,44 +36,23 @@ require($phpbb_root_path . 'extension.inc');
require($phpbb_root_path . 'includes/functions.'.$phpEx);
-/***************************************************************************
- * Install Customization Section
- *
- * This section can be modified to set up some basic default information
- * used by the install script. Specifically the default theme data
- * and the default template.
- *
- **************************************************************************/
-$default_language = 'en';
-
-if ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) )
-{
- $accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
- foreach ( $accept_lang_ary as $accept_lang )
- {
- // Set correct format ... guess full xx_YY form
- $accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
- if ( file_exists($phpbb_root_path . 'language/' . $accept_lang) )
- {
- $default_language = $accept_lang;
- break;
- }
- else
- {
- // No match on xx_YY so try xx
- $accept_lang = substr($accept_lang, 0, 2);
- if ( file_exists($phpbb_root_path . 'language/' . $accept_lang) )
- {
- $default_language = $accept_lang;
- break;
- }
- }
- }
-}
+// Set some vars
+define('ANONYMOUS', 1);
+define('ACL_DENY', 0);
+define('ACL_ALLOW', 1);
+define('ACL_INHERIT', 2);
+$default_language = 'en';
$default_template = 'subSilver';
$available_dbms = array(
+ 'firebird' => array(
+ 'LABEL' => 'FireBird',
+ 'SCHEMA' => 'firebird',
+ 'DELIM' => ';',
+ 'DELIM_BASIC' => ';',
+ 'COMMENTS' => 'remove_remarks'
+ ),
'mysql' => array(
'LABEL' => 'MySQL 3.x',
'SCHEMA' => 'mysql',
@@ -86,13 +67,6 @@ $available_dbms = array(
'DELIM_BASIC' => ';',
'COMMENTS' => 'remove_remarks'
),
- 'postgres' => array(
- 'LABEL' => 'PostgreSQL 7.x',
- 'SCHEMA' => 'postgres',
- 'DELIM' => ';',
- 'DELIM_BASIC' => ';',
- 'COMMENTS' => 'remove_comments'
- ),
'mssql' => array(
'LABEL' => 'MS SQL Server 7/2000',
'SCHEMA' => 'mssql',
@@ -113,103 +87,113 @@ $available_dbms = array(
'DELIM' => 'GO',
'DELIM_BASIC' => ';',
'COMMENTS' => 'remove_comments'
- )
+ ),
+ 'postgres' => array(
+ 'LABEL' => 'PostgreSQL 7.x',
+ 'SCHEMA' => 'postgres',
+ 'DELIM' => ';',
+ 'DELIM_BASIC' => ';',
+ 'COMMENTS' => 'remove_comments'
+ ),
);
-//
-// Uncomment the following line to completely disable the ftp option...
-//
-// define('NO_FTP', true);
-
-/***************************************************************************
-*
-* End Install Customization Section
-*
-***************************************************************************/
-
-//
-// Try opening config file
-//
-if ( @file_exists('../config.'.$phpEx) )
+// Try and load an appropriate language
+if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
- include('../config.'.$phpEx);
+ $accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
+ foreach ($accept_lang_ary as $accept_lang)
+ {
+ // Set correct format ... guess full xx_YY form
+ $accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
+ if (file_exists($phpbb_root_path . 'language/' . $accept_lang))
+ {
+ $default_language = $accept_lang;
+ break;
+ }
+ else
+ {
+ // No match on xx_YY so try xx
+ $accept_lang = substr($accept_lang, 0, 2);
+ if (file_exists($phpbb_root_path . 'language/' . $accept_lang))
+ {
+ $default_language = $accept_lang;
+ break;
+ }
+ }
+ }
}
-//
// Obtain various vars
-//
-$confirm = ( isset($_POST['confirm']) ) ? true : false;
-$cancel = ( isset($_POST['cancel']) ) ? true : false;
-
-if ( isset($_POST['install_step']) || isset($_GET['install_step']) )
-{
- $install_step = ( isset($_POST['install_step']) ) ? $_POST['install_step'] : $_GET['install_step'];
-}
-else
-{
- $install_step = '';
-}
-
-$upgrade = ( !empty($_POST['upgrade']) ) ? $_POST['upgrade']: '';
-$upgrade_now = ( !empty($_POST['upgrade_now']) ) ? $_POST['upgrade_now']:'';
+$confirm = (isset($_POST['confirm'])) ? true : false;
+$cancel = (isset($_POST['cancel'])) ? true : false;
+$install_step = (isset($_REQUEST['install_step'])) ? $_REQUEST['install_step'] : '';
+$upgrade = (!empty($_POST['upgrade'])) ? $_POST['upgrade']: '';
+$upgrade_now = (!empty($_POST['upgrade_now'])) ? $_POST['upgrade_now']:'';
+$language = (!empty($_POST['language'])) ? htmlspecialchars($_POST['language']) : $default_language;
$dbms = isset($_POST['dbms']) ? $_POST['dbms'] : '';
-$language = ( !empty($_POST['language']) ) ? $_POST['language'] : $default_language;
+$dbhost = (!empty($_POST['dbhost'])) ? $_POST['dbhost'] : '';
+$dbuser = (!empty($_POST['dbuser'])) ? $_POST['dbuser'] : '';
+$dbpasswd = (!empty($_POST['dbpasswd'])) ? $_POST['dbpasswd'] : '';
+$dbname = (!empty($_POST['dbname'])) ? $_POST['dbname'] : '';
+$table_prefix = (!empty($_POST['prefix'])) ? $_POST['prefix'] : '';
-$dbhost = ( !empty($_POST['dbhost']) ) ? $_POST['dbhost'] : '';
-$dbuser = ( !empty($_POST['dbuser']) ) ? $_POST['dbuser'] : '';
-$dbpasswd = ( !empty($_POST['dbpasswd']) ) ? $_POST['dbpasswd'] : '';
-$dbname = ( !empty($_POST['dbname']) ) ? $_POST['dbname'] : '';
+$admin_name = (!empty($_POST['admin_name'])) ? htmlspecialchars($_POST['admin_name']) : '';
+$admin_pass1 = (!empty($_POST['admin_pass1'])) ? htmlspecialchars($_POST['admin_pass1']) : '';
+$admin_pass2 = (!empty($_POST['admin_pass2'])) ? htmlspecialchars($_POST['admin_pass2']) : '';
+$board_email1 = (!empty($_POST['board_email1'])) ? htmlspecialchars($_POST['board_email1']) : '';
+$board_email2 = (!empty($_POST['board_email2'])) ? htmlspecialchars($_POST['board_email2']) : '';
-$table_prefix = ( !empty($_POST['prefix']) ) ? $_POST['prefix'] : '';
+$server_name = (!empty($_POST['server_name'])) ? htmlspecialchars($_POST['server_name']) : '';
+$server_port = (!empty($_POST['server_port'])) ? htmlspecialchars($_POST['server_port']) : '';
+$script_path = (!empty($_POST['script_path'])) ? htmlspecialchars($_POST['script_path']) : '';
-$admin_name = ( !empty($_POST['admin_name']) ) ? $_POST['admin_name'] : '';
-$admin_pass1 = ( !empty($_POST['admin_pass1']) ) ? $_POST['admin_pass1'] : '';
-$admin_pass2 = ( !empty($_POST['admin_pass2']) ) ? $_POST['admin_pass2'] : '';
+$ftp_path = (!empty($_POST['ftp_path'])) ? $_POST['ftp_path'] : '';
+$ftp_user = (!empty($_POST['ftp_user'])) ? $_POST['ftp_user'] : '';
+$ftp_pass = (!empty($_POST['ftp_pass'])) ? $_POST['ftp_pass'] : '';
-$ftp_path = ( !empty($_POST['ftp_path']) ) ? $_POST['ftp_path'] : '';
-$ftp_user = ( !empty($_POST['ftp_user']) ) ? $_POST['ftp_user'] : '';
-$ftp_pass = ( !empty($_POST['ftp_pass']) ) ? $_POST['ftp_pass'] : '';
-$server_name = ( !empty($_POST['server_name']) ) ? $_POST['server_name'] : '';
-$server_port = ( !empty($_POST['server_port']) ) ? $_POST['server_port'] : '';
-$board_email = ( !empty($_POST['board_email']) ) ? $_POST['board_email'] : '';
-$script_path = ( !empty($_POST['script_path']) ) ? $_POST['script_path'] : '';
+// Try opening config file
+if (@file_exists('../config.'.$phpEx))
+{
+// include('../config.'.$phpEx);
+}
+
-//
// Do we install/upgrade/update or quit back to index?
-//
-if ( !defined('PHPBB_INSTALLED') )
+if (defined('PHPBB_INSTALLED'))
{
- include($phpbb_root_path . 'includes/session.'.$phpEx);
- include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
+// redirect("../index.$phpEx");
+}
- // Import language file, setup template ...
- include($phpbb_root_path . 'language/' . $language . '/lang_main.'.$phpEx);
- include($phpbb_root_path . 'language/' . $language . '/lang_admin.'.$phpEx);
+// Include essential scripts
+include($phpbb_root_path . 'includes/session.'.$phpEx);
+include($phpbb_root_path . 'includes/acm/cache_file.'.$phpEx);
+include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
- if ( $upgrade == 1 )
- {
- require('upgrade.'.$phpEx);
- $install_step = 1;
- }
-}
-else
+// Import language file, setup template ...
+include($phpbb_root_path . 'language/' . $language . '/lang_main.'.$phpEx);
+include($phpbb_root_path . 'language/' . $language . '/lang_admin.'.$phpEx);
+
+// If we're upgrading include that script
+if ($upgrade)
{
- header("Location: ../index.$phpEx");
- exit;
+ require('upgrade.' . $phpEx);
+ $install_step = 1;
}
-//
+// Instantiate classes for future use
+$user = new user();
+$auth = new auth();
+$cache = new acm();
+
+
// What shall we do?
-//
-if ( !empty($_POST['send_file']) && $_POST['send_file'] == 1 && !defined("PHPBB_INSTALLED") && empty($_POST['upgrade_now']) )
+if (!empty($_POST['send_file']) && $_POST['send_file'] == 1 && !defined('PHPBB_INSTALLED') && empty($_POST['upgrade_now']))
{
- //
// We need to stripslashes no matter what the setting of magic_quotes_gpc is
// because we add slahes at the top if its off, and they are added automaticlly
// if it is on.
- //
$_POST['config_data'] = stripslashes($_POST['config_data']);
header("Content-Type: text/x-delimtext; name=\"config.$phpEx\"");
@@ -218,192 +202,187 @@ if ( !empty($_POST['send_file']) && $_POST['send_file'] == 1 && !defined("PHPBB
exit;
}
-else if ( !empty($_POST['send_file']) && $_POST['send_file'] == 2 && !defined("PHPBB_INSTALLED") )
+else if (!empty($_POST['send_file']) && $_POST['send_file'] == 2 && !defined("PHPBB_INSTALLED"))
{
- //
// Ok we couldn't write the config file so let's try ftping it.
- //
-
$_POST['config_data'] = stripslashes($_POST['config_data']);
$s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars($_POST['config_data']) . '" />';
$s_hidden_fields .= '<input type="hidden" name="ftp_file" value="1" />';
- if ( $upgrade == 1 )
+ if ($upgrade == 1)
{
$s_hidden_fields .= '<input type="hidden" name="upgrade" value="1" />';
}
- $template->assign_block_vars("switch_ftp_file", array());
- $template->assign_block_vars("switch_common_install", array());
-
- $template->assign_vars(array(
- "L_INSTRUCTION_TEXT" => $lang['ftp_instructs'],
- "L_FTP_INFO" => $lang['ftp_info'],
- "L_FTP_PATH" => $lang['ftp_path'],
- "L_FTP_PASS" => $lang['ftp_password'],
- "L_FTP_USER" => $lang['ftp_username'],
- "L_SUBMIT" => $lang['Transfer_config'],
-
- "S_HIDDEN_FIELDS" => $s_hidden_fields,
- "S_FORM_ACTION" => "install.$phpEx")
- );
+ page_header($lang['ftp_instructs']);
- $template->pparse("body");
+?>
+ <tr>
+ <th colspan="2"><?php echo $lang['ftp_info']; ?></th>
+ </tr>
+ <tr>
+ <td class="row1" align="right"><span class="gen"><?php echo $lang['ftp_path']; ?></span></td>
+ <td class="row2"><input type="text" name="ftp_dir"></td>
+ </tr>
+ <tr>
+ <td class="row1" align="right"><span class="gen"><?php echo $lang['ftp_password']; ?></span></td>
+ <td class="row2"><input type="text" name="ftp_user"></td>
+ </tr>
+ <tr>
+ <td class="row1" align="right"><span class="gen"><?php echo $lang['ftp_username']; ?></span></td>
+ <td class="row2"><input type="password" name="ftp_pass"></td>
+ </tr>
+<?php
+ page_common_form($s_hidden_fields, $lang['Transfer_config']);
+ page_footer();
exit;
}
-else if( !empty($_POST['ftp_file']) && !defined("PHPBB_INSTALLED") )
+else if (!empty($_POST['ftp_file']) && !defined("PHPBB_INSTALLED"))
{
- //
// Here we'll actually send the file...
- //
$_POST['config_data'] = stripslashes($_POST['config_data']);
$conn_id = @ftp_connect('localhost');
- $login_result = @ftp_login($conn_id, "$ftp_user", "$ftp_pass");
+ $login_result = @ftp_login($conn_id, $ftp_user, $ftp_pass);
- if ( !$conn_id || !$login_result )
+ if (!$conn_id || !$login_result)
{
- //
// Error couldn't get connected... Go back to option to send file...
- //
$s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars($_POST['config_data']) . '" />';
$s_hidden_fields .= '<input type="hidden" name="send_file" value="1" />';
page_header($lang['NoFTP_config'], "install.$phpEx");
- if ( $upgrade == 1 )
+ if ($upgrade)
{
$s_hidden_fields .= '<input type="hidden" name="upgrade" value="1" />';
- $s_hidden_fields .= '<input type="hidden" name="dbms" value="'.$dmbs.'" />';
- $s_hidden_fields .= '<input type="hidden" name="prefix" value="'.$table_prefix.'" />';
- $s_hidden_fields .= '<input type="hidden" name="dbhost" value="'.$dbhost.'" />';
- $s_hidden_fields .= '<input type="hidden" name="dbname" value="'.$dbname.'" />';
- $s_hidden_fields .= '<input type="hidden" name="dbuser" value="'.$dbuser.'" />';
- $s_hidden_fields .= '<input type="hidden" name="dbpasswd" value="'.$dbpasswd.'" />';
+ $s_hidden_fields .= '<input type="hidden" name="dbms" value="' . $dmbs . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="prefix" value="' . $table_prefix . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="dbhost" value="' . $dbhost . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="dbname" value="' . $dbname . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="dbuser" value="' . $dbuser . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="dbpasswd" value="' . $dbpasswd . '" />';
$s_hidden_fields .= '<input type="hidden" name="install_step" value="1" />';
$s_hidden_fields .= '<input type="hidden" name="admin_pass1" value="1" />';
$s_hidden_fields .= '<input type="hidden" name="admin_pass2" value="1" />';
- $s_hidden_fields .= '<input type="hidden" name="server_port" value="'.$server_port.'" />';
- $s_hidden_fields .= '<input type="hidden" name="server_name" value="'.$server_name.'" />';
- $s_hidden_fields .= '<input type="hidden" name="script_path" value="'.$script_path.'" />';
- $s_hidden_fields .= '<input type="hidden" name="board_email" value="'.$board_email.'" />';
-
- $template->assign_block_vars("switch_upgrade_install", array());
- $template->assign_vars(array(
- "L_UPGRADE_INST" => $lang['continue_upgrade'],
- "L_UPGRADE_SUBMIT" => $lang['upgrade_submit'])
- );
+ $s_hidden_fields .= '<input type="hidden" name="server_port" value="' . $server_port . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="server_name" value="' . $server_name . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="script_path" value="' . $script_path . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="board_email1" value="' . $board_email1 . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="board_email2" value="' . $board_email2 . '" />';
+
+ page_upgrade_form();
+ }
+ else
+ {
+ page_common_form($s_hidden_fields, $lang['Download_config']);
}
page_footer($lang['Download_config'], $s_hidden_fields);
-
exit;
}
else
{
- //
// Write out a temp file...
- //
$tmpfname = @tempnam('/tmp', 'cfg');
-
- @unlink($tmpfname); // unlink for safety on php4.0.3+
+ @unlink($tmpfname);
$fp = @fopen($tmpfname, 'w');
-
@fwrite($fp, $_POST['config_data']);
-
@fclose($fp);
- //
// Now ftp it across.
- //
@ftp_chdir($conn_id, $ftp_dir);
-
- $res = ftp_put($conn_id, '../config.'.$phpEx, $tmpfname, FTP_ASCII);
-
+ $res = @ftp_put($conn_id, 'config.' . $phpEx, $tmpfname, FTP_ASCII);
@ftp_quit($conn_id);
unlink($tmpfname);
- if( $upgrade == 1 )
+ if ($upgrade)
{
require('upgrade.'.$phpEx);
exit;
}
- //
- // Ok we are basically done with the install process let's go on and let the user
- // configure their board now. We are going to do this by calling the admin_board.php
- // from the normal board admin section.
- //
- $s_hidden_fields = '<input type="hidden" name="username" value="' . $admin_name . '" />';
- $s_hidden_fields .= '<input type="hidden" name="password" value="' . $admin_pass1 . '" />';
- $s_hidden_fields .= '<input type="hidden" name="redirect" value="adm/index.php" />';
- $s_hidden_fields .= '<input type="hidden" name="submit" value="' . $lang['Login'] . '" />';
-
- page_header($lang['Inst_Step_2'], "../login.$phpEx");
- page_footer($lang['Finish_Install'], $s_hidden_fields);
+ $sql = "SELECT *
+ FROM {$table_prefix}config";
+ $result = $db->sql_query($sql);
- exit();
- }
+ $config = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $config[$row['config_name']] = $row['config_value'];
+ }
+ $db->sql_freeresult($result);
+
+ // Log user in
+ $auth->login($admin_name, $admin_pass1);
+ page_header($lang['Inst_Step_2'], "../adm/index.$phpEx$SID");
+ page_footer($lang['Finish_Install'], $s_hidden_fields);
+ exit;
+ }
}
-else if ( ( empty($install_step) || $admin_pass1 != $admin_pass2 || empty($admin_pass1) || $dbhost == '' ) && !defined("PHPBB_INSTALLED") )
+else if ((empty($install_step) || $admin_pass1 != $admin_pass2 || $board_email1 != $board_email2 || empty($admin_pass1) || $dbhost == '') && !defined("PHPBB_INSTALLED"))
{
- //
// Ok we haven't installed before so lets work our way through the various
// steps of the install process. This could turn out to be quite a lengty
// process.
- //
+
// Step 0 gather the pertinant info for database setup...
// Namely dbms, dbhost, dbname, dbuser, and dbpasswd.
- //
- //
// Guess at some basic info used for install..
- //
- if ( !empty($_SERVER['SERVER_NAME']) || !empty($_ENV['SERVER_NAME']) )
+ if (!empty($_SERVER['SERVER_NAME']) || !empty($_ENV['SERVER_NAME']))
{
- $server_name = ( !empty($_SERVER['SERVER_NAME']) ) ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME'];
+ $server_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME'];
}
- else if ( !empty($_SERVER['HTTP_HOST']) || !empty($_ENV['HTTP_HOST']) )
+ else if (!empty($_SERVER['HTTP_HOST']) || !empty($_ENV['HTTP_HOST']))
{
- $server_name = ( !empty($_SERVER['HTTP_HOST']) ) ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST'];
+ $server_name = (!empty($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST'];
}
else
{
$server_name = '';
}
- if ( !empty($_SERVER['SERVER_PORT']) || !empty($_ENV['SERVER_PORT']) )
+ if (!empty($_SERVER['SERVER_PORT']) || !empty($_ENV['SERVER_PORT']))
{
- $server_port = ( !empty($_SERVER['SERVER_PORT']) ) ? $_SERVER['SERVER_PORT'] : $_ENV['SERVER_PORT'];
+ $server_port = (!empty($_SERVER['SERVER_PORT'])) ? $_SERVER['SERVER_PORT'] : $_ENV['SERVER_PORT'];
}
else
{
$server_port = '80';
}
- $script_path = preg_replace('/install\/install\.'.$phpEx.'/i', '', $_SERVER['PHP_SELF']);
+ $script_path = preg_replace('#install\/install\.'.$phpEx.'#i', '', $_SERVER['PHP_SELF']);
- //
- //
- //
+ // Generate installation form
$instruction_text = $lang['Inst_Step_0'];
-/*
- if ( (($_POST['admin_pass1'] != $_POST['admin_pass2']) && $install_step != '0') || ( empty($_POST['admin_pass1']) && !empty($dbhost)) )
+
+ if (!empty($install_step))
{
- $instruction_text = $lang['Password_mismatch'] . '<br />' . $instruction_text;
+ if ((($_POST['admin_pass1'] != $_POST['admin_pass2'])) ||
+ (empty($_POST['admin_pass1']) || empty($dbhost)) && $_POST['cur_lang'] == $language)
+ {
+ $error = $lang['Password_mismatch'];
+ }
+
+ if ((($_POST['board_email1'] != $_POST['board_email2'])) ||
+ (empty($_POST['board_email1']) || empty($dbhost)) && $_POST['cur_lang'] == $language)
+ {
+ $error = $lang['INSTALL_EMAIL_MISMATCH'];
+ }
}
-*/
+
$lang_options = language_select($language, 'language', '../language');
- foreach( $available_dbms as $dbms_name => $details )
+ foreach($available_dbms as $dbms_name => $details)
{
- $selected = ( $dbms_name == $dbms ) ? ' selected="selected' : '';
+ $selected = ($dbms_name == $dbms) ? ' selected="selected' : '';
$dbms_options .= '<option value="' . $dbms_name . '">' . $details['LABEL'] . '</option>';
}
@@ -421,42 +400,54 @@ else if ( ( empty($install_step) || $admin_pass1 != $admin_pass2 || empty($admin
</tr>
<tr>
<td class="row1" align="right" width="40%"><span class="gen"><?php echo $lang['Default_lang']; ?>: </span></td>
- <td class="row2"><?php echo $lang_options; ?></select></td>
+ <td class="row2"><select name="lang"><?php echo $lang_options; ?></select></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['dbms']; ?>: </span></td>
- <td class="row2"><select name="dbms" onchange="if(document.install_form.upgrade.options[upgrade.selectedIndex].value == 1) { document.install_form.dbms.selectedIndex=0}"><?php echo $dbms_options; ?></select></td>
+ <td class="row2"><select name="dbms" onchange="if (document.install_form.upgrade.options[upgrade.selectedIndex].value == 1) { document.install_form.dbms.selectedIndex=0}"><?php echo $dbms_options; ?></select></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Install_Method']; ?>: </span></td>
- <td class="row2"><select name="upgrade" onchange="if( this.options[this.selectedIndex].value == 1 ) { document.install_form.dbms.selectedIndex=0; }"><?php echo $upgrade_option; ?></select></td>
+ <td class="row2"><select name="upgrade" onchange="if (this.options[this.selectedIndex].value == 1) { document.install_form.dbms.selectedIndex=0; }"><?php echo $upgrade_option; ?></select></td>
</tr>
<tr>
<th colspan="2"><?php echo $lang['DB_config']; ?></th>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['DB_Host']; ?>: </span></td>
- <td class="row2"><input type="text" name="dbhost" value="<?php echo ( $dbhost != '' ) ? $dbhost : ''; ?>" /></td>
+ <td class="row2"><input type="text" name="dbhost" value="<?php echo ($dbhost != '') ? $dbhost : ''; ?>" /></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['DB_Name']; ?>: </span></td>
- <td class="row2"><input type="text" name="dbname" value="<?php echo ( $dbname != '' ) ? $dbname : ''; ?>" /></td>
+ <td class="row2"><input type="text" name="dbname" value="<?php echo ($dbname != '') ? $dbname : ''; ?>" /></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['DB_Username']; ?>: </span></td>
- <td class="row2"><input type="text" name="dbuser" value="<?php echo ( $dbuser != '' ) ? $dbuser : ''; ?>" /></td>
+ <td class="row2"><input type="text" name="dbuser" value="<?php echo ($dbuser != '') ? $dbuser : ''; ?>" /></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['DB_Password']; ?>: </span></td>
- <td class="row2"><input type="password" name="dbpasswd" value="<?php echo ( $dbpasswd != '' ) ? $dbpasswd : ''; ?>" /></td>
+ <td class="row2"><input type="password" name="dbpasswd" value="<?php echo ($dbpasswd != '') ? $dbpasswd : ''; ?>" /></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Table_Prefix']; ?>: </span></td>
- <td class="row2"><input type="text" name="prefix" value="<?php echo ( !empty($table_prefix) ) ? $table_prefix : 'phpbb_'; ?>" /></td>
+ <td class="row2"><input type="text" name="prefix" value="<?php echo (!empty($table_prefix)) ? $table_prefix : 'phpbb_'; ?>" /></td>
</tr>
<tr>
<th colspan="2"><?php echo $lang['Admin_config']; ?></th>
</tr>
+<?php
+
+ if ($error)
+ {
+?>
+ <tr>
+ <td class="row1" colspan="2" align="center"><span class="gen" style="color:red"><?php echo $error; ?></span></td>
+ </tr>
+<?php
+
+ }
+?>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Server_name']; ?>: </span></td>
<td class="row2"><input type="text" name="server_name" value="<?php echo $server_name; ?>" /></td>
@@ -471,19 +462,23 @@ else if ( ( empty($install_step) || $admin_pass1 != $admin_pass2 || empty($admin
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Admin_Username']; ?>: </span></td>
- <td class="row2"><input type="text" name="admin_name" value="<?php echo ( $admin_name != '' ) ? $admin_name : ''; ?>" /></td>
+ <td class="row2"><input type="text" name="admin_name" value="<?php echo ($admin_name != '') ? $admin_name : ''; ?>" /></td>
</tr>
<tr>
- <td class="row1" align="right"><span class="gen"><?php echo $lang['Admin_email']; ?>: </span></td>
- <td class="row2"><input type="text" name="board_email" value="<?php echo ( $board_email != '' ) ? $board_email : ''; ?>" /></td>
+ <td class="row1" align="right"><span class="gen"><?php echo $lang['ADMIN_EMAIL']; ?>: </span></td>
+ <td class="row2"><input type="text" name="board_email1" value="<?php echo ($board_email1 != '') ? $board_email1 : ''; ?>" /></td>
</tr>
<tr>
+ <td class="row1" align="right"><span class="gen"><?php echo $lang['ADMIN_EMAIL_CONFIRM']; ?>: </span></td>
+ <td class="row2"><input type="text" name="board_email2" value="<?php echo ($board_email2 != '') ? $board_email2 : ''; ?>" /></td>
+ </tr>
+ <tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Admin_Password']; ?>: </span></td>
- <td class="row2"><input type="password" name="admin_pass1" value="<?php echo ( $admin_pass1 != '' ) ? $admin_pass1 : ''; ?>" /></td>
+ <td class="row2"><input type="password" name="admin_pass1" value="<?php echo ($admin_pass1 != '') ? $admin_pass1 : ''; ?>" /></td>
</tr>
<tr>
<td class="row1" align="right"><span class="gen"><?php echo $lang['Admin_Password_confirm']; ?>: </span></td>
- <td class="row2"><input type="password" name="admin_pass2" value="<?php echo ( $admin_pass2 != '' ) ? $admin_pass2 : ''; ?>" /></td>
+ <td class="row2"><input type="password" name="admin_pass2" value="<?php echo ($admin_pass2 != '') ? $admin_pass2 : ''; ?>" /></td>
</tr>
<?php
@@ -495,303 +490,260 @@ else
{
$load_extensions = '';
- //
// Go ahead and create the DB, then populate it
//
- // MS Access is slightly different in that a pre-built, pre-
- // populated DB is supplied, all we need do here is update
- // the relevant entries
- //
- if ( isset($dbms) )
+ // MS Access is slightly different in that a pre-built, pre-populated DB is supplied,
+ // all we need do here is update the relevant entries
+ $check_exts = '';
+ $check_other = array();
+ switch ($dbms)
{
- switch ( $dbms )
- {
- case 'msaccess':
- case 'mssql-odbc':
- $check_exts = 'odbc';
- $check_other = 'odbc';
- break;
- case 'mssql':
- $check_exts = 'mssql';
- $check_other = 'sybase';
- break;
- case 'mysql':
- case 'mysql4':
- $check_exts = 'mysql';
- $check_other = 'mysql';
- break;
- case 'postgres':
- $check_exts = 'pgsql';
- $check_other = 'pgsql';
- break;
- }
+ case 'firebird':
+ $check_exts = 'interbase';
+ $check_other[] = 'interbase';
+ case 'mysql':
+ case 'mysql4':
+ $check_exts = 'mysql';
+ $check_other[] = 'mysql';
+ break;
+ case 'msaccess':
+ case 'mssql-odbc':
+ $check_exts = 'odbc';
+ $check_other[] = 'odbc';
+ break;
+ case 'mssql':
+ $check_exts = 'mssql';
+ $check_other[] = 'sybase';
+ break;
+ case 'postgres':
+ $check_exts = 'pgsql';
+ $check_other[] = 'pgsql';
+ break;
+ }
- if ( !extension_loaded( $check_exts ) && !extension_loaded( $check_other ) )
- {
-/* $template->assign_block_vars("switch_error_install", array());
+ // Add additionale extension checks to this array
+ $check_other = array_merge($check_other, array());
- $template->assign_vars(array(
- "L_ERROR_TITLE" => $lang['Installer_Error'],
- "L_ERROR" => $lang['Install_No_Ext'])
- );
- $template->pparse('body'); */
+ if (!extension_loaded($check_exts) && !extension_loaded($check_other))
+ {
+ // Try to load the Extensions
+ $loaded_extension = TRUE;
- // Try to load the Extensions
- $loaded_extension = FALSE;
+ if ((!@ini_get('safe_mode') || strtoupper(@ini_get('safe_mode')) == 'OFF') &&
+ (@ini_get('enable_dl') || strtoupper(@ini_get('enable_dl')) == 'ON'))
+ {
+ $suffix = ((defined('PHP_OS')) && (preg_match('#win#i', PHP_OS))) ? '.dll' : '.so';
- if ( (!@ini_get('safe_mode')) && (@ini_get('enable_dl')) )
+ if (!@extension_loaded($check_exts))
{
- $suffix = ( (defined('PHP_OS')) && (eregi('win', PHP_OS)) ) ? '.dll' : '.so';
-
- if (!@extension_loaded($check_exts))
+ if (!@dl($check_exts . $suffix))
{
- if (@dl($check_exts . $suffix))
- {
- $load_extensions .= ($load_extensions == '') ? $check_exts . $suffix : ',' . $check_exts . $suffix;
- $loaded_extension = TRUE;
- }
+ $loaded_extension = FALSE;
}
-
- if (!$loaded_extension)
+ else
{
- if (!@extension_loaded($check_other))
- {
- if (@dl($check_other . $suffix))
- {
- $load_extensions .= ($load_extensions == '') ? $check_other . $suffix : ',' . $check_other . $suffix;
- $loaded_extension = TRUE;
- }
- }
+ $load_extensions .= ($load_extensions == '') ? $check_exts . $suffix : ',' . $check_exts . $suffix;
}
-
}
-
- if (!$loaded_extension)
+
+ foreach ($check_other as $extension)
{
- die("Error during installation: no $check_exts extension");
+ if (!@extension_loaded($extension))
+ {
+ if (!@dl($extension . $suffix))
+ {
+ $loaded_extension = FALSE;
+ break;
+ }
+ else if ($loaded_extension)
+ {
+ $load_extensions .= ($load_extensions == '') ? $check_exts . $suffix : ',' . $check_exts . $suffix;
+ }
+ }
}
}
- include($phpbb_root_path . 'db/' . $dbms . '.' . $phpEx);
-
- $db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
- }
-
- // Add another Extension Checks here if you want, please do not specify the suffix
- $check_extensions = array();
- $suffix = ( (defined('PHP_OS')) && (eregi('win', PHP_OS)) ) ? '.dll' : '.so';
-
- foreach ($check_extensions as $extension)
- {
- if (!@extension_loaded($extension))
+ if (!$loaded_extension)
{
- if ( (!@ini_get('safe_mode')) && (@ini_get('enable_dl')) )
- {
- if (@dl($extension . $suffix))
- {
- $load_extensions .= ($load_extensions == '') ? $extension . $suffix : ',' . $extension . $suffix;
- }
- }
+ page_header($lang['Install'], '');
+ page_error($lang['Installer_Error'], $lang['INSTALL_EXT_FAILED']);
+ page_footer();
+ exit;
}
}
-
+
+ // Load the appropriate database class
+ include($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
+
+ // Instantiate the database
+ $db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
+
+ // Load the appropriate schema and basic data
$dbms_schema = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_schema.sql';
$dbms_basic = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_basic.sql';
+ // How should we treat this schema?
$remove_remarks = $available_dbms[$dbms]['COMMENTS'];;
$delimiter = $available_dbms[$dbms]['DELIM'];
$delimiter_basic = $available_dbms[$dbms]['DELIM_BASIC'];
- if ( $install_step == 1 || $reinstall )
+ if ($install_step == 1 || $reinstall)
{
- if ( $upgrade != 1 )
+ if ($upgrade != 1)
{
- if ( $dbms != 'msaccess' )
+ if ($dbms != 'msaccess')
{
-
- //
+ // NOTE: trigger_error does not work here.
+ $db->return_on_error = true;
+
// Ok we have the db info go ahead and read in the relevant schema
// and work on building the table.. probably ought to provide some
// kind of feedback to the user as we are working here in order
// to let them know we are actually doing something.
- //
$sql_query = @fread(@fopen($dbms_schema, 'r'), @filesize($dbms_schema));
- $sql_query = preg_replace('/phpbb_/is', $table_prefix, $sql_query);
+ $sql_query = preg_replace('#phpbb_#is', $table_prefix, $sql_query);
$sql_query = $remove_remarks($sql_query);
$sql_query = split_sql_file($sql_query, $delimiter);
-
$sql_count = count($sql_query);
- // NOTE: trigger_error does not work here.
- $db->return_on_error = true;
- for($i = 0; $i < $sql_count; $i++)
+ foreach ($sql_query as $sql)
{
- if (!$db->sql_query($sql_query[$i]))
+ if (!$db->sql_query($sql))
{
- $error = $db->sql_error($sql_query[$i]);
- echo "<br />ERROR: " . $error['message'] . "<br />";
+ $error = $db->sql_error();
+ page_header($lang['Install'], '');
+ page_error($lang['Installer_Error'], $lang['Install_db_error'] . '<br />' . $error['message']);
+ page_footer();
+ exit;
}
}
- //
// Ok tables have been built, let's fill in the basic information
- //
$sql_query = @fread(@fopen($dbms_basic, 'r'), @filesize($dbms_basic));
- $sql_query = preg_replace('/phpbb_/', $table_prefix, $sql_query);
+ $sql_query = preg_replace('#phpbb_#', $table_prefix, $sql_query);
$sql_query = $remove_remarks($sql_query);
$sql_query = split_sql_file($sql_query, $delimiter_basic);
-
$sql_count = count($sql_query);
- for($i = 0; $i < $sql_count; $i++)
+ foreach ($sql_query as $sql)
{
- $db->sql_query($sql_query[$i]);
+ if (!$db->sql_query($sql))
+ {
+ $error = $db->sql_error();
+ page_header($lang['Install'], '');
+ page_error($lang['Installer_Error'], $lang['Install_db_error'] . '<br />' . $error['message']);
+ page_footer();
+ exit;
+ }
}
}
- //
- // Ok at this point they have entered their admin password, let's go
- // ahead and create the admin account with some basic default information
- // that they can customize later, and write out the config file. After
- // this we are going to pass them over to the admin_forum.php script
- // to set up their forum defaults.
- //
- $admin_pass_md5 = ( $confirm && $userdata['user_level'] == ADMIN ) ? $admin_pass1 : md5($admin_pass1);
- $error = '';
-
- //
- // Update the default admin user with their information.
- //
- $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value)
- VALUES ('board_startdate', " . time() . ")";
- $db->sql_query($sql);
-
- $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value)
- VALUES ('default_lang', '" . str_replace("\'", "''", $language) . "')";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $server_name . "'
- WHERE config_name = 'server_name'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $server_port . "'
- WHERE config_name = 'server_port'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $script_path . "'
- WHERE config_name = 'script_path'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $board_email . "'
- WHERE config_name = 'board_email'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $server_name . "'
- WHERE config_name = 'cookie_domain'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "config
- SET config_value = '" . $admin_name . "'
- WHERE config_name = 'newest_username'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "users
- SET username = '" . str_replace("\'", "''", $admin_name) . "', user_password='" . str_replace("\'", "''", $admin_pass_md5) . "', user_lang = '" . str_replace("\'", "''", $language) . "', user_email='" . str_replace("\'", "''", $board_email) . "'
- WHERE username = 'Admin'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "moderator_cache
- SET username = '" . $admin_name . "'
- WHERE username = 'Admin'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "forums
- SET forum_last_poster_name = '" . $admin_name . "'
- WHERE forum_last_poster_name = 'Admin'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "topics
- SET topic_first_poster_name = '" . $admin_name . "', topic_last_poster_name = '" . $admin_name . "'
+ // Set default config and post data
+ $sql_ary = array(
+ "INSERT INTO " . $table_prefix . "config (config_name, config_value)
+ VALUES ('board_startdate', " . time() . ")",
+ "INSERT INTO " . $table_prefix . "config (config_name, config_value)
+ VALUES ('default_lang', '" . $db->sql_escape($language) . "')",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($server_name) . "'
+ WHERE config_name = 'server_name'",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($server_port) . "'
+ WHERE config_name = 'server_port'",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($script_path) . "'
+ WHERE config_name = 'script_path'",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($board_email) . "'
+ WHERE config_name = 'board_email'",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($server_name) . "'
+ WHERE config_name = 'cookie_domain'",
+ "UPDATE " . $table_prefix . "config
+ SET config_value = '" . $db->sql_escape($admin_name) . "'
+ WHERE config_name = 'newest_username'",
+ "UPDATE " . $table_prefix . "users
+ SET username = '" . $db->sql_escape($admin_name) . "', user_password='" . $db->sql_escape(md5($admin_pass1)) . "', user_lang = '" . $db->sql_escape($language) . "', user_email='" . $db->sql_escape($board_email) . "'
+ WHERE username = 'Admin'",
+ "UPDATE " . $table_prefix . "moderator_cache
+ SET username = '" . $db->sql_escape($admin_name) . "'
+ WHERE username = 'Admin'",
+ "UPDATE " . $table_prefix . "forums
+ SET forum_last_poster_name = '" . $db->sql_escape($admin_name) . "'
+ WHERE forum_last_poster_name = 'Admin'",
+ "UPDATE " . $table_prefix . "topics
+ SET topic_first_poster_name = '" . $db->sql_escape($admin_name) . "', topic_last_poster_name = '" . $db->sql_escape($admin_name) . "'
WHERE topic_first_poster_name = 'Admin'
- OR topic_last_poster_name = 'Admin'";
- $db->sql_query($sql);
-
- $sql = "UPDATE " . $table_prefix . "users
- SET user_regdate = " . time();
- $db->sql_query($sql);
+ OR topic_last_poster_name = 'Admin'",
+ "UPDATE " . $table_prefix . "users
+ SET user_regdate = " . time()
+ );
-/* if ( $error != '' )
+ foreach ($sql_ary as $sql)
{
- $template->assign_block_vars("switch_error_install", array());
-
- $template->assign_vars(array(
- "L_ERROR_TITLE" => $lang['Installer_Error'],
- "L_ERROR" => $lang['Install_db_error'] . '<br /><br />' . $error)
- );
-
- $template->pparse('body');
-
- exit;
- }*/
+ if (!$db->sql_query($sql))
+ {
+ $error = $db->sql_error();
+ page_header($lang['Install'], '');
+ page_error($lang['Installer_Error'], $lang['Install_db_error'] . '<br />' . $error['message']);
+ page_footer();
+ exit;
+ }
+ }
}
- if ( !$reinstall && !$upgrade_now )
+ if (!$upgrade_now)
{
-// $template->assign_block_vars("switch_common_install", array());
-
- //
// Write out the config file.
- //
- $config_data = '<?php'."\n\n";
- $config_data .= "//\n// phpBB 2.x auto-generated config file\n// Do not change anything in this file!\n//\n\n";
- $config_data .= '$dbms = "' . $dbms . '";' . "\n\n";
- $config_data .= '$dbhost = "' . $dbhost . '";' . "\n";
- $config_data .= '$dbport = "' . $dbport . '";' . "\n";
- $config_data .= '$dbname = "' . $dbname . '";' . "\n";
- $config_data .= '$dbuser = "' . $dbuser . '";' . "\n";
- $config_data .= '$dbpasswd = "' . $dbpasswd . '";' . "\n\n";
+ $config_data = "<?php\n";
+ $config_data .= "// phpBB 2.x auto-generated config file\n// Do not change anything in this file!\n";
+ $config_data .= "\$dbms = '$dbms';\n";
+ $config_data .= "\$dbhost = '$dbhost';\n";
+ $config_data .= "\$dbport = '$dbport';\n";
+ $config_data .= "\$dbname = '$dbname';\n";
+ $config_data .= "\$dbuser = '$dbuser';\n";
+ $config_data .= "\$dbpasswd = '$dbpasswd';\n\n";
+ $config_data .= "\$table_prefix = '$table_prefix';\n";
$config_data .= "\$acm_type = 'file';\n";
- $config_data .= '$table_prefix = "' . $table_prefix . '";' . "\n\n";
- $config_data .= '$load_extensions = "' . $load_extensions . '";' . "\n\n";
- $config_data .= 'define(\'PHPBB_INSTALLED\', true);'."\n\n";
+ $config_data .= "\$load_extensions = '$load_extensions';\n\n";
+ $config_data .= "define('PHPBB_INSTALLED', true);\n";
$config_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused!
@umask(0111);
$no_open = FALSE;
- if ( !($fp = fopen('../config.'.$phpEx, 'w')) )
+ if (!($fp = @fopen('../config.'.$phpEx, 'w')))
{
- //
// Unable to open the file writeable do something here as an attempt
// to get around that...
- //
$s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars($config_data) . '" />';
- if ( extension_loaded('ftp') && !defined('NO_FTP') )
+ if (extension_loaded('ftp') && !defined('NO_FTP'))
{
- $template->assign_block_vars('switch_ftp_option', array());
-
- $lang['Unwriteable_config'] .= '<p>' . $lang['ftp_option'] . '</p>';
-
- $template->assign_vars(array(
- "L_CHOOSE_FTP" => $lang['ftp_choose'],
- "L_ATTEMPT_FTP" => $lang['Attempt_ftp'],
- "L_SEND_FILE" => $lang['Send_file'])
- );
+ page_header($lang['Unwriteable_config'] . '<p>' . $lang['ftp_option'] . '</p>');
+?>
+ <tr>
+ <th colspan="2"><?php echo $lang['ftp_choose']; ?></th>
+ </tr>
+ <tr>
+ <td class="row1" align="right" width="50%"><span class="gen"><?php echo $lang['Attempt_ftp']; ?></span></td>
+ <td class="row2"><input type="radio" name="send_file" value="2"></td>
+ </tr>
+ <tr>
+ <td class="row1" align="right" width="50%"><span class="gen"><?php echo $lang['Send_file']; ?></span></td>
+ <td class="row2"><input type="radio" name="send_file" value="1"></td>
+ </tr>
+<?php
}
else
{
+ page_header($lang['Unwriteable_config']);
$s_hidden_fields .= '<input type="hidden" name="send_file" value="1" />';
}
- if ( $upgrade == 1 )
+ if ($upgrade == 1)
{
$s_hidden_fields .= '<input type="hidden" name="upgrade" value="1" />';
$s_hidden_fields .= '<input type="hidden" name="dbms" value="'.$dbms.'" />';
@@ -808,24 +760,14 @@ else
$s_hidden_fields .= '<input type="hidden" name="script_path" value="'.$script_path.'" />';
$s_hidden_fields .= '<input type="hidden" name="board_email" value="'.$board_email.'" />';
- $template->assign_block_vars("switch_upgrade_install", array());
- $template->assign_vars(array(
- "L_UPGRADE_INST" => $lang['continue_upgrade'],
- "L_UPGRADE_SUBMIT" => $lang['upgrade_submit'])
- );
+ page_upgrade_form();
+ }
+ else
+ {
+ page_common_form($s_hidden_fields, $lang['Download_config']);
}
- /*$template->assign_vars(array(
- "L_INSTRUCTION_TEXT" => $lang['Unwriteable_config'],
- "L_SUBMIT" => $lang['Download_config'],
-
- "S_HIDDEN_FIELDS" => $s_hidden_fields,
- "S_FORM_ACTION" => "install.$phpEx")
- );
-
- $template->pparse('body');
- */
-
+ page_footer();
exit;
}
@@ -834,42 +776,35 @@ else
@fclose($fp);
$upgrade_now = $lang['upgrade_submit'];
}
- else
- {
-// $template->assign_block_vars("switch_common_install", array());
- }
- //
// First off let's check and see if we are supposed to be doing an upgrade.
- //
- if ( $upgrade == 1 && $upgrade_now == $lang['upgrade_submit'] )
+ if ($upgrade && $upgrade_now == $lang['upgrade_submit'])
{
define('INSTALLING', true);
require('upgrade.'.$phpEx);
exit;
}
- //
- // Ok we are basically done with the install process let's go on
- // and let the user configure their board now.
- //
- // We are going to do this by calling the admin_board.php from the
- // normal board admin section.
- //
- if ( !$reinstall )
- {
- $s_hidden_fields = '<input type="hidden" name="username" value="' . $admin_name . '" />';
- $s_hidden_fields .= '<input type="hidden" name="password" value="' . $admin_pass1 . '" />';
- $s_hidden_fields .= '<input type="hidden" name="redirect" value="adm/index.php" />';
- $s_hidden_fields .= '<input type="hidden" name="login" value="true" />';
- }
- else
+
+ // Load the basic configuration data
+ define('SESSIONS_TABLE', $table_prefix . 'sessions');
+ define('USERS_TABLE', $table_prefix . 'users');
+
+ $sql = "SELECT *
+ FROM {$table_prefix}config";
+ $result = $db->sql_query($sql);
+
+ $config = array();
+ while ($row = $db->sql_fetchrow($result))
{
- $s_hidden_fields = '';
+ $config[$row['config_name']] = $row['config_value'];
}
+ $db->sql_freeresult($result);
- page_header($lang['Inst_Step_2'], "../login.$phpEx");
- page_footer($lang['Finish_Install'], $s_hidden_fields);
+ // Log user in
+ $auth->login($admin_name, $admin_pass1);
+ page_header($lang['Inst_Step_2'], "../adm/index.$phpEx$SID");
+ page_footer($lang['Finish_Install'], $s_hidden_fields);
exit;
}
}
@@ -878,11 +813,11 @@ else
// to prevent someone trying to break out of a SQL statement.
function slash_input_data(&$data)
{
- if ( is_array($data) )
+ if (is_array($data))
{
- foreach ( $data as $k => $v )
+ foreach ($data as $k => $v)
{
- $data[$k] = ( is_array($v) ) ? slash_input_data($v) : addslashes($v);
+ $data[$k] = (is_array($v)) ? slash_input_data($v) : addslashes($v);
}
}
return $data;
@@ -935,11 +870,11 @@ function page_footer($l_submit, $s_hidden_fields)
?>
<tr>
- <td class="cat" align="center" colspan="2"><?php echo $s_hidden_fields; ?><input class="mainoption" type="submit" value="<?php echo $l_submit; ?>" /></td>
+ <td class="cat" colspan="2" align="center"><?php echo $s_hidden_fields; ?><input class="mainoption" type="submit" value="<?php echo $l_submit; ?>" /></td>
</tr>
</table></form>
-<div align="center"><span class="copyright">Powered by phpBB <?php echo $config['version']; ?> &copy; 2002 <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a></span></div>
+<div class="copyright" align="center">Powered by phpBB <?php echo $config['version']; ?> &copy; 2003 <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a></div>
<br clear="all" />
@@ -949,4 +884,44 @@ function page_footer($l_submit, $s_hidden_fields)
}
+function page_common_form($hidden, $submit)
+{
+
+?>
+ <tr>
+ <td class="cat" colspan="2" align="center"><?php echo $hidden; ?><input class="mainoption" type="submit" value="<?php echo $submit; ?>" /></td>
+ </tr>
+<?php
+
+}
+
+function page_upgrade_form()
+{
+ global $lang;
+
+?>
+ <tr>
+ <td class="cat" colspan="2" align="center"><?php echo $lang['continue_upgrade']; ?></td>
+ </tr>
+ <tr>
+ <td class="cat" colspan="2" align="center"><input type="submit" name="upgrade_now" value="<?php echo $lang['upgrade_submit']; ?>" /></td>
+ </tr>
+<?php
+
+}
+
+function page_error($error_title, $error)
+{
+
+?>
+ <tr>
+ <th><?php echo $error_title; ?></th>
+ </tr>
+ <tr>
+ <td class="row1" align="center"><span class="gen"><?php echo $error; ?></span></td>
+ </tr>
+<?php
+
+}
+
?> \ No newline at end of file