diff options
| -rw-r--r-- | phpBB/install/database_update.php | 91 | 
1 files changed, 51 insertions, 40 deletions
| diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 538e7a36c9..46b74c884c 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1729,55 +1729,66 @@ function change_database_data(&$no_updates, $version)  			_sql($sql, $errored, $error_ary);  			// add Bing Bot -			$sql = 'SELECT group_id, group_colour -				FROM ' . GROUPS_TABLE . " -				WHERE group_name = 'BOTS'"; +			$bot_name = 'Bing [Bot]'; +			$bot_name_clean = utf8_clean_string($bot_name); + +			$sql = 'SELECT user_id +				FROM ' . USERS_TABLE . " +				WHERE username_clean = '" . $db->sql_escape($bot_name_clean) . "'";  			$result = $db->sql_query($sql); -			$group_row = $db->sql_fetchrow($result); +			$bing_already_added = (bool) $db->sql_fetchfield('user_id');  			$db->sql_freeresult($result); -			if (!$group_row) +			if (!$bing_already_added)  			{ -				// default fallback, should never get here -				$group_row['group_id'] = 6; -				$group_row['group_colour'] = '9E8DA7'; -			} +				$bot_agent = 'bingbot/'; +				$bot_ip = ''; +				$sql = 'SELECT group_id, group_colour +					FROM ' . GROUPS_TABLE . " +					WHERE group_name = 'BOTS'"; +				$result = $db->sql_query($sql); +				$group_row = $db->sql_fetchrow($result); +				$db->sql_freeresult($result); -			if (!function_exists('user_add')) -			{ -				include($phpbb_root_path . 'includes/functions_user.' . $phpEx); -			} +				if (!$group_row) +				{ +					// default fallback, should never get here +					$group_row['group_id'] = 6; +					$group_row['group_colour'] = '9E8DA7'; +				} -			$bot_name = 'Bing [Bot]'; -			$bot_agent = 'bingbot/'; -			$bot_ip = ''; - -			$user_row = array( -				'user_type'				=> USER_IGNORE, -				'group_id'				=> $group_row['group_id'], -				'username'				=> $bot_name, -				'user_regdate'			=> time(), -				'user_password'			=> '', -				'user_colour'			=> $group_row['group_colour'], -				'user_email'			=> '', -				'user_lang'				=> $config['default_lang'], -				'user_style'			=> $config['default_style'], -				'user_timezone'			=> 0, -				'user_dateformat'		=> $config['default_dateformat'], -				'user_allow_massemail'	=> 0, -			); +				if (!function_exists('user_add')) +				{ +					include($phpbb_root_path . 'includes/functions_user.' . $phpEx); +				} -			$user_id = user_add($user_row); +				$user_row = array( +					'user_type'				=> USER_IGNORE, +					'group_id'				=> $group_row['group_id'], +					'username'				=> $bot_name, +					'user_regdate'			=> time(), +					'user_password'			=> '', +					'user_colour'			=> $group_row['group_colour'], +					'user_email'			=> '', +					'user_lang'				=> $config['default_lang'], +					'user_style'			=> $config['default_style'], +					'user_timezone'			=> 0, +					'user_dateformat'		=> $config['default_dateformat'], +					'user_allow_massemail'	=> 0, +				); -			$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $db->sql_build_array('INSERT', array( -				'bot_active'	=> 1, -				'bot_name'		=> (string) $bot_name, -				'user_id'		=> (int) $user_id, -				'bot_agent'		=> (string) $bot_agent, -				'bot_ip'		=> (string) $bot_ip, -			)); +				$user_id = user_add($user_row); -			_sql($sql, $errored, $error_ary); +				$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $db->sql_build_array('INSERT', array( +					'bot_active'	=> 1, +					'bot_name'		=> (string) $bot_name, +					'user_id'		=> (int) $user_id, +					'bot_agent'		=> (string) $bot_agent, +					'bot_ip'		=> (string) $bot_ip, +				)); + +				_sql($sql, $errored, $error_ary); +			}  			// end Bing Bot addition  			// Delete shadow topics pointing to not existing topics | 
