3 declare(strict_types=1);
17 $this->
lng->loadLanguageModule(
"exc");
19 $f = $DIC->ui()->factory();
20 $r = $DIC->ui()->renderer();
27 $exc_ref = current($refs);
36 $ass_id = $a_app[
"event"]->getContextId() / 10;
39 if ($state->areInstructionsVisible()) {
40 $assignment_instructions = trim($assignment->getInstruction());
41 if ($assignment_instructions !=
"") {
43 $is_html = (strlen($assignment_instructions) != strlen(strip_tags($assignment_instructions)));
45 $assignment_instructions = nl2br($assignment_instructions);
49 $files = $assignment->getFiles();
50 if (count($files) > 0) {
51 $this->has_files =
true;
53 foreach ($files as $file) {
54 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"ref_id", $exc_ref);
55 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"file", urlencode($file[
"name"]));
56 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"ass_id", $ass_id);
57 $url = $this->
ctrl->getLinkTargetByClass(array(
"ilExerciseHandlerGUI",
59 ilAssignmentPresentationGUI::class, ilExSubmissionGUI::class
61 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"ass_id",
"");
62 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"file",
"");
63 $this->
ctrl->setParameterByClass(
"ilexsubmissiongui",
"ref_if",
"");
64 $str_files[$file[
"name"]] =
$r->render(
$f->button()->shy($file[
"name"],
$url));
66 ksort($str_files, SORT_NATURAL | SORT_FLAG_CASE);
67 $str_files = implode(
"<br>", $str_files);
70 $this->
lng->txt(
"exc_instruction_files"),
71 str_replace(
"<br>",
", ", $str_files)
77 if ($assignment->getMandatory()) {
90 $this->
lng->txt(
"cal_exc_open"),
91 "goto.php?target=exc_" . $exc_ref .
"_" . $ass_id .
"&client_id=" .
CLIENT_ID 101 if (is_array($a_appointment)) {
102 $ass_id = $a_appointment[
"event"]->getContextId() / 10;
105 return parent::buildDirectLinkForAppointment($a_ref_id, $a_appointment);
107 return ilLink::_getLink(
addListItemProperty(string $a_txt, string $a_val)
Add list item property.
buildDirectLinkForAppointment(int $a_ref_id, ?array $a_appointment=null)
getReadableRefIds(int $a_obj_id)
addInfoSection(string $a_txt)
Add info section.
addInfoProperty(string $a_txt, string $a_val)
Add info property.
addLastUpdate(array $a_app)
Add last update.
static getInstanceByIds(int $a_ass_id, int $a_user_id=0)
collectPropertiesAndActions()
addCommonSection(array $a_app, int $a_obj_id=0, ?array $cat_info=null, bool $a_container_info=false)
addAction(string $a_txt, string $a_link)
Add action.