Импорт phpBB: незавершен из-за некорректного адреса электронной почты пользователя (лишний пробел в конце)

После импорта множество пользователей в Discourse находятся в статусе «Заблокирован», потому что их email-адреса из phpBB содержат завершающий пробел. На страницах сводки пользователей отображается следующее сообщение:

Этот пользователь заблокирован.
Причина: Неверный email при импорте

Хотя было бы неплохо, если бы phpBB предотвращала это, теперь уже поздно.

Одно из возможных простых решений — обрезать пробелы в начале и в конце email-адресов во время импорта.

Если код импорта используется для других платформ-источников, то такая проблема может встречаться и там.

Верно. В файле import_scripts/phpbb3/importers/user_importer.rb примерно на строке 27 добавьте .strip следующим образом:

        email: row[:user_email].strip,

Это не ошибка, но поскольку этот код существует почти десять лет и до сих пор не исправлен, неясно, правы ли вы. Проще было сказать, как исправить это в коде phpbb3, а не в base.rb (хотя я согласен, что это было бы лучше).

Быстрая проверка, чтобы определить, есть ли у вас эта потенциальная проблема. Выполните этот SQL-запрос в вашей базе данных phpBB:

SELECT `user_email` FROM `phpbb_users` where CHAR_LENGTH(`user_email`) != CHAR_LENGTH(TRIM(`user_email`)) ORDER BY `user_id` ASC