Какая версия Moodle у вас есть?
Подробности ниже на основе master ветви MOODLE хранилища:
Есть 2 класса, которые используются для поиска потенциальных пользователей:
В глобальном поиске admin/roles/assign.php?contextid=1&roleid=2
Второй класс используется core_role_potential_assignees_course_and_above
.
В файле /admin/roles/assign.php строка 94 используется функция core_role_get_potential_user_selector
, используемая для создания объекта.
Вы можете либо изменить существующий класс, либо создать новый класс с помощью собственных реализаций. (Второй вариант лучше, на мой взгляд). Если вы создали свою собственную реализацию, то вам нужно будет заменить line 94.
В классе core_role_potential_assignees_course_and_above
существует метод, называемый search_sql
. Этот метод используется для генерации предложения WHERE.
Надеюсь, это поможет