diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index c2dea36d25..62720e9f64 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -104,6 +104,8 @@ p,ul,td {font-size:10pt;}
Prevented the ability to apply BBCode to website contents - we will find another EasterEgg
Fixed problems with very long user passwords
Limited username length the strict way - duplicate username registrations should no longer occur
+Changed split words handling - now foreign characters are indexed correctly, searching for them works too
+Changed empty email To Field to use a non-disclosure delimiter - Anti-Spam software should handle those mails correctly, they are RFC compliant
1.ii. Changes since 2.0.3
diff --git a/phpBB/groupcp.php b/phpBB/groupcp.php
index ec6fdd80a9..8f6672cc83 100644
--- a/phpBB/groupcp.php
+++ b/phpBB/groupcp.php
@@ -710,7 +710,7 @@ else if ( $group_id )
$email_headers = 'From: ' . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\nBcc: " . $email_addresses . "\n";
$emailer->use_template('group_approved');
- $emailer->email_address(' ');//$userdata['user_email']
+ $emailer->email_address($lang['Group_approved'] . ':;');//$userdata['user_email']
$emailer->set_subject($lang['Group_approved']);
$emailer->extra_headers($email_headers);
diff --git a/phpBB/includes/emailer.php b/phpBB/includes/emailer.php
index b8c0314faf..06c8a1fa0c 100755
--- a/phpBB/includes/emailer.php
+++ b/phpBB/includes/emailer.php
@@ -57,9 +57,34 @@ class emailer
//
// Sets an email address to send to
//
- function email_address($address)
+ function email_address($address, $lang_var = '', $template_lang = '')
{
+ global $board_config, $phpbb_root_path, $phpEx;
+
$this->address = '';
+
+ // If a language variable for non-disclosure is passed, we prepend it to the address.
+ if ($lang_var != '')
+ {
+ if ( $template_lang == '' )
+ {
+ $template_lang = $board_config['default_lang'];
+ }
+
+ $language_file = @phpbb_realpath($phpbb_root_path . 'language/lang_' . $template_lang . '/lang_main.' . $phpEx);
+
+ if ( !@file_exists(@phpbb_realpath($language_file)) )
+ {
+ $language_file = @phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx);
+ }
+
+ if ( @file_exists(@phpbb_realpath($language_file)) )
+ {
+ include($language_file);
+ $this->address .= $lang[$lang_var];
+ }
+ }
+
$this->address .= $address;
}
diff --git a/phpBB/includes/functions_post.php b/phpBB/includes/functions_post.php
index baf932ba38..3515ef75bb 100644
--- a/phpBB/includes/functions_post.php
+++ b/phpBB/includes/functions_post.php
@@ -671,7 +671,7 @@ function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topi
while (list($user_lang, $bcc_list) = each($bcc_list_ary))
{
$emailer->use_template('topic_notify', $user_lang);
- $emailer->email_address(' ');
+ $emailer->email_address(':;', 'Topic_reply_notification', $user_lang);
// The Topic_reply_notification lang string below will be used
// if for some reason the mail template subject cannot be read
// ... note it will not necessarily be in the posters own language!
diff --git a/phpBB/includes/functions_search.php b/phpBB/includes/functions_search.php
index 214f94aee5..818d407b57 100644
--- a/phpBB/includes/functions_search.php
+++ b/phpBB/includes/functions_search.php
@@ -58,7 +58,16 @@ function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
$entry = str_replace('*', ' ', $entry);
// 'words' that consist of <3 or >20 characters are removed.
- $entry = preg_replace('/\b([a-z0-9]{1,2}|[a-z0-9]{21,})\b/',' ', $entry);
+ $entry = explode(' ', $entry);
+ for ($i = 0; $i < sizeof($entry); $i++)
+ {
+ $entry[$i] = trim($entry[$i]);
+ if ((strlen($entry[$i]) < 3) || (strlen($entry[$i]) > 20))
+ {
+ $entry[$i] = '';
+ }
+ }
+ $entry = implode(' ', $entry);
}
if ( !empty($stopword_list) )
diff --git a/phpBB/includes/usercp_register.php b/phpBB/includes/usercp_register.php
index f2049f1ac4..2f3230e4bc 100644
--- a/phpBB/includes/usercp_register.php
+++ b/phpBB/includes/usercp_register.php
@@ -630,7 +630,7 @@ if ( isset($HTTP_POST_VARS['submit']) )
}
$emailer->use_template("admin_activate", $board_config['default_lang']);
- $emailer->email_address(' ');
+ $emailer->email_address($lang['New_account_subject'] . ':;');
$emailer->set_subject($lang['New_account_subject']);
$emailer->extra_headers($email_headers . "Bcc: $bcc_list\n");
diff --git a/phpBB/install/update_to_205.php b/phpBB/install/update_to_205.php
index f5d7bfb341..1385956dcc 100644
--- a/phpBB/install/update_to_205.php
+++ b/phpBB/install/update_to_205.php
@@ -857,6 +857,16 @@ switch ($row['config_value'])
break;
}
+echo "Updating version and optimizing tables
\n";
+echo "Progress :: ";
+flush();
+
+// update the version
+$sql = "UPDATE " . CONFIG_TABLE . "
+ SET config_value = '$updates_to_version'
+ WHERE config_name = 'version'";
+_sql($sql, $errored, $error_ary);
+
// Optimize/vacuum analyze the tables where appropriate
// this should be done for each version in future along with
// the version number update
@@ -873,12 +883,6 @@ switch (SQL_LAYER)
break;
}
-// Very last thing, update the version
-$sql = "UPDATE " . CONFIG_TABLE . "
- SET config_value = '$updates_to_version'
- WHERE config_name = 'version'";
-_sql($sql, $errored, $error_ary);
-
echo " Done
Result :: \n";
if ($errored)