v2.2.12 (PHP 8.2) (Не знаю про более ранние версии, как там не в курсе) Столкнулся с багом при массовой обработке пользователей. Мне нужно было массово добавить пользователей в дополнительную группу, но этого не происходило. Ни каких ошибок не появлялось, просто все действия игнорировались.
После раскопок выяснилось, что в баге виновата проверка поля "Установить звание", она не проходит, если это поле пустое. Думаю, что и все другие операции на этой странице из-за этого пустого поля не пройдут.
Лечится след. образом: В файле \src\XF\Job\UserAction.php со стр. 144 найти и закомментировать эти три строчки
После этого, ниже добавить след. код.
Когда поле "Установить звание" не заполнено, переменная $customTitle имеет значение "null" и не проходит валидацию, т. к. ее тип д. б. "string"
Заплатка, которая работает, если кто-то встретился с подобным багом
После раскопок выяснилось, что в баге виновата проверка поля "Установить звание", она не проходит, если это поле пустое. Думаю, что и все другие операции на этой странице из-за этого пустого поля не пройдут.
Лечится след. образом: В файле \src\XF\Job\UserAction.php со стр. 144 найти и закомментировать эти три строчки
PHP:
if ($customTitle !== '')
{
$user->custom_title = $customTitle;
}
PHP:
$user->custom_title = $customTitle ?? '';
Заплатка, которая работает, если кто-то встретился с подобным багом
Последнее редактирование: