[phpbbreloaded-checkins] SF.net SVN: phpbbreloaded: [286] main/trunk
Status: Planning
Brought to you by:
tehphpmaster
From: <teh...@us...> - 2007-04-15 02:51:17
|
Revision: 286 http://svn.sourceforge.net/phpbbreloaded/?rev=286&view=rev Author: tehphpmaster Date: 2007-04-14 19:51:17 -0700 (Sat, 14 Apr 2007) Log Message: ----------- Well, an install directory would be helpful. This is the default phpBB2 install process, no doubt it'll be changing before we hit 1.0 however. Added Paths: ----------- main/trunk/install/ main/trunk/install/index.htm main/trunk/install/install.php main/trunk/install/schemas/ main/trunk/install/schemas/index.htm main/trunk/install/schemas/ms_access_primer.zip main/trunk/install/schemas/mssql_basic.sql main/trunk/install/schemas/mssql_schema.sql main/trunk/install/schemas/mysql_basic.sql main/trunk/install/schemas/mysql_schema.sql main/trunk/install/schemas/postgres_basic.sql main/trunk/install/schemas/postgres_schema.sql Added: main/trunk/install/index.htm =================================================================== --- main/trunk/install/index.htm (rev 0) +++ main/trunk/install/index.htm 2007-04-15 02:51:17 UTC (rev 286) @@ -0,0 +1,10 @@ +<html> +<head> +<title></title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</head> + +<body bgcolor="#FFFFFF" text="#000000"> + +</body> +</html> Added: main/trunk/install/install.php =================================================================== --- main/trunk/install/install.php (rev 0) +++ main/trunk/install/install.php 2007-04-15 02:51:17 UTC (rev 286) @@ -0,0 +1,1049 @@ +<?php +/*************************************************************************** + * install.php + * ------------------- + * begin : Tuesday, Sept 11, 2001 + * copyright : (C) 2001 The phpBB Group + * email : su...@ph... + * + * $Id: install.php,v 1.6.2.14 2005/12/29 11:51:11 acydburn Exp $ + * + ***************************************************************************/ + +/*************************************************************************** + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + ***************************************************************************/ + +// --------- +// FUNCTIONS +// +function page_header($text, $form_action = false) +{ + global $phpEx, $lang; + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang['ENCODING']; ?>"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<title><?php echo $lang['Welcome_install'];?></title> +<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css"> +<style type="text/css"> +<!-- +th { background-image: url('../templates/subSilver/images/cellpic3.gif') } +td.cat { background-image: url('../templates/subSilver/images/cellpic1.gif') } +td.rowpic { background-image: url('../templates/subSilver/images/cellpic2.jpg'); background-repeat: repeat-y } +td.catHead,td.catSides,td.catLeft,td.catRight,td.catBottom { background-image: url('../templates/subSilver/images/cellpic1.gif') } + +/* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */ +@import url("../templates/subSilver/formIE.css"); +//--> +</style> +</head> +<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#5584AA"> + +<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center"> + <tr> + <td class="bodyline" width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><img src="../templates/subSilver/images/logo_phpBB.gif" border="0" alt="Forum Home" vspace="1" /></td> + <td align="center" width="100%" valign="middle"><span class="maintitle"><?php echo $lang['Welcome_install'];?></span></td> + </tr> + </table></td> + </tr> + <tr> + <td><br /><br /></td> + </tr> + <tr> + <td colspan="2"><table width="90%" border="0" align="center" cellspacing="0" cellpadding="0"> + <tr> + <td><span class="gen"><?php echo $text; ?></span></td> + </tr> + </table></td> + </tr> + <tr> + <td><br /><br /></td> + </tr> + <tr> + <td width="100%"><table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"><form action="<?php echo ($form_action) ? $form_action : 'install.'.$phpEx; ?>" name="install" method="post"> +<?php + +} + +function page_footer() +{ + +?> + </table></form></td> + </tr> + </table></td> + </tr> +</table> + +</body> +</html> +<?php + +} + +function page_common_form($hidden, $submit) +{ + +?> + <tr> + <td class="catBottom" align="center" colspan="2"><?php echo $hidden; ?><input class="mainoption" type="submit" value="<?php echo $submit; ?>" /></td> + </tr> +<?php + +} + +function page_upgrade_form() +{ + global $lang; + +?> + <tr> + <td class="catBottom" align="center" colspan="2"><?php echo $lang['continue_upgrade']; ?></td> + </tr> + <tr> + <td class="catBottom" align="center" colspan="2"><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 + +} + +// Guess an initial language ... borrowed from phpBB 2.2 it's not perfect, +// really it should do a straight match first pass and then try a "fuzzy" +// match on a second pass instead of a straight "fuzzy" match. +function guess_lang() +{ + global $phpbb_root_path, $HTTP_SERVER_VARS; + + // The order here _is_ important, at least for major_minor + // matches. Don't go moving these around without checking with + // me first - psoTFX + $match_lang = array( + 'arabic' => 'ar([_-][a-z]+)?', + 'bulgarian' => 'bg', + 'catalan' => 'ca', + 'czech' => 'cs', + 'danish' => 'da', + 'german' => 'de([_-][a-z]+)?', + 'english' => 'en([_-][a-z]+)?', + 'estonian' => 'et', + 'finnish' => 'fi', + 'french' => 'fr([_-][a-z]+)?', + 'greek' => 'el', + 'spanish_argentina' => 'es[_-]ar', + 'spanish' => 'es([_-][a-z]+)?', + 'gaelic' => 'gd', + 'galego' => 'gl', + 'gujarati' => 'gu', + 'hebrew' => 'he', + 'hindi' => 'hi', + 'croatian' => 'hr', + 'hungarian' => 'hu', + 'icelandic' => 'is', + 'indonesian' => 'id([_-][a-z]+)?', + 'italian' => 'it([_-][a-z]+)?', + 'japanese' => 'ja([_-][a-z]+)?', + 'korean' => 'ko([_-][a-z]+)?', + 'latvian' => 'lv', + 'lithuanian' => 'lt', + 'macedonian' => 'mk', + 'dutch' => 'nl([_-][a-z]+)?', + 'norwegian' => 'no', + 'punjabi' => 'pa', + 'polish' => 'pl', + 'portuguese_brazil' => 'pt[_-]br', + 'portuguese' => 'pt([_-][a-z]+)?', + 'romanian' => 'ro([_-][a-z]+)?', + 'russian' => 'ru([_-][a-z]+)?', + 'slovenian' => 'sl([_-][a-z]+)?', + 'albanian' => 'sq', + 'serbian' => 'sr([_-][a-z]+)?', + 'slovak' => 'sv([_-][a-z]+)?', + 'swedish' => 'sv([_-][a-z]+)?', + 'thai' => 'th([_-][a-z]+)?', + 'turkish' => 'tr([_-][a-z]+)?', + 'ukranian' => 'uk([_-][a-z]+)?', + 'urdu' => 'ur', + 'viatnamese' => 'vi', + 'chinese_traditional_taiwan'=> 'zh[_-]tw', + 'chinese_simplified' => 'zh', + ); + + if (isset($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'])) + { + $accept_lang_ary = explode(',', $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']); + for ($i = 0; $i < sizeof($accept_lang_ary); $i++) + { + @reset($match_lang); + while (list($lang, $match) = each($match_lang)) + { + if (preg_match('#' . $match . '#i', trim($accept_lang_ary[$i]))) + { + if (file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $lang))) + { + return $lang; + } + } + } + } + } + + return 'english'; + +} +// +// FUNCTIONS +// --------- + +// Begin +error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables +set_magic_quotes_runtime(0); // Disable magic_quotes_runtime + +// PHP5 with register_long_arrays off? +if (!isset($HTTP_POST_VARS) && isset($_POST)) +{ + $HTTP_POST_VARS = $_POST; + $HTTP_GET_VARS = $_GET; + $HTTP_SERVER_VARS = $_SERVER; + $HTTP_COOKIE_VARS = $_COOKIE; + $HTTP_ENV_VARS = $_ENV; + $HTTP_POST_FILES = $_FILES; + + // _SESSION is the only superglobal which is conditionally set + if (isset($_SESSION)) + { + $HTTP_SESSION_VARS = $_SESSION; + } +} + +// Slash data if it isn't slashed +if (!get_magic_quotes_gpc()) +{ + if (is_array($HTTP_GET_VARS)) + { + 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); + } + + 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); + } +} + +// Begin main prog +define('IN_PHPBB', true); +// Uncomment the following line to completely disable the ftp option... +// define('NO_FTP', true); +$phpbb_root_path = './../'; +include($phpbb_root_path.'extension.inc'); + +// Initialise some basic arrays +$userdata = array(); +$lang = array(); +$error = false; + +// Include some required functions +include($phpbb_root_path.'includes/constants.'.$phpEx); +include($phpbb_root_path.'includes/functions.'.$phpEx); +include($phpbb_root_path.'includes/sessions.'.$phpEx); + +// Define schema info +$available_dbms = array( + 'mysql'=> array( + 'LABEL' => 'MySQL 3.x', + 'SCHEMA' => 'mysql', + 'DELIM' => ';', + 'DELIM_BASIC' => ';', + 'COMMENTS' => 'remove_remarks' + ), + 'mysql4' => array( + 'LABEL' => 'MySQL 4.x/5.x', + 'SCHEMA' => 'mysql', + 'DELIM' => ';', + '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', + 'DELIM' => 'GO', + 'DELIM_BASIC' => ';', + 'COMMENTS' => 'remove_comments' + ), + 'msaccess' => array( + 'LABEL' => 'MS Access [ ODBC ]', + 'SCHEMA' => '', + 'DELIM' => '', + 'DELIM_BASIC' => ';', + 'COMMENTS' => '' + ), + 'mssql-odbc' => array( + 'LABEL' => 'MS SQL Server [ ODBC ]', + 'SCHEMA' => 'mssql', + 'DELIM' => 'GO', + 'DELIM_BASIC' => ';', + 'COMMENTS' => 'remove_comments' + ) +); + +// Obtain various vars +$confirm = (isset($HTTP_POST_VARS['confirm'])) ? true : false; +$cancel = (isset($HTTP_POST_VARS['cancel'])) ? true : false; + +if (isset($HTTP_POST_VARS['install_step']) || isset($HTTP_GET_VARS['install_step'])) +{ + $install_step = (isset($HTTP_POST_VARS['install_step'])) ? $HTTP_POST_VARS['install_step'] : $HTTP_GET_VARS['install_step']; +} +else +{ + $install_step = ''; +} + +$upgrade = (!empty($HTTP_POST_VARS['upgrade'])) ? $HTTP_POST_VARS['upgrade']: ''; +$upgrade_now = (!empty($HTTP_POST_VARS['upgrade_now'])) ? $HTTP_POST_VARS['upgrade_now']:''; + +$dbms = isset($HTTP_POST_VARS['dbms']) ? $HTTP_POST_VARS['dbms'] : ''; + +$dbhost = (!empty($HTTP_POST_VARS['dbhost'])) ? $HTTP_POST_VARS['dbhost'] : 'localhost'; +$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'] : ''; + +$table_prefix = (!empty($HTTP_POST_VARS['prefix'])) ? $HTTP_POST_VARS['prefix'] : ''; + +$admin_name = (!empty($HTTP_POST_VARS['admin_name'])) ? $HTTP_POST_VARS['admin_name'] : ''; +$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'] : ''; + +$ftp_path = (!empty($HTTP_POST_VARS['ftp_path'])) ? $HTTP_POST_VARS['ftp_path'] : ''; +$ftp_user = (!empty($HTTP_POST_VARS['ftp_user'])) ? $HTTP_POST_VARS['ftp_user'] : ''; +$ftp_pass = (!empty($HTTP_POST_VARS['ftp_pass'])) ? $HTTP_POST_VARS['ftp_pass'] : ''; + +if (isset($HTTP_POST_VARS['lang']) && preg_match('#^[a-z_]+$#', $HTTP_POST_VARS['lang'])) +{ + $language = strip_tags($HTTP_POST_VARS['lang']); +} +else +{ + $language = guess_lang(); +} + +$board_email = (!empty($HTTP_POST_VARS['board_email'])) ? $HTTP_POST_VARS['board_email'] : ''; +$script_path = (!empty($HTTP_POST_VARS['script_path'])) ? $HTTP_POST_VARS['script_path'] : str_replace('install', '', dirname($HTTP_SERVER_VARS['PHP_SELF'])); + +if (!empty($HTTP_POST_VARS['server_name'])) +{ + $server_name = $HTTP_POST_VARS['server_name']; +} +else +{ + // Guess at some basic info used for install.. + if (!empty($HTTP_SERVER_VARS['SERVER_NAME']) || !empty($HTTP_ENV_VARS['SERVER_NAME'])) + { + $server_name = (!empty($HTTP_SERVER_VARS['SERVER_NAME'])) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME']; + } + else if (!empty($HTTP_SERVER_VARS['HTTP_HOST']) || !empty($HTTP_ENV_VARS['HTTP_HOST'])) + { + $server_name = (!empty($HTTP_SERVER_VARS['HTTP_HOST'])) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST']; + } + else + { + $server_name = ''; + } +} + +if (!empty($HTTP_POST_VARS['server_port'])) +{ + $server_port = $HTTP_POST_VARS['server_port']; +} +else +{ + if (!empty($HTTP_SERVER_VARS['SERVER_PORT']) || !empty($HTTP_ENV_VARS['SERVER_PORT'])) + { + $server_port = (!empty($HTTP_SERVER_VARS['SERVER_PORT'])) ? $HTTP_SERVER_VARS['SERVER_PORT'] : $HTTP_ENV_VARS['SERVER_PORT']; + } + else + { + $server_port = '80'; + } +} + +// Open config.php ... if it exists +if (@file_exists(@phpbb_realpath('config.'.$phpEx))) +{ + include($phpbb_root_path.'config.'.$phpEx); +} + +// Is phpBB already installed? Yes? Redirect to the index +if (defined("PHPBB_INSTALLED")) +{ + redirect('../index.'.$phpEx); +} + +// Import language file, setup template ... +include($phpbb_root_path.'language/lang_' . $language . '/lang_main.'.$phpEx); +include($phpbb_root_path.'language/lang_' . $language . '/lang_admin.'.$phpEx); + +// Ok for the time being I'm commenting this out whilst I'm working on +// better integration of the install with upgrade as per Bart's request +// JLH +if ($upgrade == 1) +{ + // require('upgrade.'.$phpEx); + $install_step = 1; +} + +// What do we need to do? +if (!empty($HTTP_POST_VARS['send_file']) && $HTTP_POST_VARS['send_file'] == 1 && empty($HTTP_POST_VARS['upgrade_now'])) +{ + header('Content-Type: text/x-delimtext; name="config.' . $phpEx . '"'); + header('Content-disposition: attachment; filename="config.' . $phpEx . '"'); + + // We need to stripslashes no matter what the setting of magic_quotes_gpc is + // because we add slashes at the top if its off, and they are added automaticlly + // if it is on. + echo stripslashes($HTTP_POST_VARS['config_data']); + + exit; +} +else if (!empty($HTTP_POST_VARS['send_file']) && $HTTP_POST_VARS['send_file'] == 2) +{ + $s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars(stripslashes($HTTP_POST_VARS['config_data'])) . '" />'; + $s_hidden_fields .= '<input type="hidden" name="ftp_file" value="1" />'; + + if ($upgrade == 1) + { + $s_hidden_fields .= '<input type="hidden" name="upgrade" value="1" />'; + } + + page_header($lang['ftp_instructs']); + +?> + <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_username']; ?></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_password']; ?></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($HTTP_POST_VARS['ftp_file'])) +{ + // Try to connect ... + $conn_id = @ftp_connect('localhost'); + $login_result = @ftp_login($conn_id, "$ftp_user", "$ftp_pass"); + + if (!$conn_id || !$login_result) + { + page_header($lang['NoFTP_config']); + + // Error couldn't get connected... Go back to option to send file... + $s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars(stripslashes($HTTP_POST_VARS['config_data'])) . '" />'; + $s_hidden_fields .= '<input type="hidden" name="send_file" value="1" />'; + + // If we're upgrading ... + if ($upgrade == 1) + { + $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="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.'" />'; + + page_upgrade_form(); + } + else + { + page_common_form($s_hidden_fields, $lang['Download_config']); + + } + + page_footer(); + exit; + } + else + { + // Write out a temp file... + $tmpfname = @tempnam('/tmp', 'cfg'); + + @unlink($tmpfname); // unlink for safety on php4.0.3+ + + $fp = @fopen($tmpfname, 'w'); + + @fwrite($fp, stripslashes($HTTP_POST_VARS['config_data'])); + + @fclose($fp); + + // Now ftp it across. + @ftp_chdir($conn_id, $ftp_dir); + + $res = ftp_put($conn_id, 'config.'.$phpEx, $tmpfname, FTP_ASCII); + + @ftp_quit($conn_id); + + unlink($tmpfname); + + if ($upgrade == 1) + { + 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="../admin/index.'.$phpEx.'" />'; + $s_hidden_fields .= '<input type="hidden" name="submit" value="' . $lang['Login'] . '" />'; + + page_header($lang['Inst_Step_2']); + page_common_form($s_hidden_fields, $lang['Finish_Install']); + page_footer(); + exit(); + } +} +else if ((empty($install_step) || $admin_pass1 != $admin_pass2 || empty($admin_pass1) || empty($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. + $instruction_text = $lang['Inst_Step_0']; + + if (!empty($install_step)) + { + if ((($HTTP_POST_VARS['admin_pass1'] != $HTTP_POST_VARS['admin_pass2'])) || + (empty($HTTP_POST_VARS['admin_pass1']) || empty($dbhost)) && $HTTP_POST_VARS['cur_lang'] == $language) + { + $error = $lang['Password_mismatch']; + } + } + + $dirname = $phpbb_root_path . 'language'; + $dir = opendir($dirname); + + $lang_options = array(); + while ($file = readdir($dir)) + { + if (preg_match('#^lang_#i', $file) && !is_file(@phpbb_realpath($dirname . '/' . $file)) && !is_link(@phpbb_realpath($dirname . '/' . $file))) + { + $filename = trim(str_replace('lang_', '', $file)); + $displayname = preg_replace('/^(.*?)_(.*)$/', '\1 [ \2 ]', $filename); + $displayname = preg_replace('/\[(.*?)_(.*)\]/', '[ \1 - \2 ]', $displayname); + $lang_options[$displayname] = $filename; + } + } + + closedir($dir); + + @asort($lang_options); + @reset($lang_options); + + $lang_select = '<select name="lang" onchange="this.form.submit()">'; + while (list($displayname, $filename) = @each($lang_options)) + { + $selected = ($language == $filename) ? ' selected="selected"' : ''; + $lang_select .= '<option value="' . $filename . '"' . $selected . '>' . ucwords($displayname) . '</option>'; + } + $lang_select .= '</select>'; + + $dbms_select = '<select name="dbms" onchange="if(this.form.upgrade.options[this.form.upgrade.selectedIndex].value == 1){ this.selectedIndex = 0;}">'; + while (list($dbms_name, $details) = @each($available_dbms)) + { + $selected = ($dbms_name == $dbms) ? 'selected="selected"' : ''; + $dbms_select .= '<option value="' . $dbms_name . '">' . $details['LABEL'] . '</option>'; + } + $dbms_select .= '</select>'; + + $upgrade_option = '<select name="upgrade"'; + $upgrade_option .= 'onchange="if (this.options[this.selectedIndex].value == 1) { this.form.dbms.selectedIndex = 0; }">'; + $upgrade_option .= '<option value="0">' . $lang['Install'] . '</option>'; + $upgrade_option .= '<option value="1">' . $lang['Upgrade'] . '</option></select>'; + + $s_hidden_fields = '<input type="hidden" name="install_step" value="1" /><input type="hidden" name="cur_lang" value="' . $language . '" />'; + + page_header($instruction_text); + +?> + <tr> + <th colspan="2"><?php echo $lang['Initial_config']; ?></th> + </tr> + <tr> + <td class="row1" align="right" width="30%"><span class="gen"><?php echo $lang['Default_lang']; ?>: </span></td> + <td class="row2"><?php echo $lang_select; ?></td> + </tr> + <tr> + <td class="row1" align="right"><span class="gen"><?php echo $lang['dbms']; ?>: </span></td> + <td class="row2"><?php echo $dbms_select; ?></td> + </tr> + <tr> + <td class="row1" align="right"><span class="gen"><?php echo $lang['Install_Method']; ?>:</span></td> + <td class="row2"><?php echo $upgrade_option; ?></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> + </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> + </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> + </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> + </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> + </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['Admin_email']; ?>: </span></td> + <td class="row2"><input type="text" name="board_email" value="<?php echo ($board_email != '') ? $board_email : ''; ?>" /></td> + </tr> + <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> + </tr> + <tr> + <td class="row1" align="right"><span class="gen"><?php echo $lang['Server_port']; ?>: </span></td> + <td class="row2"><input type="text" name="server_port" value="<?php echo $server_port; ?>" /></td> + </tr> + <tr> + <td class="row1" align="right"><span class="gen"><?php echo $lang['Script_path']; ?>: </span></td> + <td class="row2"><input type="text" name="script_path" value="<?php echo $script_path; ?>" /></td> + </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> + </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> + </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> + </tr> +<?php + + page_common_form($s_hidden_fields, $lang['Start_Install']); + page_footer(); + exit; +} +else +{ + // 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)) + { + 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; + } + + if (!extension_loaded($check_exts) && !extension_loaded($check_other)) + { + page_header($lang['Install'], ''); + page_error($lang['Installer_Error'], $lang['Install_No_Ext']); + page_footer(); + exit; + } + + include($phpbb_root_path.'includes/db.'.$phpEx); + } + + $dbms_schema = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_schema.sql'; + $dbms_basic = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_basic.sql'; + + $remove_remarks = $available_dbms[$dbms]['COMMENTS'];; + $delimiter = $available_dbms[$dbms]['DELIM']; + $delimiter_basic = $available_dbms[$dbms]['DELIM_BASIC']; + + if ($install_step == 1) + { + if ($upgrade != 1) + { + if ($dbms != 'msaccess') + { + // Load in the sql parser + include($phpbb_root_path.'includes/sql_parse.'.$phpEx); + + // 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_/', $table_prefix, $sql_query); + + $sql_query = $remove_remarks($sql_query); + $sql_query = split_sql_file($sql_query, $delimiter); + + for ($i = 0; $i < sizeof($sql_query); $i++) + { + if (trim($sql_query[$i]) != '') + { + if (!($result = $db->sql_query($sql_query[$i]))) + { + $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 = $remove_remarks($sql_query); + $sql_query = split_sql_file($sql_query, $delimiter_basic); + + for($i = 0; $i < sizeof($sql_query); $i++) + { + if (trim($sql_query[$i]) != '') + { + if (!($result = $db->sql_query($sql_query[$i]))) + { + $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. + $error = ''; + + // Update the default admin user with their information. + $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value) + VALUES ('board_startdate', " . time() . ")"; + if (!$db->sql_query($sql)) + { + $error .= "Could not insert board_startdate :: " . $sql . " :: " . __LINE__ . " :: " . __FILE__ . "<br /><br />"; + } + + $sql = "INSERT INTO " . $table_prefix . "config (config_name, config_value) + VALUES ('default_lang', '" . str_replace("\'", "''", $language) . "')"; + if (!$db->sql_query($sql)) + { + $error .= "Could not insert default_lang :: " . $sql . " :: " . __LINE__ . " :: " . __FILE__ . "<br /><br />"; + } + + $update_config = array( + 'board_email' => $board_email, + 'script_path' => $script_path, + 'server_port' => $server_port, + 'server_name' => $server_name, + ); + + while (list($config_name, $config_value) = each($update_config)) + { + $sql = "UPDATE " . $table_prefix . "config + SET config_value = '$config_value' + WHERE config_name = '$config_name'"; + if (!$db->sql_query($sql)) + { + $error .= "Could not insert default_lang :: " . $sql . " :: " . __LINE__ . " :: " . __FILE__ . "<br /><br />"; + } + } + + $admin_pass_md5 = ($confirm && $userdata['user_level'] == ADMIN) ? $admin_pass1 : md5($admin_pass1); + + $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'"; + if (!$db->sql_query($sql)) + { + $error .= "Could not update admin info :: " . $sql . " :: " . __LINE__ . " :: " . __FILE__ . "<br /><br />"; + } + + $sql = "UPDATE " . $table_prefix . "users + SET user_regdate = " . time(); + if (!$db->sql_query($sql)) + { + $error .= "Could not update user_regdate :: " . $sql . " :: " . __LINE__ . " :: " . __FILE__ . "<br /><br />"; + } + + if ($error != '') + { + page_header($lang['Install'], ''); + page_error($lang['Installer_Error'], $lang['Install_db_error'] . '<br /><br />' . $error); + page_footer(); + exit; + } + } + + if (!$upgrade_now) + { + // 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"; + $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; + + // Unable to open the file writeable do something here as an attempt + // to get around that... + if (!($fp = @fopen($phpbb_root_path . 'config.'.$phpEx, 'w'))) + { + $s_hidden_fields = '<input type="hidden" name="config_data" value="' . htmlspecialchars($config_data) . '" />'; + + if (@extension_loaded('ftp') && !defined('NO_FTP')) + { + 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) + { + $s_hidden_fields .= '<input type="hidden" name="upgrade" value="1" />'; + $s_hidden_fields .= '<input type="hidden" name="dbms" value="'.$dbms.'" />'; + $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.'" />'; + + page_upgrade_form(); + + } + else + { + page_common_form($s_hidden_fields, $lang['Download_config']); + } + + page_footer(); + exit; + } + + $result = @fputs($fp, $config_data, strlen($config_data)); + + @fclose($fp); + $upgrade_now = $lang['upgrade_submit']; + } + + // First off let's check and see if we are supposed to be doing an upgrade. + if ($upgrade == 1 && $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. + $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="admin/index.'.$phpEx.'" />'; + $s_hidden_fields .= '<input type="hidden" name="login" value="true" />'; + + page_header($lang['Inst_Step_2'], '../login.'.$phpEx); + page_common_form($s_hidden_fields, $lang['Finish_Install']); + page_footer(); + exit; + } +} + +?> Added: main/trunk/install/schemas/index.htm =================================================================== --- main/trunk/install/schemas/index.htm (rev 0) +++ main/trunk/install/schemas/index.htm 2007-04-15 02:51:17 UTC (rev 286) @@ -0,0 +1,10 @@ +<html> +<head> +<title></title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</head> + +<body bgcolor="#FFFFFF" text="#000000"> + +</body> +</html> Added: main/trunk/install/schemas/ms_access_primer.zip =================================================================== (Binary files differ) Property changes on: main/trunk/install/schemas/ms_access_primer.zip ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: main/trunk/install/schemas/mssql_basic.sql =================================================================== --- main/trunk/install/schemas/mssql_basic.sql (rev 0) +++ main/trunk/install/schemas/mssql_basic.sql 2007-04-15 02:51:17 UTC (rev 286) @@ -0,0 +1,254 @@ +/* + + Basic DB data for phpBB2 devel (MSSQL) + + $Id: mssql_basic.sql,v 1.1.2.28 2006/12/16 13:11:27 acydburn Exp $ + +*/ + +BEGIN TRANSACTION; + +/* + -- Config +*/ +INSERT INTO phpbb_config (config_name, config_value) VALUES ('config_id','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('sitename','yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('site_desc','A _little_ text to describe your forum'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_name','phpbb2mysql'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_path','/'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_domain',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_secure','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('session_length','3600'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html_tags','b,i,u,pre'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_bbcode','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_smilies','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_sig','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_namechange','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_theme_create','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_local','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('hot_threshold','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars','255'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_inbox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sentbox_privmsgs','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_savebox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email','you...@yo...'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm', '1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_autologin','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_autologin_time','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('sendmail_fix','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('search_flood_interval','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('search_min_chars','3'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_login_attempts', '5'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('login_reset_time', '30'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_filesize','6144'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_width','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_height','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_path','images/avatars'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_gallery_path','images/avatars/gallery'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smilies_path','images/smiles'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_dateformat','D M d, Y g:i a'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_timezone','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('prune_enable','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('privmsg_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_fax', ''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_mail', ''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('record_online_users', '0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('record_online_date', '0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.yourdomain.tld'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.0.22'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('rand_seed', '0'); + +/* + -- Categories +*/ +SET IDENTITY_INSERT phpbb_categories ON; + +INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 1); + +SET IDENTITY_INSERT phpbb_categories OFF; + + +/* + -- Forums +*/ +INSERT INTO phpbb_forums (forum_id, cat_id, forum_name, forum_desc, forum_status, forum_order, forum_posts, forum_topics, forum_last_post_id, prune_next, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_attachments) VALUES (1, 1, 'Test Forum 1', 'This is just a test forum, nothing special here.', '', 1, 1, 1, 1, '', 1, '', '', 1, 1, 1, 1, 3, 3, 1, 1, 3); + +/* + -- Users + Default Admin --> username: admin + password: admin (change this or remove it once everything is working!) +*/ +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( -1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL, '', '', '', 0, 0, 1, 1, 1, 0, 1, 1, NULL, '', '', 0, '', '', '', 0, 0); +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_popup_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( 2, 'Admin', 1, 0, '21232f297a57a5a743894a0e4a801fc3', 'ad...@yo...', '', '', '', '', '', '', 1, 1, '', '', '', 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, '', 'english', 0, 'd M Y h:i a', '', '', 0, 1); + + +/* + -- Ranks +*/ +SET IDENTITY_INSERT phpbb_ranks ON; + +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_special, rank_image) VALUES (1, 'Site Admin', -1, 1, ''); + +SET IDENTITY_INSERT phpbb_ranks OFF; + + +/* + -- Groups +*/ +SET IDENTITY_INSERT phpbb_groups ON; + +INSERT INTO phpbb_groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user) VALUES (1, 1, 'Anonymous', 'Personal User', '', 1); +INSERT INTO phpbb_groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user) VALUES (2, 1, 'Admin', 'Personal User', '', 1); + +SET IDENTITY_INSERT phpbb_groups OFF; + +/* + -- User -> Group +*/ +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, ''); +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (2, 2, ''); + + +/* + -- Demo Topic +*/ +SET IDENTITY_INSERT phpbb_topics ON; + +INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, forum_id, topic_status, topic_type, topic_vote, topic_first_post_id, topic_last_post_id, topic_moved_id) VALUES (1, 'Welcome to phpBB 2', 2, '972086460', 0, 0, 1, 0, 0, 0, 1, 1, ''); + +SET IDENTITY_INSERT phpbb_topics OFF; + + +/* + -- Demo Post +*/ +SET IDENTITY_INSERT phpbb_posts ON; + +INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip) VALUES (1, 1, 1, 2, 972086460, NULL, '7F000001'); +INSERT INTO phpbb_posts_text (post_id, post_subject, post_text) VALUES (1, NULL, 'This is an example post in your phpBB 2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!'); + +SET IDENTITY_INSERT phpbb_posts OFF; + + +/* + -- Themes +*/ +SET IDENTITY_INSERT phpbb_themes ON; + +INSERT INTO phpbb_themes (themes_id, template_name, style_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (1, 'subSilver', 'subSilver', 'subSilver.css', '', 'E5E5E5', '000000', '006699', '5493B4', '', 'DD6900', 'EFEFEF', 'DEE3E7', 'D1D7DC', '', '', '', '98AAB1', '006699', 'FFFFFF', 'cellpic1.gif', 'cellpic3.gif', 'cellpic2.jpg', 'FAFAFA', 'FFFFFF', '', 'row1', 'row2', '', 'Verdana, Arial, Helvetica, sans-serif', 'Trebuchet MS', 'Courier, ''Courier New'', sans-serif', 10, 11, 12, '444444', '006600', 'FFA34F', '', '', ''); + +SET IDENTITY_INSERT phpbb_themes OFF; + +INSERT INTO phpbb_themes_name (themes_id, tr_color1_name, tr_color2_name, tr_color3_name, tr_class1_name, tr_class2_name, tr_class3_name, th_color1_name, th_color2_name, th_color3_name, th_class1_name, th_class2_name, th_class3_name, td_color1_name, td_color2_name, td_color3_name, td_class1_name, td_class2_name, td_class3_name, fontface1_name, fontface2_name, fontface3_name, fontsize1_name, fontsize2_name, fontsize3_name, fontcolor1_name, fontcolor2_name, fontcolor3_name, span_class1_name, span_class2_name, span_class3_name) VALUES (1, 'The lightest row colour', 'The medium row color', 'The darkest row colour', '', '', '', 'Border round the whole page', 'Outer table border', 'Inner table border', 'Silver gradient picture', 'Blue gradient picture', 'Fade-out gradient on index', 'Background for quote boxes', 'All white areas', '', 'Background for topic posts', '2nd background for topic posts', '', 'Main fonts', 'Additional topic title font', 'Form fonts', 'Smallest font size', 'Medium font size', 'Normal font size (post body etc)', 'Quote & copyright text', 'Code text colour', 'Main table header text colour', '', '', ''); + + +/* + -- Smilies +*/ +SET IDENTITY_INSERT phpbb_smilies ON; + +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 1, ':D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 2, ':-D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 3, ':grin:', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 4, ':)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 5, ':-)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 6, ':smile:', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 7, ':(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 8, ':-(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 9, ':sad:', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 10, ':o', 'icon_surprised.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 11, ':-o', 'icon_surprised.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 12, ':eek:', 'icon_surprised.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 13, ':shock:', 'icon_eek.gif', 'Shocked'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 14, ':?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 15, ':-?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 16, ':???:', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 17, '8)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 18, '8-)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 19, ':cool:', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 20, ':lol:', 'icon_lol.gif', 'Laughing'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 21, ':x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 22, ':-x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 23, ':mad:', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 24, ':P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 25, ':-P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 26, ':razz:', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 27, ':oops:', 'icon_redface.gif', 'Embarassed'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 28, ':cry:', 'icon_cry.gif', 'Crying or Very sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 29, ':evil:', 'icon_evil.gif', 'Evil or Very Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 30, ':twisted:', 'icon_twisted.gif', 'Twisted Evil'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 32, ':wink:', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 33, ';)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 34, ';-)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 35, ':!:', 'icon_exclaim.gif', 'Exclamation'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 36, ':?:', 'icon_question.gif', 'Question'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 37, ':idea:', 'icon_idea.gif', 'Idea'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 38, ':arrow:', 'icon_arrow.gif', 'Arrow'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 39, ':|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 40, ':-|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 41, ':neutral:', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( 42, ':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green'); + +SET IDENTITY_INSERT phpbb_smilies OFF; + + +/* + -- Search Words +*/ +SET IDENTITY_INSERT phpbb_search_wordlist ON; + +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 1, 'example', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 2, 'post', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 3, 'phpbb', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 4, 'installation', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 5, 'delete', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 6, 'topic', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 7, 'forum', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 8, 'since', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 9, 'everything', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 10, 'seems', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 11, 'working', 0 ); +INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES ( 12, 'welcome', 0 ); + +SET IDENTITY_INSERT phpbb_search_wordlist OFF; + + +/* + -- Search Word Matches +*/ +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 1, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 2, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 3, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 4, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 5, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 6, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 7, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 8, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 9, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 10, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 11, 1, 0 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 12, 1, 1 ); +INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES ( 3, 1, 1 ); + +COMMIT; \ No newline at end of file Added: main/trunk/install/schemas/mssql_schema.sql =================================================================== --- main/trunk/install/schemas/mssql_schema.sql (rev 0) +++ main/trunk/install/schemas/mssql_schema.sql 2007-04-15 02:51:17 UTC (rev 286) @@ -0,0 +1,722 @@ +/* + + mssql_schema.sql for phpBB2 (c) 2001, phpBB Group + + $Id: mssql_schema.sql,v 1.1.2.12 2006/02/06 21:32:42 grahamje Exp $ + +*/ + +BEGIN TRANSACTION +GO + +CREATE TABLE [phpbb_auth_access] ( + [group_id] [int] NULL , + [forum_id] [int] NULL , + [auth_view] [smallint] NOT NULL , + [auth_read] [smallint] NOT NULL , + [auth_post] [smallint] NOT NULL , + [auth_reply] [smallint] NOT NULL , + [auth_edit] [smallint] NOT NULL , + [auth_delete] [smallint] NOT NULL , + [auth_sticky] [smallint] NOT NULL , + [auth_announce] [smallint] NOT NULL , + [auth_vote] [smallint] NOT NULL , + [auth_pollcreate] [smallint] NOT NULL , + [auth_attachments] [smallint] NOT NULL , + [auth_mod] [smallint] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_banlist] ( + [ban_id] [int] IDENTITY (1, 1) NOT NULL , + [ban_userid] [int] NULL , + [ban_ip] [char] (8) NULL , + [ban_email] [varchar] (50) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_categories] ( + [cat_id] [int] IDENTITY (1, 1) NOT NULL , + [cat_title] [varchar] (50) NOT NULL , + [cat_order] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_config] ( + [config_name] [varchar] (255) NULL , + [config_value] [varchar] (255) NULL +) ON [PRIMARY] +GO + + +CREATE TABLE [phpbb_confirm] ( + [confirm_id] [char] (32) NOT NULL , + [session_id] [char] (32) NOT NULL , + [code] [char] (6) NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_disallow] ( + [disallow_id] [int] IDENTITY (1, 1) NOT NULL , + [disallow_username] [varchar] (100) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_forum_prune] ( + [prune_id] [int] IDENTITY (1, 1) NOT NULL , + [forum_id] [int] NOT NULL , + [prune_days] [int] NOT NULL , + [prune_freq] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_forums] ( + [forum_id] [int] NOT NULL ,... [truncated message content] |