19declare(strict_types=1);
32 protected \ilDBInterface
$db;
49 $new_id = $this->wrapper->createEmptyCollection();
53 "feedback_rcid" => [
"text", $new_id]
56 "ass_id" => [
"integer",
$ass_id],
71 $set = $this->db->queryF(
72 "SELECT feedback_rcid FROM exc_mem_ass_status " .
73 " WHERE ass_id = %s AND usr_id = %s",
74 [
"integer",
"integer"],
77 $rec = $this->db->fetchAssoc($set);
78 return ($rec[
"feedback_rcid"] ??
"");
84 return ($rcid !==
"");
92 return $this->wrapper->getCollectionForIdString($rcid);
105 public function deliverFile(
$ass_id, $participant_id, $file): void
109 if ($file ===
$info->getTitle()) {
110 $this->wrapper->deliverFile(
$info->getRid());
113 throw new \ilExerciseException(
"Resource $file not found.");
119 if ($rid ===
$info->getRid()) {
120 return $info->getTitle();
128 $set = $this->db->queryF(
129 "SELECT usr_id FROM exc_mem_ass_status " .
130 " WHERE ass_id = %s AND feedback_rcid = %s",
134 $rec = $this->db->fetchAssoc($set);
135 return (
int) ($rec[
"usr_id"] ?? 0);
146 return $this->wrapper->getCollectionResourcesInfo(
$collection);
158 $this->wrapper->deleteCollectionForIdString(
getFilenameForRid(int $ass_id, int $part_id, string $rid)
deleteCollection(int $ass_id, int $user_id, ResourceStakeholder $stakeholder)
getParticipantIdForRcid(int $ass_id, string $rcid)
getCollection(int $ass_id, int $user_id)
createCollection(int $ass_id, int $user_id)
__construct(IRSSWrapper $wrapper, \ilDBInterface $db)
getIdStringForAssIdAndUserId(int $ass_id, int $user_id)
hasCollection(int $ass_id, int $user_id)
getCollectionResourcesInfo(int $ass_id, int $user_id)
count(int $ass_id, int $user_id)
createCollectionIfMissing(int $ass_id, int $user_id)
Class ResourceCollection.
Interface ResourceStakeholder.