diff --git a/lib/moodlelib.php b/lib/moodlelib.php index ec54c3a..7c86b3f 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -3443,10 +3443,26 @@ function update_user_login_times() { * @return bool */ function user_not_fully_set_up($user) { + global $DB; + if (isguestuser($user)) { return false; } - return (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)); + + if (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)) { + return true; + } + + $sql = "SELECT f.id + FROM {user_info_field} f + LEFT JOIN {user_info_data} d ON (d.fieldid = f.id AND d.userid = ?) + WHERE f.required = 1 AND f.visible > 0 AND f.locked = 0 AND d.id IS NULL"; + + if ($DB->record_exists_sql($sql, array($user->id))) { + return true; + } + + return false; } /**