aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2007-07-22 20:11:45 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2007-07-22 20:11:45 +0000
commitec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6 (patch)
treec6a4f679afd375f000d5b64485c7e14737fc941b
parentfcb0c89962242fec72d7ed01c7049601a696e4be (diff)
downloadforums-ec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6.tar
forums-ec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6.tar.gz
forums-ec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6.tar.bz2
forums-ec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6.tar.xz
forums-ec1da5b1fd694b4f1abcf4fa8009095d23b2c1a6.zip
try to normalize everything...
git-svn-id: file:///svn/phpbb/trunk@7920 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/acp/acp_attachments.php4
-rw-r--r--phpBB/includes/acp/acp_ban.php6
-rw-r--r--phpBB/includes/acp/acp_bbcodes.php4
-rw-r--r--phpBB/includes/acp/acp_bots.php2
-rw-r--r--phpBB/includes/acp/acp_disallow.php2
-rw-r--r--phpBB/includes/acp/acp_email.php6
-rw-r--r--phpBB/includes/acp/acp_forums.php8
-rw-r--r--phpBB/includes/acp/acp_groups.php6
-rw-r--r--phpBB/includes/acp/acp_icons.php8
-rw-r--r--phpBB/includes/acp/acp_language.php4
-rw-r--r--phpBB/includes/acp/acp_modules.php4
-rw-r--r--phpBB/includes/acp/acp_permission_roles.php8
-rw-r--r--phpBB/includes/acp/acp_profile.php42
-rw-r--r--phpBB/includes/acp/acp_ranks.php2
-rw-r--r--phpBB/includes/acp/acp_reasons.php4
-rw-r--r--phpBB/includes/acp/acp_styles.php12
-rw-r--r--phpBB/includes/acp/acp_users.php27
-rw-r--r--phpBB/includes/mcp/mcp_ban.php10
-rwxr-xr-xphpBB/includes/mcp/mcp_notes.php2
-rw-r--r--phpBB/includes/mcp/mcp_queue.php2
-rwxr-xr-xphpBB/includes/mcp/mcp_warn.php4
-rw-r--r--phpBB/includes/ucp/ucp_groups.php8
-rw-r--r--phpBB/includes/ucp/ucp_pm_options.php4
-rw-r--r--phpBB/includes/ucp/ucp_register.php2
-rw-r--r--phpBB/includes/utf/utf_tools.php12
-rwxr-xr-xphpBB/install/install_install.php360
-rw-r--r--phpBB/mcp.php2
-rw-r--r--phpBB/memberlist.php8
-rw-r--r--phpBB/posting.php2
-rw-r--r--phpBB/search.php4
-rw-r--r--phpBB/viewtopic.php3
31 files changed, 300 insertions, 272 deletions
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php
index a0aaf8d67e..95a2b0e322 100644
--- a/phpBB/includes/acp/acp_attachments.php
+++ b/phpBB/includes/acp/acp_attachments.php
@@ -441,7 +441,7 @@ class acp_attachments
$ext_row = array();
}
- $group_name = request_var('group_name', '', true);
+ $group_name = utf8_normalize_nfc(request_var('group_name', '', true));
$new_group_name = ($action == 'add') ? $group_name : (($ext_row['group_name'] != $group_name) ? $group_name : '');
if (!$group_name)
@@ -618,7 +618,7 @@ class acp_attachments
if ($action == 'add')
{
$ext_group_row = array(
- 'group_name' => request_var('group_name', '', true),
+ 'group_name' => utf8_normalize_nfc(request_var('group_name', '', true)),
'cat_id' => 0,
'allow_group' => 1,
'allow_in_pm' => 1,
diff --git a/phpBB/includes/acp/acp_ban.php b/phpBB/includes/acp/acp_ban.php
index ea0a054d5f..206f332c36 100644
--- a/phpBB/includes/acp/acp_ban.php
+++ b/phpBB/includes/acp/acp_ban.php
@@ -33,12 +33,12 @@ class acp_ban
if ($bansubmit)
{
// Grab the list of entries
- $ban = request_var('ban', '', true);
+ $ban = utf8_normalize_nfc(request_var('ban', '', true));
$ban_len = request_var('banlength', 0);
$ban_len_other = request_var('banlengthother', '');
$ban_exclude = request_var('banexclude', 0);
- $ban_reason = request_var('banreason', '', true);
- $ban_give_reason = request_var('bangivereason', '', true);
+ $ban_reason = utf8_normalize_nfc(request_var('banreason', '', true));
+ $ban_give_reason = utf8_normalize_nfc(request_var('bangivereason', '', true));
if ($ban)
{
diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php
index 65c1f9026d..ce0d12b356 100644
--- a/phpBB/includes/acp/acp_bbcodes.php
+++ b/phpBB/includes/acp/acp_bbcodes.php
@@ -75,8 +75,8 @@ class acp_bbcodes
$display_on_posting = request_var('display_on_posting', 0);
$bbcode_match = request_var('bbcode_match', '');
- $bbcode_tpl = htmlspecialchars_decode(request_var('bbcode_tpl', '', true));
- $bbcode_helpline = request_var('bbcode_helpline', '', true);
+ $bbcode_tpl = htmlspecialchars_decode(utf8_normalize_nfc(request_var('bbcode_tpl', '', true)));
+ $bbcode_helpline = utf8_normalize_nfc(request_var('bbcode_helpline', '', true));
break;
}
diff --git a/phpBB/includes/acp/acp_bots.php b/phpBB/includes/acp/acp_bots.php
index 5bab27d5b2..dbee5f6eed 100644
--- a/phpBB/includes/acp/acp_bots.php
+++ b/phpBB/includes/acp/acp_bots.php
@@ -129,7 +129,7 @@ class acp_bots
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$bot_row = array(
- 'bot_name' => request_var('bot_name', '', true),
+ 'bot_name' => utf8_normalize_nfc(request_var('bot_name', '', true)),
'bot_agent' => request_var('bot_agent', ''),
'bot_ip' => request_var('bot_ip', ''),
'bot_active' => request_var('bot_active', true),
diff --git a/phpBB/includes/acp/acp_disallow.php b/phpBB/includes/acp/acp_disallow.php
index c574c8e803..4be61ad778 100644
--- a/phpBB/includes/acp/acp_disallow.php
+++ b/phpBB/includes/acp/acp_disallow.php
@@ -33,7 +33,7 @@ class acp_disallow
if ($disallow)
{
- $disallowed_user = str_replace('*', '%', request_var('disallowed_user', '', true));
+ $disallowed_user = str_replace('*', '%', utf8_normalize_nfc(request_var('disallowed_user', '', true)));
if (!$disallowed_user)
{
diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php
index 3fbbe6472f..50f3d2a4c8 100644
--- a/phpBB/includes/acp/acp_email.php
+++ b/phpBB/includes/acp/acp_email.php
@@ -30,8 +30,8 @@ class acp_email
$usernames = request_var('usernames', '', true);
$group_id = request_var('g', 0);
- $subject = request_var('subject', '', true);
- $message = request_var('message', '', true);
+ $subject = utf8_normalize_nfc(request_var('subject', '', true));
+ $message = utf8_normalize_nfc(request_var('message', '', true));
// Do the job ...
if ($submit)
@@ -178,7 +178,7 @@ class acp_email
if ($usernames)
{
$usernames = explode("\n", $usernames);
- add_log('admin', 'LOG_MASS_EMAIL', implode(', ', $usernames));
+ add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames)));
}
else
{
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php
index 2fae905b5f..fd2602d329 100644
--- a/phpBB/includes/acp/acp_forums.php
+++ b/phpBB/includes/acp/acp_forums.php
@@ -103,14 +103,14 @@ class acp_forums
'type_action' => request_var('type_action', ''),
'forum_status' => request_var('forum_status', ITEM_UNLOCKED),
'forum_parents' => '',
- 'forum_name' => request_var('forum_name', '', true),
+ 'forum_name' => utf8_normalize_nfc(request_var('forum_name', '', true)),
'forum_link' => request_var('forum_link', ''),
'forum_link_track' => request_var('forum_link_track', false),
- 'forum_desc' => request_var('forum_desc', '', true),
+ 'forum_desc' => utf8_normalize_nfc(request_var('forum_desc', '', true)),
'forum_desc_uid' => '',
'forum_desc_options' => 7,
'forum_desc_bitfield' => '',
- 'forum_rules' => request_var('forum_rules', '', true),
+ 'forum_rules' => utf8_normalize_nfc(request_var('forum_rules', '', true)),
'forum_rules_uid' => '',
'forum_rules_options' => 7,
'forum_rules_bitfield' => '',
@@ -445,7 +445,7 @@ class acp_forums
'parent_id' => $this->parent_id,
'forum_type' => FORUM_POST,
'forum_status' => ITEM_UNLOCKED,
- 'forum_name' => request_var('forum_name', '', true),
+ 'forum_name' => utf8_normalize_nfc(request_var('forum_name', '', true)),
'forum_link' => '',
'forum_link_track' => false,
'forum_desc' => '',
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 07088de75d..35499b132f 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -258,8 +258,8 @@ class acp_groups
// Did we submit?
if ($update)
{
- $group_name = request_var('group_name', '', true);
- $group_desc = request_var('group_desc', '', true);
+ $group_name = utf8_normalize_nfc(request_var('group_name', '', true));
+ $group_desc = utf8_normalize_nfc(request_var('group_desc', '', true));
$group_type = request_var('group_type', GROUP_FREE);
$allow_desc_bbcode = request_var('desc_parse_bbcode', false);
@@ -450,7 +450,7 @@ class acp_groups
}
else if (!$group_id)
{
- $group_name = request_var('group_name', '', true);
+ $group_name = utf8_normalize_nfc(request_var('group_name', '', true));
$group_desc_data = array(
'text' => '',
'allow_bbcode' => true,
diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php
index f37448032e..33e5bea058 100644
--- a/phpBB/includes/acp/acp_icons.php
+++ b/phpBB/includes/acp/acp_icons.php
@@ -276,16 +276,16 @@ class acp_icons
$image_width = (isset($_POST['width'])) ? request_var('width', array('' => 0)) : array();
$image_height = (isset($_POST['height'])) ? request_var('height', array('' => 0)) : array();
$image_add = (isset($_POST['add_img'])) ? request_var('add_img', array('' => 0)) : array();
- $image_emotion = request_var('emotion', array('' => ''), true);
- $image_code = request_var('code', array('' => ''), true);
+ $image_emotion = utf8_normalize_nfc(request_var('emotion', array('' => ''), true));
+ $image_code = utf8_normalize_nfc(request_var('code', array('' => ''), true));
$image_display_on_posting = (isset($_POST['display_on_posting'])) ? request_var('display_on_posting', array('' => 0)) : array();
// Ok, add the relevant bits if we are adding new codes to existing emoticons...
if (!empty($_POST['add_additional_code']))
{
$add_image = request_var('add_image', '');
- $add_code = request_var('add_code', '', true);
- $add_emotion = request_var('add_emotion', '', true);
+ $add_code = utf8_normalize_nfc(request_var('add_code', '', true));
+ $add_emotion = utf8_normalize_nfc(request_var('add_emotion', '', true));
if ($add_image && $add_emotion && $add_code)
{
diff --git a/phpBB/includes/acp/acp_language.php b/phpBB/includes/acp/acp_language.php
index 607bbd3cac..266729765d 100644
--- a/phpBB/includes/acp/acp_language.php
+++ b/phpBB/includes/acp/acp_language.php
@@ -146,8 +146,8 @@ class acp_language
$sql_ary = array(
'lang_english_name' => request_var('lang_english_name', $row['lang_english_name']),
- 'lang_local_name' => request_var('lang_local_name', $row['lang_local_name'], true),
- 'lang_author' => request_var('lang_author', $row['lang_author'], true),
+ 'lang_local_name' => utf8_normalize_nfc(request_var('lang_local_name', $row['lang_local_name'], true)),
+ 'lang_author' => utf8_normalize_nfc(request_var('lang_author', $row['lang_author'], true)),
);
$db->sql_query('UPDATE ' . LANG_TABLE . '
diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php
index 3daf5273cb..8148d648a3 100644
--- a/phpBB/includes/acp/acp_modules.php
+++ b/phpBB/includes/acp/acp_modules.php
@@ -232,7 +232,7 @@ class acp_modules
'module_enabled' => 0,
'module_display' => 1,
'parent_id' => 0,
- 'module_langname' => request_var('module_langname', '', true),
+ 'module_langname' => utf8_normalize_nfc(request_var('module_langname', '', true)),
'module_mode' => '',
'module_auth' => '',
);
@@ -245,7 +245,7 @@ class acp_modules
$module_data['module_display'] = request_var('module_display', (int) $module_row['module_display']);
$module_data['parent_id'] = request_var('module_parent_id', (int) $module_row['parent_id']);
$module_data['module_class'] = $this->module_class;
- $module_data['module_langname'] = request_var('module_langname', (string) $module_row['module_langname'], true);
+ $module_data['module_langname'] = utf8_normalize_nfc(request_var('module_langname', (string) $module_row['module_langname'], true));
$module_data['module_mode'] = request_var('module_mode', (string) $module_row['module_mode']);
$submit = (isset($_POST['submit'])) ? true : false;
diff --git a/phpBB/includes/acp/acp_permission_roles.php b/phpBB/includes/acp/acp_permission_roles.php
index 674468a862..57fd4c1ea5 100644
--- a/phpBB/includes/acp/acp_permission_roles.php
+++ b/phpBB/includes/acp/acp_permission_roles.php
@@ -134,8 +134,8 @@ class acp_permission_roles
case 'add':
- $role_name = request_var('role_name', '', true);
- $role_description = request_var('role_description', '', true);
+ $role_name = utf8_normalize_nfc(request_var('role_name', '', true));
+ $role_description = utf8_normalize_nfc(request_var('role_description', '', true));
$auth_settings = request_var('setting', array('' => 0));
if (!$role_name)
@@ -214,8 +214,8 @@ class acp_permission_roles
$options_from = request_var('options_from', 0);
$role_row = array(
- 'role_name' => request_var('role_name', '', true),
- 'role_description' => request_var('role_description', '', true),
+ 'role_name' => utf8_normalize_nfc(request_var('role_name', '', true)),
+ 'role_description' => utf8_normalize_nfc(request_var('role_description', '', true)),
'role_type' => $permission_type,
);
diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php
index f5ff319ece..bc6730abac 100644
--- a/phpBB/includes/acp/acp_profile.php
+++ b/phpBB/includes/acp/acp_profile.php
@@ -354,7 +354,7 @@ class acp_profile
'field_hide' => 0,
'field_no_view' => 0,
'field_show_on_reg' => 0,
- 'lang_name' => request_var('field_ident', '', true),
+ 'lang_name' => utf8_normalize_nfc(request_var('field_ident', '', true)),
'lang_explain' => '',
'lang_default_value'=> '')
);
@@ -382,9 +382,9 @@ class acp_profile
}
$cp->vars['field_ident'] = ($action == 'create' && $step == 1) ? utf8_clean_string(request_var('field_ident', $field_row['field_ident'], true)) : request_var('field_ident', $field_row['field_ident']);
- $cp->vars['lang_name'] = request_var('lang_name', $field_row['lang_name'], true);
- $cp->vars['lang_explain'] = request_var('lang_explain', $field_row['lang_explain'], true);
- $cp->vars['lang_default_value'] = request_var('lang_default_value', $field_row['lang_default_value'], true);
+ $cp->vars['lang_name'] = utf8_normalize_nfc(request_var('lang_name', $field_row['lang_name'], true));
+ $cp->vars['lang_explain'] = utf8_normalize_nfc(request_var('lang_explain', $field_row['lang_explain'], true));
+ $cp->vars['lang_default_value'] = utf8_normalize_nfc(request_var('lang_default_value', $field_row['lang_default_value'], true));
// Field option...
if (isset($_REQUEST['field_option']))
@@ -409,11 +409,11 @@ class acp_profile
// A boolean field expects an array as the lang options
if ($field_type == FIELD_BOOL)
{
- $options = request_var('lang_options', array(''), true);
+ $options = utf8_normalize_nfc(request_var('lang_options', array(''), true));
}
else
{
- $options = request_var('lang_options', '', true);
+ $options = utf8_normalize_nfc(request_var('lang_options', '', true));
}
// If the user has submitted a form with options (i.e. dropdown field)
@@ -441,13 +441,13 @@ class acp_profile
// step 2
foreach ($exclude[2] as $key)
{
- $var = request_var($key, $field_row[$key], true);
+ $var = utf8_normalize_nfc(request_var($key, $field_row[$key], true));
// Manipulate the intended variables a little bit if needed
if ($field_type == FIELD_DROPDOWN && $key == 'field_maxlen')
{
// Get the number of options if this key is 'field_maxlen'
- $var = sizeof(explode("\n", request_var('lang_options', '', true)));
+ $var = sizeof(explode("\n", utf8_normalize_nfc(request_var('lang_options', '', true))));
}
else if ($field_type == FIELD_TEXT && $key == 'field_length')
{
@@ -534,7 +534,7 @@ class acp_profile
foreach ($exclude[3] as $key)
{
- $cp->vars[$key] = request_var($key, array(0 => ''), true);
+ $cp->vars[$key] = utf8_normalize_nfc(request_var($key, array(0 => ''), true));
if (!$cp->vars[$key] && $action == 'edit')
{
@@ -542,7 +542,7 @@ class acp_profile
}
else if ($key == 'l_lang_options' && $field_type == FIELD_BOOL)
{
- $cp->vars[$key] = request_var($key, array(0 => array('')), true);
+ $cp->vars[$key] = utf8_normalize_nfc(request_var($key, array(0 => array('')), true));
}
else if ($key == 'l_lang_options' && is_array($cp->vars[$key]))
{
@@ -631,10 +631,10 @@ class acp_profile
$cp->vars['columns'] = request_var('columns', 0);
$_new_key_ary[$key] = $cp->vars['rows'] . '|' . $cp->vars['columns'];
}
+
if ($field_type == FIELD_BOOL && $key == 'l_lang_options' && isset($_REQUEST['l_lang_options']))
{
- $_new_key_ary[$key] = request_var($key, array(array('')), true);
-
+ $_new_key_ary[$key] = utf8_normalize_nfc(request_var($key, array(array('')), true));
}
else
{
@@ -644,7 +644,7 @@ class acp_profile
}
else
{
- $_new_key_ary[$key] = (is_array($_REQUEST[$key])) ? request_var($key, array(''), true) : request_var($key, '', true);
+ $_new_key_ary[$key] = (is_array($_REQUEST[$key])) ? utf8_normalize_nfc(request_var($key, array(''), true)) : utf8_normalize_nfc(request_var($key, '', true));
}
}
}
@@ -915,7 +915,7 @@ class acp_profile
$lang_options[$lang_id]['lang_iso'] = $lang_iso;
foreach ($options as $field => $field_type)
{
- $value = ($action == 'create') ? request_var('l_' . $field, array(0 => ''), true) : $cp->vars['l_' . $field];
+ $value = ($action == 'create') ? utf8_normalize_nfc(request_var('l_' . $field, array(0 => ''), true)) : $cp->vars['l_' . $field];
if ($field == 'lang_options')
{
@@ -1087,17 +1087,23 @@ class acp_profile
}
// These are always arrays because the key is the language id...
- $cp->vars['l_lang_name'] = request_var('l_lang_name', array(0 => ''), true);
- $cp->vars['l_lang_explain'] = request_var('l_lang_explain', array(0 => ''), true);
- $cp->vars['l_lang_default_value'] = request_var('l_lang_default_value', array(0 => ''), true);
+ $cp->vars['l_lang_name'] = utf8_normalize_nfc(request_var('l_lang_name', array(0 => ''), true));
+ $cp->vars['l_lang_explain'] = utf8_normalize_nfc(request_var('l_lang_explain', array(0 => ''), true));
+ $cp->vars['l_lang_default_value'] = utf8_normalize_nfc(request_var('l_lang_default_value', array(0 => ''), true));
+
if ($field_type != FIELD_BOOL)
{
- $cp->vars['l_lang_options'] = request_var('l_lang_options', array(0 => ''), true);
+ $cp->vars['l_lang_options'] = utf8_normalize_nfc(request_var('l_lang_options', array(0 => ''), true));
}
else
{
+ /**
+ * @todo check if this line is correct...
$cp->vars['l_lang_default_value'] = request_var('l_lang_default_value', array(0 => array('')), true);
+ */
+ $cp->vars['l_lang_options'] = utf8_normalize_nfc(request_var('l_lang_options', array(0 => array('')), true));
}
+
if ($cp->vars['lang_options'])
{
if (!is_array($cp->vars['lang_options']))
diff --git a/phpBB/includes/acp/acp_ranks.php b/phpBB/includes/acp/acp_ranks.php
index 08270a7221..950a645487 100644
--- a/phpBB/includes/acp/acp_ranks.php
+++ b/phpBB/includes/acp/acp_ranks.php
@@ -35,7 +35,7 @@ class acp_ranks
{
case 'save':
- $rank_title = request_var('title', '', true);
+ $rank_title = utf8_normalize_nfc(request_var('title', '', true));
$special_rank = request_var('special_rank', 0);
$min_posts = ($special_rank) ? 0 : request_var('min_posts', 0);
$rank_image = request_var('rank_image', '');
diff --git a/phpBB/includes/acp/acp_reasons.php b/phpBB/includes/acp/acp_reasons.php
index 4fe76c7bbb..ca9fbcb806 100644
--- a/phpBB/includes/acp/acp_reasons.php
+++ b/phpBB/includes/acp/acp_reasons.php
@@ -38,8 +38,8 @@ class acp_reasons
case 'edit':
$reason_row = array(
- 'reason_title' => request_var('reason_title', '', true),
- 'reason_description' => request_var('reason_description', '', true)
+ 'reason_title' => utf8_normalize_nfc(request_var('reason_title', '', true)),
+ 'reason_description' => utf8_normalize_nfc(request_var('reason_description', '', true)),
);
if ($submit)
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php
index 1e0e3af54a..74659fe792 100644
--- a/phpBB/includes/acp/acp_styles.php
+++ b/phpBB/includes/acp/acp_styles.php
@@ -670,7 +670,7 @@ parse_css_file = {PARSE_CSS_FILE}
$_POST['template_data'] = (isset($_POST['template_data']) && !empty($_POST['template_data'])) ? str_replace(array("\r\n", "\r"), array("\n", "\n"), $_POST['template_data']) : '';
$template_data = (STRIP) ? stripslashes($_POST['template_data']) : $_POST['template_data'];
- $template_file = request_var('template_file', '', true);
+ $template_file = utf8_normalize_nfc(request_var('template_file', '', true));
$text_rows = max(5, min(999, request_var('text_rows', 20)));
$save_changes = (isset($_POST['save'])) ? true : false;
@@ -1025,7 +1025,7 @@ parse_css_file = {PARSE_CSS_FILE}
$_POST['template_data'] = (isset($_POST['template_data']) && !empty($_POST['template_data'])) ? str_replace(array("\r\n", "\r"), array("\n", "\n"), $_POST['template_data']) : '';
$theme_data = (STRIP) ? stripslashes($_POST['template_data']) : $_POST['template_data'];
- $theme_file = request_var('template_file', '', true);
+ $theme_file = utf8_normalize_nfc(request_var('template_file', '', true));
$text_rows = max(5, min(999, request_var('text_rows', 20)));
$save_changes = (isset($_POST['save'])) ? true : false;
@@ -2016,8 +2016,8 @@ parse_css_file = {PARSE_CSS_FILE}
if ($update)
{
- $name = request_var('name', '', true);
- $copyright = request_var('copyright', '', true);
+ $name = utf8_normalize_nfc(request_var('name', '', true));
+ $copyright = utf8_normalize_nfc(request_var('copyright', '', true));
$template_id = request_var('template_id', 0);
$theme_id = request_var('theme_id', 0);
@@ -2652,8 +2652,8 @@ parse_css_file = {PARSE_CSS_FILE}
$error = array();
$style_row = array(
- $mode . '_name' => request_var('name', '', true),
- $mode . '_copyright' => request_var('copyright', '', true),
+ $mode . '_name' => utf8_normalize_nfc(request_var('name', '', true)),
+ $mode . '_copyright' => utf8_normalize_nfc(request_var('copyright', '', true)),
'template_id' => 0,
'theme_id' => 0,
'imageset_id' => 0,
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 8f5fd8d0de..5b6a790e97 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -30,11 +30,8 @@ class acp_users
$this->tpl_name = 'acp_users';
$this->page_title = 'ACP_USER_' . strtoupper($mode);
- include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
- include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
-
$error = array();
- $username = request_var('username', '', true);
+ $username = utf8_normalize_nfc(request_var('username', '', true));
$user_id = request_var('u', 0);
$action = request_var('action', '');
@@ -43,6 +40,8 @@ class acp_users
// Whois (special case)
if ($action == 'whois')
{
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
$this->page_title = 'WHOIS';
$this->tpl_name = 'simple_body';
@@ -148,6 +147,8 @@ class acp_users
{
case 'overview':
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
$user->add_lang('acp/ban');
$delete = request_var('delete', 0);
@@ -248,8 +249,8 @@ class acp_users
break;
}
- $ban_reason = request_var('ban_reason', $user->lang[$reason], true);
- $ban_give_reason = request_var('ban_give_reason', '', true);
+ $ban_reason = utf8_normalize_nfc(request_var('ban_reason', $user->lang[$reason], true));
+ $ban_give_reason = utf8_normalize_nfc(request_var('ban_give_reason', '', true));
// Log not used at the moment, we simply utilize the ban function.
$result = user_ban(substr($action, 3), $ban, 0, 0, 0, $ban_reason, $ban_give_reason);
@@ -598,7 +599,7 @@ class acp_users
// Handle registration info updates
$data = array(
- 'username' => request_var('user', $user_row['username'], true),
+ 'username' => utf8_normalize_nfc(request_var('user', $user_row['username'], true)),
'user_founder' => request_var('user_founder', ($user_row['user_type'] == USER_FOUNDER) ? 1 : 0),
'email' => strtolower(request_var('user_email', $user_row['user_email'])),
'email_confirm' => strtolower(request_var('email_confirm', '')),
@@ -867,7 +868,7 @@ class acp_users
$deletemark = (isset($_POST['delmarked'])) ? true : false;
$deleteall = (isset($_POST['delall'])) ? true : false;
$marked = request_var('mark', array(0));
- $message = request_var('message', '', true);
+ $message = utf8_normalize_nfc(request_var('message', '', true));
// Sort keys
$sort_days = request_var('st', 0);
@@ -952,6 +953,9 @@ class acp_users
case 'profile':
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+ include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
+
$cp = new custom_profile();
$cp_data = $cp_error = array();
@@ -1147,8 +1151,10 @@ class acp_users
case 'prefs':
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
$data = array(
- 'dateformat' => request_var('dateformat', $user_row['user_dateformat'], true),
+ 'dateformat' => utf8_normalize_nfc(request_var('dateformat', $user_row['user_dateformat'], true)),
'lang' => basename(request_var('lang', $user_row['user_lang'])),
'tz' => request_var('tz', (float) $user_row['user_timezone']),
'style' => request_var('style', $user_row['user_style']),
@@ -1352,6 +1358,7 @@ class acp_users
case 'avatar':
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;
@@ -1652,6 +1659,8 @@ class acp_users
case 'groups':
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
$user->add_lang(array('groups', 'acp/groups'));
$group_id = request_var('g', 0);
diff --git a/phpBB/includes/mcp/mcp_ban.php b/phpBB/includes/mcp/mcp_ban.php
index 5e223b1980..d7c1b28b77 100644
--- a/phpBB/includes/mcp/mcp_ban.php
+++ b/phpBB/includes/mcp/mcp_ban.php
@@ -38,11 +38,17 @@ class mcp_ban
// Grab the list of entries
$ban = request_var('ban', '', ($mode === 'user') ? true : false);
+
+ if ($mode === 'user')
+ {
+ $ban = utf8_normalize_nfc($ban);
+ }
+
$ban_len = request_var('banlength', 0);
$ban_len_other = request_var('banlengthother', '');
$ban_exclude = request_var('banexclude', 0);
- $ban_reason = request_var('banreason', '', true);
- $ban_give_reason = request_var('bangivereason', '', true);
+ $ban_reason = utf8_normalize_nfc(request_var('banreason', '', true));
+ $ban_give_reason = utf8_normalize_nfc(request_var('bangivereason', '', true));
if ($ban)
diff --git a/phpBB/includes/mcp/mcp_notes.php b/phpBB/includes/mcp/mcp_notes.php
index bc4782abea..391d41b6fb 100755
--- a/phpBB/includes/mcp/mcp_notes.php
+++ b/phpBB/includes/mcp/mcp_notes.php
@@ -103,7 +103,7 @@ class mcp_notes
$deletemark = ($action == 'del_marked') ? true : false;
$deleteall = ($action == 'del_all') ? true : false;
$marked = request_var('marknote', array(0));
- $usernote = request_var('usernote', '', true);
+ $usernote = utf8_normalize_nfc(request_var('usernote', '', true));
// Handle any actions
if (($deletemark || $deleteall) && $auth->acl_get('a_clearlogs'))
diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php
index 1259944439..1e908b1c1f 100644
--- a/phpBB/includes/mcp/mcp_queue.php
+++ b/phpBB/includes/mcp/mcp_queue.php
@@ -734,7 +734,7 @@ function disapprove_post($post_id_list, $id, $mode)
}
$redirect = request_var('redirect', build_url(array('t', 'mode', '_f_', 'quickmod')) . '&amp;mode=unapproved_topics');
- $reason = request_var('reason', '', true);
+ $reason = utf8_normalize_nfc(request_var('reason', '', true));
$reason_id = request_var('reason_id', 0);
$success_msg = $additional_msg = '';
diff --git a/phpBB/includes/mcp/mcp_warn.php b/phpBB/includes/mcp/mcp_warn.php
index 6fd0f52d6f..915df898f7 100755
--- a/phpBB/includes/mcp/mcp_warn.php
+++ b/phpBB/includes/mcp/mcp_warn.php
@@ -191,7 +191,7 @@ class mcp_warn
$post_id = request_var('p', 0);
$forum_id = request_var('f', 0);
$notify = (isset($_REQUEST['notify_user'])) ? true : false;
- $warning = request_var('warning', '', true);
+ $warning = utf8_normalize_nfc(request_var('warning', '', true));
$sql = 'SELECT u.*, p.*
FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u
@@ -306,7 +306,7 @@ class mcp_warn
$user_id = request_var('u', 0);
$username = request_var('username', '', true);
$notify = (isset($_REQUEST['notify_user'])) ? true : false;
- $warning = request_var('warning', '', true);
+ $warning = utf8_normalize_nfc(request_var('warning', '', true));
$sql_where = ($user_id) ? "user_id = $user_id" : "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php
index 1e8bd23af9..44b5498ca7 100644
--- a/phpBB/includes/ucp/ucp_groups.php
+++ b/phpBB/includes/ucp/ucp_groups.php
@@ -454,8 +454,8 @@ class ucp_groups
// Did we submit?
if ($update)
{
- $group_name = request_var('group_name', '', true);
- $group_desc = request_var('group_desc', '', true);
+ $group_name = utf8_normalize_nfc(request_var('group_name', '', true));
+ $group_desc = utf8_normalize_nfc(request_var('group_desc', '', true));
$group_type = request_var('group_type', GROUP_FREE);
$allow_desc_bbcode = request_var('desc_parse_bbcode', false);
@@ -591,7 +591,7 @@ class ucp_groups
}
else if (!$group_id)
{
- $group_name = request_var('group_name', '', true);
+ $group_name = utf8_normalize_nfc(request_var('group_name', '', true));
$group_desc_data = array(
'text' => '',
'allow_bbcode' => true,
@@ -951,7 +951,7 @@ class ucp_groups
$user->add_lang(array('acp/groups', 'acp/common'));
- $names = request_var('usernames', '', true);
+ $names = utf8_normalize_nfc(request_var('usernames', '', true));
if (!$group_id)
{
diff --git a/phpBB/includes/ucp/ucp_pm_options.php b/phpBB/includes/ucp/ucp_pm_options.php
index f242c864b6..95326090c7 100644
--- a/phpBB/includes/ucp/ucp_pm_options.php
+++ b/phpBB/includes/ucp/ucp_pm_options.php
@@ -60,7 +60,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
// Add Folder
if (isset($_POST['addfolder']))
{
- $folder_name = request_var('foldername', '', true);
+ $folder_name = utf8_normalize_nfc(request_var('foldername', '', true));
if ($folder_name)
{
@@ -104,7 +104,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
// Rename folder
if (isset($_POST['rename_folder']))
{
- $new_folder_name = request_var('new_folder_name', '', true);
+ $new_folder_name = utf8_normalize_nfc(request_var('new_folder_name', '', true));
$rename_folder_id= request_var('rename_folder_id', 0);
if (!$new_folder_name)
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index 2dab4af710..b62ee04318 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -79,7 +79,7 @@ class ucp_register
{
// We do not include the password!
$s_hidden_fields = array_merge($s_hidden_fields, array(
- 'username' => request_var('username', '', true),
+ 'username' => utf8_normalize_nfc(request_var('username', '', true)),
'email' => strtolower(request_var('email', '')),
'email_confirm' => strtolower(request_var('email_confirm', '')),
'confirm_code' => request_var('confirm_code', ''),
diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php
index c9a79cc0df..b4ad6a7af9 100644
--- a/phpBB/includes/utf/utf_tools.php
+++ b/phpBB/includes/utf/utf_tools.php
@@ -1787,7 +1787,17 @@ function utf8_normalize_nfc($strings)
{
foreach ($strings as $key => $string)
{
- utf_normalizer::nfc($strings[$key]);
+ if (is_array($string))
+ {
+ foreach ($string as $_key => $_string)
+ {
+ utf_normalizer::nfc($strings[$key][$_key]);
+ }
+ }
+ else
+ {
+ utf_normalizer::nfc($strings[$key]);
+ }
}
}
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index 7db99eb56a..9a14ac3839 100755
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -540,10 +540,7 @@ class install_install extends module
$this->page_title = $lang['STAGE_DATABASE'];
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
$connect_test = false;
$error = array();
@@ -552,15 +549,14 @@ class install_install extends module
// Has the user opted to test the connection?
if (isset($_POST['testdb']))
{
- if (!isset($available_dbms[$dbms]) || !$available_dbms[$dbms]['AVAILABLE'])
+ if (!isset($available_dbms[$data['dbms']]) || !$available_dbms[$data['dbms']]['AVAILABLE'])
{
$error['db'][] = $lang['INST_ERR_NO_DB'];
$connect_test = false;
}
else
{
- $dbpasswd = htmlspecialchars_decode($dbpasswd);
- $connect_test = connect_check_db(true, $error, $available_dbms[$dbms], $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport);
+ $connect_test = connect_check_db(true, $error, $available_dbms[$data['dbms']], $data['table_prefix'], $data['dbhost'], $data['dbuser'], $data['dbpasswd'], $data['dbname'], $data['dbport']);
}
$template->assign_block_vars('checks', array(
@@ -608,7 +604,7 @@ class install_install extends module
$available_dbms = &$available_dbms_temp;
// And now for the main part of this page
- $table_prefix = (!empty($table_prefix) ? $table_prefix : 'phpbb_');
+ $data['table_prefix'] = (!empty($data['table_prefix']) ? $data['table_prefix'] : 'phpbb_');
foreach ($this->db_config_options as $config_key => $vars)
{
@@ -635,15 +631,15 @@ class install_install extends module
'S_EXPLAIN' => $vars['explain'],
'S_LEGEND' => false,
'TITLE_EXPLAIN' => ($vars['explain']) ? $lang[$vars['lang'] . '_EXPLAIN'] : '',
- 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $$config_key, $options),
+ 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $data[$config_key], $options),
)
);
}
}
// And finally where do we want to go next (well today is taken isn't it :P)
- $s_hidden_fields = ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
- $s_hidden_fields .= '<input type="hidden" name="language" value="' . $language . '" />';
+ $s_hidden_fields = ($data['img_imagick']) ? '<input type="hidden" name="img_imagick" value="' . addslashes($data['img_imagick']) . '" />' : '';
+ $s_hidden_fields .= '<input type="hidden" name="language" value="' . $data['language'] . '" />';
if ($connect_test)
{
foreach ($this->db_config_options as $config_key => $vars)
@@ -652,7 +648,7 @@ class install_install extends module
{
continue;
}
- $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $$config_key . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $data[$config_key] . '" />';
}
}
@@ -678,69 +674,63 @@ class install_install extends module
$this->page_title = $lang['STAGE_ADMINISTRATOR'];
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
- if ($dbms == '')
+ if ($data['dbms'] == '')
{
// Someone's been silly and tried calling this page direct
// So we send them back to the start to do it again properly
$this->p_master->redirect("index.$phpEx?mode=install");
}
- $s_hidden_fields = ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
+ $s_hidden_fields = ($data['img_imagick']) ? '<input type="hidden" name="img_imagick" value="' . addslashes($data['img_imagick']) . '" />' : '';
$passed = false;
- $default_lang = ($default_lang !== '') ? $default_lang : $language;
-
- $board_email1 = strtolower($board_email1);
- $board_email2 = strtolower($board_email2);
+ $data['default_lang'] = ($data['default_lang'] !== '') ? $data['default_lang'] : $data['language'];
if (isset($_POST['check']))
{
$error = array();
// Check the entered email address and password
- if ($admin_name == '' || $admin_pass1 == '' || $admin_pass2 == '' || $board_email1 == '' || $board_email2 == '')
+ if ($data['admin_name'] == '' || $data['admin_pass1'] == '' || $data['admin_pass2'] == '' || $data['board_email1'] == '' || $data['board_email2'] == '')
{
$error[] = $lang['INST_ERR_MISSING_DATA'];
}
- if ($admin_pass1 != $admin_pass2 && $admin_pass1 != '')
+ if ($data['admin_pass1'] != $data['admin_pass2'] && $data['admin_pass1'] != '')
{
$error[] = $lang['INST_ERR_PASSWORD_MISMATCH'];
}
// Test against the default username rules
- if ($admin_name != '' && utf8_strlen($admin_name) < 3)
+ if ($data['admin_name'] != '' && utf8_strlen($data['admin_name']) < 3)
{
$error[] = $lang['INST_ERR_USER_TOO_SHORT'];
}
- if ($admin_name != '' && utf8_strlen($admin_name) > 20)
+ if ($data['admin_name'] != '' && utf8_strlen($data['admin_name']) > 20)
{
$error[] = $lang['INST_ERR_USER_TOO_LONG'];
}
// Test against the default password rules
- if ($admin_pass1 != '' && utf8_strlen($admin_pass1) < 6)
+ if ($data['admin_pass1'] != '' && utf8_strlen($data['admin_pass1']) < 6)
{
$error[] = $lang['INST_ERR_PASSWORD_TOO_SHORT'];
}
- if ($admin_pass1 != '' && utf8_strlen($admin_pass1) > 30)
+ if ($data['admin_pass1'] != '' && utf8_strlen($data['admin_pass1']) > 30)
{
$error[] = $lang['INST_ERR_PASSWORD_TOO_LONG'];
}
- if ($board_email1 != $board_email2 && $board_email1 != '')
+ if ($data['board_email1'] != $data['board_email2'] && $data['board_email1'] != '')
{
$error[] = $lang['INST_ERR_EMAIL_MISMATCH'];
}
- if ($board_email1 != '' && !preg_match('/^' . get_preg_expression('email') . '$/i', $board_email1))
+ if ($data['board_email1'] != '' && !preg_match('/^' . get_preg_expression('email') . '$/i', $data['board_email1']))
{
$error[] = $lang['INST_ERR_EMAIL_INVALID'];
}
@@ -801,7 +791,7 @@ class install_install extends module
'S_EXPLAIN' => $vars['explain'],
'S_LEGEND' => false,
'TITLE_EXPLAIN' => ($vars['explain']) ? $lang[$vars['lang'] . '_EXPLAIN'] : '',
- 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $$config_key, $options),
+ 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $data[$config_key], $options),
)
);
}
@@ -814,12 +804,12 @@ class install_install extends module
{
continue;
}
- $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $$config_key . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $data[$config_key] . '" />';
}
}
- $s_hidden_fields .= ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
- $s_hidden_fields .= '<input type="hidden" name="language" value="' . $language . '" />';
+ $s_hidden_fields .= ($data['img_imagick']) ? '<input type="hidden" name="img_imagick" value="' . addslashes($data['img_imagick']) . '" />' : '';
+ $s_hidden_fields .= '<input type="hidden" name="language" value="' . $data['language'] . '" />';
foreach ($this->db_config_options as $config_key => $vars)
{
@@ -827,7 +817,7 @@ class install_install extends module
{
continue;
}
- $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $$config_key . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $data[$config_key] . '" />';
}
$submit = $lang['NEXT_STEP'];
@@ -852,26 +842,23 @@ class install_install extends module
$this->page_title = $lang['STAGE_CONFIG_FILE'];
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
- if ($dbms == '')
+ if ($data['dbms'] == '')
{
// Someone's been silly and tried calling this page direct
// So we send them back to the start to do it again properly
$this->p_master->redirect("index.$phpEx?mode=install");
}
- $s_hidden_fields = ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
- $s_hidden_fields .= '<input type="hidden" name="language" value="' . $language . '" />';
+ $s_hidden_fields = ($data['img_imagick']) ? '<input type="hidden" name="img_imagick" value="' . addslashes($data['img_imagick']) . '" />' : '';
+ $s_hidden_fields .= '<input type="hidden" name="language" value="' . $data['language'] . '" />';
$written = false;
// Create a list of any PHP modules we wish to have loaded
$load_extensions = array();
- $available_dbms = get_available_dbms($dbms);
- $check_exts = array_merge(array($available_dbms[$dbms]['MODULE']), $this->php_dlls_other);
+ $available_dbms = get_available_dbms($data['dbms']);
+ $check_exts = array_merge(array($available_dbms[$data['dbms']]['MODULE']), $this->php_dlls_other);
foreach ($check_exts as $dll)
{
@@ -897,19 +884,18 @@ class install_install extends module
@chmod($phpbb_root_path . 'cache/install_lock', 0666);
- $dbpasswd = htmlspecialchars_decode($dbpasswd);
$load_extensions = implode(',', $load_extensions);
// Time to convert the data provided into a config file
$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 .= "\$dbms = '" . $available_dbms[$dbms]['DRIVER'] . "';\n";
- $config_data .= "\$dbhost = '$dbhost';\n";
- $config_data .= "\$dbport = '$dbport';\n";
- $config_data .= "\$dbname = '$dbname';\n";
- $config_data .= "\$dbuser = '$dbuser';\n";
- $config_data .= "\$dbpasswd = '$dbpasswd';\n\n";
- $config_data .= "\$table_prefix = '$table_prefix';\n";
+ $config_data .= "\$dbms = '" . $available_dbms[$data['dbms']]['DRIVER'] . "';\n";
+ $config_data .= "\$dbhost = '{$data['dbhost']}';\n";
+ $config_data .= "\$dbport = '{$data['dbport']}';\n";
+ $config_data .= "\$dbname = '{$data['dbname']}';\n";
+ $config_data .= "\$dbuser = '{$data['dbuser']}';\n";
+ $config_data .= "\$dbpasswd = '{$data['dbpasswd']}';\n\n";
+ $config_data .= "\$table_prefix = '{$data['table_prefix']}';\n";
// $config_data .= "\$acm_type = '" . (($acm_type) ? $acm_type : 'file') . "';\n";
$config_data .= "\$acm_type = 'file';\n";
$config_data .= "\$load_extensions = '$load_extensions';\n\n";
@@ -964,7 +950,7 @@ class install_install extends module
{
continue;
}
- $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $$config_key . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $data[$config_key] . '" />';
}
if (!$written)
@@ -1016,28 +1002,25 @@ class install_install extends module
$this->page_title = $lang['STAGE_ADVANCED'];
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
- if ($dbms == '')
+ if ($data['dbms'] == '')
{
// Someone's been silly and tried calling this page direct
// So we send them back to the start to do it again properly
$this->p_master->redirect("index.$phpEx?mode=install");
}
- $s_hidden_fields = ($img_imagick) ? '<input type="hidden" name="img_imagick" value="' . addslashes($img_imagick) . '" />' : '';
- $s_hidden_fields .= '<input type="hidden" name="language" value="' . $language . '" />';
+ $s_hidden_fields = ($data['img_imagick']) ? '<input type="hidden" name="img_imagick" value="' . addslashes($data['img_imagick']) . '" />' : '';
+ $s_hidden_fields .= '<input type="hidden" name="language" value="' . $data['language'] . '" />';
- $email_enable = ($email_enable !== '') ? $email_enable : true;
- $server_name = ($server_name !== '') ? $server_name : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
- $server_port = ($server_port !== '') ? $server_port : ((!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT'));
- $server_protocol = ($server_protocol !== '') ? $server_protocol : ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://');
- $cookie_secure = ($cookie_secure !== '') ? $cookie_secure : ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? true : false);
+ $data['email_enable'] = ($data['email_enable'] !== '') ? $data['email_enable'] : true;
+ $data['server_name'] = ($data['server_name'] !== '') ? $data['server_name'] : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
+ $data['server_port'] = ($data['server_port'] !== '') ? $data['server_port'] : ((!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT'));
+ $data['server_protocol'] = ($data['server_protocol'] !== '') ? $data['server_protocol'] : ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://');
+ $data['cookie_secure'] = ($data['cookie_secure'] !== '') ? $data['cookie_secure'] : ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? true : false);
- if ($script_path === '')
+ if ($data['script_path'] === '')
{
$name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
if (!$name)
@@ -1047,7 +1030,7 @@ class install_install extends module
// Replace backslashes and doubled slashes (could happen on some proxy setups)
$name = str_replace(array('\\', '//', '/install'), '/', $name);
- $script_path = trim(dirname($name));
+ $data['script_path'] = trim(dirname($name));
}
foreach ($this->advanced_config_options as $config_key => $vars)
@@ -1075,7 +1058,7 @@ class install_install extends module
'S_EXPLAIN' => $vars['explain'],
'S_LEGEND' => false,
'TITLE_EXPLAIN' => ($vars['explain']) ? $lang[$vars['lang'] . '_EXPLAIN'] : '',
- 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $$config_key, $options),
+ 'CONTENT' => $this->p_master->input_field($config_key, $vars['type'], $data[$config_key], $options),
)
);
}
@@ -1087,7 +1070,7 @@ class install_install extends module
{
continue;
}
- $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $$config_key . '" />';
+ $s_hidden_fields .= '<input type="hidden" name="' . $config_key . '" value="' . $data[$config_key] . '" />';
}
$submit = $lang['NEXT_STEP'];
@@ -1113,19 +1096,16 @@ class install_install extends module
$s_hidden_fields = '';
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
- if ($dbms == '')
+ if ($data['dbms'] == '')
{
// Someone's been silly and tried calling this page direct
// So we send them back to the start to do it again properly
$this->p_master->redirect("index.$phpEx?mode=install");
}
- $cookie_domain = ($server_name != '') ? $server_name : (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME');
+ $cookie_domain = ($data['server_name'] != '') ? $data['server_name'] : (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME');
// Try to come up with the best solution for cookie domain...
if (strpos($cookie_domain, 'www.') === 0)
@@ -1134,45 +1114,43 @@ class install_install extends module
}
// If we get here and the extension isn't loaded it should be safe to just go ahead and load it
- $available_dbms = get_available_dbms($dbms);
-
- $dbpasswd = htmlspecialchars_decode($dbpasswd);
+ $available_dbms = get_available_dbms($data['dbms']);
// Load the appropriate database class if not already loaded
- include($phpbb_root_path . 'includes/db/' . $available_dbms[$dbms]['DRIVER'] . '.' . $phpEx);
+ include($phpbb_root_path . 'includes/db/' . $available_dbms[$data['dbms']]['DRIVER'] . '.' . $phpEx);
// Instantiate the database
- $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER'];
+ $sql_db = 'dbal_' . $available_dbms[$data['dbms']]['DRIVER'];
$db = new $sql_db();
- $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false);
+ $db->sql_connect($data['dbhost'], $data['dbuser'], $data['dbpasswd'], $data['dbname'], $data['dbport'], false, false);
// NOTE: trigger_error does not work here.
$db->sql_return_on_error(true);
// If mysql is chosen, we need to adjust the schema filename slightly to reflect the correct version. ;)
- if ($dbms == 'mysql')
+ if ($data['dbms'] == 'mysql')
{
if (version_compare($db->mysql_version, '4.1.3', '>='))
{
- $available_dbms[$dbms]['SCHEMA'] .= '_41';
+ $available_dbms[$data['dbms']]['SCHEMA'] .= '_41';
}
else
{
- $available_dbms[$dbms]['SCHEMA'] .= '_40';
+ $available_dbms[$data['dbms']]['SCHEMA'] .= '_40';
}
}
// Ok we have the db info go ahead and read in the relevant schema
// and work on building the table
- $dbms_schema = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_schema.sql';
+ $dbms_schema = 'schemas/' . $available_dbms[$data['dbms']]['SCHEMA'] . '_schema.sql';
// How should we treat this schema?
- $remove_remarks = $available_dbms[$dbms]['COMMENTS'];
- $delimiter = $available_dbms[$dbms]['DELIM'];
+ $remove_remarks = $available_dbms[$data['dbms']]['COMMENTS'];
+ $delimiter = $available_dbms[$data['dbms']]['DELIM'];
$sql_query = @file_get_contents($dbms_schema);
- $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query);
+ $sql_query = preg_replace('#phpbb_#i', $data['table_prefix'], $sql_query);
$remove_remarks($sql_query);
@@ -1193,7 +1171,7 @@ class install_install extends module
$sql_query = file_get_contents('schemas/schema_data.sql');
// Deal with any special comments
- switch ($dbms)
+ switch ($data['dbms'])
{
case 'mssql':
case 'mssql_odbc':
@@ -1206,7 +1184,7 @@ class install_install extends module
}
// Change prefix
- $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query);
+ $sql_query = preg_replace('#phpbb_#i', $data['table_prefix'], $sql_query);
// Change language strings...
$sql_query = preg_replace_callback('#\{L_([A-Z0-9\-_]*)\}#s', 'adjust_language_keys_callback', $sql_query);
@@ -1230,139 +1208,139 @@ class install_install extends module
$user_ip = (!empty($_SERVER['REMOTE_ADDR'])) ? htmlspecialchars($_SERVER['REMOTE_ADDR']) : '';
- if ($script_path !== '/')
+ if ($data['script_path'] !== '/')
{
// Adjust destination path (no trailing slash)
- if (substr($script_path, -1) == '/')
+ if (substr($data['script_path'], -1) == '/')
{
- $script_path = substr($script_path, 0, -1);
+ $data['script_path'] = substr($data['script_path'], 0, -1);
}
- $script_path = str_replace(array('../', './'), '', $script_path);
+ $data['script_path'] = str_replace(array('../', './'), '', $data['script_path']);
- if ($script_path[0] != '/')
+ if ($data['script_path'][0] != '/')
{
- $script_path = '/' . $script_path;
+ $data['script_path'] = '/' . $data['script_path'];
}
}
// Set default config and post data, this applies to all DB's
$sql_ary = array(
- 'INSERT INTO ' . $table_prefix . "config (config_name, config_value)
+ 'INSERT INTO ' . $data['table_prefix'] . "config (config_name, config_value)
VALUES ('board_startdate', '$current_time')",
- 'INSERT INTO ' . $table_prefix . "config (config_name, config_value)
- VALUES ('default_lang', '" . $db->sql_escape($default_lang) . "')",
+ 'INSERT INTO ' . $data['table_prefix'] . "config (config_name, config_value)
+ VALUES ('default_lang', '" . $db->sql_escape($data['default_lang']) . "')",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($img_imagick) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['img_imagick']) . "'
WHERE config_name = 'img_imagick'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($server_name) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['server_name']) . "'
WHERE config_name = 'server_name'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($server_port) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['server_port']) . "'
WHERE config_name = 'server_port'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($board_email1) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['board_email1']) . "'
WHERE config_name = 'board_email'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($board_email1) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['board_email1']) . "'
WHERE config_name = 'board_contact'",
- 'UPDATE ' . $table_prefix . "config
+ 'UPDATE ' . $data['table_prefix'] . "config
SET config_value = '" . $db->sql_escape($cookie_domain) . "'
WHERE config_name = 'cookie_domain'",
- 'UPDATE ' . $table_prefix . "config
+ 'UPDATE ' . $data['table_prefix'] . "config
SET config_value = '" . $db->sql_escape($lang['default_dateformat']) . "'
WHERE config_name = 'default_dateformat'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($email_enable) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['email_enable']) . "'
WHERE config_name = 'email_enable'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($smtp_delivery) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['smtp_delivery']) . "'
WHERE config_name = 'smtp_delivery'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($smtp_host) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['smtp_host']) . "'
WHERE config_name = 'smtp_host'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($smtp_auth) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['smtp_auth']) . "'
WHERE config_name = 'smtp_auth_method'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($smtp_user) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['smtp_user']) . "'
WHERE config_name = 'smtp_username'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($smtp_pass) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['smtp_pass']) . "'
WHERE config_name = 'smtp_password'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($cookie_secure) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['cookie_secure']) . "'
WHERE config_name = 'cookie_secure'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($force_server_vars) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['force_server_vars']) . "'
WHERE config_name = 'force_server_vars'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($script_path) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['script_path']) . "'
WHERE config_name = 'script_path'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($server_protocol) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['server_protocol']) . "'
WHERE config_name = 'server_protocol'",
- 'UPDATE ' . $table_prefix . "config
- SET config_value = '" . $db->sql_escape($admin_name) . "'
+ 'UPDATE ' . $data['table_prefix'] . "config
+ SET config_value = '" . $db->sql_escape($data['admin_name']) . "'
WHERE config_name = 'newest_username'",
- 'UPDATE ' . $table_prefix . "config
+ 'UPDATE ' . $data['table_prefix'] . "config
SET config_value = '" . md5(mt_rand()) . "'
WHERE config_name = 'avatar_salt'",
- 'UPDATE ' . $table_prefix . "users
- SET username = '" . $db->sql_escape($admin_name) . "', user_password='" . $db->sql_escape(md5($admin_pass1)) . "', user_ip = '" . $db->sql_escape($user_ip) . "', user_lang = '" . $db->sql_escape($default_lang) . "', user_email='" . $db->sql_escape($board_email1) . "', user_dateformat='" . $db->sql_escape($lang['default_dateformat']) . "', user_email_hash = " . (crc32($board_email1) . strlen($board_email1)) . ", username_clean = '" . $db->sql_escape(utf8_clean_string($admin_name)) . "'
+ 'UPDATE ' . $data['table_prefix'] . "users
+ SET username = '" . $db->sql_escape($data['admin_name']) . "', user_password='" . $db->sql_escape(md5($data['admin_pass1'])) . "', user_ip = '" . $db->sql_escape($user_ip) . "', user_lang = '" . $db->sql_escape($data['default_lang']) . "', user_email='" . $db->sql_escape($data['board_email1']) . "', user_dateformat='" . $db->sql_escape($lang['default_dateformat']) . "', user_email_hash = " . (crc32($data['board_email1']) . strlen($data['board_email1'])) . ", username_clean = '" . $db->sql_escape(utf8_clean_string($data['admin_name'])) . "'
WHERE username = 'Admin'",
- 'UPDATE ' . $table_prefix . "moderator_cache
- SET username = '" . $db->sql_escape($admin_name) . "'
+ 'UPDATE ' . $data['table_prefix'] . "moderator_cache
+ SET username = '" . $db->sql_escape($data['admin_name']) . "'
WHERE username = 'Admin'",
- 'UPDATE ' . $table_prefix . "forums
- SET forum_last_poster_name = '" . $db->sql_escape($admin_name) . "'
+ 'UPDATE ' . $data['table_prefix'] . "forums
+ SET forum_last_poster_name = '" . $db->sql_escape($data['admin_name']) . "'
WHERE forum_last_poster_name = 'Admin'",
- 'UPDATE ' . $table_prefix . "topics
- SET topic_first_poster_name = '" . $db->sql_escape($admin_name) . "', topic_last_poster_name = '" . $db->sql_escape($admin_name) . "'
+ 'UPDATE ' . $data['table_prefix'] . "topics
+ SET topic_first_poster_name = '" . $db->sql_escape($data['admin_name']) . "', topic_last_poster_name = '" . $db->sql_escape($data['admin_name']) . "'
WHERE topic_first_poster_name = 'Admin'
OR topic_last_poster_name = 'Admin'",
- 'UPDATE ' . $table_prefix . "users
+ 'UPDATE ' . $data['table_prefix'] . "users
SET user_regdate = $current_time",
- 'UPDATE ' . $table_prefix . "posts
+ 'UPDATE ' . $data['table_prefix'] . "posts
SET post_time = $current_time, poster_ip = '" . $db->sql_escape($user_ip) . "'",
- 'UPDATE ' . $table_prefix . "topics
+ 'UPDATE ' . $data['table_prefix'] . "topics
SET topic_time = $current_time, topic_last_post_time = $current_time",
- 'UPDATE ' . $table_prefix . "forums
+ 'UPDATE ' . $data['table_prefix'] . "forums
SET forum_last_post_time = $current_time",
);
if (@extension_loaded('gd') || can_load_dll('gd'))
{
- $sql_ary[] = 'UPDATE ' . $table_prefix . "config
+ $sql_ary[] = 'UPDATE ' . $data['table_prefix'] . "config
SET config_value = '1'
WHERE config_name = 'captcha_gd'";
}
@@ -1374,7 +1352,7 @@ class install_install extends module
$rand_str = substr($rand_str, 0, 5);
$cookie_name .= strtolower($rand_str);
- $sql_ary[] = 'UPDATE ' . $table_prefix . "config
+ $sql_ary[] = 'UPDATE ' . $data['table_prefix'] . "config
SET config_value = '" . $db->sql_escape($cookie_name) . "'
WHERE config_name = 'cookie_name'";
@@ -1389,11 +1367,6 @@ class install_install extends module
}
}
- foreach ($this->request_vars as $var)
- {
- $s_hidden_fields .= '<input type="hidden" name="' . $var . '" value="' . $$var . '" />';
- }
-
$submit = $lang['NEXT_STEP'];
$url = $this->p_master->module_url . "?mode=$mode&amp;sub=final";
@@ -1401,7 +1374,7 @@ class install_install extends module
$template->assign_vars(array(
'BODY' => $lang['STAGE_CREATE_TABLE_EXPLAIN'],
'L_SUBMIT' => $submit,
- 'S_HIDDEN' => $s_hidden_fields,
+ 'S_HIDDEN' => build_hidden_fields($data),
'U_ACTION' => $url,
));
}
@@ -1414,23 +1387,18 @@ class install_install extends module
global $db, $lang, $phpbb_root_path, $phpEx, $config;
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
-
- $dbpasswd = htmlspecialchars_decode($dbpasswd);
+ $data = $this->get_submitted_data();
// If we get here and the extension isn't loaded it should be safe to just go ahead and load it
- $available_dbms = get_available_dbms($dbms);
+ $available_dbms = get_available_dbms($data['dbms']);
// Load the appropriate database class if not already loaded
- include($phpbb_root_path . 'includes/db/' . $available_dbms[$dbms]['DRIVER'] . '.' . $phpEx);
+ include($phpbb_root_path . 'includes/db/' . $available_dbms[$data['dbms']]['DRIVER'] . '.' . $phpEx);
// Instantiate the database
- $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER'];
+ $sql_db = 'dbal_' . $available_dbms[$data['dbms']]['DRIVER'];
$db = new $sql_db();
- $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false);
+ $db->sql_connect($data['dbhost'], $data['dbuser'], $data['dbpasswd'], $data['dbname'], $data['dbport'], false, false);
// NOTE: trigger_error does not work here.
$db->sql_return_on_error(true);
@@ -1807,10 +1775,7 @@ class install_install extends module
global $db, $lang, $phpbb_root_path, $phpEx, $config;
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
// Fill the config array - it is needed by those functions we call
$sql = 'SELECT *
@@ -1852,7 +1817,7 @@ class install_install extends module
'user_password' => '',
'user_colour' => '9E8DA7',
'user_email' => '',
- 'user_lang' => $default_lang,
+ 'user_lang' => $data['default_lang'],
'user_style' => 1,
'user_timezone' => 0,
'user_dateformat' => $lang['default_dateformat'],
@@ -1890,10 +1855,7 @@ class install_install extends module
$this->page_title = $lang['STAGE_FINAL'];
// Obtain any submitted data
- foreach ($this->request_vars as $var)
- {
- $$var = (in_array($var, array('admin_name', 'dbpasswd', 'admin_pass1', 'admin_pass2'))) ? request_var($var, '', true) : request_var($var, '');
- }
+ $data = $this->get_submitted_data();
// Load the basic configuration data
include_once($phpbb_root_path . 'includes/constants.' . $phpEx);
@@ -1910,7 +1872,7 @@ class install_install extends module
$db->sql_freeresult($result);
$user->session_begin();
- $auth->login($admin_name, $admin_pass1, false, true, true);
+ $auth->login($data['admin_name'], $data['admin_pass1'], false, true, true);
// OK, Now that we've reached this point we can be confident that everything
// is installed and working......I hope :)
@@ -1923,9 +1885,9 @@ class install_install extends module
$messenger = new messenger(false);
- $messenger->template('installed', $language);
+ $messenger->template('installed', $data['language']);
- $messenger->to($board_email1, $admin_name);
+ $messenger->to($data['board_email1'], $data['admin_name']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
@@ -1933,8 +1895,8 @@ class install_install extends module
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->assign_vars(array(
- 'USERNAME' => htmlspecialchars_decode($admin_name),
- 'PASSWORD' => htmlspecialchars_decode($admin_pass1))
+ 'USERNAME' => htmlspecialchars_decode($data['admin_name']),
+ 'PASSWORD' => htmlspecialchars_decode($data['admin_pass1']))
);
$messenger->send(NOTIFY_EMAIL);
@@ -1945,7 +1907,7 @@ class install_install extends module
$template->assign_vars(array(
'TITLE' => $lang['INSTALL_CONGRATS'],
- 'BODY' => sprintf($lang['INSTALL_CONGRATS_EXPLAIN'], $config['version'], append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=convert&amp;language=' . $language), '../docs/README.html'),
+ 'BODY' => sprintf($lang['INSTALL_CONGRATS_EXPLAIN'], $config['version'], append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=convert&amp;language=' . $data['language']), '../docs/README.html'),
'L_SUBMIT' => $lang['INSTALL_LOGIN'],
'U_ACTION' => append_sid($phpbb_root_path . 'adm/index.' . $phpEx),
));
@@ -1969,12 +1931,44 @@ class install_install extends module
return $s_smtp_auth_options;
}
-
/**
- * The variables that we will be passing between pages
- * Used to retrieve data quickly on each page
+ * Get submitted data
*/
- var $request_vars = array('language', 'dbms', 'dbhost', 'dbport', 'dbuser', 'dbpasswd', 'dbname', 'table_prefix', 'default_lang', 'admin_name', 'admin_pass1', 'admin_pass2', 'board_email1', 'board_email2', 'img_imagick', 'ftp_path', 'ftp_user', 'ftp_pass', 'email_enable', 'smtp_delivery', 'smtp_host', 'smtp_auth', 'smtp_user', 'smtp_pass', 'cookie_secure', 'force_server_vars', 'server_protocol', 'server_name', 'server_port', 'script_path');
+ function get_submitted_data()
+ {
+ return array(
+ 'language' => basename(request_var('language', '')),
+ 'dbms' => request_var('dbms', ''),
+ 'dbhost' => request_var('dbhost', ''),
+ 'dbport' => request_var('dbport', ''),
+ 'dbuser' => request_var('dbuser', ''),
+ 'dbpasswd' => htmlspecialchars_decode(request_var('dbpasswd', '', true)),
+ 'dbname' => request_var('dbname', ''),
+ 'table_prefix' => request_var('table_prefix', ''),
+ 'default_lang' => basename(request_var('default_lang', '')),
+ 'admin_name' => utf8_normalize_nfc(request_var('admin_name', '', true)),
+ 'admin_pass1' => request_var('admin_pass1', '', true),
+ 'admin_pass2' => request_var('admin_pass2', '', true),
+ 'board_email1' => strtolower(request_var('board_email1', '')),
+ 'board_email2' => strtolower(request_var('board_email2', '')),
+ 'img_imagick' => request_var('img_imagick', ''),
+ 'ftp_path' => request_var('ftp_path', ''),
+ 'ftp_user' => request_var('ftp_user', ''),
+ 'ftp_pass' => request_var('ftp_pass', ''),
+ 'email_enable' => request_var('email_enable', ''),
+ 'smtp_delivery' => request_var('smtp_delivery', ''),
+ 'smtp_host' => request_var('smtp_host', ''),
+ 'smtp_auth' => request_var('smtp_auth', ''),
+ 'smtp_user' => request_var('smtp_user', ''),
+ 'smtp_pass' => request_var('smtp_pass', ''),
+ 'cookie_secure' => request_var('cookie_secure', ''),
+ 'force_server_vars' => request_var('force_server_vars', ''),
+ 'server_protocol' => request_var('server_protocol', ''),
+ 'server_name' => request_var('server_name', ''),
+ 'server_port' => request_var('server_port', ''),
+ 'script_path' => request_var('script_path', ''),
+ );
+ }
/**
* The information below will be used to build the input fields presented to the user
diff --git a/phpBB/mcp.php b/phpBB/mcp.php
index 839c8082c6..e2670c66c0 100644
--- a/phpBB/mcp.php
+++ b/phpBB/mcp.php
@@ -78,7 +78,7 @@ $post_id = request_var('p', 0);
$topic_id = request_var('t', 0);
$forum_id = request_var('f', 0);
$user_id = request_var('u', 0);
-$username = request_var('username', '', true);
+$username = utf8_normalize_nfc(request_var('username', '', true));
if ($post_id)
{
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index 9d3262deeb..759355481f 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -332,7 +332,7 @@ switch ($mode)
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
$subject = sprintf($user->lang['IM_JABBER_SUBJECT'], $user->data['username'], $config['server_name']);
- $message = trim(request_var('message', '', true));
+ $message = utf8_normalize_nfc(request_var('message', '', true));
if (empty($message))
{
@@ -698,11 +698,11 @@ switch ($mode)
$error = array();
- $name = request_var('name', '', true);
+ $name = utf8_normalize_nfc(request_var('name', '', true));
$email = request_var('email', '');
$email_lang = request_var('lang', $config['default_lang']);
- $subject = request_var('subject', '', true);
- $message = request_var('message', '', true);
+ $subject = utf8_normalize_nfc(request_var('subject', '', true));
+ $message = utf8_normalize_nfc(request_var('message', '', true));
$cc = (isset($_POST['cc_email'])) ? true : false;
$submit = (isset($_POST['submit'])) ? true : false;
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 282f651f43..11cce9a451 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -561,7 +561,7 @@ $solved_captcha = false;
if ($submit || $preview || $refresh)
{
$post_data['topic_cur_post_id'] = request_var('topic_cur_post_id', 0);
- $post_data['post_subject'] = trim(utf8_normalize_nfc(request_var('subject', '', true)));
+ $post_data['post_subject'] = utf8_normalize_nfc(request_var('subject', '', true));
$message_parser->message = utf8_normalize_nfc(request_var('message', '', true));
$post_data['username'] = utf8_normalize_nfc(request_var('username', $post_data['username'], true));
diff --git a/phpBB/search.php b/phpBB/search.php
index bf3422a7ed..16840a4c6d 100644
--- a/phpBB/search.php
+++ b/phpBB/search.php
@@ -30,8 +30,8 @@ $topic_id = request_var('t', 0);
$view = request_var('view', '');
$submit = request_var('submit', false);
-$keywords = request_var('keywords', '', true);
-$add_keywords = request_var('add_keywords', '', true);
+$keywords = utf8_normalize_nfc(request_var('keywords', '', true));
+$add_keywords = utf8_normalize_nfc(request_var('add_keywords', '', true));
$author = request_var('author', '', true);
$author_id = request_var('author_id', 0);
$show_results = ($topic_id) ? 'posts' : request_var('sr', 'posts');
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index a722a20cd8..7d07b227fb 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -37,6 +37,9 @@ $sort_dir = request_var('sd', ((!empty($user->data['user_post_sortby_dir'])) ? $
$update = request_var('update', false);
+/**
+* @todo normalize?
+*/
$hilit_words = request_var('hilit', '', true);
// Do we have a topic or post id?