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"}();
66 $lng = $DIC->language();
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")
151 ilUtil::sendInfo(sprintf($this->lng->txt(
"exc_max_file_reached"), $max_files));
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");
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");
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");
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
submissionScreenObject()
Displays a form which allows members to deliver their solutions.
downloadReturnedObject($a_only_new=false)
Download submitted files of user.
uploadZipObject()
Upload zip file.
downloadNewReturnedObject()
Download newly submitted files of user.
Exercise submission base gui.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
uploadFormObject(ilPropertyFormGUI $a_form=null)
Display form for single file upload.
static getOverviewContent(ilInfoScreenGUI $a_info, ilExSubmission $a_submission)
__construct(ilObjExercise $a_exercise, ilExSubmission $a_submission)
Constructor.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
downloadObject()
User downloads (own) submitted files.
handleNewUpload($a_no_notifications=false)
if(isset($_POST['submit'])) $form
initUploadForm()
Init upload form form.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
uploadFileObject()
Upload files.
confirmDeleteDeliveredObject()
Confirm deletion of delivered files.
addProperty($a_name, $a_value, $a_link="")
add a property to current section
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
uploadZipFormObject(ilPropertyFormGUI $a_form=null)
Display form for zip file upload.
getFiles(array $a_file_ids=null, $a_only_valid=false, $a_min_timestamp=null)
Confirmation screen class.
initZipUploadForm()
Init upload form form.
deleteDeliveredObject()
Delete file(s) submitted by user.