Skip to content

Commit 086f3ab

Browse files
committed
fix: handle userid=0 for team submissions in process_feedback_adhoc
core_user::get_user(0) returns false for group submissions; passing false to setup_user(?stdClass) throws a TypeError in PHP 8. Convert false to null and move setup_user inside try/finally for safe cleanup.
1 parent cc17233 commit 086f3ab

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

classes/task/process_feedback_adhoc.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,13 @@ private function generate_feedback($record, string $triggeredby = 'manual', ?\as
120120

121121
// Set up the user context for the submission owner so that quota and
122122
// availability checks are performed against the correct user.
123-
$submissionuser = \core_user::get_user($record->userid);
124-
\core\cron::setup_user($submissionuser);
123+
// For team submissions, userid may be 0 (group submission); get_user()
124+
// returns false in that case, so fall back to null (cron default user).
125+
$submissionuser = \core_user::get_user($record->userid) ?: null;
125126

126127
try {
128+
\core\cron::setup_user($submissionuser);
129+
127130
if (!$provider->is_available($purpose, $record->contextid)) {
128131
mtrace("AI backend not available for user {$record->userid}, skipping submission {$record->subid}.");
129132
return;

0 commit comments

Comments
 (0)