aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2007-03-22 15:15:20 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2007-03-22 15:15:20 +0000
commit3ff475bcbba49cf55e7f4e803f7d16f7b0c93759 (patch)
tree493b39b0d9ccc9790bf9fe93ddacd7caf71f6477 /phpBB/install
parentd8013e9c75eed6f9aed156029685c7bfb0fc9252 (diff)
downloadforums-3ff475bcbba49cf55e7f4e803f7d16f7b0c93759.tar
forums-3ff475bcbba49cf55e7f4e803f7d16f7b0c93759.tar.gz
forums-3ff475bcbba49cf55e7f4e803f7d16f7b0c93759.tar.bz2
forums-3ff475bcbba49cf55e7f4e803f7d16f7b0c93759.tar.xz
forums-3ff475bcbba49cf55e7f4e803f7d16f7b0c93759.zip
some fixes... hopefully not breaking something. :o
git-svn-id: file:///svn/phpbb/trunk@7216 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/install')
-rw-r--r--phpBB/install/database_update.php199
-rwxr-xr-xphpBB/install/index.php7
-rw-r--r--phpBB/install/install_update.php20
3 files changed, 27 insertions, 199 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index e037d26f30..5778b501dc 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -77,10 +77,22 @@ $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
+$language = basename(request_var('language', ''));
+
+if (!$language)
+{
+ $language = $row['config_value'];
+}
+
+if (!file_exists($phpbb_root_path . 'language/' . $language))
+{
+ die('No language found!');
+}
+
// And finally, load the relevant language files
-include($phpbb_root_path . 'language/' . $row['config_value'] . '/common.' . $phpEx);
-include($phpbb_root_path . 'language/' . $row['config_value'] . '/acp/common.' . $phpEx);
-include($phpbb_root_path . 'language/' . $row['config_value'] . '/install.' . $phpEx);
+include($phpbb_root_path . 'language/' . $language . '/common.' . $phpEx);
+include($phpbb_root_path . 'language/' . $language . '/acp/common.' . $phpEx);
+include($phpbb_root_path . 'language/' . $language . '/install.' . $phpEx);
// Set PHP error handler to ours
//set_error_handler('msg_handler');
@@ -285,73 +297,6 @@ $unsigned_types = array('UINT', 'UINT:', 'USINT', 'BOOL', 'TIMESTAMP');
// Only an example, but also commented out
$database_update_info = array(
- // Changes from 3.0.b3 to the next version
- '3.0.b3' => array(
- // Change the following columns...
- 'change_columns' => array(
- BBCODES_TABLE => array(
- 'bbcode_helpline' => array('VCHAR_UNI', ''),
- ),
- USERS_TABLE => array(
- 'user_occ' => array('TEXT_UNI', ''),
- ),
- CONFIG_TABLE => array(
- 'config_value' => array('VCHAR_UNI', ''),
- ),
- ),
- // Add the following columns
- 'add_columns' => array(
- GROUPS_TABLE => array(
- 'group_founder_manage' => array('BOOL', 0),
- ),
- USERS_TABLE => array(
- 'user_pass_convert' => array('BOOL', 0),
- ),
- ),
- ),
- // Changes from 3.0.b4 to the next version
- '3.0.b4' => array(
- // Add the following columns
- 'add_columns' => array(
- CONFIRM_TABLE => array(
- 'seed' => array('UINT:10', 0),
- ),
- SESSIONS_TABLE => array(
- 'session_forwarded_for' => array('VCHAR:255', ''),
- ),
- ),
- // Change the following columns...
- 'change_columns' => array(
- USERS_TABLE => array(
- 'user_options' => array('UINT:11', 895),
- ),
- FORUMS_TABLE => array(
- 'prune_days' => array('UINT', 0),
- 'prune_viewed' => array('UINT', 0),
- 'prune_freq' => array('UINT', 0),
- ),
- PRIVMSGS_RULES_TABLE => array(
- 'rule_folder_id' => array('INT:11', 0),
- ),
- PRIVMSGS_TO_TABLE => array(
- 'folder_id' => array('INT:11', 0),
- ),
- ),
- // Remove the following keys
- 'drop_keys' => array(
- ZEBRA_TABLE => array(
- 'user_id',
- 'zebra_id',
- ),
- ),
- // Add the following primary keys
- 'add_primary_keys' => array(
- ZEBRA_TABLE => array(
- 'user_id',
- 'zebra_id',
- ),
- ),
- ),
// Changes from 3.0.b5 to the next version
'3.0.b5' => array(
// Add the following columns
@@ -630,115 +575,7 @@ flush();
$no_updates = true;
// some code magic
-if (version_compare($current_version, '3.0.b3', '<='))
-{
- // Set group_founder_manage for administrators group
- $sql = 'SELECT group_id
- FROM ' . GROUPS_TABLE . "
- WHERE group_name = 'ADMINISTRATORS'
- AND group_type = " . GROUP_SPECIAL;
- $result = $db->sql_query($sql);
- $group_id = (int) $db->sql_fetchfield('group_id');
- $db->sql_freeresult($result);
-
- if ($group_id)
- {
- $sql = 'UPDATE ' . GROUPS_TABLE . ' SET group_founder_manage = 1 WHERE group_id = ' . $group_id;
- _sql($sql, $errored, $error_ary);
- }
-
- add_bots();
-
- $no_updates = false;
-}
-
-if (version_compare($current_version, '3.0.b4', '<='))
-{
- // Add config values
- set_config('script_path', '/');
- set_config('forwarded_for_check', '0');
- set_config('ldap_password', '');
- set_config('ldap_user', '');
- set_config('fulltext_native_common_thres', '20');
-
- // Remove config variables
- $sql = 'DELETE FROM ' . CONFIG_TABLE . " WHERE config_name = 'send_encoding'";
- _sql($sql, $errored, $error_ary);
-
- $sql = 'SELECT user_colour
- FROM ' . USERS_TABLE . '
- WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
- ORDER BY user_id DESC';
- $result = $db->sql_query_limit($sql, 1);
- $row = $db->sql_fetchrow($result);
- $db->sql_freeresult($result);
-
- set_config('newest_user_colour', $row['user_colour'], true);
-
- switch ($config['allow_name_chars'])
- {
- case '[\w]+':
- set_config('allow_name_chars', '[a-z]+');
- break;
-
- case '[\w_\+\. \-\[\]]+':
- set_config('allow_name_chars', '[-\]_+ [a-z]+');
- break;
- }
-
- switch ($config['pass_complex'])
- {
- case '.*':
- set_config('pass_complex', 'PASS_TYPE_ANY');
- break;
-
- case '[a-zA-Z]':
- set_config('pass_complex', 'PASS_TYPE_CASE');
- break;
-
- case '[a-zA-Z0-9]':
- set_config('pass_complex', 'PASS_TYPE_ALPHA');
- break;
-
- case '[a-zA-Z\W]':
- set_config('pass_complex', 'PASS_TYPE_SYMBOL');
- break;
- }
-
- $sql = 'UPDATE ' . USERS_TABLE . ' SET user_options = 895 WHERE user_options = 893';
- _sql($sql, $errored, $error_ary);
-
- $sql = 'UPDATE ' . MODULES_TABLE . " SET module_auth = 'acl_a_board'
- WHERE module_class = 'acp' AND module_mode = 'version_check' AND module_auth = 'acl_a_'";
- _sql($sql, $errored, $error_ary);
-
- // Because the email hash could have been calculated wrongly as well as the clean string function changed,
- // we will update it for every user.
-
- // Since this is not used in a live environment there are not much... not used in a live environment, yes!
- $sql = 'SELECT user_id, user_email, username
- FROM ' . USERS_TABLE;
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- $sql = 'UPDATE ' . USERS_TABLE . "
- SET username_clean = '" . $db->sql_escape(utf8_clean_string($row['username'])) . "'";
-
- if ($row['user_email'])
- {
- $sql .= ', user_email_hash = ' . (crc32($row['user_email']) . strlen($row['user_email']));
- }
-
- $sql .= ' WHERE user_id = ' . $row['user_id'];
- _sql($sql, $errored, $error_ary);
- }
- $db->sql_freeresult($result);
-
- $no_updates = false;
-}
-
-if (version_compare($current_version, '3.0.b6', '<='))
+if (version_compare($current_version, '3.0.b5', '<='))
{
// sorting thang
if ($map_dbms === 'mysql_41')
@@ -852,9 +689,9 @@ else
{
?>
- <p><?php echo ((isset($lang['CONTINUE_INLINE_UPDATE'])) ? $lang['CONTINUE_INLINE_UPDATE'] : 'The database update was successful. Now please close this window and continue the update process as explained.'); ?></p>
+ <p><?php echo ((isset($lang['INLINE_UPDATE_SUCCESSFUL'])) ? $lang['INLINE_UPDATE_SUCCESSFUL'] : 'The database update was successful. Now you need to continue the update process.'); ?></p>
- <p><a href="#" onclick="window.close();">&raquo; <?php echo $lang['CLOSE_WINDOW']; ?></a></p>
+ <p><a href="<?php echo append_sid("{$phpbb_root_path}install/index.{$phpEx}", "mode=update&amp;sub=file_check&amp;lang=$language"); ?>">&raquo; <?php echo (isset($lang['CONTINUE_UPDATE_NOW'])) ? $lang['CONTINUE_UPDATE_NOW'] : 'Continue the update process now'; ?></a></p>
<?php
}
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index 2baa7c2a2c..e721e90bf6 100755
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -118,7 +118,7 @@ include($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
require($phpbb_root_path . 'includes/functions_install.' . $phpEx);
// Try and load an appropriate language if required
-$language = request_var('language', '');
+$language = basename(request_var('language', ''));
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && !$language)
{
@@ -171,6 +171,11 @@ if (!$language)
closedir($dir);
}
+if (!file_exists($phpbb_root_path . 'language/' . $language))
+{
+ die('No language found!');
+}
+
// And finally, load the relevant language files
include($phpbb_root_path . 'language/' . $language . '/common.' . $phpEx);
include($phpbb_root_path . 'language/' . $language . '/acp/common.' . $phpEx);
diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php
index 125c5c3fd5..75f4fc4a56 100644
--- a/phpBB/install/install_update.php
+++ b/phpBB/install/install_update.php
@@ -112,20 +112,6 @@ class install_update extends module
$user->session_begin();
$auth->acl($user->data);
- // Beta4 and below are having a bug displaying an error if the install directory is present.
- // This bug got fixed, but we need to get around it by using a tiny 'hack'.
- if (!defined('DEBUG_EXTRA'))
- {
- if (version_compare(strtolower($config['version']), '3.0.b4', '<='))
- {
- @define('DEBUG_EXTRA', true);
- }
- else if (!empty($config['version_update_from']) && version_compare(strtolower($config['version_update_from']), '3.0.b4', '<='))
- {
- @define('DEBUG_EXTRA', true);
- }
- }
-
$user->setup('install');
// If we are within the intro page we need to make sure we get up-to-date version info
@@ -281,7 +267,7 @@ class install_update extends module
$template->assign_vars(array(
'S_DB_UPDATE' => true,
'S_DB_UPDATE_FINISHED' => ($config['version'] == $this->latest_version) ? true : false,
- 'U_DB_UPDATE' => $phpbb_root_path . 'install/database_update.' . $phpEx . '?type=1',
+ 'U_DB_UPDATE' => append_sid($phpbb_root_path . 'install/database_update.' . $phpEx, 'type=1&amp;language=' . $language),
'U_DB_UPDATE_ACTION' => append_sid($this->p_master->module_url, "mode=$mode&amp;sub=update_db"),
'U_ACTION' => append_sid($this->p_master->module_url, "mode=$mode&amp;sub=file_check"),
));
@@ -1190,7 +1176,7 @@ class install_update extends module
/* Get custom installed styles...
$sql = 'SELECT template_name, template_path
FROM ' . STYLES_TEMPLATE_TABLE . "
- WHERE template_name NOT IN ('subSilver', 'BLABLA')";
+ WHERE LOWER(template_name) NOT IN ('subsilver', 'prosilver')";
$result = $db->sql_query($sql);
$templates = array();
@@ -1205,7 +1191,7 @@ class install_update extends module
foreach ($info['files'] as $filename)
{
// Template update?
- if (strpos($filename, 'styles/subSilver/template/') === 0)
+ if (strpos(strtolower($filename), 'styles/subsilver/template/') === 0)
{
foreach ($templates as $row)
{