37        parent::__construct($a_exercise, $a_submission);
 
   39        $this->toolbar = 
$DIC->toolbar();
 
   40        $this->help = 
$DIC[
"ilHelp"];
 
   41        $this->
user = $DIC->user();
 
   48        if (!$this->submission->canView()) {
 
   52        $class = 
$ilCtrl->getNextClass($this);
 
   53        $cmd = 
$ilCtrl->getCmd(
"submissionScreen");
 
   57                $this->{$cmd . 
"Object"}();
 
   71            $titles[] = 
$file[
"filetitle"];
 
   73        $files_str = implode($titles, 
"<br>");
 
   74        if ($files_str == 
"") {
 
   75            $files_str = 
$lng->txt(
"message_no_delivered_files");
 
   81                $title = (count($titles) == 0
 
   82                    ? 
$lng->txt(
"exc_hand_in")
 
   83                    : 
$lng->txt(
"exc_edit_submission"));
 
   86                $button->setPrimary(
true);
 
   87                $button->setCaption(
$title, 
false);
 
   88                $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionFileGUI"), 
"submissionScreen"));
 
   89                $files_str.= 
"<br><br>" . $button->render();
 
   91                if (count($titles) > 0) {
 
   93                    $button->setCaption(
"already_delivered_files");
 
   94                    $button->setUrl(
$ilCtrl->getLinkTargetByClass(array(
"ilExSubmissionGUI", 
"ilExSubmissionFileGUI"), 
"submissionScreen"));
 
   95                    $files_str.= 
"<br>" . $button->render();
 
  117        $ilHelp->setScreenIdComponent(
"exc");
 
  118        $ilHelp->setScreenId(
"submissions");
 
  120        if (!$this->submission->canSubmit()) {
 
  123            $max_files = $this->submission->getAssignment()->getMaxFile();
 
  125            if ($this->submission->canAddFile()) {
 
  127                $deadline = $this->assignment->getPersonalDeadline(
$ilUser->getId());
 
  129                    time() > $deadline) {
 
  131                    $dl = 
sprintf($this->lng->txt(
"exc_late_submission_warning"), $dl);
 
  132                    $dl = 
'<span class="warning">' . $dl . 
'</span>';
 
  133                    $ilToolbar->addText($dl);
 
  136                $ilToolbar->addButton(
 
  137                    $this->lng->txt(
"file_add"),
 
  138                    $this->ctrl->getLinkTarget($this, 
"uploadForm")
 
  143                    $ilToolbar->addButton(
 
  144                        $this->lng->txt(
"header_zip"),
 
  145                        $this->ctrl->getLinkTarget($this, 
"uploadZipForm")
 
  155        include_once(
"./Modules/Exercise/classes/class.ilExcDeliveredFilesTableGUI.php");
 
  157        $this->tpl->setContent(
$tab->getHTML());
 
  165        if (!$this->submission->canSubmit()) {
 
  166            $this->ctrl->redirect($this, 
"submissionScreen");
 
  169        $this->tabs_gui->clearTargets();
 
  170        $this->tabs_gui->setBackTarget(
 
  171            $this->lng->txt(
"back"),
 
  172            $this->ctrl->getLinkTarget($this, 
"submissionScreen")
 
  176        $ilHelp->setScreenIdComponent(
"exc");
 
  177        $ilHelp->setScreenId(
"upload_submission");
 
  182        $this->tpl->setContent($a_form->getHTML());
 
  190        if (!$this->submission->canSubmit()) {
 
  191            $this->ctrl->redirect($this, 
"submissionScreen");
 
  194        $this->tabs_gui->clearTargets();
 
  195        $this->tabs_gui->setBackTarget(
 
  196            $this->lng->txt(
"back"),
 
  197            $this->ctrl->getLinkTarget($this, 
"submissionScreen")
 
  203        $this->tpl->setContent($a_form->getHTML());
 
  214        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  218        include_once(
"./Services/Form/classes/class.ilFileWizardInputGUI.php");
 
  220        $fi->setFilenames(array(0 => 
''));
 
  221        $fi->setRequired(
true);
 
  224        $form->addCommandButton(
"uploadFile", 
$lng->txt(
"upload"));
 
  225        $form->addCommandButton(
"submissionScreen", 
$lng->txt(
"cancel"));
 
  228        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"uploadFile"));
 
  241        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  244        include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
 
  246        $fi->setSuffixes(array(
"zip"));
 
  247        $fi->setRequired(
true);
 
  250        $form->addCommandButton(
"uploadZip", 
$lng->txt(
"upload"));
 
  251        $form->addCommandButton(
"submissionScreen", 
$lng->txt(
"cancel"));
 
  253        $form->setTitle(
$lng->txt(
"header_zip"));
 
  254        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"uploadZip"));
 
  267        if (!$this->submission->canSubmit()) {
 
  271            if (!
$form->checkInput()) {
 
  276            foreach ($_FILES[
"deliver"][
"name"] as $k => $v) {
 
  278                    "name" => $_FILES[
"deliver"][
"name"][$k],
 
  279                    "type" => $_FILES[
"deliver"][
"type"][$k],
 
  280                    "tmp_name" => $_FILES[
"deliver"][
"tmp_name"][$k],
 
  281                    "error" => $_FILES[
"deliver"][
"error"][$k],
 
  282                    "size" => $_FILES[
"deliver"][
"size"][$k],
 
  284                if (!$this->submission->uploadFile(
$file)) {
 
  297        $ilCtrl->redirect($this, 
"submissionScreen");
 
  308        if (!$this->submission->canSubmit()) {
 
  312            if (!
$form->checkInput()) {
 
  316            if (preg_match(
"/zip/", $_FILES[
"deliver"][
"type"]) == 1) {
 
  317                if ($this->submission->processUploadedZipFile($_FILES[
"deliver"][
"tmp_name"])) {
 
  324        $ilCtrl->redirect($this, 
"submissionScreen");
 
  336        if (!$this->submission->canSubmit()) {
 
  338            $ilCtrl->redirect($this, 
"submissionScreen");
 
  341        if (!is_array(
$_POST[
"delivered"]) || count(
$_POST[
"delivered"]) == 0) {
 
  343            $ilCtrl->redirect($this, 
"submissionScreen");
 
  345            $this->tabs_gui->clearTargets();
 
  346            $this->tabs_gui->setBackTarget(
 
  347                $this->lng->txt(
"back"),
 
  348                $this->ctrl->getLinkTarget($this, 
"submissionScreen")
 
  351            include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  353            $cgui->setFormAction(
$ilCtrl->getFormAction($this));
 
  354            $cgui->setHeaderText(
$lng->txt(
"info_delete_sure"));
 
  355            $cgui->setCancel(
$lng->txt(
"cancel"), 
"submissionScreen");
 
  356            $cgui->setConfirm(
$lng->txt(
"delete"), 
"deleteDelivered");
 
  358            $files = $this->submission->getFiles();
 
  360            foreach (
$_POST[
"delivered"] as 
$i) {
 
  364                    if ($f[
"returned_id"] == 
$i) {
 
  368                $cgui->addItem(
"delivered[]", 
$i, 
$title);
 
  371            $tpl->setContent($cgui->getHTML());
 
  385        if (!$this->submission->canSubmit()) {
 
  387        } elseif (!count(
$_POST[
"delivered"])) {
 
  390            $this->submission->deleteSelectedFiles(
$_POST[
"delivered"]);
 
  395        $ilCtrl->redirect($this, 
"submissionScreen");
 
  405        $peer_review_mask_filename = 
false;
 
  407        if ($this->submission->canView()) {
 
  408            $peer_review_mask_filename = $this->submission->hasPeerReviewAccess();
 
  414        $this->submission->downloadFiles(
null, $a_only_new, $peer_review_mask_filename);
 
  440        $delivered_id = $_REQUEST[
"delivered"];
 
  442        if (!$this->submission->canView()) {
 
  446        if (!is_array($delivered_id) && $delivered_id > 0) {
 
  447            $delivered_id = [$delivered_id];
 
  449        if (is_array($delivered_id) && count($delivered_id) > 0) {
 
  450            $this->submission->downloadFiles($delivered_id);
 
  454            $ilCtrl->redirect($this, 
"submissionScreen");
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
@classDescription Date and time handling
Exercise submission base gui.
handleNewUpload($a_no_notifications=false)
uploadZipObject()
Upload zip file.
uploadZipFormObject(ilPropertyFormGUI $a_form=null)
Display form for zip file upload.
confirmDeleteDeliveredObject()
Confirm deletion of delivered files.
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
initZipUploadForm()
Init upload form form.
__construct(ilObjExercise $a_exercise, ilExSubmission $a_submission)
Constructor.
deleteDeliveredObject()
Delete file(s) submitted by user.
downloadNewReturnedObject()
Download newly submitted files of user.
downloadObject()
User downloads (own) submitted files.
initUploadForm()
Init upload form form.
submissionScreenObject()
Displays a form which allows members to deliver their solutions.
downloadReturnedObject($a_only_new=false)
Download submitted files of user.
uploadFormObject(ilPropertyFormGUI $a_form=null)
Display form for single file upload.
uploadFileObject()
Upload files.
getFiles(array $a_file_ids=null, $a_only_valid=false, $a_min_timestamp=null)
addProperty($a_name, $a_value, $a_link="")
add a property to current section
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file