35 protected \ILIAS\DI\UIServices
$ui;
41 $this->main_tpl = $DIC->ui()->mainTemplate();
43 $this->
ctrl = $DIC->ctrl();
44 $this->
user = $DIC->user();
45 $this->
lng = $DIC->language();
46 $this->node_id = $a_node_id;
47 $this->blog_request = $DIC->blog()
52 $this->ass_id = $this->blog_request->getAssId();
53 $this->file = $this->blog_request->getAssFile();
54 $this->
ui = $DIC->ui();
62 $this->
ctrl->returnToParent($this);
65 $next_class = $ilCtrl->getNextClass($this);
66 $cmd = $ilCtrl->getCmd();
68 switch ($next_class) {
82 foreach ($be->getAssignmentsOfBlog() as $ass) {
83 $part = self::getExerciseInfo($ass[
"ass_id"]);
88 if (count($info) > 0) {
89 return implode(
"<br />", $info);
106 $lng = $DIC->language();
107 $ilCtrl = $DIC->ctrl();
111 $exercise_id = $ass->getExerciseId();
117 $times_up = $ass->afterDeadlineStrict();
124 $lng->
txt(
"blog_exercise_info"),
132 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass", $a_assignment_id);
133 $submit_link = $ilCtrl->getLinkTargetByClass(
"ilblogexercisegui",
"finalize");
134 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass",
"");
136 $buttons[] = $ui->factory()->button()->primary($lng->
txt(
"blog_finalize_blog"), $submit_link);
141 if ($submission->hasSubmitted()) {
145 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass", $a_assignment_id);
146 $dl_link = $ilCtrl->getLinkTargetByClass(
"ilblogexercisegui",
"downloadExcSubFile");
147 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass",
"");
152 $text .=
"<br />" . sprintf(
153 $lng->
txt(
"blog_exercise_submitted_info"),
159 $buttons[] = $ui->factory()->button()->standard($lng->
txt(
"blog_download_submission"), $dl_link);
167 $inst = $ass->getInstruction();
169 $tooltip .= nl2br($inst);
172 $ass_files = $ass->getFiles();
173 if (count($ass_files) > 0) {
174 $tooltip .=
"<br /><br />";
176 foreach ($ass_files as $file) {
177 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass", $a_assignment_id);
178 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"file", urlencode($file[
"name"]));
179 $dl_link = $ilCtrl->getLinkTargetByClass(
"ilblogexercisegui",
"downloadExcAssFile");
180 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"file",
"");
181 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass",
"");
183 $items[] = $ui->renderer()->render($ui->factory()->button()->shy($file[
"name"], $dl_link));
185 $list = $ui->factory()->listing()->unordered($items);
186 $tooltip .= $ui->renderer()->render($list);
190 $modal = $ui->factory()->modal()->roundtrip($lng->
txt(
"exc_instruction"), $ui->factory()->legacy($tooltip))
191 ->withCancelButtonLabel(
"close");
192 $elements[] = $modal;
193 $buttons[] = $ui->factory()->button()->standard($lng->
txt(
"exc_instruction"),
'#')
194 ->withOnClick($modal->getShowSignal());
197 $elements[] = $ui->factory()->messageBox()->info($text)
199 ->withButtons($buttons);
201 return $ui->renderer()->render($elements);
208 $ass_files = $ass->getFiles();
209 if (count($ass_files) > 0) {
210 foreach ($ass_files as $file) {
211 if ($file[
"name"] == $this->file) {
225 $submitted = $submission->
getFiles();
226 if (count($submitted) > 0) {
227 $submitted = array_pop($submitted);
231 $ass->getTitle() .
" - " .
232 $user_data[
"firstname"] .
" " .
233 $user_data[
"lastname"] .
" (" .
234 $user_data[
"login"] .
").zip";
246 $exc_gui->submitBlog($this->node_id);
248 $this->main_tpl->setOnScreenMessage(
'success', $lng->
txt(
"blog_finalized"),
true);
249 $ilCtrl->returnToParent($this);
265 if ($state->isSubmissionAllowed()) {
266 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass", $ass_id);
267 $submit_link = $ilCtrl->getLinkTargetByClass(
"ilblogexercisegui",
"finalize");
268 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass",
"");
269 return $ui->factory()->button()->primary($lng->
txt(
"blog_finalize_blog"), $submit_link);
287 if ($submission->hasSubmitted()) {
290 if ($submitted[
"ts"] !=
"") {
291 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass", $ass_id);
292 $dl_link = $ilCtrl->getLinkTargetByClass(
"ilblogexercisegui",
"downloadExcSubFile");
293 $ilCtrl->setParameterByClass(
"ilblogexercisegui",
"ass",
"");
294 return $ui->factory()->button()->standard($lng->
txt(
"blog_download_submission"), $dl_link);
306 foreach ($be->getAssignmentsOfBlog() as
$exercise) {
310 if ($submit_button) {
311 $buttons[
$ass_id][] = $submit_button;
314 if ($download_button) {
315 $buttons[
$ass_id][] = $download_button;
getFiles(array $a_file_ids=null, bool $a_only_valid=false, string $a_min_timestamp=null, bool $print_versions=false)
Get submission items (not only files)
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...
Class ChatMainBarProvider .
static _getAllReferences(int $id)
get all reference ids for object ID
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
static _lookupName(int $a_user_id)
lookup user name
__construct(int $a_node_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
StandardGUIRequest $blog_request
static useRelativeDates()
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
getDownloadSubmissionButton(int $ass_id)
static getExerciseInfo(int $a_assignment_id)
static _lookupTitle(int $obj_id)
static _getStaticLink(?int $a_ref_id, string $a_type='', bool $a_fallback_goto=true, string $append="")
Get static link.
static getInstanceByIds(int $a_ass_id, int $a_user_id=0)
static checkExercise(int $a_node_id)
static initGUIForSubmit(int $a_ass_id, int $a_user_id=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getSubmitButton(int $ass_id)
Get submit link.
ilGlobalTemplateInterface $main_tpl
static setUseRelativeDates(bool $a_status)
set use relative dates