diff options
| author | Nils Adermann <naderman@naderman.de> | 2011-11-18 19:14:06 +0100 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2011-11-18 19:14:06 +0100 |
| commit | addf81f62e69e23b4f31fc48997ac38683b88ebf (patch) | |
| tree | 4078d3786e8c84f253aa80a73214c2d5ad2de00a /phpBB/includes/functions_install.php | |
| parent | 5068c0588733f80a8433aea1cd6f763819caa9f7 (diff) | |
| parent | 03918f7fd2fd790d5ebd4330f9f913bfcc206f91 (diff) | |
| download | forums-addf81f62e69e23b4f31fc48997ac38683b88ebf.tar forums-addf81f62e69e23b4f31fc48997ac38683b88ebf.tar.gz forums-addf81f62e69e23b4f31fc48997ac38683b88ebf.tar.bz2 forums-addf81f62e69e23b4f31fc48997ac38683b88ebf.tar.xz forums-addf81f62e69e23b4f31fc48997ac38683b88ebf.zip | |
Merge branch 'develop' into feature/extension-manager
* develop: (93 commits)
[ticket/10157] Add notification to update cpfs when installing a language.
[ticket/10185] Always set board startdate on conversion
[ticket/10419] Reword the language strings
[ticket/9361] View correct error messages when editing account information
[ticket/10457] Undefined variable $request, when print-viewing PMs
[ticket/10452] Fix xHTML errors when print-viewing PMs
[ticket/9066] Move regex into get_preg_expression function and add tests
[ticket/10254] Add "phpBB Group" to "Modified by" in prosilver stylesheet.css
[ticket/10254] Removing the subsilver2 NOTE, incompatible with phpBB.com.
[ticket/10254] Removing the NOTE as it is incompatible with phpBB.com.
[ticket/10254] Remove subsilver2 as default style on theme.
[ticket/10254] Remove style names from themes and fix some informations on it.
[ticket/7138] Allow simple header and footer for trigger_error() messages
[ticket/9066] Disallow some database prefix to prevent same errors and problems
[ticket/10365] Fix up S_POST_UNAPPROVED check, make it easier to read
[ticket/10437] Do not display announcements that are waiting for approval
[ticket/10087] Organize bans in acp_baninto optgroups
[ticket/8616] Include old U_INBOX var for BC
[ticket/10435] Remove global announcement from forums total topic count
[ticket/10435] Readd local announcements to total topic count in viewforum
...
Conflicts:
phpBB/install/database_update.php
Diffstat (limited to 'phpBB/includes/functions_install.php')
| -rw-r--r-- | phpBB/includes/functions_install.php | 101 |
1 files changed, 51 insertions, 50 deletions
diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 4746b2f6e1..7a99bca0e2 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -104,7 +104,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20 'DRIVER' => 'mssqlnative', 'AVAILABLE' => true, '2.0.x' => false, - ), + ), 'oracle' => array( 'LABEL' => 'Oracle', 'SCHEMA' => 'oracle', @@ -211,61 +211,20 @@ function dbms_select($default = '', $only_20x_options = false) /** * Get tables of a database +* +* @deprecated */ -function get_tables($db) +function get_tables(&$db) { - switch ($db->sql_layer) + if (!class_exists('phpbb_db_tools')) { - case 'mysql': - case 'mysql4': - case 'mysqli': - $sql = 'SHOW TABLES'; - break; - - case 'sqlite': - $sql = 'SELECT name - FROM sqlite_master - WHERE type = "table"'; - break; - - case 'mssql': - case 'mssql_odbc': - case 'mssqlnative': - $sql = "SELECT name - FROM sysobjects - WHERE type='U'"; - break; - - case 'postgres': - $sql = 'SELECT relname - FROM pg_stat_user_tables'; - break; - - case 'firebird': - $sql = 'SELECT rdb$relation_name - FROM rdb$relations - WHERE rdb$view_source is null - AND rdb$system_flag = 0'; - break; - - case 'oracle': - $sql = 'SELECT table_name - FROM USER_TABLES'; - break; + global $phpbb_root_path, $phpEx; + require($phpbb_root_path . 'includes/db/db_tools.' . $phpEx); } - $result = $db->sql_query($sql); + $db_tools = new phpbb_db_tools($db); - $tables = array(); - - while ($row = $db->sql_fetchrow($result)) - { - $tables[] = current($row); - } - - $db->sql_freeresult($result); - - return $tables; + return $db_tools->sql_list_tables(); } /** @@ -555,3 +514,45 @@ function adjust_language_keys_callback($matches) return (!empty($lang[$matches[1]])) ? $db->sql_escape($lang[$matches[1]]) : $db->sql_escape($matches[1]); } } + +function phpbb_create_config_file_data($data, $dbms, $load_extensions, $debug = false) +{ + $load_extensions = implode(',', $load_extensions); + + $config_data = "<?php\n"; + $config_data .= "// phpBB 3.0.x auto-generated configuration file\n// Do not change anything in this file!\n"; + + $config_data_array = array( + 'dbms' => $dbms, + 'dbhost' => $data['dbhost'], + 'dbport' => $data['dbport'], + 'dbname' => $data['dbname'], + 'dbuser' => $data['dbuser'], + 'dbpasswd' => htmlspecialchars_decode($data['dbpasswd']), + 'table_prefix' => $data['table_prefix'], + 'acm_type' => 'file', + 'load_extensions' => $load_extensions, + ); + + foreach ($config_data_array as $key => $value) + { + $config_data .= "\${$key} = '" . str_replace("'", "\\'", str_replace('\\', '\\\\', $value)) . "';\n"; + } + + $config_data .= "\n@define('PHPBB_INSTALLED', true);\n"; + + if ($debug) + { + $config_data .= "@define('DEBUG', true);\n"; + $config_data .= "@define('DEBUG_EXTRA', true);\n"; + } + else + { + $config_data .= "// @define('DEBUG', true);\n"; + $config_data .= "// @define('DEBUG_EXTRA', true);\n"; + } + + $config_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused! + + return $config_data; +} |
