aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/install.php')
-rw-r--r--phpBB/install.php754
1 files changed, 414 insertions, 340 deletions
diff --git a/phpBB/install.php b/phpBB/install.php
index 50ce9fb4e5..9f1da1f07e 100644
--- a/phpBB/install.php
+++ b/phpBB/install.php
@@ -18,26 +18,72 @@
* (at your option) any later version.
*
***************************************************************************/
-//
-// First thing to check for is the case that we couldn't write the config
-// file and they chose to have use send it to them.
-//
-if($HTTP_POST_VARS['send_file'] == 1)
+$phpbb_root_path='./';
+include($phpbb_root_path.'extension.inc');
+
+if( !get_magic_quotes_gpc() )
{
- header("Content-Type: text/x-delimtext; name=\"config.php\"");
- header("Content-disposition: attachment; filename=config.php");
- if(get_magic_quotes_gpc())
+ if( is_array($HTTP_GET_VARS) )
{
- $HTTP_POST_VARS['config_data'] = stripslashes($HTTP_POST_VARS['config_data']);
+ while( list($k, $v) = each($HTTP_GET_VARS) )
+ {
+ if( is_array($HTTP_GET_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
+ {
+ $HTTP_GET_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_GET_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_GET_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_GET_VARS);
}
- echo $HTTP_POST_VARS['config_data'];
- exit();
-}
-$phpbb_root_path='./';
-include($phpbb_root_path.'extension.inc');
+ if( is_array($HTTP_POST_VARS) )
+ {
+ while( list($k, $v) = each($HTTP_POST_VARS) )
+ {
+ if( is_array($HTTP_POST_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
+ {
+ $HTTP_POST_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_POST_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_POST_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_POST_VARS);
+ }
+ if( is_array($HTTP_COOKIE_VARS) )
+ {
+ while( list($k, $v) = each($HTTP_COOKIE_VARS) )
+ {
+ if( is_array($HTTP_COOKIE_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
+ {
+ $HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_COOKIE_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_COOKIE_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_COOKIE_VARS);
+ }
+}
/***************************************************************************
* Install Customization Section
@@ -47,399 +93,427 @@ include($phpbb_root_path.'extension.inc');
* and the default template.
*
**************************************************************************/
-$userdata = "some false data";
-$theme = array(
- 'themes_id' => '2',
- 'themes_name' => 'Default',
- 'template_name' => 'Default',
- 'td_color1' => 'CCCCCC',
- 'td_color2' => 'DDDDDD'
-);
+
$default_language = 'english';
-$default_template = 'Default';
+$default_template = 'subSilver';
-$available_dbms[] = array(
- "LABEL" => "MySQL",
- "VALUE" => "mysql"
-);
-$available_dbms[] = array(
- "LABEL" => "MS SQL",
- "VALUE" => "mssql"
-);
-$available_dbms[] = array(
- "LABEL" => "Postgres",
- "VALUE" => "postgres"
-);
-$available_dbms[] = array(
- "LABEL" => "ODBC - MSAccess",
- "VALUE" => "odbc:access"
-);
-$available_dbms[] = array(
- "LABEL" => "ODBC - DB2",
- "VALUE" => "odbc:db2"
+$available_dbms = array(
+ array(
+ "LABEL" => "MySQL",
+ "VALUE" => "mysql"
+ ),
+ array(
+ "LABEL" => "PostgreSQL 7.x",
+ "VALUE" => "postgres"
+ ),
+ array(
+ "LABEL" => "MS SQL Server 7/2000",
+ "VALUE" => "mssql"
+ ),
+ array(
+ "LABEL" => "ODBC - MS Access",
+ "VALUE" => "odbc:msaccess"
+ )
);
+
/***************************************************************************
*
* End Install Customization Section
*
***************************************************************************/
+$userdata = array();
+$lang = array();
+
//
-// Fill an array with a list of available languages.
+// Obtain various vars
//
-
-$dir = opendir($phpbb_root_path.'/language');
-while($file = readdir($dir))
+if( isset($HTTP_POST_VARS['install_step']) || isset($HTTP_GET_VARS['install_step']) )
{
- if(preg_match("/^lang_(.*)\.$phpEx/", $file, $matches))
- {
- $available_lang[] = $matches[1];
- }
+ $install_step = ( isset($HTTP_POST_VARS['install_step']) ) ? $HTTP_POST_VARS['install_step'] : $HTTP_GET_VARS['install_step'];
+}
+else
+{
+ $install_step = "";
}
-//
-// Bring in the extra files that contain functions we need.
-//
+$dbms = isset($HTTP_POST_VARS['dbms']) ? $HTTP_POST_VARS['dbms'] : "";
+$language = ( !empty($HTTP_POST_VARS['language']) ) ? $HTTP_POST_VARS['language'] : $default_language;
+
+$dbhost = ( !empty($HTTP_POST_VARS['dbhost']) ) ? $HTTP_POST_VARS['dbhost'] : "";
+$dbuser = ( !empty($HTTP_POST_VARS['dbuser']) ) ? $HTTP_POST_VARS['dbuser'] : "";
+$dbpasswd = ( !empty($HTTP_POST_VARS['dbpasswd']) ) ? $HTTP_POST_VARS['dbpasswd'] : "";
+$dbname = ( !empty($HTTP_POST_VARS['dbname']) ) ? $HTTP_POST_VARS['dbname'] : "";
+
+$admin_username = ( !empty($HTTP_POST_VARS['admin_user']) ) ? $HTTP_POST_VARS['admin_user'] : "";
+$admin_pass1 = ( !empty($HTTP_POST_VARS['admin_pass1']) ) ? $HTTP_POST_VARS['admin_pass1'] : "";
+$admin_pass2 = ( !empty($HTTP_POST_VARS['admin_pass2']) ) ? $HTTP_POST_VARS['admin_pass2'] : "";
+
+$table_prefix = ( !empty($HTTP_POST_VARS['prefix']) ) ? $HTTP_POST_VARS['prefix'] : "";
-$language = ($HTTP_POST_VARS['language']) ? $HTTP_POST_VARS['language'] : $default_language;
include($phpbb_root_path.'includes/sql_parse.'.$phpEx);
include($phpbb_root_path.'includes/constants.'.$phpEx);
include($phpbb_root_path.'includes/template.'.$phpEx);
include($phpbb_root_path.'includes/functions.'.$phpEx);
-include($phpbb_root_path.'language/lang_'.$language.'.'.$phpEx);
+include($phpbb_root_path.'includes/sessions.'.$phpEx);
//
-// Create an instance of the template class.
+// Import language file, setup template ...
//
+include($phpbb_root_path.'language/lang_' . $language . '.'.$phpEx);
+
$template = new Template($phpbb_root_path . "templates/" . $default_template);
-
-if(file_exists('config.'.$phpEx))
+//
+// Load default template for install
+//
+$template->set_filenames(array(
+ "body" => "install.tpl")
+);
+
+$template->assign_vars(array(
+ "L_INSTALLATION" => $lang['Welcome_install'])
+);
+
+
+//
+// Start main program ...
+//
+if( @file_exists('config.'.$phpEx) )
{
include('config.'.$phpEx);
}
-if($installed)
+
+if( defined("PHPBB_INSTALLED") )
{
//
// Sorry this has already been installed can't do anything more with it
//
- $template->set_filenames(array(
- "body" => "install_error.tpl")
- );
+ $template->assign_block_vars("error_install", array());
$template->assign_vars(array(
- "L_TITLE" => $lang['Installer_Error'],
+ "L_ERROR_TITLE" => $lang['Installer_Error'],
"L_ERROR" => $lang['Previous_Install'])
);
+
$template->pparse('body');
- die();
+ exit;
}
-//
-// 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.
-//
-$installStep = ($HTTP_POST_VARS['installStep']) ? $HTTP_POST_VARS['installStep']: $HTTP_GET_VARS['installStep'];
-$dbms = ($HTTP_POST_VARS['dbms']);
-if( (!isset($installStep) || $installStep == 0) || ($HTTP_POST_VARS['admin_pass1'] != $HTTP_POST_VARS['admin_pass2']) )
+else if( !empty($HTTP_POST_VARS['send_file']) )
{
+ header("Content-Type: text/x-delimtext; name=\"config.php\"");
+ header("Content-disposition: attachment; filename=config.php");
+
+ if( get_magic_quotes_gpc() )
+ {
+ $HTTP_POST_VARS['config_data'] = stripslashes($HTTP_POST_VARS['config_data']);
+ }
+
+ echo $HTTP_POST_VARS['config_data'];
+
+ exit;
+}
+else if( empty($install_step) || $admin_pass1 != $admin_pass2 || $dbhost == "" )
+{
+ //
+ // 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.
//
- $Instruct = $lang['Inst_Step_0'];
+ $instruction_text = $lang['Inst_Step_0'];
+
if( $HTTP_POST_VARS['admin_pass1'] != $HTTP_POST_VARS['admin_pass2'] )
{
- $Instruct = $lang['Password_mismatch'] . '<br>' . $Instruct;
- }
- $template->set_filenames(array(
- "body" => "install.tpl")
- );
- $template->assign_vars(array(
- "L_INSTRUCT" => $Instruct,
- "L_SUBMIT" => $lang['Start_Install'],
- "S_FORM_ACTION" => 'install.'.$phpEx)
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => "installStep",
- "VALUE" => "1")
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "dbhost",
- "TYPE" => "text",
- "VALUE" => $HTTP_POST_VARS['dbhost'],
- "L_LABEL" => $lang['DB_Host'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "dbname",
- "TYPE" => "text",
- "VALUE" => $HTTP_POST_VARS['dbname'],
- "L_LABEL" => $lang['DB_Name'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "dbuser",
- "TYPE" => "text",
- "VALUE" => $HTTP_POST_VARS['dbuser'],
- "L_LABEL" => $lang['Database'] . ' ' . $lang['Username'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "dbpasswd",
- "TYPE" => "password",
- "VALUE" => $HTTP_POST_VARS['dbpasswd'],
- "L_LABEL" => $lang['Database'] . ' ' . $lang['Password'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "prefix",
- "TYPE" => "text",
- "VALUE" => (!empty($HTTP_POST_VARS['prefix'])) ? $HTTP_POST_VARS['prefix'] : "phpbb_",
- "L_LABEL" => $lang['Table_Prefix'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "admin_name",
- "TYPE" => "text",
- "VALUE" => $HTTP_POST_VARS['admin_name'],
- "L_LABEL" => $lang['Administrator'] . ' ' . $lang['Username'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "admin_pass1",
- "TYPE" => "password",
- "VALUE" => $HTTP_POST_VARS['admin_pass1'],
- "L_LABEL" => $lang['Administrator'] . ' ' . $lang['Password'] . ':')
- );
- $template->assign_block_vars("inputs", array(
- "NAME" => "admin_pass2",
- "TYPE" => "password",
- "VALUE" => $HTTP_POST_VARS['admin_pass2'],
- "L_LABEL" => $lang['Confirm'] . ' ' . $lang['Password'] . ':')
- );
- $template->assign_block_vars("selects", array(
- "NAME" => "language",
- "L_LABEL" => $lang['Install_lang'])
- );
- for($i = 0; $i < count($available_lang); $i++)
- {
- $template->assign_block_vars("selects.options", array(
- "LABEL" => $available_lang[$i],
- "DEFAULT" => ($available_lang[$i] == $HTTP_POST_VARS['language'])?'SELECTED':'',
- "VALUE" => $available_lang[$i])
- );
+ $instruction_text = $lang['Password_mismatch'] . '<br />' . $instruction_text;
}
- $template->assign_block_vars("selects", array(
- "NAME" => "dbms",
- "L_LABEL" => $lang['dbms'])
- );
+
+ $lang_options = language_select($language, 'language');
+
+ $dbms_options = '<select name="dbms">';
for($i = 0; $i < count($available_dbms); $i++)
{
- $template->assign_block_vars("selects.options", array(
- "LABEL" => $available_dbms[$i]['LABEL'],
- "DEFAULT" => ($available_dbms[$i]['VALUE'] == $HTTP_POST_VARS['dbms'])?'SELECTED':'',
- "VALUE" => $available_dbms[$i]['VALUE'])
- );
+ $selected = ( $available_dbms[$i]['VALUE'] == $dbms ) ? "selected=\"selected\"" : "";
+ $dbms_options .= '<option value="' . $available_dbms[$i]['VALUE'] . '">' . $available_dbms[$i]['LABEL'] . '</option>';
}
+ $dbms_options .= '</select>';
+
+ $s_hidden_fields = '<input type="hidden" name="install_step" value="1" />';
+
+ $template->assign_block_vars("stage_one_install", array());
+ $template->assign_block_vars("common_install", array());
+
+ $template->assign_vars(array(
+ "L_INSTRUCTION_TEXT" => $instruction_text,
+ "L_INITIAL_CONFIGURATION" => $lang['Initial_config'],
+ "L_DATABASE_CONFIGURATION" => $lang['DB_config'],
+ "L_ADMIN_CONFIGURATION" => $lang['Admin_config'],
+ "L_LANGUAGE" => $lang['Default_lang'],
+ "L_DBMS" => $lang['dbms'],
+ "L_DB_HOST" => $lang['DB_Host'],
+ "L_DB_NAME" => $lang['DB_Name'],
+ "L_DB_USER" => $lang['Database'] . ' ' . $lang['Username'],
+ "L_DB_PASSWORD" => $lang['Database'] . ' ' . $lang['Password'],
+ "L_DB_PREFIX" => $lang['Table_Prefix'],
+
+ "L_ADMIN_USERNAME" => $lang['Administrator'] . ' ' . $lang['Username'],
+ "L_ADMIN_PASSWORD" => $lang['Administrator'] . ' ' . $lang['Password'],
+ "L_ADMIN_CONFIRM_PASSWORD" => $lang['Confirm'] . ' ' . $lang['Password'],
+
+ "L_SUBMIT" => $lang['Start_Install'],
+
+ "DB_PREFIX" => ( $table_prefix != "" ) ? $table_prefix : "phpbb_",
+ "DB_HOST" => ( $dbhost != "" ) ? $dbhost : "",
+ "DB_USER" => ( $dbuser != "" ) ? $dbuser : "",
+ "DB_PASSWD" => ( $dbpasswd != "" ) ? $dbpasswd : "",
+ "ADMIN_USERNAME" => ( $admin_username != "" ) ? $admin_username : "",
+
+ "S_LANG_SELECT" => $lang_options,
+ "S_DBMS_SELECT" => $dbms_options,
+ "S_HIDDEN_FIELDS" => $s_hidden_fields,
+ "S_FORM_ACTION" => "install.$phpEx")
+ );
+
+// "L_DOMAIN_NAME" => $lang['Domain_name'],
+// "L_DOMAIN_NAME_EXPLAIN" => $lang['Domain_name_explain'],
+
$template->pparse("body");
+
exit();
}
-//
-// If the dbms is set to be odbc then we need to skip most of the
-// steps and go straight to writing the config file. We'll spit
-// out some additional instructions later on what to do after installation
-// for the odbc DBMS.
-//
-if (ereg(':', $dbms) && $installStep < 2)
-{
- $dbms = explode(':', $dbms);
- $dbhost = $dbms[1] . ':' . $dbhost;
- $dbms = $dbms[0];
- $installStep = 2;
-}
-elseif ( isset($dbms) )
+else
{
- include($phpbb_root_path.'includes/db.'.$phpEx);
-}
+ //
+ // If the dbms is set to be odbc then we need to skip most of the
+ // steps and go straight to writing the config file. We'll spit
+ // out some additional instruction_textions later on what to do after installation
+ // for the odbc DBMS.
+ //
+ if( ereg(':', $dbms) && $install_step < 2 )
+ {
+ $dbms = explode(':', $dbms);
+ $dbhost = $dbms[1] . ':' . $dbhost;
+ $dbms = $dbms[0];
+ $install_step = 2;
+ }
+ else if( isset($dbms) )
+ {
+ include($phpbb_root_path.'includes/db.'.$phpEx);
+ }
-$dbms_schema = 'db/'.$dbms.'_schema.sql';
-$dbms_basic = 'db/'.$dbms.'_basic.sql';
-$remove_remarks = ($dbms == 'mysql')?'remove_remarks':'remove_comments';
-$delimiter = ( $dbms == 'mssql' )?'GO':';';
-switch ( $installStep )
-{
- case 1:
- //
- // 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 = $remove_remarks($sql_query);
- $sql_query = split_sql_file($sql_query, $delimiter);
- $sql_count = count($sql_query);
- $sql_query = preg_replace('/phpbb_/', $HTTP_POST_VARS['prefix'], $sql_query);
- for($i = 0; $i < $sql_count; $i++)
- {
- $result = $db->sql_query($sql_query[$i]);
- if( !$result )
- {
- $error = $db->sql_error();
- $template->set_filenames(array(
- "body" => "install_error.tpl")
- );
- $template->assign_vars(array(
- "L_TITLE" => $lang['Installer_Error'],
- "L_ERROR" => $lang['Install_db_error'] . '<br>' . $error['message'])
- );
- $template->pparse('body');
- die();
- }
- }
- //
- // Ok tables have been built, let's fill in the basic information
- //
- $sql_query = fread(fopen($dbms_basic, 'r'), filesize($dbms_basic));
- $sql_query = $remove_remarks($sql_query);
- $sql_query = split_sql_file($sql_query, $delimiter);
- $sql_count = count($sql_query);
- $sql_query = preg_replace('/phpbb_/', $HTTP_POST_VARS['prefix'], $sql_query);
- for($i = 0; $i < $sql_count; $i++)
- {
- $result = $db->sql_query($sql_query[$i]);
- if( !$result )
- {
- $error = $db->sql_error();
- $template->set_filenames(array(
- "body" => "install_error.tpl")
- );
- $template->assign_vars(array(
- "L_TITLE" => $lang['Installer_Error'],
- "L_ERROR" => $lang['Install_db_error'] . "<br>" . $error["message"])
- );
- $template->pparse('body');
- die();
- }
- }
- //
- // 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.
- //
- if( $dbms == 'odbc' )
- {
+ $dbms_schema = 'db/' . $dbms.'_schema.sql';
+ $dbms_basic = 'db/' . $dbms . '_basic.sql';
+
+ $remove_remarks = ( $dbms == 'mysql' ) ? 'remove_remarks' : 'remove_comments';
+ $delimiter = ( $dbms == 'mssql' ) ? 'GO' : ';';
+
+ switch ( $install_step )
+ {
+ case 1:
//
- // Output the instructions for the odbc...
+ // 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.
//
- $template->set_filenames(array(
- "body" => "install.tpl")
- );
-
- $template->assign_vars(array(
- "L_INSTRUCT" => $lang['ODBC_Instructs'],
- "L_SUBMIT" => $lang['OK'],
- "S_FORM_ACTION" => 'install.'.$phpEx)
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => "installStep",
- "VALUE" => '3')
- );
- exit();
- }
- else
- {
+ $sql_query = @fread(@fopen($dbms_schema, 'r'), @filesize($dbms_schema));
+ $sql_query = $remove_remarks($sql_query);
+ $sql_query = split_sql_file($sql_query, $delimiter);
+ $sql_count = count($sql_query);
+ $sql_query = preg_replace('/phpbb_/', $table_prefix, $sql_query);
+
+ for($i = 0; $i < $sql_count; $i++)
+ {
+ $result = $db->sql_query($sql_query[$i]);
+ if( !$result )
+ {
+ $error = $db->sql_error();
+
+ $template->assign_block_vars("error_install", array());
+ $template->assign_vars(array(
+ "L_ERROR_TITLE" => $lang['Installer_Error'],
+ "L_ERROR" => $lang['Install_db_error'] . '<br>' . $error['message'])
+ );
+ $template->pparse('body');
+ die();
+ }
+ }
+
//
- // Update the default admin user with their information.
+ // Ok tables have been built, let's fill in the basic information
//
- $sql = "UPDATE ".$HTTP_POST_VARS['prefix']."users
- SET username='".$HTTP_POST_VARS['admin_name']."',
- user_password='".md5($HTTP_POST_VARS['admin_pass1'])."'
- WHERE username = 'Admin'";
- $result = $db->sql_query($sql);
- if( !$result )
+ $sql_query = @fread(@fopen($dbms_basic, 'r'), @filesize($dbms_basic));
+ $sql_query = $remove_remarks($sql_query);
+ $sql_query = split_sql_file($sql_query, $delimiter);
+ $sql_count = count($sql_query);
+ $sql_query = preg_replace('/phpbb_/', $table_prefix, $sql_query);
+
+ for($i = 0; $i < $sql_count; $i++)
{
- $error = $db->sql_error();
- $template->set_filenames(array(
- "body" => "install_error.tpl")
- );
- $template->assign_vars(array(
- "L_TITLE" => $lang['Installer_Error'],
- "L_ERROR" => $lang['Install_db_error'] . '<br>' . $error['message'])
- );
- $template->pparse('body');
- die();
+ $result = $db->sql_query($sql_query[$i]);
+ if( !$result )
+ {
+ $error = $db->sql_error();
+
+ $template->assign_block_vars("error_install", array());
+ $template->assign_vars(array(
+ "L_ERROR_TITLE" => $lang['Installer_Error'],
+ "L_ERROR" => $lang['Install_db_error'] . "<br />" . $error["message"])
+ );
+ $template->pparse('body');
+ die();
+ }
}
//
- // Write out the config file.
+ // 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.
//
- $config_data = '<?php'."\n";
- $config_data.= '$dbms = "'.$dbms.'";'."\n";
- $config_data.= '$dbhost = "'.$dbhost.'";'."\n";
- $config_data.= '$dbname = "'.$dbname.'";'."\n";
- $config_data.= '$dbuser = "'.$dbuser.'";'."\n";
- $config_data.= '$dbpasswd = "'.$dbpasswd.'";'."\n";
- $config_data.= '$installed = True;'."\n";
- $config_data.= '$table_prefix = "'.$HTTP_POST_VARS['prefix'].'";'."\n";
- $config_data.= '?>';
- @umask(0111);
- $noOpen = False;
- $fp = @fopen('config.php', 'w');
- if(!$fp)
+ if( $dbms == 'odbc' )
{
//
- // Unable to open the file writeable do something here as an attempt
- // to get around that...
- $template->set_filenames(array(
- "body" => "install.tpl")
- );
+ // Output the instruction_textions for the odbc...
+ //
+ $template->assign_block_vars("common_install", array());
+
+ $s_hidden_fields = '<input type="hidden" name="install_step" value="3" />';
+
$template->assign_vars(array(
- "L_INSTRUCT" => $lang['UnWrite_Config'],
- "L_SUBMIT" => $lang['Send_Config'],
+ "L_INSTRUCTION_TEXT" => $lang['ODBC_instruction_texts'],
+ "L_SUBMIT" => $lang['OK'],
+
+ "S_HIDDEN_FIELDS" => $s_hidden_fields,
"S_FORM_ACTION" => 'install.'.$phpEx)
);
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => "config_data",
- "VALUE" => htmlspecialchars($config_data) )
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => "send_file",
- "VALUE" => "1")
+ exit();
+ }
+ else
+ {
+ $error = "";
+ //
+ // Update the default admin user with their information.
+ //
+ $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value)
+ VALUES ('board_startdate', " . time() . ")";
+ $result = $db->sql_query($sql);
+ if( !$result )
+ {
+ $error .= "Could not insert board_startdate :: " . $sql . "<br /><br />";
+ }
+
+ $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value)
+ VALUES ('default_lang', '$language')";
+ $result = $db->sql_query($sql);
+ if( !$result )
+ {
+ $error .= "Could not insert default_lang :: " . $sql . "<br /><br />";
+ }
+
+ $sql = "UPDATE " . $table_prefix . "users
+ SET username = '$admin_name', user_password='" . md5($admin_pass1) . "', user_lang = '" . $language . "'
+ WHERE username = 'Admin'";
+ $result = $db->sql_query($sql);
+ if( !$result )
+ {
+ $error .= "Could not update admin info :: " . $sql . "<br /><br />";
+ }
+
+ $sql = "UPDATE " . $table_prefix . "users
+ SET user_regdate = " . time();
+ $result = $db->sql_query($sql);
+ if( !$result )
+ {
+ $error .= "Could not update user_regdate :: " . $sql . "<br /><br />";
+ }
+
+ if( $error != "" )
+ {
+ $error = $db->sql_error();
+
+ $template->assign_block_vars("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;
+ }
+
+ $template->assign_block_vars("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 .= '$dbname = "' . $dbname . '";' . "\n";
+ $config_data .= '$dbuser = "' . $dbuser . '";' . "\n";
+ $config_data .= '$dbpasswd = "' . $dbpasswd . '";' . "\n\n";
+ $config_data .= '$table_prefix = "' . $table_prefix . '";' . "\n\n";
+ $config_data .= 'define(\'PHPBB_INSTALLED\', true);'."\n\n";
+ $config_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused!
+
+ @umask(0111);
+ $no_open = FALSE;
+
+ $fp = @fopen('config.php', 'w');
+
+ if( !$fp )
+ {
+ //
+ // 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) . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="send_file" value="1" />';
+
+ $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');
+ exit();
+ }
+
+ $result = @fputs($fp, $config_data, strlen($config_data));
+ fclose($fp);
+
+ //
+ // 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="forward_page" value="admin/" />';
+ $s_hidden_fields .= '<input type="hidden" name="submit" value="Login" />';
+
+ $template->assign_vars(array(
+ "L_INSTRUCTION_TEXT" => $lang['Inst_Step_2'],
+ "L_SUBMIT" => $lang['Finish_Install'],
+
+ "S_HIDDEN_FIELDS" => $s_hidden_fields,
+ "S_FORM_ACTION" => "login.$phpEx")
);
+
$template->pparse('body');
exit();
}
- $result = fputs($fp, $config_data, strlen($config_data));
- fclose($fp);
- //
- // 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.
- //
- $template->set_filenames(array(
- "body" => "install.tpl")
- );
- $template->assign_vars(array(
- "L_INSTRUCT" => $lang['Inst_Step_2'],
- "L_SUBMIT" => $lang['Finish_Install'],
- "S_FORM_ACTION" => 'login.'.$phpEx)
- );
-
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => 'username',
- "VALUE" => $admin_name)
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => 'password',
- "VALUE" => $admin_pass1)
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => 'submit',
- "VALUE" => 'Login')
- );
- $template->assign_block_vars("hidden_fields", array(
- "NAME" => 'forward_page',
- "VALUE" => 'admin/admin_board.'.$phpEx.'?mode=config')
- );
- $template->pparse('body');
- exit();
- }
- break;
+ break;
+ }
}
+
+?> \ No newline at end of file