24 $this->db = (is_null($db))
40 'SELECT ass.id FROM exc_assignment ass LEFT JOIN exc_idl idl
41 ON (ass.id = idl.ass_id AND idl.member_id = %s)
42 WHERE ' . $db->in(
"ass.exc_id", $exc_ids,
false,
"integer") .
'
43 AND (( ass.deadline_mode = %s
44 AND (ass.start_time IS NULL OR ass.start_time < %s )
45 AND (ass.time_stamp IS NULL OR ass.time_stamp > %s OR ass.deadline2 > %s OR idl.tstamp > %s))
47 ass.deadline_mode = %s
48 AND (idl.starting_ts > 0)
49 AND (idl.starting_ts + (ass.relative_deadline * 24 * 60 * 60) > %s)
51 array(
"integer",
"integer",
"integer",
"integer",
"integer",
"integer",
"integer",
"integer"),
52 array($user_id, 0, time(), time(), time(), time(), 1, time())
55 while ($rec = $db->fetchAssoc($set)) {
72 'SELECT ass.id, COUNT(*) open_grading FROM exc_mem_ass_status st LEFT JOIN exc_assignment ass
73 ON (st.ass_id = ass.id)
74 WHERE ' . $db->in(
"ass.exc_id", $exc_ids,
false,
"integer") .
'
78 array(
"text",
"integer"),
82 while ($rec = $db->fetchAssoc($set)) {
83 $open_gradings[$rec[
"id"]] = $rec[
"open_grading"];
85 return $open_gradings;
101 'SELECT ass.id, count(*) nr_given, ass.peer_dl, ass.peer_min, max(idl.tstamp) maxidl, max(peer.tstamp) maxpeer
102 FROM exc_assignment ass
103 LEFT JOIN exc_assignment_peer peer ON (ass.id = peer.ass_id)
104 LEFT JOIN exc_idl idl ON (ass.id = idl.ass_id)
105 WHERE ' . $db->in(
"ass.exc_id", $exc_ids,
false,
"integer") .
'
106 AND ass.deadline_mode = %s
107 AND ass.time_stamp < %s
108 AND (ass.deadline2 < %s OR ass.deadline2 IS NULL)
110 AND (peer.giver_id = %s)
111 AND (ass.peer_dl > %s OR ass.peer_dl IS NULL)
112 AND (peer.is_valid = %s)
114 HAVING (ass.peer_min > nr_given) AND (maxidl < %s OR maxidl IS NULL)
116 array(
"integer",
"integer",
"integer",
"integer",
"integer",
"integer",
"integer",
"integer"),
117 array(0, time(), time(), 1, $user_id, time(), 1, time())
120 while ($rec = $db->fetchAssoc($set)) {
126 'SELECT ass.id, count(*) nr_given, ass.peer_dl, ass.peer_min, max(idl.tstamp) maxidl, max(peer.tstamp) maxpeer
127 FROM exc_assignment ass
128 LEFT JOIN exc_assignment_peer peer ON (ass.id = peer.ass_id)
129 LEFT JOIN exc_idl idl ON (ass.id = idl.ass_id)
130 WHERE ' . $db->in(
"ass.exc_id", $exc_ids,
false,
"integer") .
'
131 AND ass.deadline_mode = %s
132 AND ass.time_stamp < %s
133 AND (ass.deadline2 < %s OR ass.deadline2 IS NULL)
135 AND (peer.giver_id IS NULL)
136 AND (ass.peer_dl > %s OR ass.peer_dl IS NULL)
137 AND (peer.tstamp IS NULL)
139 HAVING (maxpeer IS NULL) AND (maxidl < %s OR maxidl IS NULL)
141 array(
"integer",
"integer",
"integer",
"integer",
"integer",
"integer"),
142 array(0, time(), time(), 1, time(), time())
144 while ($rec = $db->fetchAssoc($set)) {
An exception for terminatinating execution or to throw for unit testing.
This class determines assignment member state information directly on the persistence layer.
getAssignmentIdsWithPeerFeedbackNeeded(array $exc_ids, int $user_id)
Get all assignments for a user where the user may hand in submissions.
getSubmitableAssignmentIdsOfUser(array $exc_ids, int $user_id)
Get all assignments for a user where the user may hand in submissions.
__construct(\ilDBInterface $db=null)
Constructor.
getAssignmentIdsWithGradingNeeded(array $exc_ids)
Get assignments with open gradings.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...