4 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
5 include_once
"Modules/Exercise/classes/class.ilExSubmissionBaseGUI.php";
37 $this->exercise = $a_exercise;
38 $this->assignment = $a_ass;
40 $ilCtrl->saveParameter($this,
array(
"vw",
"member_id"));
44 $this->tabs_gui = $ilTabs;
53 $class = $ilCtrl->getNextClass($this);
54 $cmd = $ilCtrl->getCmd(
"listPublicSubmissions");
58 case "ilfilesystemgui":
59 $ilTabs->clearTargets();
60 $ilTabs->setBackTarget($lng->txt(
"back"),
61 $ilCtrl->getLinkTarget($this, $this->
getViewBack()));
65 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
70 $feedback_id = $submission->getFeedbackId();
71 $noti_rec_ids = $submission->getUserIds();
73 include_once(
"./Services/User/classes/class.ilUserUtil.php");
75 foreach($noti_rec_ids as $rec_id)
79 $fs_title = implode(
" / ", $fs_title);
81 include_once(
"./Services/FileSystem/classes/class.ilFileSystemGUI.php");
82 $fs_gui =
new ilFileSystemGUI($fstorage->getFeedbackPath($feedback_id));
83 $fs_gui->
setTableId(
"excfbfil".$this->assignment->getId().
"_".$feedback_id);
84 $fs_gui->setAllowDirectories(
false);
85 $fs_gui->setTitle($lng->txt(
"exc_fb_files").
" - ".
86 $this->assignment->getTitle().
" - ".
88 $pcommand = $fs_gui->getLastPerformedCommand();
89 if (is_array($pcommand) && $pcommand[
"cmd"] ==
"create_file")
91 foreach($noti_rec_ids as $user_id)
93 $member_status = $this->assignment->getMemberStatus($user_id);
94 $member_status->setFeedback(
true);
95 $member_status->update();
98 $this->exercise->sendFeedbackFileNotification($pcommand[
"name"],
99 $noti_rec_ids, $this->assignment->getId());
101 $this->ctrl->forwardCommand($fs_gui);
104 case 'ilrepositorysearchgui':
105 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
107 $rep_search->setTitle($this->lng->txt(
"exc_add_participant"));
108 $rep_search->setCallback($this,
'addMembersObject');
112 $this->ctrl->setReturn($this,
'members');
114 $this->ctrl->forwardCommand($rep_search);
117 case "ilexsubmissionteamgui":
118 include_once
"Modules/Exercise/classes/class.ilExSubmissionTeamGUI.php";
120 $ilCtrl->forwardCommand($gui);
123 case "ilexsubmissionfilegui":
124 include_once
"Modules/Exercise/classes/class.ilExSubmissionFileGUI.php";
126 $ilCtrl->forwardCommand($gui);
129 case "ilexsubmissiontextgui":
130 $ilCtrl->saveParameter($this,
array(
"part_id"));
131 include_once
"Modules/Exercise/classes/class.ilExSubmissionTextGUI.php";
133 $ilCtrl->forwardCommand($gui);
136 case "ilexpeerreviewgui":
137 include_once
"Modules/Exercise/classes/class.ilExPeerReviewGUI.php";
139 $ilCtrl->forwardCommand($gui);
143 $this->{
$cmd.
"Object"}();
150 switch($_REQUEST[
"vw"])
152 case self::VIEW_PARTICIPANT:
153 $back_cmd =
"showParticipant";
156 case self::VIEW_GRADES:
157 $back_cmd =
"showGradesOverview";
162 $back_cmd =
"members";
171 $this->ctrl->setReturn($this, $back_cmd);
173 $this->tabs_gui->clearTargets();
174 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
175 $this->ctrl->getLinkTarget($this, $back_cmd));
177 include_once
"Modules/Exercise/classes/class.ilExSubmission.php";
178 return new ilExSubmission($this->assignment, $_REQUEST[
"member_id"], null,
true);
190 $ass_id =
$_GET[
"ass_id"];
191 $part_id =
$_GET[
"part_id"];
193 $ilCtrl->setParameter($this,
"vw",
"");
194 $ilCtrl->setParameter($this,
"member_id",
"");
195 $ilCtrl->setParameter($this,
"ass_id",
"");
196 $ilCtrl->setParameter($this,
"part_id",
"");
198 $ilTabs->addSubTab(
"assignment", $lng->txt(
"exc_assignment_view"),
199 $ilCtrl->getLinkTarget($this,
"members"));
200 $ilTabs->addSubTab(
"participant", $lng->txt(
"exc_participant_view"),
201 $ilCtrl->getLinkTarget($this,
"showParticipant"));
202 $ilTabs->addSubTab(
"grades", $lng->txt(
"exc_grades_overview"),
203 $ilCtrl->getLinkTarget($this,
"showGradesOverview"));
204 $ilTabs->activateSubTab($a_activate);
206 $ilCtrl->setParameter($this,
"ass_id", $ass_id);
207 $ilCtrl->setParameter($this,
"part_id", $part_id);
217 include_once
'Services/Tracking/classes/class.ilLPMarks.php';
222 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
225 if (!$this->assignment)
227 $this->assignment = current($ass);
236 $options[$a->getId()] = $a->getTitle();
238 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
241 $si->setValue($this->assignment->getId());
242 $ilToolbar->addStickyItem(
$si);
244 include_once(
"./Services/UIComponent/Button/classes/class.ilSubmitButton.php");
246 $button->setCaption(
"exc_select_ass");
247 $button->setCommand(
"selectAssignment");
248 $ilToolbar->addStickyItem($button);
250 $ilToolbar->addSeparator();
253 else if($this->assignment)
255 $ilCtrl->setParameter($this,
"ass_id", $this->assignment->getId());
259 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
264 'auto_complete_name' => $lng->txt(
'user'),
265 'submit_name' => $lng->txt(
'add'),
266 'add_search' =>
true,
267 'add_from_container' => $this->exercise->getRefId()
274 $ilToolbar->addSeparator();
277 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
279 $ilCtrl->setParameter($this,
"ass_id", $this->assignment->getId());
283 include_once(
"./Modules/Exercise/classes/class.ilExAssignmentTeam.php");
286 $ilToolbar->addButton($this->lng->txt(
"exc_adopt_group_teams"),
287 $this->ctrl->getLinkTarget($this,
"adoptTeamsFromGroup"));
289 $ilToolbar->addSeparator();
292 else if($this->exercise->hasTutorFeedbackFile())
295 $ilToolbar->addButton($this->lng->txt(
"exc_multi_feedback"),
296 $this->ctrl->getLinkTarget($this,
"showMultiFeedback"));
298 $ilToolbar->addSeparator();
305 $ilToolbar->addFormButton($lng->txt(
"exc_list_text_assignment"),
"listTextAssignment");
309 $ilToolbar->addFormButton($lng->txt(
"download_all_returned_files"),
"downloadAll");
312 $this->ctrl->setParameter($this,
"vw", self::VIEW_ASSIGNMENT);
314 include_once(
"./Modules/Exercise/classes/class.ilExerciseMemberTableGUI.php");
326 $ilCtrl->setParameter($this,
"ass_id",
"");
334 include_once(
"./Modules/Exercise/classes/class.ilExerciseMemberTableGUI.php");
337 $exc_tab->writeFilterToSession();
344 include_once(
"./Modules/Exercise/classes/class.ilExerciseMemberTableGUI.php");
347 $exc_tab->resetFilter();
359 include_once
'Services/Tracking/classes/class.ilLPMarks.php';
361 if (is_array(
$_POST[
"lcomment"]))
363 foreach (
$_POST[
"lcomment"] as $k => $v)
365 $marks_obj =
new ilLPMarks($this->exercise->getId(), (int) $k);
368 $marks_obj->update();
372 $ilCtrl->redirect($this,
"showGradesOverview");
389 $ilCtrl->redirect($this,
"members");
392 $ilTabs->clearTargets();
393 $ilTabs->setBackTarget($lng->txt(
"back"),
394 $ilCtrl->getLinkTarget($this,
"members"));
396 if($a_show_peer_review)
398 $cmd =
"listTextAssignmentWithPeerReview";
402 $cmd =
"listTextAssignment";
404 include_once
"Modules/Exercise/classes/class.ilExAssignmentListTextTableGUI.php";
406 $tpl->setContent(
$tbl->getHTML());
415 if(!strlen(trim(
$_POST[
'user_login'])))
421 $users = explode(
',',
$_POST[
'user_login']);
424 foreach($users as $user)
434 $user_ids[] = $user_id;
450 if(!count($a_user_ids))
456 if(!$this->exercise->members_obj->assignMembers($a_user_ids))
482 $this->ctrl->redirect($this,
"members");
504 $this->ctrl->setParameter($this,
"ass_id",
"");
507 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
509 $members = $this->exercise->members_obj->getMembers();
511 if (count($members) == 0)
518 foreach ($members as $mem_id)
522 include_once(
"./Services/User/classes/class.ilObjUser.php");
524 if (trim($name[
"login"]) !=
"")
526 $mems[$mem_id] = $name;
533 if (
$_GET[
"part_id"] ==
"" && count($mems) > 0)
535 $_GET[
"part_id"] = key($mems);
538 $current_participant =
$_GET[
"part_id"];
541 if (count($mems) > 1)
544 foreach ($mems as $k => $m)
547 $m[
"lastname"].
", ".$m[
"firstname"].
" [".$m[
"login"].
"]";
549 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
552 $si->setValue($current_participant);
553 $ilToolbar->addStickyItem(
$si);
555 include_once(
"./Services/UIComponent/Button/classes/class.ilSubmitButton.php");
557 $button->setCaption(
"exc_select_part");
558 $button->setCommand(
"selectParticipant");
559 $ilToolbar->addStickyItem($button);
561 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
564 if (count($mems) > 0)
566 $this->ctrl->setParameter($this,
"vw", self::VIEW_PARTICIPANT);
567 $this->ctrl->setParameter($this,
"part_id", $current_participant);
569 include_once(
"./Modules/Exercise/classes/class.ilExParticipantTableGUI.php");
571 $this->exercise, $current_participant);
572 $tpl->setContent($part_tab->getHTML().
583 include_once(
"./Modules/Exercise/classes/class.ilExParticipantTableGUI.php");
585 $exc_tab->resetOffset();
586 $exc_tab->writeFilterToSession();
593 include_once(
"./Modules/Exercise/classes/class.ilExParticipantTableGUI.php");
595 $exc_tab->resetOffset();
596 $exc_tab->resetFilter();
619 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
621 $mems = $mem_obj->getMembers();
623 if (count($mems) > 0)
625 $ilToolbar->addButton($lng->txt(
"exc_export_excel"),
626 $ilCtrl->getLinkTarget($this,
"exportExcel"));
629 $this->ctrl->setParameter($this,
"vw", self::VIEW_GRADES);
631 include_once(
"./Modules/Exercise/classes/class.ilExGradesTableGUI.php");
633 $this->exercise, $mem_obj);
634 $tpl->setContent($grades_tab->getHTML());
644 if (
$_GET[
"member_id"] !=
"")
647 $members = $submission->getUserIds();
651 $members = array_keys($members);
657 foreach($members as $user_id)
659 $member_status = $this->assignment->getMemberStatus($user_id);
660 $member_status->setFeedback(
true);
661 $member_status->update();
665 $logins = implode($logins,
",");
668 $sig = chr(13).chr(10).chr(13).chr(10);
669 $sig .= $this->lng->txt(
'exc_mail_permanent_link');
670 $sig .= chr(13).chr(10).chr(13).chr(10);
671 include_once
'./Services/Link/classes/class.ilLink.php';
673 $sig = rawurlencode(base64_encode($sig));
675 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
696 foreach($this->exercise->members_obj->getMembers() as $member_id)
699 $submission->updateTutorDownloadTime();
705 foreach($submission->getFiles() as
$file)
711 $members[$member_id][
"name"] = $tmp_obj->getFirstname() .
" " . $tmp_obj->getLastname();
722 if($this->assignment)
727 $this->ctrl->redirect($this,
"members");
730 foreach(array_keys(
$_POST[
"member"]) as $user_id)
733 $tmembers = $submission->getUserIds();
734 if(!(
bool)$a_keep_teams)
736 foreach($tmembers as $tuser_id)
738 $members[$tuser_id] = 1;
745 $members[] = $tmembers;
750 $members[] = $user_id;
761 $this->ctrl->redirect($this,
"showParticipant");
764 $user_id =
$_GET[
"part_id"];
766 include_once
"Modules/Exercise/classes/class.ilExAssignment.php";
767 foreach(array_keys(
$_POST[
"ass"]) as $ass_id)
770 $tmembers = $submission->getUserIds();
771 if(!(
bool)$a_keep_teams)
773 foreach($tmembers as $tuser_id)
775 $members[$ass_id][] = $tuser_id;
782 $members[$ass_id][] = $tmembers;
787 $members[$ass_id][] = $user_id;
804 if($this->assignment)
806 $this->exercise->sendAssignment($this->assignment, array_keys($members));
807 $this->ctrl->redirect($this,
"members");
811 foreach($members as $ass_id => $users)
813 $this->exercise->sendAssignment(
new ilExAssignment($ass_id), $users);
815 $this->ctrl->setParameter($this,
"part_id",
$_GET[
"part_id"]);
816 $this->ctrl->redirect($this,
"showParticipant");
829 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
831 $cgui->setFormAction($ilCtrl->getFormAction($this));
832 $cgui->setHeaderText($lng->txt(
"exc_msg_sure_to_deassign_participant"));
833 $cgui->setCancel($lng->txt(
"cancel"),
"members");
834 $cgui->setConfirm($lng->txt(
"remove"),
"deassignMembers");
836 include_once(
"./Services/User/classes/class.ilUserUtil.php");
837 foreach ($members as $k => $m)
839 $cgui->addItem(
"member[$k]", $m,
843 $tpl->setContent($cgui->getHTML());
855 foreach(array_keys($members) as $usr_id)
857 $this->exercise->members_obj->deassignMember((
int) $usr_id);
860 $ilCtrl->redirect($this,
"members");
865 if(!isset(
$_POST[
'comments_value']))
870 $this->exercise->members_obj->setNoticeForMember(
$_GET[
"member_id"],
883 $member_id = (int)
$_GET[
"part_id"];
885 foreach(array_keys(
$_POST[
"id"]) as $ass_id)
887 if(is_array($a_selected) &&
888 !in_array($ass_id, $a_selected))
897 if(array_key_exists(
"mark",
$_POST))
901 if(array_key_exists(
"notice",
$_POST))
907 $ilCtrl->setParameter($this,
"part_id", $member_id);
914 if (is_array(
$_POST[
"id"]))
916 foreach (array_keys(
$_POST[
"id"]) as $user_id)
918 if (is_array($a_selected) &&
919 !in_array($user_id, $a_selected))
928 if (array_key_exists(
"mark",
$_POST))
932 if (array_key_exists(
"notice",
$_POST))
945 if($this->assignment)
962 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
964 $saved_for =
array();
965 foreach($a_data as $ass_id => $users)
970 foreach($users as $user_id => $values)
974 foreach($submission->getUserIds() as $sub_user_id)
977 $saved_for[$sub_user_id] = $uname[
"lastname"].
", ".$uname[
"firstname"];
979 $member_status = $ass->getMemberStatus($sub_user_id);
982 $status = $values[
"status"];
985 $status =
"notgraded";
987 $member_status->setStatus($status);
988 if(array_key_exists(
"mark", $values))
990 $member_status->setMark($values[
"mark"]);
992 if(array_key_exists(
"notice", $values))
994 $member_status->setNotice($values[
"notice"]);
996 $member_status->update();
1001 if (count($saved_for) > 0)
1003 $save_for_str =
"(".implode($saved_for,
" - ").
")";
1020 if($this->ctrl->isAsynch())
1022 $ass_id = (int)
$_POST[
"ass_id"];
1023 $user_id = (int)
$_POST[
"mem_id"];
1026 if($ass_id && $user_id)
1029 $user_ids = $submission->getUserIds();
1032 $all_members = $all_members->getMembers();
1034 $reci_ids =
array();
1035 foreach($user_ids as $user_id)
1037 if(in_array($user_id, $all_members))
1039 $member_status = $this->assignment->getMemberStatus($user_id);
1041 $member_status->setFeedback(
true);
1042 $member_status->update();
1046 $reci_ids[] = $user_id;
1051 if(
sizeof($reci_ids))
1054 $this->exercise->sendFeedbackFileNotification(null, $reci_ids,
1071 $this->exercise->exportGradesExcel();
1086 $new_members =
array();
1088 include_once
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
1089 foreach($members as $group)
1091 if(is_array($group))
1093 $new_members = array_merge($new_members, $group);
1095 $first_user = $group;
1096 $first_user = array_shift($first_user);
1098 foreach($group as $user_id)
1100 $team->removeTeamMember($user_id);
1105 $new_members[] = $group;
1109 if(
sizeof($new_members))
1113 $first_user = array_shift($new_members);
1115 if(
sizeof($new_members))
1117 foreach($new_members as $user_id)
1119 $team->addTeamMember($user_id);
1124 $submission =
new ilExSubmission($this->assignment, $first_user);
1125 $this->exercise->processExerciseStatus(
1127 $team->getMembers(),
1128 $submission->hasSubmitted(),
1129 $submission->validatePeerReviews()
1134 $ilCtrl->redirect($this,
"members");
1143 include_once
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
1144 foreach($members as $group)
1147 if(is_array($group))
1151 $first_user = $group;
1152 $first_user = array_shift($first_user);
1154 foreach($group as $user_id)
1156 $team->removeTeamMember($user_id);
1160 $this->exercise->processExerciseStatus(
1169 $ilCtrl->redirect($this,
"members");
1176 $ilTabs->clearTargets();
1177 $ilTabs->setBackTarget($lng->txt(
"back"),
1178 $ilCtrl->getLinkTarget($this, $this->
getViewBack()));
1184 $tpl->setContent($a_form->getHTML());
1191 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1193 $form->setTitle($lng->txt(
"exc_adopt_group_teams").
" - ".$this->assignment->getTitle());
1194 $form->setFormAction($this->ctrl->getFormAction($this,
"createTeamsFromGroups"));
1196 include_once
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
1197 include_once
"Services/User/classes/class.ilUserUtil.php";
1198 $all_members =
array();
1201 if(
sizeof($group[
"members"]))
1205 foreach($group[
"members"] as $user_id)
1209 if(!in_array($user_id, $all_members))
1211 $grp_value[] = $user_id;
1212 $all_members[] = $user_id;
1216 foreach(
$options as $user_id => $user_name)
1220 $grp_team->setValue($grp_value);
1221 $form->addItem($grp_team);
1226 $grp_team->setValue($lng->txt(
"exc_adopt_group_teams_no_members"));
1227 $form->addItem($grp_team);
1231 if(
sizeof($all_members))
1233 $form->addCommandButton(
"createTeamsFromGroups", $lng->txt(
"save"));
1235 $form->addCommandButton(
"members", $lng->txt(
"cancel"));
1245 if($form->checkInput())
1247 include_once
"Services/User/classes/class.ilUserUtil.php";
1249 $all_members = $teams =
array();
1251 foreach(array_keys($map) as $grp_id)
1253 $postvar =
"grpt_".$grp_id;
1254 $members =
$_POST[$postvar];
1255 if(is_array($members))
1257 $teams[] = $members;
1258 $invalid_team_members =
array();
1260 foreach($members as $user_id)
1262 if(!array_key_exists($user_id, $all_members))
1264 $all_members[$user_id] = $grp_id;
1269 $invalid_team_members[] = $user_id;
1273 if(
sizeof($invalid_team_members))
1278 foreach($invalid_team_members as $user_id)
1281 $grp_title = $map[$all_members[$user_id]][
"title"];
1282 $alert[] = sprintf($lng->txt(
"exc_adopt_group_teams_conflict"), $user_name, $grp_title);
1284 $input = $form->getItemByPostVar($postvar);
1285 $input->setAlert(implode(
"<br/>", $alert));
1296 $sum =
array(
"added"=>0,
"blocked"=>0);
1297 foreach($teams as $members)
1299 foreach($members as $user_id)
1301 if(!$this->exercise->members_obj->isAssigned($user_id))
1303 $this->exercise->members_obj->assignMember($user_id);
1306 if(!in_array($user_id, $existing_users))
1316 $first = array_shift($members);
1322 if(
sizeof($members))
1324 foreach($members as $user_id)
1326 $team->addTeamMember($user_id);
1334 $mess[] = sprintf($lng->txt(
"exc_adopt_group_teams_added"), $sum[
"added"]);
1338 $mess[] = sprintf($lng->txt(
"exc_adopt_group_teams_blocked"), $sum[
"blocked"]);
1349 $this->ctrl->redirect($this,
"members");
1357 $form->setValuesByPost();
1370 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1372 $form->addCommandButton(
"uploadMultiFeedback", $lng->txt(
"upload"));
1373 $form->addCommandButton(
"members", $lng->txt(
"cancel"));
1376 $fi =
new ilFileInputGUI($lng->txt(
"exc_multi_feedback_file"),
"mfzip");
1378 $fi->setRequired(
true);
1379 $form->addItem($fi);
1382 $form->setFormAction($this->ctrl->getFormAction($this,
"uploadMultiFeedback"));
1402 include_once(
"./Services/UIComponent/Button/classes/class.ilLinkButton.php");
1404 $button->setCaption(
"exc_download_zip_structure");
1405 $button->setUrl($this->ctrl->getLinkTarget($this,
"downloadMultiFeedbackZip"));
1406 $button->setOmitPreventDoubleSubmission(
true);
1407 $ilToolbar->addButtonInstance($button);
1414 $tpl->setContent($a_form->getHTML());
1422 $this->assignment->sendMultiFeedbackStructureFile($this->exercise);
1432 if($form->checkInput())
1437 $this->ctrl->redirect($this,
"showMultiFeedbackConfirmationTable");
1442 $this->ctrl->redirect($this,
"showMultiFeedback");
1446 $form->setValuesByPost();
1462 include_once(
"./Modules/Exercise/classes/class.ilFeedbackConfirmationTable2GUI.php");
1464 $tpl->setContent(
$tab->getHTML());
1472 $this->assignment->clearMultiFeedbackDirectory();
1473 $this->ctrl->redirect($this,
"members");
1481 $this->assignment->saveMultiFeedbackFiles(
$_POST[
"file"], $this->exercise);
1484 $this->ctrl->redirect($this,
"members");
1497 include_once
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php";
1499 $modal->setHeading($lng->txt(
"exc_individual_deadline"));
1500 $modal->setId(
"ilExcIDl");
1501 $modal->setBody(
'<div id="ilExcIDlBody"></div>');
1502 $modal = $modal->getHTML();
1504 $ajax_url = $this->ctrl->getLinkTarget($this,
"handleIndividualDeadlineCalls",
"",
true,
false);
1506 $tpl->addJavaScript(
"./Modules/Exercise/js/ilExcIDl.js",
true, 3);
1507 $tpl->addOnloadCode(
'il.ExcIDl.init("'.$ajax_url.
'");');
1509 include_once
"Services/Calendar/classes/class.ilCalendarUtil.php";
1521 foreach($a_data as $item)
1523 $item = explode(
"_", $item);
1525 $user_id = $item[1];
1527 if(!array_key_exists($ass_id, $ass_tmp))
1529 if($this->assignment &&
1530 $ass_id == $this->assignment->getId())
1540 $map[$ass_id][] = $user_id;
1543 return array($map, $ass_tmp);
1551 $this->ctrl->saveParameter($this,
"part_id");
1554 if((
bool)
$_GET[
"dn"])
1557 $this->ctrl->redirect($this, $this->assignment
1559 :
"showParticipant");
1562 include_once
"Modules/Exercise/classes/class.ilExAssignment.php";
1571 echo $form->getHTML().
1572 $tpl->getOnLoadCodeForAsynch();
1579 foreach(array_keys(
$_POST) as $id)
1581 if(substr($id, 0, 3) ==
"dl_")
1583 $tmp[] = substr($id, 3);
1593 if(
$valid = $form->checkInput())
1595 foreach($users as $ass_id => $users)
1597 $ass = $ass_map[$ass_id];
1602 foreach($users as $user_id)
1604 $date_field = $form->getItemByPostVar(
"dl_".$ass_id.
"_".$user_id);
1612 $res[$ass_id][$user_id] = $date_field->getDate();
1620 $form->setValuesByPost();
1621 echo $form->getHTML().
1622 $tpl->getOnLoadCodeForAsynch();
1626 foreach(
$res as $ass_id => $users)
1628 $ass = $ass_map[$ass_id];
1630 foreach($users as $id => $date)
1632 $ass->setIndividualDeadline($id, $date);
1635 $ass->recalculateLateSubmissions();
1647 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
1649 $form->setFormAction($this->ctrl->getFormAction($this));
1650 $form->setName(
"ilExcIDlForm");
1652 include_once
"Services/User/classes/class.ilUserUtil.php";
1653 foreach($ids as $ass_id => $users)
1655 $ass = $a_ass_map[$ass_id];
1658 $section->setTitle($ass->getTitle());
1661 include_once(
"./Modules/Exercise/classes/class.ilExAssignmentTeam.php");
1664 $values = $ass->getIndividualDeadlines();
1666 foreach($users as $id)
1672 $name = $name[
"lastname"].
", ".$name[
"firstname"];
1678 $team_id = (int)substr($id, 1);
1679 if(array_key_exists($team_id, $teams))
1682 foreach($teams[$team_id]->getMembers() as $member_id)
1685 $name[] = $uname[
"lastname"].
", ".$uname[
"firstname"];
1688 $name = implode(
"<br />", $name);
1693 $dl->setShowTime(
true);
1694 $dl->setRequired(
true);
1695 $form->addItem($dl);
1697 if(array_key_exists($id, $values))
1704 $form->addCommandButton(
"", $this->lng->txt(
"save"));
1714 if($this->assignment)
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initMultiFeedbackForm($a_ass_id)
addMembersObject($a_user_ids=array())
Add new partipant.
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
showParticipantObject()
Show Participant.
deassignMembersObject()
Deassign members from exercise.
showGradesOverviewObject()
Show grades overview.
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
This class represents an option in a checkbox group.
exportExcelObject()
Export as excel.
static getAdoptableGroups($a_exc_ref_id)
static getGroupMembersMap($a_exc_ref_id)
static initDateTimePicker()
createTeamsFromGroupsObject()
static getAssignmentTeamMap($a_ass_id)
Get team structure for assignment.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
static getInstancesFromMap($a_assignment_id)
saveStatusParticipantObject(array $a_selected=null)
Save assignment status (participant view)
getMultiActionUserIds($a_keep_teams=false)
static _before(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is before end This method does not consider tz offsets.
parseIndividualDeadlineData(array $a_data)
Exercise participant table.
saveStatusAllObject(array $a_selected=null, $a_redirect=true)
resetOffset($a_in_determination=false)
Reset offset.
static _lookupId($a_user_str)
Lookup id by login.
showMultiFeedbackObject(ilPropertyFormGUI $a_form=null)
Show multi-feedback screen.
addUserFromAutoCompleteObject()
Add user as member.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static downloadAllAssignmentFiles(ilExAssignment $a_ass, array $members)
Download all submitted files of an assignment (all user)
static hasAnySubmissions($a_ass_id)
showParticipantResetObject()
selectParticipantObject()
Select participant.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
setTableId($a_val)
Set table id.
__construct(ilObjExercise $a_exercise, ilExAssignment $a_ass=null)
Constructor.
redirectFeedbackMailObject()
set feedback status for member and redirect to mail screen
handleIndividualDeadlineCallsObject()
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false)
Default behaviour is:
saveStatus(array $a_data, $a_redirect=true)
Save status of selecte members.
addSubTabs($a_activate)
adds tabs to tab gui object
if(!is_array($argv)) $options
static getInstanceByUserId($a_assignment_id, $a_user_id, $a_create_on_demand=false)
uploadMultiFeedbackObject()
Upload multi feedback file.
static getInstancesByExercise($a_exc_id)
static formatDate(ilDateTime $date)
Format a date public.
downloadMultiFeedbackZipObject()
Download multi-feedback structrue file.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
selectAssignmentObject()
Select assignment.
showParticipantApplyObject()
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.
static _lookupType($a_id, $a_reference=false)
lookup object type
saveGradesObject()
Save grades.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
listTextAssignmentObject($a_show_peer_review=false)
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
Class ilExerciseManagementGUI.
confirmDeassignMembersObject()
Confirm deassigning members.
static getInstance()
Get instance.
cancelMultiFeedbackObject()
Cancel Multi Feedback.
sendMembersObject()
Send assignment per mail to participants.
This class represents a non editable value in a property form.
create()
Create directory.
membersObject()
All participants and submission of one assignment.
initIndividualDeadlineModal()
saveCommentForLearnersObject()
Save comment for learner (asynch)
adoptTeamsFromGroupObject(ilPropertyFormGUI $a_form=null)
showMultiFeedbackConfirmationTableObject()
Show multi feedback confirmation table.
listTextAssignmentWithPeerReviewObject()
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
saveMultiFeedbackObject()
Save multi feedback.
File System Explorer GUI class.
static redirect($a_script)
http redirect to other script
saveStatusSelectedObject()
Exercise participant table.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Object-based submissions (ends up as static file)
initIndividualDeadlineForm(array $a_ass_map, array $ids)
static lookupTitle($a_id)
Lookup title.
downloadAllObject()
Download all submitted files (of all members).
setIndividualDeadlineObject()
Confirmation screen class.
Class to report exception.