diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 3272c9663e..b45de4a6db 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -77,7 +77,7 @@ function update_last_username() global $db; // Get latest username - $sql = 'SELECT user_id, username + $sql = 'SELECT user_id, username, user_colour FROM ' . USERS_TABLE . ' WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ') ORDER BY user_id DESC'; @@ -89,6 +89,7 @@ function update_last_username() { set_config('newest_user_id', $row['user_id'], true); set_config('newest_username', $row['username'], true); + set_config('newest_user_colour', $row['user_colour'], true); } } @@ -142,7 +143,7 @@ function user_add($user_row, $cp_data = false) 'username' => $user_row['username'], 'username_clean' => utf8_clean_string($user_row['username']), 'user_password' => (isset($user_row['user_password'])) ? $user_row['user_password'] : '', - 'user_pass_convert' => 0, + //'user_pass_convert' => 0, 'user_email' => strtolower($user_row['user_email']), 'user_email_hash' => (int) crc32(strtolower($user_row['user_email'])) . strlen($user_row['user_email']), 'group_id' => $user_row['group_id'], @@ -244,7 +245,7 @@ function user_add($user_row, $cp_data = false) $db->sql_query($sql); // Now make it the users default group... - group_set_user_default($user_row['group_id'], array($user_id)); + group_set_user_default($user_row['group_id'], array($user_id), false, true); // set the newest user and adjust the user count if the user is a normal user and no activation mail is sent if ($user_row['user_type'] == USER_NORMAL) @@ -2043,7 +2044,7 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna /** * Set users default group */ -function group_set_user_default($group_id, $user_id_ary, $group_attributes = false) +function group_set_user_default($group_id, $user_id_ary, $group_attributes = false, $new_user = false) { global $db; @@ -2126,6 +2127,15 @@ function group_set_user_default($group_id, $user_id_ary, $group_attributes = fal $sql = 'UPDATE ' . TOPICS_TABLE . " SET topic_last_poster_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "' WHERE " . $db->sql_in_set('topic_last_poster_id', $user_id_ary); $db->sql_query($sql); + + $sql = 'UPDATE ' . TOPICS_TABLE . " SET topic_last_poster_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "' + WHERE " . $db->sql_in_set('topic_last_poster_id', $user_id_ary); + $db->sql_query($sql); + + if ($new_user || in_array($config['newest_user_id'], $user_id_ary)) + { + set_config('newest_user_colour', $sql_ary['user_colour'], true); + } } } diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 92e0e593fa..5717dbc4d2 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -518,6 +518,16 @@ if (version_compare($current_version, '3.0.b4', '<')) set_config('ldap_password', ''); set_config('ldap_user', ''); + $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); + $no_updates = false; } diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index d4c72a2989..abc6021deb 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -210,6 +210,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '144 INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('cache_last_gc', '0', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('database_last_gc', '0', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('last_queue_run', '0', 1); +INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('newest_user_colour', 'AA0000', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('newest_user_id', '2', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('newest_username', '', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('num_files', '0', 1);