54 $this->
user = $DIC->user();
55 $ilCtrl = $DIC->ctrl();
56 $ilTabs = $DIC->tabs();
57 $lng = $DIC->language();
65 $this->assignment = $a_ass;
66 $this->exercise = $a_exercise;
67 $this->user_id = $a_user_id;
72 if (!$this->exercise->members_obj->isAssigned($a_user_id)) {
73 $this->exercise->members_obj->assignMember($a_user_id);
77 $public_submissions =
false;
78 if ($this->exercise->getShowSubmissions() &&
79 $this->exercise->getTimestamp() - time() <= 0) {
80 $public_submissions =
true;
82 $this->submission =
new ilExSubmission($a_ass, $a_user_id, null,
false, $public_submissions);
85 $this->
ctrl = $ilCtrl;
86 $this->tabs_gui = $ilTabs;
89 $this->request = $DIC->exercise()->internal()->gui()->request();
100 $cmd = $ilCtrl->getCmd(
"listPublicSubmissions");
103 case "ilexsubmissionteamgui":
106 $this->tabs_gui->clearTargets();
107 $this->tabs_gui->setBackTarget(
108 $this->
lng->txt(
"back"),
109 $this->
ctrl->getLinkTarget($this,
"returnToParent")
114 $this->tabs_gui->addTab(
116 $this->
lng->txt(
"exc_submission"),
117 $this->
ctrl->getLinkTargetByClass(
"ilexsubmission" . $this->submission->getSubmissionType() .
"gui",
"")
122 $ilCtrl->forwardCommand($gui);
125 case "ilexsubmissiontextgui":
127 $ilCtrl->forwardCommand($gui);
130 case "ilexsubmissionfilegui":
132 $ilCtrl->forwardCommand($gui);
135 case "ilexsubmissionobjectgui":
137 $ilCtrl->forwardCommand($gui);
140 case "ilexpeerreviewgui":
141 $this->tabs_gui->clearTargets();
142 $this->tabs_gui->setBackTarget(
143 $this->
lng->txt(
"back"),
144 $this->
ctrl->getLinkTarget($this,
"returnToParent")
148 $this->
ctrl->forwardCommand($peer_gui);
155 if ($this->type_guis->isExAssTypeGUIClass($class)) {
156 $type_gui = $this->type_guis->getByClassName($class);
157 $type_gui->setSubmission($this->submission);
158 $type_gui->setExercise($this->exercise);
159 $ilCtrl->forwardCommand($type_gui);
162 $this->{$cmd .
"Object"}();
167 public static function getOverviewContent(
174 $ilCtrl = $DIC->ctrl();
176 if (!$a_submission->
canView()) {
180 $ilCtrl->setParameterByClass(
"ilExSubmissionGUI",
"ass_id", $a_submission->
getAssignment()->getId());
190 $class =
"ilExSubmission" . $submission_type .
"GUI";
192 $class::getOverviewContent($a_info, $a_submission);
195 $ilCtrl->
getHTML($sub_gui, array(
196 "mode" => self::MODE_OVERVIEW_CONTENT,
198 "submission" => $a_submission
202 $ilCtrl->setParameterByClass(
"ilExSubmissionGUI",
"ass_id",
"");
210 switch ($par[
"mode"]) {
212 case self::MODE_OVERVIEW_CONTENT:
213 $type_gui = $this->type_guis->getById($par[
"submission"]->getAssignment()->getType());
214 $type_gui->getOverviewContent($par[
"info"], $par[
"submission"]);
226 if (!$this->exercise->getShowSubmissions()) {
230 $ilTabs->clearTargets();
231 $ilTabs->setBackTarget(
233 $ilCtrl->getLinkTarget($this,
"returnToParent")
238 $this->tpl->setContent($tab->getHTML());
242 $this->tpl->setContent($tbl->getHTML());
251 $file = $this->request->getFile();
254 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"exc_select_one_file"),
true);
255 $this->
ctrl->redirect($this,
"view");
262 foreach ($files as $fb_file) {
263 if ($fb_file == $file) {
274 if (!$this->assignment->notStartedYet()) {
276 $p = $storage->getFeedbackFilePath($this->submission->getFeedbackId(), $file);
291 if (!$state->isGlobalFeedbackFileAccessible($this->submission)) {
292 $ilCtrl->redirect($this,
"returnToParent");
296 $file = (is_file($this->assignment->getGlobalFeedbackFilePath()))
297 ? $this->assignment->getGlobalFeedbackFilePath()
298 : $this->assignment->getGlobalFeedbackFileStoragePath() . $this->assignment->getFeedbackFile();
305 $file = $this->request->getFile();
308 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"exc_select_one_file"),
true);
309 $this->
ctrl->redirect($this,
"view");
314 if ($state->areInstructionsVisible()) {
316 $files = $this->assignment->getFiles();
318 foreach ($files as $lfile) {
319 if ($lfile[
"name"] == $file) {
335 $this->
ctrl->returnToParent($this);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
downloadFeedbackFileObject()
Download feedback file.
listPublicSubmissionsObject()
static getInstance()
Get instance.
ilExAssignmentTypesGUI $type_guis
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
getNextClass($a_gui_class=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceByIds(int $a_ass_id, int $a_user_id=0)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilExAssignment $assignment
ilExSubmission $submission
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const MODE_OVERVIEW_CONTENT
downloadGlobalFeedbackFileObject()
__construct(Container $dic, ilPlugin $plugin)
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
ilGlobalTemplateInterface $tpl
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getFeedbackFiles(string $a_user_id)
Exercise gui request wrapper.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Object-based submissions (ends up as static file)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...