26 $this->obj_id = $a_exc->getId();
27 $this->ref_id = $a_exc->getRefId();
52 $this->obj_id = $a_obj_id;
60 return $this->members ? $this->members :
array();
68 $this->members = $a_members;
80 if($this->exc->hasAddToDesktop())
83 $tmp_user->addDesktopItem($this->
getRefId(),
"exc");
86 $ilDB->manipulate(
"DELETE FROM exc_members ".
87 "WHERE obj_id = ".$ilDB->quote($this->getObjId(),
"integer").
" ".
88 "AND usr_id = ".$ilDB->quote($a_usr_id,
"integer").
" ");
91 $ilDB->manipulateF(
"INSERT INTO exc_members (obj_id, usr_id, status, sent, feedback) ".
92 " VALUES (%s,%s,%s,%s,%s)",
93 array(
"integer",
"integer",
"text",
"integer",
"integer"),
96 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
101 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
121 if(is_array($a_members))
123 foreach($a_members as $member)
135 if($assigned == count($a_members))
155 $tmp_user->dropDesktopItem($this->
getRefId(),
"exc");
157 $query =
"DELETE FROM exc_members ".
158 "WHERE obj_id = ".$ilDB->quote($this->
getObjId(),
"integer").
" ".
159 "AND usr_id = ".$ilDB->quote($a_usr_id,
"integer").
" ";
161 $ilDB->manipulate(
$query);
165 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
169 include_once(
"./Modules/Exercise/classes/class.ilExSubmission.php");
182 if(is_array($a_members))
184 foreach($a_members as $member)
202 $tmp_arr_members =
array();
204 $query =
"SELECT * FROM exc_members ".
205 "WHERE obj_id = ".$ilDB->quote($this->
getObjId(),
"integer");
208 while(
$row = $ilDB->fetchObject(
$res))
210 $tmp_arr_members[] =
$row->usr_id;
224 $query =
"SELECT * FROM exc_members ".
225 "WHERE obj_id = ".$ilDB->quote($this->
getObjId(),
"integer");
228 while(
$row = $ilDB->fetchObject(
$res))
231 "notice" =>
$row->notice,
232 "returned" =>
$row->returned,
233 "status" =>
$row->status,
234 "sent" =>
$row->sent,
235 "feedback" =>
$row->feedback
240 $ilDB->manipulateF(
"INSERT INTO exc_members ".
241 " (obj_id, usr_id, notice, returned, status, feedback, sent) VALUES ".
242 " (%s,%s,%s,%s,%s,%s,%s)",
243 array (
"integer",
"integer",
"text",
"integer",
"text",
"integer",
"integer"),
244 array ($a_new_id, $row[
"usr_id"], $row[
"notice"], (
int) $row[
"returned"],
245 $row[
"status"], (
int) $row[
"feedback"], (
int) $row[
"sent"])
248 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
259 $query =
"DELETE FROM exc_members WHERE obj_id = ".
260 $ilDB->quote($this->
getObjId(),
"integer");
261 $ilDB->manipulate(
$query);
263 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
274 $query =
"SELECT DISTINCT(excm.usr_id) ud".
275 " FROM exc_members excm".
276 " JOIN object_data od ON (od.obj_id = excm.usr_id)".
277 " WHERE excm.obj_id = ".$ilDB->quote($a_obj_id,
"integer").
278 " AND od.type = ".$ilDB->quote(
"usr",
"text");
281 while(
$row = $ilDB->fetchObject(
$res))
283 $usr_ids[] =
$row->ud;
286 return $usr_ids ? $usr_ids :
array();
303 $query =
"SELECT status FROM exc_members ".
304 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
305 " AND usr_id = ".$ilDB->quote($a_user_id,
"integer");
310 return $row[
"status"];
331 $ilDB->manipulate(
"UPDATE exc_members SET ".
332 " status = ".$ilDB->quote($a_status,
"text").
333 " WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
334 " AND usr_id = ".$ilDB->quote($a_user_id,
"integer")
337 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
357 $ilDB->manipulate(
"UPDATE exc_members SET ".
358 " returned = ".$ilDB->quote($a_status,
"integer").
359 " WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
360 " AND usr_id = ".$ilDB->quote($a_user_id,
"integer")
363 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
380 $query =
"SELECT DISTINCT(usr_id) as ud FROM exc_members ".
381 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
" ".
385 while(
$row = $ilDB->fetchObject(
$res))
387 $usr_ids[] =
$row->ud;
390 return $usr_ids ? $usr_ids :
array();
404 $set = $ilDB->query(
"SELECT DISTINCT(usr_id) FROM exc_members WHERE ".
405 " obj_id = ".$ilDB->quote($a_obj_id,
"integer").
" AND ".
406 " returned = ".$ilDB->quote(1,
"integer").
" AND ".
407 " usr_id = ".$ilDB->quote($a_user_id,
"integer")
409 if ($rec = $ilDB->fetchAssoc($set))
423 $query =
"SELECT DISTINCT(usr_id) FROM exc_members ".
424 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
" ".
425 "AND status = ".$ilDB->quote(
"passed",
"text");
427 while(
$row = $ilDB->fetchObject(
$res))
429 $usr_ids[] =
$row->usr_id;
431 return $usr_ids ? $usr_ids :
array();
441 $query =
"SELECT DISTINCT(usr_id) FROM exc_members ".
442 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer").
" ".
443 "AND status = ".$ilDB->quote(
"failed",
"text");
445 while(
$row = $ilDB->fetchObject(
$res))
447 $usr_ids[] =
$row->usr_id;
449 return $usr_ids ? $usr_ids :
array();
static deleteUser($a_exc_id, $a_user_id)
Delete all delivered files of user.
getMembers()
Get members array.
getRefId()
Get exercise ref id.
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
static _getReturned($a_obj_id)
Get returned status for all members (if they have anything returned for any assignment) ...
getObjId()
Get exercise id.
static _refreshStatus($a_obj_id, $a_users=null)
Set dirty.
static _writeStatus($a_obj_id, $a_user_id, $a_status)
Write user status.
static _writeReturned($a_obj_id, $a_user_id, $a_status)
Write returned status.
static _hasReturned($a_obj_id, $a_user_id)
Has user returned anything in any assignment?
static _lookupStatus($a_obj_id, $a_user_id)
Lookup current status (notgraded|passed|failed)
static _getFailedUsers($a_obj_id)
Get all users that failed the exercise.
setObjId($a_obj_id)
Set exercise id.
deassignMember($a_usr_id)
Detaches a user from an exercise.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Create styles array
The data for the language used.
deassignMembers($a_members)
Deassign members.
assignMembers($a_members)
Assign members to exercise.
static _getPassedUsers($a_obj_id)
Get all users that passed the exercise.
static createNewUserRecords($a_user_id, $a_exc_id)
Create member status record for a new participant for all assignments.
setMembers($a_members)
Set members array.
static _getMembers($a_obj_id)
isAssigned($a_id)
Is user assigned to exercise?
assignMember($a_usr_id)
Assign a user to the exercise.