60 $this->
setType(self::TYPE_UPLOAD);
74 $set = $ilDB->query(
"SELECT * FROM exc_assignment ".
75 " WHERE exc_id = ".$ilDB->quote($a_exc_id,
"integer").
76 " ORDER BY order_nr ASC");
80 while ($rec = $ilDB->fetchAssoc($set))
83 $rec[
"order_val"] = $order_val;
86 $ass->initFromDB($rec);
97 return $this->type == self::TYPE_UPLOAD_TEAM;
127 $this->exc_id = $a_val;
147 $this->start_time = $a_val;
167 $this->deadline = $a_val;
190 if($this->
getType() == self::TYPE_UPLOAD_TEAM)
192 include_once(
"./Modules/Exercise/classes/class.ilExAssignmentTeam.php");
199 $a_user_id = $team_id;
203 $set = $ilDB->query(
"SELECT tstamp FROM exc_idl".
204 " WHERE ass_id = ".$ilDB->quote($this->getId(),
"integer").
205 " AND member_id = ".$ilDB->quote($a_user_id,
"integer").
206 " AND is_team = ".$ilDB->quote($is_team,
"integer"));
207 $row = $ilDB->fetchAssoc($set);
222 $set = $ilDB->query(
"SELECT MAX(tstamp) FROM exc_idl".
223 " WHERE ass_id = ".$ilDB->quote($this->getId(),
"integer"));
224 $row = $ilDB->fetchAssoc($set);
225 return $row[
"tstamp"];
237 $a_val = (int)$a_val;
239 $this->deadline2 = $a_val;
259 $this->instruction = $a_val;
279 $this->title = $a_val;
299 $this->mandatory = $a_val;
319 $this->order_nr = $a_val;
341 $this->type = (int)$a_value;
343 if($this->type == self::TYPE_UPLOAD_TEAM)
368 if(in_array((
int)$a_value,
array(self::TYPE_UPLOAD, self::TYPE_BLOG,
369 self::TYPE_PORTFOLIO, self::TYPE_UPLOAD_TEAM, self::TYPE_TEXT)))
383 $this->peer = (bool)$a_value;
403 $this->peer_min = (int)$a_value;
423 $this->peer_unlock = (bool)$a_value;
443 $this->peer_dl = $a_val;
463 $this->peer_valid = (int)$a_value;
483 $this->peer_rating = (bool)$a_val;
503 $this->peer_text = (bool)$a_val;
523 $this->peer_file = (bool)$a_val;
543 $this->peer_personal = (bool)$a_val;
563 $a_value = (is_numeric($a_value) && (int)$a_value > 0)
566 $this->peer_char = $a_value;
586 $a_value = is_numeric($a_value)
589 $this->crit_cat = $a_value;
599 return $this->crit_cat;
604 include_once
"Modules/Exercise/classes/class.ilExcCriteria.php";
614 if($this->peer_rating)
624 $crit->setMinChars($this->peer_char);
645 $this->feedback_file = (
string)$a_value;
665 $this->feedback_cron = (
string)$a_value;
685 $this->feedback_date = (int)$a_value;
705 $this->team_tutor = (bool)$a_value;
725 if($a_value !== null)
727 $a_value = (int)$a_value;
729 $this->max_file = $a_value;
749 $set = $ilDB->query(
"SELECT * FROM exc_assignment ".
750 " WHERE id = ".$ilDB->quote($this->getId(),
"integer")
752 $rec = $ilDB->fetchAssoc($set);
769 $this->
setId($a_set[
"id"]);
778 $this->
setType($a_set[
"type"]);
811 $next_id = $ilDB->nextId(
"exc_assignment");
812 $ilDB->insert(
"exc_assignment",
array(
813 "id" =>
array(
"integer", $next_id),
840 $this->
setId($next_id);
842 $exc->updateAllUsersStatus();
843 self::createNewAssignmentRecords($next_id, $exc);
855 $ilDB->update(
"exc_assignment",
887 $exc->updateAllUsersStatus();
901 $ilDB->manipulate(
"DELETE FROM exc_assignment WHERE ".
902 " id = ".$ilDB->quote($this->getId(),
"integer")
905 $exc->updateAllUsersStatus();
920 $set = $ilDB->query(
"SELECT * FROM exc_assignment ".
921 " WHERE exc_id = ".$ilDB->quote($a_exc_id,
"integer").
922 " ORDER BY order_nr ASC");
926 while ($rec = $ilDB->fetchAssoc($set))
931 "exc_id" => $rec[
"exc_id"],
932 "deadline" => $rec[
"time_stamp"],
933 "deadline2" => $rec[
"deadline2"],
934 "instruction" => $rec[
"instruction"],
935 "title" => $rec[
"title"],
936 "start_time" => $rec[
"start_time"],
937 "order_val" => $order_val,
938 "mandatory" => $rec[
"mandatory"],
939 "type" => $rec[
"type"],
940 "peer" => $rec[
"peer"],
941 "peer_min" => $rec[
"peer_min"],
942 "peer_dl" => $rec[
"peer_dl"],
943 "peer_file" => $rec[
"peer_file"],
944 "peer_prsl" => $rec[
"peer_prsl"],
945 "fb_file" => $rec[
"fb_file"],
946 "fb_date" => $rec[
"fb_date"],
947 "fb_cron" => $rec[
"fb_cron"],
962 $ass_data = self::getInstancesByExercise($a_old_exc_id);
963 foreach ($ass_data as
$d)
967 $new_ass->setExerciseId($a_new_exc_id);
968 $new_ass->setTitle($d->getTitle());
969 $new_ass->setDeadline($d->getDeadline());
970 $new_ass->setExtendedDeadline($d->getExtendedDeadline());
971 $new_ass->setInstruction($d->getInstruction());
972 $new_ass->setMandatory($d->getMandatory());
973 $new_ass->setOrderNr($d->getOrderNr());
974 $new_ass->setStartTime($d->getStartTime());
975 $new_ass->setType($d->getType());
976 $new_ass->setPeerReview($d->getPeerReview());
977 $new_ass->setPeerReviewMin($d->getPeerReviewMin());
978 $new_ass->setPeerReviewDeadline($d->getPeerReviewDeadline());
979 $new_ass->setPeerReviewFileUpload($d->hasPeerReviewFileUpload());
980 $new_ass->setPeerReviewPersonalized($d->hasPeerReviewPersonalized());
981 $new_ass->setPeerReviewValid($d->getPeerReviewValid());
982 $new_ass->setPeerReviewChars($d->getPeerReviewChars());
983 $new_ass->setPeerReviewText($d->hasPeerReviewText());
984 $new_ass->setPeerReviewRating($d->hasPeerReviewRating());
985 $new_ass->setPeerReviewCriteriaCatalogue($d->getPeerReviewCriteriaCatalogue());
986 $new_ass->setPeerReviewSimpleUnlock($d->getPeerReviewSimpleUnlock());
987 $new_ass->setPeerReviewText($d->hasPeerReviewText());
988 $new_ass->setPeerReviewRating($d->hasPeerReviewRating());
989 $new_ass->setFeedbackFile($d->getFeedbackFile());
990 $new_ass->setFeedbackDate($d->getFeedbackDate());
991 $new_ass->setFeedbackCron($d->hasFeedbackCron());
992 $new_ass->setTeamTutor($d->getTeamTutor());
993 $new_ass->setMaxFile($d->getMaxFile());
996 if($d->getPeerReviewCriteriaCatalogue() &&
997 array_key_exists($d->getPeerReviewCriteriaCatalogue(), $a_crit_cat_map))
999 $new_ass->setPeerReviewCriteriaCatalogue($a_crit_cat_map[$d->getPeerReviewCriteriaCatalogue()]);
1004 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1010 if (is_dir($old_storage->getPath()))
1016 if (is_dir($old_storage->getGlobalFeedbackPath()))
1028 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1030 return $storage->getFiles();
1040 $set = $ilDB->query(
"SELECT MAX(order_nr) mnr FROM exc_assignment ".
1041 " WHERE exc_id = ".$ilDB->quote($a_exc_id,
"integer")
1043 while ($rec = $ilDB->fetchAssoc($set))
1045 return (
int) $rec[
"mnr"];
1059 $query =
"SELECT id FROM exc_assignment ".
1060 "WHERE start_time <= ".$ilDB->quote(
time(),
'integer').
' '.
1061 "AND time_stamp >= ".$ilDB->quote(
time(),
'integer').
' '.
1062 "AND id = ".$ilDB->quote($a_ass_id,
'integer');
1065 return $res->numRows() ? true :
false;
1078 $ilDB = $DIC->database();
1080 $query =
"SELECT exc_id FROM exc_assignment ".
1081 "WHERE id = ".$ilDB->quote($a_ass_id,
'integer');
1084 return (
int)
$res[
"exc_id"];
1090 private static function lookup($a_id, $a_field)
1094 $set = $ilDB->query(
"SELECT ".$a_field.
" FROM exc_assignment ".
1095 " WHERE id = ".$ilDB->quote($a_id,
"integer")
1098 $rec = $ilDB->fetchAssoc($set);
1100 return $rec[$a_field];
1108 return self::lookup($a_id,
"title");
1116 return self::lookup($a_id,
"type");
1126 $result_order =
array();
1129 foreach ($a_order as $k => $v)
1132 $ilDB->manipulate(
$t =
"UPDATE exc_assignment SET ".
1133 " order_nr = ".$ilDB->quote($nr,
"integer").
1134 " WHERE id = ".$ilDB->quote((
int) $k,
"integer").
1135 " AND exc_id = ".$ilDB->quote((
int) $a_ex_id,
"integer")
1148 $set = $ilDB->query(
"SELECT id FROM exc_assignment ".
1149 " WHERE exc_id = ".$ilDB->quote($a_ex_id,
"integer").
1150 " ORDER BY time_stamp ASC" 1153 while ($rec = $ilDB->fetchAssoc($set))
1155 $ilDB->manipulate(
"UPDATE exc_assignment SET ".
1156 " order_nr = ".$ilDB->quote($nr,
"integer").
1157 " WHERE id = ".$ilDB->quote($rec[
"id"],
"integer")
1170 $set = $ilDB->query(
"SELECT count(*) cntm FROM exc_assignment ".
1171 " WHERE exc_id = ".$ilDB->quote($a_ex_id,
"integer").
1172 " AND mandatory = ".$ilDB->quote(1,
"integer")
1174 $rec = $ilDB->fetchAssoc($set);
1175 return $rec[
"cntm"];
1188 $user_ids = self::getTeamMembersByAssignmentId($ass_id, $member_id);
1191 $user_ids =
array($member_id);
1194 $q=
"SELECT exc_mem_ass_status.status_time, exc_returned.ts ".
1195 "FROM exc_mem_ass_status, exc_returned ".
1196 "WHERE exc_mem_ass_status.status_time < exc_returned.ts ".
1197 "AND NOT exc_mem_ass_status.status_time IS NULL ".
1198 "AND exc_returned.ass_id = exc_mem_ass_status.ass_id ".
1199 "AND exc_returned.user_id = exc_mem_ass_status.usr_id ".
1200 "AND exc_returned.ass_id=".$ilDB->quote($ass_id,
"integer").
1201 " AND ".$ilDB->in(
"exc_returned.user_id", $user_ids,
"",
"integer");
1203 $usr_set = $ilDB->query($q);
1205 $array = $ilDB->fetchAssoc($usr_set);
1207 if (count($array)==0)
1228 $set = $ilDB->query(
"SELECT ud.usr_id, ud.lastname, ud.firstname, ud.login".
1229 " FROM exc_members excm".
1230 " JOIN usr_data ud ON (ud.usr_id = excm.usr_id)".
1231 " WHERE excm.obj_id = ".$ilDB->quote($this->getExerciseId(),
"integer"));
1232 while($rec = $ilDB->fetchAssoc($set))
1234 $mem[$rec[
"usr_id"]] =
1236 "name" => $rec[
"lastname"].
", ".$rec[
"firstname"],
1237 "login" => $rec[
"login"],
1238 "usr_id" => $rec[
"usr_id"],
1239 "lastname" => $rec[
"lastname"],
1240 "firstname" => $rec[
"firstname"]
1244 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
1246 $q =
"SELECT * FROM exc_mem_ass_status ".
1247 "WHERE ass_id = ".$ilDB->quote($this->
getId(),
"integer");
1248 $set = $ilDB->query($q);
1249 while($rec = $ilDB->fetchAssoc($set))
1251 if (isset($mem[$rec[
"usr_id"]]))
1255 $mem[$rec[
"usr_id"]][
"sent_time"] = $rec[
"sent_time"];
1256 $mem[$rec[
"usr_id"]][
"submission"] = $sub->getLastSubmission();
1257 $mem[$rec[
"usr_id"]][
"status_time"] = $rec[
"status_time"];
1258 $mem[$rec[
"usr_id"]][
"feedback_time"] = $rec[
"feedback_time"];
1259 $mem[$rec[
"usr_id"]][
"notice"] = $rec[
"notice"];
1260 $mem[$rec[
"usr_id"]][
"status"] = $rec[
"status"];
1261 $mem[$rec[
"usr_id"]][
"mark"] = $rec[
"mark"];
1262 $mem[$rec[
"usr_id"]][
"comment"] = $rec[
"u_comment"];
1275 $ass_data = self::getAssignmentDataOfExercise($a_exc_id);
1276 foreach ($ass_data as $ass)
1279 $ilDB->replace(
"exc_mem_ass_status",
array(
1280 "ass_id" =>
array(
"integer", $ass[
"id"]),
1281 "usr_id" =>
array(
"integer", $a_user_id)
1283 "status" =>
array(
"text",
"notgraded")
1295 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1297 $mems = $exmem->getMembers();
1299 foreach ($mems as $mem)
1301 $ilDB->replace(
"exc_mem_ass_status",
array(
1302 "ass_id" =>
array(
"integer", $a_ass_id),
1303 "usr_id" =>
array(
"integer", $mem)
1305 "status" =>
array(
"text",
"notgraded")
1316 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1319 $storage->uploadAssignmentFiles($a_files);
1336 $deliverFilename = trim(str_replace(
" ",
"_", $this->
getTitle().
"_".$this->
getId()));
1338 $deliverFilename =
"multi_feedback_".$deliverFilename;
1347 $mfdir = $tmpdir.
"/".$deliverFilename;
1351 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1353 $mems = $exmem->getMembers();
1355 foreach ($mems as $mem)
1358 $subdir = $name[
"lastname"].
"_".$name[
"firstname"].
"_".$name[
"login"].
"_".$name[
"user_id"];
1365 $tmpzipfile = $tmpdir.
"/multi_feedback.zip";
1383 include_once(
"./Modules/Exercise/exceptions/class.ilExerciseException.php");
1384 if (!is_file($a_file[
"tmp_name"]))
1389 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1391 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1396 $subdir =
"notfound";
1397 foreach ($subdirs as $s => $j)
1399 if ($j[
"type"] ==
"dir" && substr($s, 0, 14) ==
"multi_feedback")
1405 if (!is_dir($mfu.
"/".$subdir))
1423 if ($a_user_id == 0)
1425 $a_user_id = $ilUser->getId();
1428 $mf_files =
array();
1432 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1434 $mems = $exmem->getMembers();
1437 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1439 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1443 $subdir =
"notfound";
1444 foreach ($subdirs as $s => $j)
1446 if ($j[
"type"] ==
"dir" && substr($s, 0, 14) ==
"multi_feedback")
1453 foreach ($items as $k => $i)
1456 if ($i[
"type"] ==
"dir" && !in_array($k,
array(
".",
"..")))
1459 $parts = explode(
"_", $i[
"entry"]);
1460 $user_id = (int) $parts[count($parts) - 1];
1461 if (in_array($user_id, $mems))
1466 foreach (
$files as $k2 => $f)
1469 if ($f[
"type"] ==
"file" && substr($k2, 0, 1) !=
".")
1471 $mf_files[] =
array(
1472 "lastname" => $name[
"lastname"],
1473 "firstname" => $name[
"firstname"],
1474 "login" => $name[
"login"],
1475 "user_id" => $name[
"user_id"],
1476 "full_path" => $mfu.
"/".$subdir.
"/".$k.
"/".$k2,
1496 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1498 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1515 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1517 $fstorage->create();
1519 $team_map =
array();
1522 foreach ($mf_files as $f)
1524 $user_id = $f[
"user_id"];
1525 $file_path = $f[
"full_path"];
1526 $file_name = $f[
"file"];
1529 if ($a_files[$user_id][md5($file_name)] !=
"")
1532 $feedback_id = $submission->getFeedbackId();
1533 $noti_rec_ids = $submission->getUserIds();
1537 $fb_path = $fstorage->getFeedbackPath($feedback_id);
1538 $target = $fb_path.
"/".$file_name;
1548 foreach($noti_rec_ids as $user_id)
1556 (
int) $this->
getId());
1575 global $ilAppEventHandler;
1577 $dl_id = $this->
getId().
"0";
1578 $fbdl_id = $this->
getId().
"1";
1580 $context_ids =
array($dl_id, $fbdl_id);
1583 if($a_event !=
"delete")
1585 include_once
"Services/Calendar/classes/class.ilCalendarAppointmentTemplate.php";
1591 $app->setSubtitle(
"cal_exc_deadline");
1593 $app->setFullday(
false);
1604 $app->setSubtitle(
"cal_exc_peer_review_deadline");
1606 $app->setFullday(
false);
1614 include_once
"Modules/Exercise/classes/class.ilObjExercise.php";
1617 $ilAppEventHandler->raise(
'Modules/Exercise',
1618 $a_event.
'Assignment',
1621 'obj_id' => $exc->getId(),
1622 'context_ids' => $context_ids,
1623 'appointments' => $apps));
1633 $set = $ilDB->query(
"SELECT id,fb_file FROM exc_assignment".
1634 " WHERE fb_cron = ".$ilDB->quote(1,
"integer").
1635 " AND fb_date = ".$ilDB->quote(self::FEEDBACK_DATE_DEADLINE,
"integer").
1636 " AND time_stamp IS NOT NULL".
1637 " AND time_stamp > ".$ilDB->quote(0,
"integer").
1638 " AND time_stamp < ".$ilDB->quote(
time(),
"integer").
1639 " AND fb_cron_done = ".$ilDB->quote(0,
"integer"));
1640 while(
$row = $ilDB->fetchAssoc($set))
1642 if(trim(
$row[
"fb_file"]))
1655 $ass =
new self($a_ass_id);
1658 if(!$ass->hasFeedbackCron() || !$ass->getFeedbackFile())
1666 $set = $ilDB->query(
"SELECT fb_cron_done".
1667 " FROM exc_assignment".
1668 " WHERE id = ".$ilDB->quote($a_ass_id,
"integer"));
1669 $row = $ilDB->fetchAssoc($set);
1670 if(
$row[
"fb_cron_done"])
1676 include_once
"./Services/Notification/classes/class.ilSystemNotification.php";
1678 $ntf->setLangModules(
array(
"exc"));
1679 $ntf->setObjId($ass->getExerciseId());
1680 $ntf->setSubjectLangId(
"exc_feedback_notification_subject");
1681 $ntf->setIntroductionLangId(
"exc_feedback_notification_body");
1682 $ntf->addAdditionalInfo(
"exc_assignment", $ass->getTitle());
1683 $ntf->setGotoLangId(
"exc_feedback_notification_link");
1684 $ntf->setReasonLangId(
"exc_feedback_notification_reason");
1688 include_once
"./Modules/Exercise/classes/class.ilExerciseMembers.php";
1691 $ilDB->manipulate(
"UPDATE exc_assignment".
1692 " SET fb_cron_done = ".$ilDB->quote(1,
"integer").
1693 " WHERE id = ".$ilDB->quote($a_ass_id,
"integer"));
1697 $ntf->sendMail(
array($a_user_id));
1714 $deadline = max($this->deadline, $this->deadline2, $idl);
1715 return ($deadline -
time() <= 0);
1723 $idl = (bool)$a_include_personal
1728 $deadline = max($this->deadline, $this->deadline2, $idl);
1748 return (
time() - $this->start_time <= 0);
1758 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1760 return $storage->getGlobalFeedbackPath();
1800 $a_user_id = $ilUser->getId();
1802 if(!array_key_exists($a_user_id, $this->member_status))
1804 include_once
"Modules/Exercise/classes/class.ilExAssignmentMemberStatus.php";
1807 return $this->member_status[$a_user_id];
1818 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
1821 $id = $file[
"returned_id"];
1839 else if(!$file[
"late"] &&
1846 else if($last_deadline && $uploaded > $last_deadline)
1853 $ilDB->manipulate(
"UPDATE exc_returned".
1854 " SET late = ".$ilDB->quote($late,
"integer").
1855 " WHERE returned_id = ".$ilDB->quote(
$id,
"integer"));
1870 if(!is_numeric(
$id))
1876 $ilDB->replace(
"exc_idl",
1878 "ass_id" =>
array(
"integer", $this->
getId()),
1879 "member_id" =>
array(
"integer",
$id),
1880 "is_team" =>
array(
"integer", $is_team)
1894 $set = $ilDB->query(
"SELECT * FROM exc_idl".
1895 " WHERE ass_id = ".$ilDB->quote($this->getId(),
"integer"));
1896 while(
$row = $ilDB->fetchAssoc($set))
1900 $row[
"member_id"] =
"t".$row[
"member_id"];
1903 $res[
$row[
"member_id"]] = $row[
"tstamp"];
1920 include_once
"Modules/Exercise/classes/class.ilExPeerReview.php";
1922 if($peer_review->hasPeerReviewGroups())
getLastPersonalDeadline()
Get last/final personal deadline (of assignment)
getPeerReview()
Get peer review status.
static getInstanceByType($a_type)
static _lookupName($a_user_id)
lookup user name
Exercise assignment member status.
getPeerReviewCriteriaCatalogueItems()
getMemberStatus($a_user_id=null)
getPersonalDeadline($a_user_id)
Get individual deadline.
saveMultiFeedbackFiles($a_files, ilObjExercise $a_exc)
Save multi feedback files.
const FEEDBACK_DATE_SUBMISSION
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
static countMandatory($a_ex_id)
Order assignments by deadline date.
static sendFeedbackNotifications($a_ass_id, $a_user_id=null)
getMemberListData()
get member list data
setMaxFile($a_value)
Set max number of uploads.
getFeedbackDate()
Get (global) feedback file availability date.
setFeedbackFile($a_value)
Set (global) feedback file.
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
setPeerReviewMin($a_value)
Set peer review minimum.
const IL_CAL_TRANSLATION_SYSTEM
static getTeamId($a_assignment_id, $a_user_id, $a_create_on_demand=false)
Get team id for member id.
static getPendingFeedbackNotifications()
setTeamTutor($a_value)
Set team management by tutor.
setPeerReviewFileUpload($a_val)
Set peer review file upload.
getStartTime()
Get start time (timestamp)
getId()
Get assignment id.
initFromDB(array $a_set)
Import DB record.
getGlobalFeedbackFilePath()
setPeerReview($a_value)
Toggle peer review.
setPeerReviewDeadline($a_val)
Set peer review deadline (timestamp)
getDeadline()
Get deadline (timestamp)
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
hasPeerReviewRating()
Get peer review rating status.
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
hasFeedbackCron()
Get (global) feedback file cron status.
setPeerReviewValid($a_value)
Set peer review validation.
setType($a_value)
Set type.
Apointment templates are used for automatic generated apointments.
setTitle($a_val)
Set title.
Add rich text string
The name of the decorator.
saveAssOrderOfExercise($a_ex_id, $a_order)
Save ordering of all assignments of an exercise.
setOrderNr($a_val)
Set order nr.
recalculateLateSubmissions()
static lookup($a_id, $a_field)
Private lookup.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
const PEER_REVIEW_VALID_ALL
setInstruction($a_val)
Set instruction.
for($col=0; $col< 50; $col++) $d
handleCalendarEntries($a_event)
Handle calendar entries for deadline(s)
getTeamTutor()
Get team management by tutor.
const PEER_REVIEW_VALID_ONE
uploadMultiFeedbackFile($a_file)
Upload multi feedback file.
static lookupAssignmentOnline($a_ass_id)
Check if assignment is online.
setStartTime($a_val)
Set start time (timestamp)
getExerciseId()
Get exercise id.
getPeerReviewValid()
Get peer review validatiob.
setDeadline($a_val)
Set deadline (timestamp)
hasPeerReviewPersonalized()
Get peer review personalized status.
getId()
get object id public
static getInstancesByParentId($a_parent_id)
setPeerReviewCriteriaCatalogue($a_value)
Set peer review criteria catalogue id.
static lookupUpdatedSubmission($ass_id, $member_id)
Check whether student has upload new files after tutor has set the exercise to another than notgraded...
setPeerReviewPersonalized($a_val)
Set peer review personalized.
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
setPeerReviewRating($a_val)
Set peer review rating.
static getInstancesByExercise($a_exc_id)
uploadAssignmentFiles($a_files)
Upload assignment files (from creation form)
setPeerReviewSimpleUnlock($a_value)
Set peer review simple unlock.
hasPeerReviewText()
Get peer review text status.
sendMultiFeedbackStructureFile()
Create member status record for a new assignment for all participants.
setPeerReviewText($a_val)
Set peer review text.
handleGlobalFeedbackFileUpload(array $a_file)
setExerciseId($a_val)
Set exercise id.
getFeedbackFile()
Get (global) feedback file.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
get($a_format, $a_format_str='', $a_tz='')
get formatted date
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
Create styles array
The data for the language used.
getMandatory()
Get mandatory.
getPeerReviewMin()
Get peer review minimum.
getExtendedDeadline()
Get extended deadline (timestamp)
sendFeedbackFileNotification($a_feedback_file, $a_user_id, $a_ass_id, $a_is_text_feedback=false)
Send feedback file notification to user.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static cloneAssignmentsOfExercise($a_old_exc_id, $a_new_exc_id, array $a_crit_cat_map)
Clone assignments of exercise.
deleteGlobalFeedbackFile()
setFeedbackCron($a_value)
Toggle (global) feedback file cron.
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
afterDeadlineStrict($a_include_personal=true)
const FEEDBACK_DATE_DEADLINE
static lookupType($a_id)
Lookup type.
clearMultiFeedbackDirectory()
Clear multi feedback directory.
create()
Create directory.
setFeedbackDate($a_value)
Set (global) feedback file availability date.
static lookupMaxOrderNrForEx($a_exc_id)
Select the maximum order nr for an exercise.
getMultiFeedbackFiles($a_user_id=0)
Get multi feedback files (of uploader)
getInstruction()
Get instruction.
getPeerReviewSimpleUnlock()
Get peer review simple unlock.
setPeerReviewChars($a_value)
Set peer review minimum characters.
setId($a_val)
Set assignment id.
getPeerReviewDeadline()
Get peer review deadline (timestamp)
const PEER_REVIEW_VALID_NONE
hasPeerReviewFileUpload()
Get peer review file upload status.
static lookupExerciseId($a_ass_id)
Lookup excercise id for assignment id.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
getPeerReviewChars()
Get peer review minimum characters.
static getAllAssignmentFiles($a_exc_id, $a_ass_id)
getMaxFile()
Get max number of uploads.
static createNewUserRecords($a_user_id, $a_exc_id)
Create member status record for a new participant for all assignments.
setMandatory($a_val)
Set mandatory.
static orderAssByDeadline($a_ex_id)
Order assignments by deadline date.
setIndividualDeadline($id, ilDateTime $date)
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
getPeerReviewCriteriaCatalogue()
Get peer review criteria catalogue id.
Wrapper classes for system notifications.
setExtendedDeadline($a_val)
Set extended deadline (timestamp)
getGlobalFeedbackFileStoragePath()
static _getMembers($a_obj_id)
isValidType($a_value)
Is given type valid?
static createNewAssignmentRecords($a_ass_id, $a_exc)
Create member status record for a new assignment for all participants.
__construct($a_id=0)
Constructor.
static lookupTitle($a_id)
Lookup title.
getOrderNr()
Get order nr.
Class to report exception.