33     protected \ILIAS\Exercise\InternalDomainService 
$domain;
    34     protected \ILIAS\Exercise\InternalGUIService 
$gui;
    55         $service = $DIC->exercise()->internal();
    57         $this->domain = $domain = 
$service->domain();
    59         $this->
user = $domain->user();
    60         $ilCtrl = $gui->ctrl();
    61         $ilTabs = $gui->tabs();
    62         $lng = $domain->lng();
    63         $tpl = $gui->ui()->mainTemplate();
    66             $a_user_id = $this->
user->getId();
    69         $this->assignment = $a_ass;
    70         $this->exercise = $a_exercise;
    71         $this->user_id = $a_user_id;
    73         $this->type_guis = $gui->assignment()->types();
    76         if (!$this->exercise->members_obj->isAssigned($a_user_id)) {
    77             $this->exercise->members_obj->assignMember($a_user_id);
    81         $public_submissions = 
false;
    82         if ($this->exercise->getShowSubmissions() &&
    83             $this->exercise->getTimestamp() - time() <= 0) { 
    84             $public_submissions = 
true;
    86         $this->submission = 
new ilExSubmission($a_ass, $a_user_id, null, 
false, $public_submissions);
    89         $this->
ctrl = $ilCtrl;
    90         $this->tabs_gui = $ilTabs;
    93         $this->request = $DIC->exercise()->internal()->gui()->request();
    94         $this->domain = $DIC->exercise()->internal()->domain();
   105         $cmd = $ilCtrl->getCmd(
"listPublicSubmissions");
   108             case "ilexsubmissionteamgui":
   111                 $this->tabs_gui->clearTargets();
   112                 $this->tabs_gui->setBackTarget(
   113                     $this->
lng->txt(
"back"),
   114                     $this->
ctrl->getLinkTarget($this, 
"returnToParent")
   119                     $this->tabs_gui->addTab(
   121                         $this->
lng->txt(
"exc_submission"),
   122                         $this->
ctrl->getLinkTargetByClass(
"ilexsubmission" . $this->submission->getSubmissionType() . 
"gui", 
"")
   126                 $gui = $this->gui->getTeamSubmissionGUI($this->exercise, $this->submission);
   127                 $ilCtrl->forwardCommand($gui);
   130             case "ilexsubmissiontextgui":
   132                 $ilCtrl->forwardCommand($gui);
   135             case "ilexsubmissionfilegui":
   137                 $ilCtrl->forwardCommand($gui);
   140             case "ilexsubmissionobjectgui":
   142                 $ilCtrl->forwardCommand($gui);
   145             case "ilexpeerreviewgui":
   154                 $this->
ctrl->forwardCommand($peer_gui);
   161                 if ($this->type_guis->isExAssTypeGUIClass($class)) {
   162                     $type_gui = $this->type_guis->getByClassName($class);
   163                     $type_gui->setSubmission($this->submission);
   164                     $type_gui->setExercise($this->exercise);
   165                     $ilCtrl->forwardCommand($type_gui);
   168                 $this->{$cmd . 
"Object"}();
   173     public static function getOverviewContent(
   179         $ilCtrl = $DIC->ctrl();
   181         if (!$a_submission->
canView()) {
   185         $ilCtrl->setParameterByClass(
"ilExSubmissionGUI", 
"ass_id", $a_submission->
getAssignment()->getId());
   195             $class = 
"ilExSubmission" . $submission_type . 
"GUI";
   197             $class::getOverviewContent($a_info, $a_submission);
   200             $ilCtrl->
getHTML($sub_gui, array(
   201                 "mode" => self::MODE_OVERVIEW_CONTENT,
   203                 "submission" => $a_submission
   207         $ilCtrl->setParameterByClass(
"ilExSubmissionGUI", 
"ass_id", 
"");
   215         switch ($par[
"mode"]) {
   217             case self::MODE_OVERVIEW_CONTENT:
   218                 $type_gui = $this->type_guis->getById($par[
"submission"]->getAssignment()->getType());
   219                 $type_gui->getOverviewContent($par[
"info"], $par[
"submission"]);
   231         if (!$this->exercise->getShowSubmissions()) {
   235         $ilTabs->clearTargets();
   236         $ilTabs->setBackTarget(
   238             $ilCtrl->getLinkTarget($this, 
"returnToParent")
   243             $this->tpl->setContent($tab->getHTML());
   247             $this->tpl->setContent($tbl->getHTML());
   256         $file = $this->request->getFile();
   259             $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"exc_select_one_file"), 
true);
   260             $this->
ctrl->redirect($this, 
"view");
   263         $this->domain->assignment()->tutorFeedbackFile($this->assignment->getId())
   264             ->deliver($this->user_id, $file);
   276         if (!$state->isGlobalFeedbackFileAccessible($this->submission)) {
   277             $ilCtrl->redirect($this, 
"returnToParent");
   280         $this->domain->assignment()->sampleSolution($this->assignment->getId())->deliver();
   285         $file = $this->request->getFile();
   288             $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"exc_select_one_file"), 
true);
   289             $this->
ctrl->redirect($this, 
"view");
   294         if ($state->areInstructionsVisible()) {
   296             $files = $this->assignment->getFiles();
   298             foreach ($files as $lfile) {
   299                 if ($lfile[
"name"] == $file) {
   300                     $this->domain->assignment()->instructionFiles($this->assignment->getId())->deliver($lfile[
"fullpath"], $file);
   313         $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()
 
ILIAS Exercise InternalDomainService $domain
 
ilExAssignmentTypesGUI $type_guis
 
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)
 
ilExAssignment $assignment
 
ilExSubmission $submission
 
const MODE_OVERVIEW_CONTENT
 
downloadGlobalFeedbackFileObject()
 
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
 
ilGlobalTemplateInterface $tpl
 
Exercise submission //TODO: This class has many static methods related to delivered "files"...
 
ILIAS Exercise InternalGUIService $gui
 
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...
 
__construct(ilObjExercise $a_exercise, ilExAssignment $a_ass, int $a_user_id=null)