1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 23:25:30 +02:00

Cleaned usernames contain only single spaces, so 'a_name' and 'a__name' are treated as the same name [Bug #15634]

git-svn-id: file:///svn/phpbb/trunk@8261 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Nils Adermann 2007-12-04 16:20:38 +00:00
parent 2ae1f1c3a8
commit e129450b40
3 changed files with 26 additions and 10 deletions

View File

@ -53,6 +53,7 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#v30rc8">Changes since RC-8</a></li>
<li><a href="#v30rc7">Changes since RC-7</a></li>
<li><a href="#v30rc6">Changes since RC-6</a></li>
<li><a href="#v30rc5">Changes since RC-5</a></li>
@ -79,7 +80,13 @@
<div class="content">
<a name="v30rc7"></a><h3>1.i. Changes since 3.0.RC7</h3>
<a name="v30rc8"></a><h3>1.i. Changes since 3.0.RC8</h3>
<ul>
<li>[Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)</li>
</ul>
<a name="v30rc7"></a><h3>1.ii. Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@ -114,7 +121,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<a name="v30rc6"></a><h3>1.ii. Changes since 3.0.RC6</h3>
<a name="v30rc6"></a><h3>1.iii. Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@ -124,7 +131,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<a name="v30rc5"></a><h3>1.iii. Changes since 3.0.RC5</h3>
<a name="v30rc5"></a><h3>1.iv. Changes since 3.0.RC5</h3>
<ul>
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
@ -187,7 +194,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<a name="v30rc4"></a><h3>1.iv. Changes since 3.0.RC4</h3>
<a name="v30rc4"></a><h3>1.v. Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@ -238,7 +245,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<a name="v30rc3"></a><h3>1.v. Changes since 3.0.RC3</h3>
<a name="v30rc3"></a><h3>1.vi. Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@ -347,7 +354,7 @@
</ul>
<a name="v30rc2"></a><h3>1.vi. Changes since 3.0.RC2</h3>
<a name="v30rc2"></a><h3>1.vii. Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@ -393,7 +400,7 @@
</ul>
<a name="v30rc1"></a><h3>1.vii. Changes since 3.0.RC1</h3>
<a name="v30rc1"></a><h3>1.viii. Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>

View File

@ -1829,6 +1829,9 @@ function utf8_clean_string($text)
// Other control characters
$text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text);
// we need to reduce multiple spaces to a single one
$text = preg_replace('# {2,}#', ' ', $text);
// we can use trim here as all the other space characters should have been turned
// into normal ASCII spaces by now
return trim($text);

View File

@ -571,7 +571,7 @@ else
// Checks/Operations that have to be completed prior to starting the update itself
$exit = false;
if (version_compare($current_version, '3.0.RC4', '<='))
if (version_compare($current_version, '3.0.RC8', '<='))
{
// Define missing language entries...
if (!isset($lang['CLEANING_USERNAMES']))
@ -715,9 +715,13 @@ if (version_compare($current_version, '3.0.RC4', '<='))
// duplicates might be created. Since the column has to be unique such usernames
// must not exist. We need identify them and let the admin decide what to do
// about them.
// After RC8 this was changed again, but this time only usernames containing spaces
// are affected.
$sql_where = (version_compare($current_version, '3.0.RC4', '<=')) ? '' : "WHERE username_clean LIKE '% %'";
$sql = 'SELECT user_id, username, username_clean
FROM ' . USERS_TABLE . '
ORDER BY user_id ASC';
FROM ' . USERS_TABLE . "
$sql_where
ORDER BY user_id ASC";
$result = $db->sql_query($sql);
$colliding_users = $found_names = array();
@ -2765,6 +2769,8 @@ function utf8_new_clean_string($text)
// Other control characters
$text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text);
$text = preg_replace('# {2,}#', ' ', $text);
// we can use trim here as all the other space characters should have been turned
// into normal ASCII spaces by now
return trim($text);