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;
189 $a_val = (int)$a_val;
191 $this->deadline2 = $a_val;
211 $this->instruction = $a_val;
231 $this->title = $a_val;
251 $this->mandatory = $a_val;
271 $this->order_nr = $a_val;
293 $this->type = (int)$a_value;
295 if($this->type == self::TYPE_UPLOAD_TEAM)
320 if(in_array((
int)$a_value, array(self::TYPE_UPLOAD, self::TYPE_BLOG,
321 self::TYPE_PORTFOLIO, self::TYPE_UPLOAD_TEAM, self::TYPE_TEXT)))
335 $this->peer = (bool)$a_value;
355 $this->peer_min = (int)$a_value;
375 $this->peer_unlock = (bool)$a_value;
395 $this->peer_dl = $a_val;
415 $this->peer_valid = (int)$a_value;
435 $this->peer_rating = (bool)$a_val;
455 $this->peer_text = (bool)$a_val;
475 $this->peer_file = (bool)$a_val;
495 $this->peer_personal = (bool)$a_val;
515 $a_value = (is_numeric($a_value) && (int)$a_value > 0)
518 $this->peer_char = $a_value;
538 $a_value = is_numeric($a_value)
541 $this->crit_cat = $a_value;
551 return $this->crit_cat;
556 include_once
"Modules/Exercise/classes/class.ilExcCriteria.php";
566 if($this->peer_rating)
576 $crit->setMinChars($this->peer_char);
597 $this->feedback_file = (string)$a_value;
617 $this->feedback_cron = (string)$a_value;
637 $this->feedback_date = (int)$a_value;
657 $this->team_tutor = (bool)$a_value;
677 if($a_value !== null)
679 $a_value = (int)$a_value;
681 $this->max_file = $a_value;
701 $set = $ilDB->query(
"SELECT * FROM exc_assignment ".
702 " WHERE id = ".$ilDB->quote($this->getId(),
"integer")
704 $rec = $ilDB->fetchAssoc($set);
721 $this->
setId($a_set[
"id"]);
730 $this->
setType($a_set[
"type"]);
763 $next_id = $ilDB->nextId(
"exc_assignment");
764 $ilDB->insert(
"exc_assignment", array(
765 "id" => array(
"integer", $next_id),
767 "time_stamp" => array(
"integer", $this->
getDeadline()),
770 "title" => array(
"text", $this->
getTitle()),
771 "start_time" => array(
"integer", $this->
getStartTime()),
772 "order_nr" => array(
"integer", $this->
getOrderNr()),
774 "type" => array(
"integer", $this->
getType()),
789 "team_tutor" => array(
"integer", $this->
getTeamTutor()),
790 "max_file" => array(
"integer", $this->
getMaxFile())
792 $this->
setId($next_id);
794 $exc->updateAllUsersStatus();
795 self::createNewAssignmentRecords($next_id, $exc);
807 $ilDB->update(
"exc_assignment",
810 "time_stamp" => array(
"integer", $this->
getDeadline()),
813 "title" => array(
"text", $this->
getTitle()),
814 "start_time" => array(
"integer", $this->
getStartTime()),
815 "order_nr" => array(
"integer", $this->
getOrderNr()),
817 "type" => array(
"integer", $this->
getType()),
832 "team_tutor" => array(
"integer", $this->
getTeamTutor()),
833 "max_file" => array(
"integer", $this->
getMaxFile())
836 "id" => array(
"integer", $this->
getId()),
839 $exc->updateAllUsersStatus();
853 $ilDB->manipulate(
"DELETE FROM exc_assignment WHERE ".
854 " id = ".$ilDB->quote($this->getId(),
"integer")
857 $exc->updateAllUsersStatus();
872 $set = $ilDB->query(
"SELECT * FROM exc_assignment ".
873 " WHERE exc_id = ".$ilDB->quote($a_exc_id,
"integer").
874 " ORDER BY order_nr ASC");
878 while ($rec = $ilDB->fetchAssoc($set))
883 "exc_id" => $rec[
"exc_id"],
884 "deadline" => $rec[
"time_stamp"],
885 "deadline2" => $rec[
"deadline2"],
886 "instruction" => $rec[
"instruction"],
887 "title" => $rec[
"title"],
888 "start_time" => $rec[
"start_time"],
889 "order_val" => $order_val,
890 "mandatory" => $rec[
"mandatory"],
891 "type" => $rec[
"type"],
892 "peer" => $rec[
"peer"],
893 "peer_min" => $rec[
"peer_min"],
894 "peer_dl" => $rec[
"peer_dl"],
895 "peer_file" => $rec[
"peer_file"],
896 "peer_prsl" => $rec[
"peer_prsl"],
897 "fb_file" => $rec[
"fb_file"],
898 "fb_date" => $rec[
"fb_date"],
899 "fb_cron" => $rec[
"fb_cron"],
914 $ass_data = self::getInstancesByExercise($a_old_exc_id);
915 foreach ($ass_data as
$d)
919 $new_ass->setExerciseId($a_new_exc_id);
920 $new_ass->setTitle($d->getTitle());
921 $new_ass->setDeadline($d->getDeadline());
922 $new_ass->setExtendedDeadline($d->getExtendedDeadline());
923 $new_ass->setInstruction($d->getInstruction());
924 $new_ass->setMandatory($d->getMandatory());
925 $new_ass->setOrderNr($d->getOrderNr());
926 $new_ass->setStartTime($d->getStartTime());
927 $new_ass->setType($d->getType());
928 $new_ass->setPeerReview($d->getPeerReview());
929 $new_ass->setPeerReviewMin($d->getPeerReviewMin());
930 $new_ass->setPeerReviewDeadline($d->getPeerReviewDeadline());
931 $new_ass->setPeerReviewFileUpload($d->hasPeerReviewFileUpload());
932 $new_ass->setPeerReviewPersonalized($d->hasPeerReviewPersonalized());
933 $new_ass->setPeerReviewValid($d->getPeerReviewValid());
934 $new_ass->setPeerReviewChars($d->getPeerReviewChars());
935 $new_ass->setPeerReviewText($d->hasPeerReviewText());
936 $new_ass->setPeerReviewRating($d->hasPeerReviewRating());
937 $new_ass->setPeerReviewCriteriaCatalogue($d->getPeerReviewCriteriaCatalogue());
938 $new_ass->setPeerReviewSimpleUnlock($d->getPeerReviewSimpleUnlock());
939 $new_ass->setPeerReviewText($d->hasPeerReviewText());
940 $new_ass->setPeerReviewRating($d->hasPeerReviewRating());
941 $new_ass->setFeedbackFile($d->getFeedbackFile());
942 $new_ass->setFeedbackDate($d->getFeedbackDate());
943 $new_ass->setFeedbackCron($d->hasFeedbackCron());
944 $new_ass->setTeamTutor($d->getTeamTutor());
945 $new_ass->setMaxFile($d->getMaxFile());
948 if($d->getPeerReviewCriteriaCatalogue() &&
949 array_key_exists($d->getPeerReviewCriteriaCatalogue(), $a_crit_cat_map))
951 $new_ass->setPeerReviewCriteriaCatalogue($a_crit_cat_map[$d->getPeerReviewCriteriaCatalogue()]);
956 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
962 if (is_dir($old_storage->getPath()))
968 if (is_dir($old_storage->getGlobalFeedbackPath()))
980 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
982 return $storage->getFiles();
992 $set = $ilDB->query(
"SELECT MAX(order_nr) mnr FROM exc_assignment ".
993 " WHERE exc_id = ".$ilDB->quote($a_exc_id,
"integer")
995 while ($rec = $ilDB->fetchAssoc($set))
997 return (
int) $rec[
"mnr"];
1011 $query =
"SELECT id FROM exc_assignment ".
1012 "WHERE start_time <= ".$ilDB->quote(time(),
'integer').
' '.
1013 "AND time_stamp >= ".$ilDB->quote(time(),
'integer').
' '.
1014 "AND id = ".$ilDB->quote($a_ass_id,
'integer');
1017 return $res->numRows() ? true :
false;
1024 private static function lookup($a_id, $a_field)
1028 $set = $ilDB->query(
"SELECT ".$a_field.
" FROM exc_assignment ".
1029 " WHERE id = ".$ilDB->quote($a_id,
"integer")
1032 $rec = $ilDB->fetchAssoc($set);
1034 return $rec[$a_field];
1042 return self::lookup($a_id,
"title");
1050 return self::lookup($a_id,
"type");
1060 $result_order = array();
1063 foreach ($a_order as $k => $v)
1066 $ilDB->manipulate(
$t =
"UPDATE exc_assignment SET ".
1067 " order_nr = ".$ilDB->quote($nr,
"integer").
1068 " WHERE id = ".$ilDB->quote((
int) $k,
"integer").
1069 " AND exc_id = ".$ilDB->quote((
int) $a_ex_id,
"integer")
1082 $set = $ilDB->query(
"SELECT id FROM exc_assignment ".
1083 " WHERE exc_id = ".$ilDB->quote($a_ex_id,
"integer").
1084 " ORDER BY time_stamp ASC" 1087 while ($rec = $ilDB->fetchAssoc($set))
1089 $ilDB->manipulate(
"UPDATE exc_assignment SET ".
1090 " order_nr = ".$ilDB->quote($nr,
"integer").
1091 " WHERE id = ".$ilDB->quote($rec[
"id"],
"integer")
1104 $set = $ilDB->query(
"SELECT count(*) cntm FROM exc_assignment ".
1105 " WHERE exc_id = ".$ilDB->quote($a_ex_id,
"integer").
1106 " AND mandatory = ".$ilDB->quote(1,
"integer")
1108 $rec = $ilDB->fetchAssoc($set);
1109 return $rec[
"cntm"];
1122 $user_ids = self::getTeamMembersByAssignmentId($ass_id, $member_id);
1125 $user_ids = array($member_id);
1128 $q=
"SELECT exc_mem_ass_status.status_time, exc_returned.ts ".
1129 "FROM exc_mem_ass_status, exc_returned ".
1130 "WHERE exc_mem_ass_status.status_time < exc_returned.ts ".
1131 "AND NOT exc_mem_ass_status.status_time IS NULL ".
1132 "AND exc_returned.ass_id = exc_mem_ass_status.ass_id ".
1133 "AND exc_returned.user_id = exc_mem_ass_status.usr_id ".
1134 "AND exc_returned.ass_id=".$ilDB->quote($ass_id,
"integer").
1135 " AND ".$ilDB->in(
"exc_returned.user_id", $user_ids,
"",
"integer");
1137 $usr_set = $ilDB->query($q);
1139 $array = $ilDB->fetchAssoc($usr_set);
1141 if (count($array)==0)
1162 $set = $ilDB->query(
"SELECT ud.usr_id, ud.lastname, ud.firstname, ud.login".
1163 " FROM exc_members excm".
1164 " JOIN usr_data ud ON (ud.usr_id = excm.usr_id)".
1165 " WHERE excm.obj_id = ".$ilDB->quote($this->getExerciseId(),
"integer"));
1166 while($rec = $ilDB->fetchAssoc($set))
1168 $mem[$rec[
"usr_id"]] =
1170 "name" => $rec[
"lastname"].
", ".$rec[
"firstname"],
1171 "login" => $rec[
"login"],
1172 "usr_id" => $rec[
"usr_id"],
1173 "lastname" => $rec[
"lastname"],
1174 "firstname" => $rec[
"firstname"]
1178 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
1180 $q =
"SELECT * FROM exc_mem_ass_status ".
1181 "WHERE ass_id = ".$ilDB->quote($this->
getId(),
"integer");
1182 $set = $ilDB->query($q);
1183 while($rec = $ilDB->fetchAssoc($set))
1185 if (isset($mem[$rec[
"usr_id"]]))
1189 $mem[$rec[
"usr_id"]][
"sent_time"] = $rec[
"sent_time"];
1190 $mem[$rec[
"usr_id"]][
"submission"] = $sub->getLastSubmission();
1191 $mem[$rec[
"usr_id"]][
"status_time"] = $rec[
"status_time"];
1192 $mem[$rec[
"usr_id"]][
"feedback_time"] = $rec[
"feedback_time"];
1193 $mem[$rec[
"usr_id"]][
"notice"] = $rec[
"notice"];
1194 $mem[$rec[
"usr_id"]][
"status"] = $rec[
"status"];
1207 $ass_data = self::getAssignmentDataOfExercise($a_exc_id);
1208 foreach ($ass_data as $ass)
1211 $ilDB->replace(
"exc_mem_ass_status", array(
1212 "ass_id" => array(
"integer", $ass[
"id"]),
1213 "usr_id" => array(
"integer", $a_user_id)
1215 "status" => array(
"text",
"notgraded")
1227 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1229 $mems = $exmem->getMembers();
1231 foreach ($mems as $mem)
1233 $ilDB->replace(
"exc_mem_ass_status", array(
1234 "ass_id" => array(
"integer", $a_ass_id),
1235 "usr_id" => array(
"integer", $mem)
1237 "status" => array(
"text",
"notgraded")
1248 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1251 $storage->uploadAssignmentFiles($a_files);
1268 $deliverFilename = trim(str_replace(
" ",
"_", $this->
getTitle().
"_".$this->
getId()));
1270 $deliverFilename =
"multi_feedback_".$deliverFilename;
1279 $mfdir = $tmpdir.
"/".$deliverFilename;
1283 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1285 $mems = $exmem->getMembers();
1287 foreach ($mems as $mem)
1290 $subdir = $name[
"lastname"].
"_".$name[
"firstname"].
"_".$name[
"login"].
"_".$name[
"user_id"];
1297 $tmpzipfile = $tmpdir.
"/multi_feedback.zip";
1315 include_once(
"./Modules/Exercise/exceptions/class.ilExerciseException.php");
1316 if (!is_file($a_file[
"tmp_name"]))
1321 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1323 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1328 $subdir =
"notfound";
1329 foreach ($subdirs as $s => $j)
1331 if ($j[
"type"] ==
"dir" && substr($s, 0, 14) ==
"multi_feedback")
1337 if (!is_dir($mfu.
"/".$subdir))
1355 if ($a_user_id == 0)
1357 $a_user_id = $ilUser->getId();
1360 $mf_files = array();
1364 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
1366 $mems = $exmem->getMembers();
1369 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1371 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1375 $subdir =
"notfound";
1376 foreach ($subdirs as $s => $j)
1378 if ($j[
"type"] ==
"dir" && substr($s, 0, 14) ==
"multi_feedback")
1385 foreach ($items as $k => $i)
1388 if ($i[
"type"] ==
"dir" && !in_array($k, array(
".",
"..")))
1391 $parts = explode(
"_", $i[
"entry"]);
1392 $user_id = (int) $parts[count($parts) - 1];
1393 if (in_array($user_id, $mems))
1398 foreach ($files as $k2 => $f)
1401 if ($f[
"type"] ==
"file" && substr($k2, 0, 1) !=
".")
1403 $mf_files[] = array(
1404 "lastname" => $name[
"lastname"],
1405 "firstname" => $name[
"firstname"],
1406 "login" => $name[
"login"],
1407 "user_id" => $name[
"user_id"],
1408 "full_path" => $mfu.
"/".$subdir.
"/".$k.
"/".$k2,
1428 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1430 $mfu = $storage->getMultiFeedbackUploadPath($ilUser->getId());
1447 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1449 $fstorage->create();
1451 $team_map = array();
1454 foreach ($mf_files as $f)
1456 $user_id = $f[
"user_id"];
1457 $file_path = $f[
"full_path"];
1458 $file_name = $f[
"file"];
1461 if ($a_files[$user_id][md5($file_name)] !=
"")
1464 $feedback_id = $submission->getFeedbackId();
1465 $noti_rec_ids = $submission->getUserIds();
1469 $fb_path = $fstorage->getFeedbackPath($feedback_id);
1470 $target = $fb_path.
"/".$file_name;
1471 if (is_file($target))
1476 rename($file_path, $target);
1481 (
int) $this->
getId());
1500 global $ilAppEventHandler;
1502 $dl_id = $this->
getId().
"0";
1503 $fbdl_id = $this->
getId().
"1";
1505 $context_ids = array($dl_id, $fbdl_id);
1508 if($a_event !=
"delete")
1510 include_once
"Services/Calendar/classes/class.ilCalendarAppointmentTemplate.php";
1516 $app->setSubtitle(
"cal_exc_deadline");
1518 $app->setFullday(
false);
1529 $app->setSubtitle(
"cal_exc_peer_review_deadline");
1531 $app->setFullday(
false);
1539 include_once
"Modules/Exercise/classes/class.ilObjExercise.php";
1542 $ilAppEventHandler->raise(
'Modules/Exercise',
1543 $a_event.
'Assignment',
1546 'obj_id' => $exc->getId(),
1547 'context_ids' => $context_ids,
1548 'appointments' => $apps));
1558 $set = $ilDB->query(
"SELECT id,fb_file FROM exc_assignment".
1559 " WHERE fb_cron = ".$ilDB->quote(1,
"integer").
1560 " AND fb_date = ".$ilDB->quote(self::FEEDBACK_DATE_DEADLINE,
"integer").
1561 " AND time_stamp IS NOT NULL".
1562 " AND time_stamp > ".$ilDB->quote(0,
"integer").
1563 " AND time_stamp < ".$ilDB->quote(time(),
"integer").
1564 " AND fb_cron_done = ".$ilDB->quote(0,
"integer"));
1565 while(
$row = $ilDB->fetchAssoc($set))
1567 if(trim(
$row[
"fb_file"]))
1580 $ass =
new self($a_ass_id);
1583 if(!$ass->hasFeedbackCron() || !$ass->getFeedbackFile())
1591 $set = $ilDB->query(
"SELECT fb_cron_done".
1592 " FROM exc_assignment".
1593 " WHERE id = ".$ilDB->quote($a_ass_id,
"integer"));
1594 $row = $ilDB->fetchAssoc($set);
1595 if(
$row[
"fb_cron_done"])
1601 include_once
"./Services/Notification/classes/class.ilSystemNotification.php";
1603 $ntf->setLangModules(array(
"exc"));
1604 $ntf->setObjId($ass->getExerciseId());
1605 $ntf->setSubjectLangId(
"exc_feedback_notification_subject");
1606 $ntf->setIntroductionLangId(
"exc_feedback_notification_body");
1607 $ntf->addAdditionalInfo(
"exc_assignment", $ass->getTitle());
1608 $ntf->setGotoLangId(
"exc_feedback_notification_link");
1609 $ntf->setReasonLangId(
"exc_feedback_notification_reason");
1613 include_once
"./Modules/Exercise/classes/class.ilExerciseMembers.php";
1616 $ilDB->manipulate(
"UPDATE exc_assignment".
1617 " SET fb_cron_done = ".$ilDB->quote(1,
"integer").
1618 " WHERE id = ".$ilDB->quote($a_ass_id,
"integer"));
1622 $ntf->sendMail(array($a_user_id));
1634 $deadline = max($this->deadline, $this->deadline2);
1641 $deadline = max($this->deadline, $this->deadline2);
1654 return (time() - $this->start_time <= 0);
1664 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
1666 return $storage->getGlobalFeedbackPath();
1702 $a_user_id = $ilUser->getId();
1704 if(!array_key_exists($a_user_id, $this->member_status))
1706 include_once
"Modules/Exercise/classes/class.ilExAssignmentMemberStatus.php";
1709 return $this->member_status[$a_user_id];
1722 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
1725 $id = $file[
"returned_id"];
1740 else if(!$file[
"late"] &&
1747 else if($last_deadline && $uploaded > $last_deadline)
1754 $ilDB->manipulate(
"UPDATE exc_returned".
1755 " SET late = ".$ilDB->quote($late,
"integer").
1756 " WHERE returned_id = ".$ilDB->quote(
$id,
"integer"));
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)
orderAssByDeadline($a_ex_id)
Order assignments by deadline date.
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 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 getPendingFeedbackNotifications()
setTeamTutor($a_value)
Set team management by tutor.
setPeerReviewFileUpload($a_val)
Set peer review file upload.
countMandatory($a_ex_id)
Order assignments by deadline date.
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.
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.
cloneAssignmentsOfExercise($a_old_exc_id, $a_new_exc_id, array $a_crit_cat_map)
Clone assignments of exercise.
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.
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
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 ...
deleteGlobalFeedbackFile()
setFeedbackCron($a_value)
Toggle (global) feedback file cron.
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
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.
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 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()
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.