19 declare(strict_types=1);
    35     protected \ILIAS\FileUpload\FileUpload 
$upload;
    36     protected \ilExAssignmentTypeInterface 
$type;
    51         $this->
upload = $DIC->upload();
    56         if ($this->type->usesTeams()) {
    58             $this->stakeholder = $team_stakeholder;
    74         $this->domain->resourceStorage()->events()->attach(
    76             Event::COLLECTION_RESOURCE_ADDED
    82         $log = $this->domain->log();
    83         $log->debug(
"Ass id: " . $this->ass_id);
    93         $log->debug(
"Get notification");
    94         $notification = $this->domain->notification(
$ref_id);
    95         $log->debug(
"Get participant");
    96         $part_id = $this->repo->getParticipantIdForRcid($this->ass_id, $rcid);
    97         $log->debug(
"Get filename");
    98         $filename = $this->repo->getFilenameForRid($this->ass_id, $part_id, $rid);
    99         $log->debug(
"Get assignment");
   100         $ass = new \ilExAssignment($this->ass_id);
   101         $log->debug(
"Get submission");
   102         $submission = new \ilExSubmission($ass, $part_id);
   103         $feedback_id = $submission->getFeedbackId();
   104         $noti_rec_ids = $submission->getUserIds();
   106         $log->debug(
"Feedback id: " . $feedback_id);
   109                 foreach ($noti_rec_ids as $user_id) {
   110                     $member_status = $ass->getMemberStatus($user_id);
   111                     $member_status->setFeedback(
true);
   112                     $member_status->update();
   115                 $notification->sendFeedbackNotification(
   131         if ($this->type->usesTeams()) {
   132             $team_id = $this->domain->team()->getTeamForMember($this->ass_id, $participant_id);
   133             if (is_null($team_id)) {
   134                 throw new \ilExerciseException(
"Team for user " . $participant_id . 
" in assignment " . $this->ass_id . 
" not found.");
   136             return "t" . $team_id;
   138             return (
string) $participant_id;
   146             return $this->repo->count($this->ass_id, $participant_id);
   151             $storage = new \ilFSStorageExercise($exc_id, $this->ass_id);
   160         $title = $this->domain->lng()->txt(
'exc_fb_files');
   161         if ($this->type->usesTeams()) {
   163             return $title . 
": " . $name[
"lastname"] . 
", " . $name[
"firstname"];
   166             return $title . 
": " . $name[
"lastname"] . 
", " . $name[
"firstname"];
   172         return $this->repo->getIdStringForAssIdAndUserId($this->ass_id, $participant_id);
   177         $this->repo->createCollection($this->ass_id, $participant_id);
   182         $this->repo->deleteCollection(
   189     public function getFiles(
int $participant_id): array
   192         if ($this->repo->hasCollection($this->ass_id, $participant_id)) {
   195             }, iterator_to_array($this->repo->getCollectionResourcesInfo($this->ass_id, $participant_id)));
   198             $storage = new \ilFSStorageExercise($exc_id, $this->ass_id);
   204     public function deliver(
int $participant_id, 
string $file): void
   206         $assignment = $this->domain->assignment()->getAssignment($this->ass_id);
   207         if ($assignment->notStartedYet()) {
   211         if ($this->repo->hasCollection($this->ass_id, $participant_id)) {
   213             $this->repo->deliverFile($this->ass_id, $participant_id, $file);
   217             $storage = new \ilFSStorageExercise($exc_id, $this->ass_id);
   220             foreach ($files as $fb_file) {
   221                 if ($fb_file === $file) {
 getLegacyFeedbackId(int $participant_id)
 
sendNotification(string $rcid, string $rid)
 
ILIAS FileUpload FileUpload $upload
 
getFiles(int $participant_id)
 
getFeedbackTitle(int $participant_id)
 
static _getAllReferences(int $id)
get all reference ids for object ID 
 
static lookupType(int $a_id)
 
static _lookupName(int $a_user_id)
lookup user name 
 
count(int $participant_id)
 
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
 
__construct(int $ass_id, InternalRepoService $repo, InternalDomainService $domain, \ilExcTutorFeedbackFileStakeholder $stakeholder, \ilExcTutorTeamFeedbackFileStakeholder $team_stakeholder, TutorFeedbackFileObserver $file_observer)
 
deleteCollection(int $participant_id)
 
TutorFeedbackFileObserver $file_observer
 
ResourceStakeholder $stakeholder
 
InternalDomainService $domain
 
hasCollection(int $participant_id)
 
deliver(int $participant_id, string $file)
 
Interface ResourceStakeholder. 
 
TutorFeedbackFileRepositoryInterface $repo
 
static lookupExerciseId(int $a_ass_id)
 
createCollection(int $participant_id)
 
ilExAssignmentTypeInterface $type
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getCollectionIdString(int $participant_id)