diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index ee788e2013e6e7d810f0540d646a87c68fa96c2d..5756c7d26b208d68309e50adec7bcbce11b48e20 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -78,6 +78,7 @@ - Die Zuordnung von Veranstaltungen zu Semestern anhand von Timestamps wurde entfernt. In der Datenbank wurden die Spalten `start_time` und `duration_time` der Tabelle `seminare` entfernt. ([Issue #4391]https://gitlab.studip.de/studip/studip/-/issues/4391)) - Plugins, die Veranstaltungen anhand von Timestamps laden oder anderweitig verwenden, müssen angepasst werden! - Das Mapping von Veranstaltungen zu Semestern findet nun ausschließlich anhand der Semester-ID über die Verknüpfungstabelle `semester_courses` statt. +- Die ELearning-Schnittstelle wurde ausgebaut. In diesem Rahmen wurden auch die Methoden `printhead()` und `printcontent()` ersatzlos entfernt. ([Issue #4109](https://gitlab.studip.de/studip/studip/-/issues/4109)) ## Security related issues diff --git a/app/views/course/elearning/edit.php b/app/views/course/elearning/edit.php deleted file mode 100644 index 89e38d4b8b23286cd39100cbcf7aa9266e36de79..0000000000000000000000000000000000000000 --- a/app/views/course/elearning/edit.php +++ /dev/null @@ -1,142 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<!--h2><?= _('Lernmodule hinzufügen / entfernen') ?></h2--> - -<? if ($elearning_active) : ?> - <?=ELearningUtils::getCMSSelectbox(_("Um Lernmodule hinzuzufügen, wählen Sie ein angebundenes System aus:"))?> - - <? if (!count($content_modules)) : ?> - <? if (is_array($course_output['courses']) && count($course_output['courses'])) : ?> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?= $course['url'] ?>" target="_blank" rel="noopener noreferrer"> - <?=sprintf(_('Kurs in %s'), $course['cms_name'])?> - </a> - <br> - <? endforeach ?> - <? endif ?> - <? else : ?> - <?foreach ($content_modules as $module) : ?> - <? if ($module['show_header']) : ?> - <?=ELearningUtils::getModuleHeader(_("Angebundene Lernmodule"))?> - <? endif ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <? endif ?> - <br> - <? if ($cms_select) : ?> - <br> - <?=ELearningUtils::getCMSHeader($cms_name)?> - <br> - <? if (count($user_modules)) : ?> - <?=ELearningUtils::getModuleHeader(sprintf(_("Ihre Lernmodule in %s"), $cms_name))?> - <?foreach ($user_modules as $module) : ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <? endif ?> - <? if ($show_search) : ?> - <br> - <? if ($anker_target == "search") : ?> - <a name='anker'></a> - <? endif ?> - - <?=ELearningUtils::getSearchfield( - sprintf(_("Um im System %s nach Lernmodulen zu suchen, geben Sie einen Suchbegriff ein:"), - $cms_name))?> - <br> - <? if (count($search_modules)) : ?> - <?=ELearningUtils::getHeader( sprintf( _("Gefundene Lernmodule zum Suchbegriff \"%s\""), htmlReady($search_key) ))?> - <? foreach ($search_modules as $module) : ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <br> - <? elseif (mb_strlen( trim($search_key) ) > 2) : ?> - <br> - <b><?=sprintf( _("Es gibt im System %s zu diesem Suchbegriff keine Lernmodule."), $cms_name)?></b><br> - <br> - <? endif ?> - <? else : ?> - <br> - <div class="messagebox messagebox_info" style="background-image: none; padding-left: 15px"> - <?=sprintf(_('Sie können im System %s nicht suchen, da Sie bisher keinen Benutzer-Account angelegt haben.'), - $cms_name)?><br> - <a href="<?=URLHelper::getLink('dispatch.php/elearning/my_accounts')?>"> - <?=_('Jetzt einen Account erstellen.')?><br> - </a> - </div> - <? endif ?> - <? if ($show_ilias_empty_course) : ?> - <form method="POST" action="<?=URLHelper::getLink() . "#anker"?>"> - <?=CSRFProtection::tokenTag()?> - <?=ELearningUtils::getHeader(_("Leeren Kurs anlegen"))?> - <div align="center"> - <br> - <?=_('Hier können Sie einen leeren Ilias-Kurs für diese Veranstaltung anlegen. Die Teilnehmenden ' - .'der Veranstaltung können dann den Kurs betreten, auch wenn noch keine Lernmodule zugeordnet sind. ' - .'Solange der Kurs leer ist, erscheint auf der Seite "Meine Veranstaltungen und Einrichtungen" kein ' - .'Lernmodulsymbol für diese Veranstaltung. <b>Dieser Schritt kann nicht rückgängig gemacht werden.</b>')?> - <br> - <br> - <input type="HIDDEN" name="anker_target" value="search"> - <input type="HIDDEN" name="view" value="<?=$view?>"> - <input type="HIDDEN" name="cms_select" value="<?=$cms_select?>"> - <?=Button::create(_('Anlegen'), 'create_course')?> - <br> - <br> - </div> - </form> - <? endif ?> - <? if ($existing_courses) : ?> - <form method="POST" action="<?=URLHelper::getLink() . "#anker"?>> - <?=CSRFProtection::tokenTag()?> - <?=ELearningUtils::getHeader(_("Verknüpfung mit einem bestehenden Kurs"))?> - <div align="center"> - <br> - <?_('Wenn Sie die Veranstaltung mit einem bestehenden Ilias-Kurs verbinden wollen, wählen Sie hier ' - .'die Stud.IP-Veranstaltung, mit der der bestehende Kurs verknüpft ist. Beide Stud.IP-Veranstaltungen ' - .'sind dann mit dem selben Ilias-Kurs verknüpft. <b>Dieser Schritt kann nicht rückgängig gemacht werden.</b>')?> - <br> - <br> - <select name="connect_course_sem_id" size="1"> - <option value=""> - <?=_("Bitte auswählen")?> - </option> - <? foreach ($existing_courses as $key => $name) : ?> - <option value="<?=$key?>"> - <?=$name?> - </option> - <? endforeach ?> - </select> - <input type="HIDDEN" name="anker_target" value="search"> - <input type="HIDDEN" name="view" value="<?=$view?>"> - <input type="HIDDEN" name="cms_select" value="<?=$cms_select?>"> - <?=Button::create(_('Auswählen'), 'connect_course')?> - <br> - </div> - </form> - <br> - <? endif ?> - <? if ($show_ilias_link_info) : ?> - <br> - <?=ELearningUtils::getHeader(_("Links zu anderen ILIAS-Objekten"))?> - <div align="center"> - <br> - <?=_('Sie können beliebige weitere Objekte hinzufügen, indem Sie im verknüpften Kurs in ILIAS einen ' - .'internen Link zu den entsprechenden Objekten anlegen. ' - .'Wechseln Sie dazu in den Kurs, wählen Sie unter "Neues Objekt hinzufügen" die Option Weblink und legen ' - .'einen Link innerhalb von ILIAS an. Kehren Sie anschließend auf diese Seite zurück und klicken Sie in der Infobox ' - .'auf "Aktualisieren". Für die auf diese Weise verlinkten Objekte müssen Sie selbst sicherstellen, dass die Teilnehmenden ' - .'des Kurses Zugriff darauf haben.')?> - <br> - <br> - </div> - <? endif ?> - <?=ELearningUtils::getCMSFooter($cms_logo)?> - <br> - <? if ($anker_target == "choose") : ?> - <a name='anker'></a> - <? endif ?> - <? endif ?> -<? endif ?> diff --git a/app/views/course/elearning/show.php b/app/views/course/elearning/show.php deleted file mode 100644 index 296ac8d935100033f9f34f3ab55dc18199d76f09..0000000000000000000000000000000000000000 --- a/app/views/course/elearning/show.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<? if ($is_inst) : ?> - <!--h2><?= _('Lernmodule der Einrichtung') ?></h2--> -<? else : ?> - <!--h2><?= _('Lernmodule der Veranstaltung') ?></h2--> -<? endif ?> -<? if ($elearning_active) : ?> - <? if ($new_account) : ?> - <?=ELearningUtils::getNewAccountForm($new_account)?> - <? else : ?> - <? if (!count($content_modules) AND count($course_output['courses'])) : ?> - <br> - <div class="messagebox messagebox_info" style="background-image: none; padding-left: 15px"> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?= $course['url'] ?>" target="_blank" rel="noopener noreferrer"> - <?= sprintf(_('Kurs in %s'), $course['cms_name']) ?> - </a> - <br> - <? endforeach ?> - </div> - <? elseif (count($content_modules)) : ?> - <?foreach ($content_modules as $module) : ?> - <? if ($module['show_header']) : ?> - <?=ELearningUtils::getModuleHeader(_("Angebundene Lernmodule"))?> - <? endif ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <br> - <? if ($course_output['courses']) : ?> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?= $course['url'] ?>" target="_blank" rel="noopener noreferrer"> - <?= sprintf(_('Kurs in %s'), $course['cms_name']) ?> - </a> - <br> - <? endforeach ?> - <? endif ?> - <? endif ?> - <? endif ?> -<? endif ?> diff --git a/lib/visual.inc.php b/lib/visual.inc.php index 30c5f2b0b2b2302de15489e8053bf617d43326a3..9988236bf64d6cb3c89bd42c3de9e78844478737 100644 --- a/lib/visual.inc.php +++ b/lib/visual.inc.php @@ -363,178 +363,6 @@ function mila ($titel, $size = 60) { return $titel; } -/** - * Ausgabe der Aufklapp-Kopfzeile - * - * @param $breite - * @param $left - * @param $link - * @param $open - * @param $new - * @param $icon - * @param $titel - * @param $zusatz - * @param $timestmp - * @param $printout - * @param $index - * @param $indikator - * @param $css_class - */ -function printhead($breite, $left, $link, $open, $new, $icon, $titel, $zusatz, - $timestmp = 0, $printout = TRUE, $index = "", $indikator = "age", - $css_class = NULL) -{ - global $user; - - // Verzweigung was der Pfeil anzeigen soll - if ($indikator == "viewcount") { - if ($index == "0") { - $timecolor = "#BBBBBB"; - } else { - $tmp = $index; - if ($tmp > 68) - $tmp = 68; - $tmp = 68-$tmp; - $green = dechex(255 - $tmp); - $other = dechex(119 + ($tmp/1.5)); - $timecolor= "#" . $other . $green . $other; - } - } elseif ($indikator == "rating") { - if ($index == "?") { - $timecolor = "#BBBBBB"; - } else { - $tmp = (ABS(1-$index))*10*3; - $green = dechex(255 - $tmp); - $other = dechex(0); - $red = dechex(255); - $timecolor= "#" . $red . $green . $other; - } - } elseif ($indikator == "score") { - if ($index == "0") { - $timecolor = "#BBBBBB"; - } else { - if ($index > 68) - $tmp = 68; - else - $tmp = $index; - $tmpb = 68-$tmp; - $blue = dechex(255 - $tmpb); - $other = dechex(119 + ($tmpb/1.5)); - $timecolor= "#" . $other . $other . $blue; - } - } else { - if ($timestmp == 0) - $timecolor = "#BBBBBB"; - else { - if ($new == TRUE) - $timecolor = "#FF0000"; - else { - $timediff = (int) log((time() - $timestmp) / 86400 + 1) * 15; - if ($timediff >= 68) - $timediff = 68; - $red = dechex(255 - $timediff); - $other = dechex(119 + $timediff); - $timecolor= "#" . $red . $other . $other; - } - } - } - - //TODO: überarbeiten -> valides html und/oder template draus machen... - $class = "printhead"; - $class2 = "printhead2"; - $class3 = "printhead3"; - - if ($css_class) { - $class = $class2 = $class3 = $css_class; - } - - if ($open == "close") { - $print = "<td bgcolor=\"".$timecolor."\" class=\"".$class2."\" nowrap=\"nowrap\" width=\"1%\""; - $print .= " align=\"left\" valign=\"top\">"; - } - else { - $print = "<td bgcolor=\"".$timecolor."\" class=\"".$class3."\" nowrap=\"nowrap\" width=\"1%\""; - $print .= " align=\"left\" valign=\"top\">"; - } - - if ($link) - $print .= "<a href=\"".$link."\">"; - - if ($open == "open") - $titel = "<b>" . $titel . "</b>"; - - $img = $open === 'close' - ? 'forumgrau2.png' - : 'forumgraurunt2.png'; - $attr = []; - - if ($link) { - // TODO [tlx] What is addon used for? This seems to lead to invalid html - // so i will ditch it for now in the output - $addon = $index - ? " ($indikator: $index)" - : ''; - - $attr = $open === 'close' - ? tooltip2(_('Objekt aufklappen')) - : tooltip2(_('Objekt zuklappen')); - } - - $print .= Assets::img($img, $attr) . " "; - if ($link) { - $print .= "</a> "; - } - $print .= "</td><td class=\"".$class."\" nowrap=\"nowrap\" width=\"1%\" valign=\"bottom\"> $icon </td>"; - $print .= "<td class=\"".$class."\" align=\"left\" width=\"20%\" nowrap=\"nowrap\" valign=\"bottom\"> "; - $print .= $titel."</td><td align=\"right\" nowrap=\"nowrap\" class=\"".$class."\" width=\"99%\" valign=\"bottom\">"; - $print .= $zusatz."</td>"; - - - if ($printout) - echo $print; - else - return $print; -} - -//Ausgabe des Contents einer aufgeklappten Kopfzeile -function printcontent ($breite, $write, $inhalt, $edit, $printout = true, $addon = '', $noTdTag = false) { - - $print = ""; - if ($noTdTag == false) - { - $print .= "<td class=\"printcontent\" width=\"22\"> "; - $print .= "</td><td class=\"printcontent\" width=\"$breite\" valign=\"bottom\"><br>"; - } - - $print .= $inhalt; - - if ($edit) { - $print .= "<br><br><div align=\"center\">$edit</div>"; - if ($addon!="") { - if (mb_substr($addon,0,5)=="open:") { // es wird der öffnen-Pfeil mit Link ausgegeben - $print .= "</td><td valign=\"middle\" class=\"table_row_even\" nowrap><a href=\"".mb_substr($addon,5)."\">"; - $print .= Icon::create('arr_1left', 'clickable', ['title' => _('Bewertungsbereich öffnen')])->asImg(); - $print .= "</a> "; - } else { // es wird erweiterter Inhalt ausgegeben - $print .= "</td><td class=\"content_body_panel\" nowrap>"; - $print .= "<font size=\"-2\" color=\"#444444\">$addon"; - } - } - } else { - $print .= "<br>"; - } - - if ($noTdTag == false) - { - $print .= "</td>"; - } - - if ($printout) - echo $print; - else - return $print; -} - /** * Returns a given text as html tooltip * diff --git a/templates/elearning/_cms_footer.php b/templates/elearning/_cms_footer.php deleted file mode 100644 index 3b9d6cffc8485895c0931c8b3cbee5b660d2c564..0000000000000000000000000000000000000000 --- a/templates/elearning/_cms_footer.php +++ /dev/null @@ -1,10 +0,0 @@ - </td> - <td class="table_row_even" width="1%"> - </td> - <td class="content_body_panel" align="center" valign="top" width="10%" colspan="1"> - <?=$logo?> - <br> - <br> - </td> - </tr> -</table> diff --git a/templates/elearning/_cms_header.php b/templates/elearning/_cms_header.php deleted file mode 100644 index bdb1696c84caae79e8dc26cd49ec1a751c8e0d41..0000000000000000000000000000000000000000 --- a/templates/elearning/_cms_header.php +++ /dev/null @@ -1,11 +0,0 @@ -<table border="0" cellspacing=0 cellpadding=0 width = "99%"> - <tr> - <td class="table_header" align="left" valign="middle" colspan="4"> - <b><?=htmlReady($title)?></b> - <?= Assets::img('blank.gif', ['height' => 25]) ?> - </td> - </tr> - <tr> - <td class="table_row_even" width="1%"> - </td> - <td class="table_row_even" align="left" valign="top" colspan="1"> \ No newline at end of file diff --git a/templates/elearning/_cms_selectbox.php b/templates/elearning/_cms_selectbox.php deleted file mode 100644 index 398a6f454745a4bd441846b436e1ec0774338b97..0000000000000000000000000000000000000000 --- a/templates/elearning/_cms_selectbox.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<form method="POST" action="<?=URLHelper::getLink()?>#anker" class="default"> - <?=CSRFProtection::tokenTag()?> - <fieldset> - <?= ELearningUtils::getHeader(_("Angebundenes System")); ?> - - <input type="HIDDEN" name="anker_target" value="choose"> - <input type="HIDDEN" name="view" value="<?=htmlReady($view)?>"> - <input type="HIDDEN" name="search_key" value="<?=htmlReady($search_key)?>"> - - <label> - <?=htmlReady($message)?> - <select name="cms_select" style="vertical-align:middle"> - <option value=""><?=_("Bitte auswählen")?></option> - <? foreach($options as $key => $name) : ?> - <option value="<?=$key?>" <?=($cms_select == $key) ? ' selected' : ''?>> - <?=htmlReady($name)?> - </option> - <? endforeach ?> - </select> - </label> - </fieldset> - - <footer> - <?= Button::create(_('Auswählen')) ?> - </footer> -</form> diff --git a/templates/elearning/_content_module.php b/templates/elearning/_content_module.php deleted file mode 100644 index 8ed40dc39673e921456f0654e59f0e3ef14dee47..0000000000000000000000000000000000000000 --- a/templates/elearning/_content_module.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<? if ($module_anker_target) : ?> - <a name='anker'></a> -<? endif ?> -<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center"> - <tr> - <? printhead(0, 0, $module_link, $module_is_open ? 'open' : 'close', $module_is_new, $module_icon, '<a href="'.$module_link.'" class="tree">'.$module_title.'</a>', $module_source, $module_change_date) ?> - </tr> -</table> -<? if ($module_is_open): ?> -<table cellspacing="0" cellpadding="0" border="0" width="100%"> - <tr> - <?= printcontent(0, 0, $module_description .($module_buttons ? '<br><br>'.$module_buttons : ''), ''); ?> - </tr> -</table> -<? endif ?> \ No newline at end of file diff --git a/templates/elearning/_content_module_admin.php b/templates/elearning/_content_module_admin.php deleted file mode 100644 index 8ed40dc39673e921456f0654e59f0e3ef14dee47..0000000000000000000000000000000000000000 --- a/templates/elearning/_content_module_admin.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<? if ($module_anker_target) : ?> - <a name='anker'></a> -<? endif ?> -<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center"> - <tr> - <? printhead(0, 0, $module_link, $module_is_open ? 'open' : 'close', $module_is_new, $module_icon, '<a href="'.$module_link.'" class="tree">'.$module_title.'</a>', $module_source, $module_change_date) ?> - </tr> -</table> -<? if ($module_is_open): ?> -<table cellspacing="0" cellpadding="0" border="0" width="100%"> - <tr> - <?= printcontent(0, 0, $module_description .($module_buttons ? '<br><br>'.$module_buttons : ''), ''); ?> - </tr> -</table> -<? endif ?> \ No newline at end of file diff --git a/templates/elearning/_header.php b/templates/elearning/_header.php deleted file mode 100644 index a98526f5b646d73aa88be51d2cdc205c7c9dccc5..0000000000000000000000000000000000000000 --- a/templates/elearning/_header.php +++ /dev/null @@ -1,3 +0,0 @@ -<legend> - <?= htmlReady($title) ?> -</legend> diff --git a/templates/elearning/_module_header.php b/templates/elearning/_module_header.php deleted file mode 100644 index 8051e8e9d8a839b1cf8a07f9c8b4a24e4a67ff5b..0000000000000000000000000000000000000000 --- a/templates/elearning/_module_header.php +++ /dev/null @@ -1,20 +0,0 @@ -<table class="blank" align="center" valign="top" width="100%" border="0" cellpadding="1" cellspacing="0"> - <tr valign="top"> - <td class="table_row_odd" align="left" width="40%"> - <font size="-1"><b> - <?=$title?> - </b></font> - </td> - <td class="table_row_odd" align="left" width="40%"> - <? if ($all_open) : ?> - <a href="<?=URLHelper::getURL('?close_all=1&view='.$view.'&cms_select='.$cms_select.'&search_key='.$search_key)?>"> - <?= Assets::img('close_all.png', tooltip2(_('Alle Module schließen'))) ?> - </a> - <? else : ?> - <a href="<?=URLHelper::getLink('?open_all=1&view='.$view.'&cms_select='.$cms_select.'&search_key='.$search_key)?>"> - <?= Assets::img('open_all.png', tooltip2(_('Alle Module öffnen'))) ?> - </a> - <? endif?> - </td> - </tr> -</table> diff --git a/templates/elearning/_my_account_form.php b/templates/elearning/_my_account_form.php deleted file mode 100644 index c1fbe069af6047bfe17b4d0b0b61110bb2e3fd3f..0000000000000000000000000000000000000000 --- a/templates/elearning/_my_account_form.php +++ /dev/null @@ -1,26 +0,0 @@ -<form method="POST" action="<?= URLHelper::getLink() ?>#anker"> -<?= CSRFProtection::tokenTag() ?> -<table class="default"> - <tbody> - <tr> - <td> - <? if ($message): ?> - <?= $message ?> - <? else : ?> - <strong><?= _('Loginname:') ?></strong> - <?= htmlReady($login) ?> - <? endif ?> - </td> - <td class="actions"> - <input type="hidden" name="new_account_step" value="1"> - <input type="hidden" name="new_account_cms" value="<?= htmlReady($my_account_cms) ?>"> - <? if ($is_connected) : ?> - <?= Studip\Button::create(_('Bearbeiten'), 'change') ?> - <? else : ?> - <?= Studip\Button::create(_('Erstellen'), 'create') ?> - <? endif?> - </td> - </tr> - </tbody> -</table> -</form> \ No newline at end of file diff --git a/templates/elearning/_new_account_form.php b/templates/elearning/_new_account_form.php deleted file mode 100644 index 05e016c19f1b080976b1bd50914f506febe2e122..0000000000000000000000000000000000000000 --- a/templates/elearning/_new_account_form.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<a name="anker"></a> -<form method="POST" action="<?=URLHelper::getLink()?>#anker"> -<input type="HIDDEN" name="view" value="<?=htmlReady($view)?>"> -<input type="HIDDEN" name="ref_id" value="<?=htmlReady($ref_id)?>"> -<input type="HIDDEN" name="module_type" value="<?=htmlReady($module_type)?>"> -<input type="HIDDEN" name="new_account_step" value="<?=htmlReady($new_account_step)?>"> -<input type="HIDDEN" name="new_account_cms" value="<?=htmlReady($new_account_cms)?>"> -<input type="HIDDEN" name="cms_select" value="<?=htmlReady($cms_select)?>"> -<?=CSRFProtection::tokenTag()?> -<table border="0" cellspacing=0 cellpadding=0 width = "99%"> -<? if ($is_verified) : ?> -<tr> - <td class="table_row_even" align="left" valign="middle" colspan="2"> - <? if ($module_title) : ?> - <?=sprintf( _('Hier gelangen Sie zum gewählten Lernmodul "%s":'), htmlReady($module_title) )?> - <br> - <br> - <?=$module_links?> - <br> - <br> - <? endif ?> - </td> -</tr> -<? elseif ($step == 'assign') : ?> - <tr> - <td class="table_row_even" align="left" valign="middle" colspan="2"> - <br> - <font size="-1"> - <?=sprintf(_("Geben Sie nun Benutzernamen und Passwort Ihres Benutzeraccounts in %s ein."), htmlReady($cms_title))?> - </font> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" colspan="2"> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" width="20%"> - <font size="-1"> - <?=_("Benutzername:")?> - </font> - </td> - <td class="table_row_even" align="left" valign="middle"> - <input name="ext_username" size="30" style="vertical-align:middle;font-size:9pt;" value="<?=htmlReady($ext_username)?>"> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" colspan="2"> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" width="20%"> - <font size="-1"> - <?=_("Passwort:")?> - </font> - </td> - <td class="table_row_even" align="left" valign="middle"> - <input name="ext_password" type="PASSWORD" size="30" style="vertical-align:middle;font-size:9pt;" value=""> - </td> - </tr> - <tr> - <td class="table_row_even"> - </td> - <td class="table_row_even" align="left" valign="middle"> - <br> - <?=Button::createAccept(_('Bestätigen'), 'next')?> - <br> - </td> - </tr> - <tr> - <td align="center" valign="middle" colspan="2"> - <br> - <input type="HIDDEN" name="assign" value="1"> - <?=Button::create('<< ' . _('Zurück'), 'go_back')?> - </td> - </tr> -<? elseif ($step == 'new_account') : ?> - <tr> - <td class="table_row_even" align="left" valign="middle" colspan="2"> - <br> - <font size="-1"> - <?=sprintf(_("Geben Sie nun ein Passwort für Ihren neuen Benutzeraccount in %s ein."), htmlReady($cms_title))?> - </font> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" colspan="2"> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" width="20%"> - <font size="-1"> - <?=_("Passwort:")?> - </font> - </td> - <td class="table_row_even" align="left" valign="middle"> - <input name="ext_password" type="PASSWORD" size="30" style="vertical-align:middle;font-size:9pt;" value=""> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" colspan="2"> - <br> - </td> - </tr> - <tr> - <td class="table_row_even" align="right" valign="middle" width="20%"> - <font size="-1"> - <?=_("Passwort-Wiederholung:")?> - </font> - </td> - <td class="table_row_even" align="left" valign="middle"> - <input name="ext_password_2" type="PASSWORD" size="30" style="vertical-align:middle;font-size:9pt;" value=""> - </td> - </tr> - <tr> - <td class="table_row_even"> - </td> - <td class="table_row_even" align="left" valign="middle"> - <br> - <?=Button::createAccept(_('Bestätigen'), 'next')?> - <br> - </td> - </tr> - <tr> - <td align="center" valign="middle" colspan="2"> - <br> - <input type="HIDDEN" name="assign" value="1"> - <?=Button::create('<< ' . _('Zurück'), 'go_back')?> - </td> - </tr> -<? else : ?> - <tr> - <td class="table_row_even" align="left" valign="middle" colspan="2"> - <font size="-1"> - <? if ($is_connected) : ?> - <?=sprintf(_("Ihr Stud.IP-Account wurde bereits mit einem %s-Account verknüpft. Wenn Sie den verknüpften " - ."Account durch einen anderen, bereits existierenden Account ersetzen wollen, klicken Sie auf " - ."\"zuordnen\"."), $cms_title)?> - <br> - <br> - <? else :?> - <?=sprintf(_("Wenn Sie innerhalb von %s bereits über einen BenutzerInnen-Account verfügen, können Sie ihn " - ."jetzt \"zuordnen\". Anderenfalls wird automatisch ein neuer Account in %s für Sie erstellt, " - ."wenn Sie auf \"weiter\" klicken."), $cms_title, $cms_title)?> - <br> - <br> - <? endif ?> - - <center> - <?=Button::create('<< ' . _('Zurück'), 'go_back')?> - <?=Button::create(_('Zuordnen'), 'assign', ['title' => _('Bestehenden Account zuordnen')])?> - <? if (! $is_connected) : ?> - <?=Button::create(_('Weiter') . ' >>', 'next')?> - <? endif ?> - </center> - </font> - </td> - </tr> -<? endif ?> -</table> -</form> \ No newline at end of file diff --git a/templates/elearning/_new_module_form.php b/templates/elearning/_new_module_form.php deleted file mode 100644 index 90a392167f70d4f9d71255aa3c062811ff1323d5..0000000000000000000000000000000000000000 --- a/templates/elearning/_new_module_form.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<form method="POST" action="<?=URLHelper::getLink()?>#anker"> -<?=CSRFProtection::tokenTag()?> -<?=ELearningUtils::getHeader(_("Neues Lernmodul erstellen"));?> -<? foreach($cms_types as $name => $value) : ?> - <input type="HIDDEN" name="<?=$name?>" value="<?=htmlReady($value)?>"> -<? endforeach ?> -<table border="0" cellspacing=0 cellpadding=6 width = "100%"> -<tr><td> - <font size="-1"> - <?=sprintf(_("Typ für neues Lernmodul: %s"), ELearningUtils::getTypeSelectbox($cms))?> - </font> -</td> -<td align="right" valign="middle"> - <? if (count($types) > 1) : ?> - <?=Button::create(_('Auswählen'), 'choose')?> - <? endif ?> - <?=$link?> -</td></tr></table> -</form> \ No newline at end of file diff --git a/templates/elearning/_searchfield.php b/templates/elearning/_searchfield.php deleted file mode 100644 index f2b2c8edef037801b029b767bf223a145ffda60d..0000000000000000000000000000000000000000 --- a/templates/elearning/_searchfield.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<form method="POST" action="<?=URLHelper::getLink()?>#anker" class="default"> - <?=CSRFProtection::tokenTag()?> - <fieldset> - <?= ELearningUtils::getHeader(_("Suche")) ?> - - <input type="HIDDEN" name="anker_target" value="search"> - <input type="HIDDEN" name="view" value="<?=htmlReady($view)?>"> - <input type="HIDDEN" name="cms_select" value="<?=htmlReady($cms_select)?>"> - - <label> - <?= htmlReady($message) ?> - <input name="search_key" type="text" value="<?=htmlReady($search_key)?>"> - </label> - </fieldset> - - <footer> - <?=Button::create(_('Suchen'))?> - </footer> -</form> diff --git a/templates/elearning/_type_selectbox.php b/templates/elearning/_type_selectbox.php deleted file mode 100644 index 6de0faaae3ecdc1a1df1844c2444c8f8fc190457..0000000000000000000000000000000000000000 --- a/templates/elearning/_type_selectbox.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<? if (count($options) > 1) : ?> - <select name="module_type_<?=htmlReady($cms)?>" style="vertical-align:middle"> - <option value=""><?=_("Bitte auswählen")?></option> - <? foreach($options as $key => $name) : ?> - <option value="<?=$key?>" <?=($selected == $key) ? ' selected' : ''?>> - <?=htmlReady($name)?> - </option> - <? endforeach ?> - </select> -<? else : ?> - <? foreach($options as $key => $name) : ?> - <?=htmlReady($name)?> - <input type="HIDDEN" name="module_type_<?=htmlReady($cms)?>" value="<?=htmlReady($key)?>"> - <? endforeach ?> -<? endif ?> \ No newline at end of file diff --git a/templates/elearning/elearning_interface_edit.php b/templates/elearning/elearning_interface_edit.php deleted file mode 100644 index b52c86cd343a415143f4e3b48f0c811570f293da..0000000000000000000000000000000000000000 --- a/templates/elearning/elearning_interface_edit.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<h2><?= _('Lernmodule hinzufügen / entfernen') ?></h2> -<? if ($elearning_active) : ?> - <? if (!count($content_modules)) : ?> - <? if (count($course_output['courses'])) : ?> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?=$course['url']?>"><?=sprintf(_('Kurs in %s'), $course['cms_name'])?></a> - <br> - <? endforeach ?> - <? endif ?> - <? else : ?> - <?foreach ($content_modules as $module) : ?> - <? if ($module['show_header']) : ?> - <?=ELearningUtils::getModuleHeader(_("Angebundene Lernmodule"))?> - <? endif ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <? endif ?> - <br> - <? if ($cms_select AND ! count($user_modules)) : ?> - <? if (count($course_output['courses'])) : ?> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?=$course['url']?>"><?=sprintf(_('Kurs in %s'), $course['cms_name'])?></a> - <br> - <? endforeach ?> - <? endif ?> - <? endif ?> - <? if ($cms_select) : ?> - <br> - <?=ELearningUtils::getCMSHeader($cms_name)?> - <br> - <? if (count($user_modules)) : ?> - <?=ELearningUtils::getModuleHeader(sprintf(_("Ihre Lernmodule in %s"), $cms_name))?> - <?foreach ($user_modules as $module) : ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <? endif ?> - <? if ($show_search) : ?> - <br> - <? if ($anker_target == "search") : ?> - <a name='anker'></a> - <? endif ?> - <?=ELearningUtils::getHeader(_("Suche")) ?> - <?=ELearningUtils::getSearchfield( - sprintf(_("Um im System %s nach Lernmodulen zu suchen, geben Sie einen Suchbegriff ein:"), - $cms_name))?> - <br> - <? if (count($search_modules)) : ?> - <?=ELearningUtils::getHeader( sprintf( _("Gefundene Lernmodule zum Suchbegriff \"%s\""), htmlReady($search_key) ))?> - <? foreach ($search_modules as $module) : ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <br> - <? elseif (mb_strlen( trim($search_key) ) > 2) : ?> - <br> - <b><font size="-1"><?=sprintf( _("Es gibt im System %s zu diesem Suchbegriff keine Lernmodule."), $cms_name)?></font></b><br> - <br> - <? endif ?> - <? else : ?> - <br> - <div class="messagebox messagebox_info" style="background-image: none; padding-left: 15px"> - <?=sprintf(_('Sie können im System %s nicht suchen, da Sie bisher keinen Benutzer-Account angelegt haben.'), - $cms_name)?><br> - <a href="<?=URLHelper::getLink('dispatch.php/elearning/my_accounts')?>"> - <?=_('Jetzt einen Account erstellen.')?><br> - </a> - </div> - <? endif ?> - <? if ($show_ilias_empty_course) : ?> - <form method="POST" action="<?=URLHelper::getLink() . "#anker"?>"> - <?=CSRFProtection::tokenTag()?> - <?=ELearningUtils::getHeader(_("Leeren Kurs anlegen"))?> - <div align="center"> - <br> - <?=_('Hier können Sie einen leeren Ilias-Kurs für diese Veranstaltung anlegen. Die Teilnehmenden ' - .'der Veranstaltung können dann den Kurs betreten, auch wenn noch keine Lernmodule zugeordnet sind. ' - .'Solange der Kurs leer ist, erscheint auf der Seite "Meine Veranstaltungen und Einrichtungen" kein ' - .'Lernmodulsymbol für diese Veranstaltung. <b>Dieser Schritt kann nicht rückgängig gemacht werden.</b>')?> - <br> - <br> - <input type="HIDDEN" name="anker_target" value="search"> - <input type="HIDDEN" name="view" value="<?=$view?>"> - <input type="HIDDEN" name="cms_select" value="<?=$cms_select?>"> - <?=Button::create(_('Anlegen'), 'create_course')?> - <br> - <br> - </div> - </form> - <? endif ?> - <? if (count($existing_courses)) : ?> - <form method="POST" action="<?=URLHelper::getLink() . "#anker"?>> - <?=CSRFProtection::tokenTag()?> - <?=ELearningUtils::getHeader(_("Verknüpfung mit einem bestehenden Kurs"))?> - <div align="center"> - <br> - <?_('Wenn Sie die Veranstaltung mit einem bestehenden Ilias-Kurs verbinden wollen, wählen Sie hier ' - .'die Stud.IP-Veranstaltung, mit der der bestehende Kurs verknüpft ist. Beide Stud.IP-Veranstaltungen ' - .'sind dann mit dem selben Ilias-Kurs verknüpft. <b>Dieser Schritt kann nicht rückgängig gemacht werden.</b>')?> - <br> - <br> - <select name="connect_course_sem_id" size="1"> - <option value=""> - <?=_("Bitte auswählen")?> - </option> - <? foreach ($existing_courses as $key => $name) : ?> - <option value="<?=$key?>"> - <?=$name?> - </option> - <? endforeach ?> - </select> - <input type="HIDDEN" name="anker_target" value="search"> - <input type="HIDDEN" name="view" value="<?=$view?>"> - <input type="HIDDEN" name="cms_select" value="<?=$cms_select?>"> - <?=Button::create(_('Auswählen'), 'connect_course')?> - <br> - </div> - </form> - <br> - <? endif ?> - <? if ($show_ilias_link_info) : ?> - <br> - <?=ELearningUtils::getHeader(_("Links zu anderen ILIAS-Objekten"))?> - <div align="center"> - <br> - <?=_('Sie können beliebige weitere Objekte hinzufügen, indem Sie im verknüpften Kurs in ILIAS einen ' - .'internen Link zu den entsprechenden Objekten anlegen. ' - .'Wechseln Sie dazu in den Kurs, wählen Sie unter "Neues Objekt hinzufügen" die Option Weblink und legen ' - .'einen Link innerhalb von ILIAS an. Kehren Sie anschließend auf diese Seite zurück und klicken Sie in der Infobox ' - .'auf "Aktualisieren". Für die auf diese Weise verlinkten Objekte müssen Sie selbst sicherstellen, dass die Teilnehmenden ' - .'des Kurses Zugriff darauf haben.')?> - <br> - <br> - </div> - <? endif ?> - <?=ELearningUtils::getCMSFooter($cms_logo)?> - <br> - <? if ($anker_target == "choose") : ?> - <a name='anker'></a> - <? endif ?> - <? endif ?> - <?=ELearningUtils::getCMSSelectbox(_("Um Lernmodule hinzuzufügen, wählen Sie ein angebundenes System aus:"))?> -<? endif?> \ No newline at end of file diff --git a/templates/elearning/elearning_interface_show.php b/templates/elearning/elearning_interface_show.php deleted file mode 100644 index 7d42b2985b7bb6e61a11eda22e5d5057b383d308..0000000000000000000000000000000000000000 --- a/templates/elearning/elearning_interface_show.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> -<? if ($is_inst) : ?> - <h2><?= _('Lernmodule der Einrichtung') ?></h2> -<? else : ?> - <h2><?= _('Lernmodule der Veranstaltung') ?></h2> -<? endif ?> -<? if ($elearning_active) : ?> - <? if ($new_account) : ?> - <?=ELearningUtils::getNewAccountForm($new_account)?> - <? else : ?> - <? if (!count($content_modules) AND count($course_output['courses'])) : ?> - <br> - <div class="messagebox messagebox_info" style="background-image: none; padding-left: 15px"> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?=$course['url']?>"><?=sprintf(_('Kurs in %s'), $course['cms_name'])?></a> - <br> - <? endforeach ?> - </div> - <? elseif (count($content_modules)) : ?> - <?foreach ($content_modules as $module) : ?> - <? if ($module['show_header']) : ?> - <?=ELearningUtils::getModuleHeader(_("Angebundene Lernmodule"))?> - <? endif ?> - <?=$module['module']?> - <br> - <? endforeach ?> - <br> - <? if (count($course_output['courses'])) : ?> - <?=$course_output['text']?><br> - <? foreach ($course_output['courses'] as $course) : ?> - <a href="<?=$course['url']?>"><?=sprintf(_('Kurs in %s'), $course['cms_name'])?></a> - <br> - <? endforeach ?> - <? endif ?> - <? endif ?> - <? endif ?> -<? endif ?> \ No newline at end of file diff --git a/templates/elearning/ilias4_connected_cms_preferences.php b/templates/elearning/ilias4_connected_cms_preferences.php deleted file mode 100644 index ccd33a7ca78e866c65f1ded5195037107e3bfa19..0000000000000000000000000000000000000000 --- a/templates/elearning/ilias4_connected_cms_preferences.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -# Lifter010: TODO -use Studip\Button, Studip\LinkButton; - -if ($messages["error"] != "") { - echo MessageBox::error($messages["error"]); -} -?> -<table> - <tbody> - <tr valign="top"> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?=_("SOAP-Verbindung:")?> - </td> - <td> - <? if ($soap_error) { - echo _("Beim Herstellen der SOAP-Verbindung trat folgender Fehler auf:") . "<br><br>" . $soap_error; - } else { - echo sprintf(_("Die SOAP-Verbindung zum Klienten \"%s\" wurde hergestellt, der Name des Administrator-Accounts ist \"%s\"."), $soap_data["client"], $soap_data["username"]); - }?> - </td> - </tr> - <tr> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?= _('Kategorie') ?>: - </td> - <td><input size="20" value="<?=$main_category_node_id_title?>" name="cat_name" type="text"> - <?=Icon::create('info-circle', 'inactive', ['title' => _("Geben Sie hier den Namen einer bestehenden ILIAS 4 - Kategorie ein, in der die Lernmodule und User-Kategorien abgelegt werden sollen.")])->asImg(16)?> - </td> - </tr> - <tr> - <td> </td> - <td>(ID <?=$main_category_node_id?>)</td> - </tr> - <tr> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?=_("Kategorie für Userdaten:")?> - </td> - <td><?=$user_category_node_id_title?></td> - </tr> - <tr> - <td> </td> - <td>(ID <?=$user_category_node_id?>)</td> - </tr> - <tr> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?=_("Rollen-Template für die persönliche Kategorie:")?> - </td> - <td><input size="20" value="<?=$user_role_template_name ?>" name="role_template_name" type="text"> - <?=Icon::create('info-circle', 'inactive', ['title' => _("Geben Sie den Namen des Rollen-Templates ein, das für die persönliche Kategorie von Lehrenden verwendet werden soll (z.B. \"Author\").")])->asImg(16)?> - </td> - </tr> - <tr> - <td> </td> - <td>(ID <?=$user_role_template_id ?>)</td> - </tr> - <tr> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?=_("Passwörter:")?> - </td> - <td><input value="md5" name="encrypt_passwords" type="checkbox" <?=($encrypt_passwords ? 'checked' : '') ?>> - <?=_("ILIAS-Passwörter verschlüsselt speichern.")?> - <?=Icon::create('info-circle', 'inactive', ['title' => _("Wählen Sie diese Option, wenn die ILIAS-Passwörter der zugeordneten Accounts verschlüsselt in der Stud.IP-Datenbank abgelegt werden sollen.")])->asImg(16)?> - </td> - </tr> - <tr> - <td colspan="2"> </td> - </tr> - <tr> - <td width="30%" style="text-align: left; font-weight: bold;"> - <?=_("LDAP-Einstellung:")?> - </td> - <td><? - if ($ldap_options) { - echo '<select name="ldap_enable">'; - echo $ldap_options; - echo '</select><br>'; - echo _("Authentifizierungsplugin (nur LDAP) beim Anlegen von externen Accounts übernehmen."); - echo Icon::create('info-circle', 'inactive', ['title' => _("Wählen Sie hier ein Authentifizierungsplugin, damit neu angelegte ILIAS-Accounts den Authentifizierungsmodus LDAP erhalten, wenn dieser Modus auch für den vorhandenen Stud.IP-Account gilt. Andernfalls erhalten alle ILIAS-Accounts den default-Modus")])->asImg(16); - } else { - echo _("(Um diese Einstellung zu nutzen muss zumindest ein LDAP Authentifizierungsplugin aktiviert sein.)"); - echo '<input type="hidden" name="ldap_enable" value="">'; - } - ?></td> - </tr> - <tr> - <td colspan="2"> </td> - </tr> - </tbody> -</table> -<div style="text-align: center"><?= Button::create(_('Übernehmen'), 'submit', ['title' =>_("Einstellungen übernehmen")])?> -</div> -<div style="margin-top: 2em;"><?=$module_types?></div> diff --git a/templates/elearning/loncapa_connected_link.php b/templates/elearning/loncapa_connected_link.php deleted file mode 100644 index 70fcf5729676eea49886807258a6105f30fc4202..0000000000000000000000000000000000000000 --- a/templates/elearning/loncapa_connected_link.php +++ /dev/null @@ -1,3 +0,0 @@ -<a href="<?= htmlspecialchars($url) ?>" target="_blank" rel="noopener noreferrer"> - <?= Studip\Button::create(_('Starten'), 'starten') ?> -</a> diff --git a/templates/elearning/loncapa_connected_link_edit.php b/templates/elearning/loncapa_connected_link_edit.php deleted file mode 100644 index 5713aa3be356795ee472ca723f99333713a9acc7..0000000000000000000000000000000000000000 --- a/templates/elearning/loncapa_connected_link_edit.php +++ /dev/null @@ -1,14 +0,0 @@ -<form method="post" action="<?= URLHelper::getLink() ?>"> - <input type="hidden" name="view" value="<?= htmlReady($view) ?>"> - <input type="hidden" name="search_key" value="<?= htmlReady($search_key) ?>"> - <input type="hidden" name="cms_select" value="<?= htmlReady($cms_select) ?>"> - <input type="hidden" name="module_type" value="loncapa"> - <input type="hidden" name="module_id" value="<?= htmlReady($current_module) ?>"> - <input type="hidden" name="module_system_type" value="<?= htmlReady($cms_type) ?>"> - - <? if ($connected) : ?> - <?= Studip\Button::create(_('Entfernen'), 'remove') ?> - <? else : ?> - <?= Studip\Button::create(_('Hinzufügen'), 'add') ?> - <? endif ?> -</form> diff --git a/templates/elearning/my_elearning.php b/templates/elearning/my_elearning.php deleted file mode 100644 index 0813b32dabda0a0d366157beaaa4bddfc5f256c9..0000000000000000000000000000000000000000 --- a/templates/elearning/my_elearning.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php use Studip\Button, Studip\LinkButton; ?> - <h2><?=_('Meine Lernmodule und Benutzer-Accounts')?></h2> - <? foreach($cms_list as $cms_index => $cms_data) : ?> - <? if ($cms_anker_target == $cms_index) : ?> - <a name='anker'></a> - <? endif?> - <?=ELearningUtils::getCMSHeader($cms_data['name'])?> - <br> - <?=ELearningUtils::getHeader(_("Mein Benutzeraccount"))?> - <? if ($cms_data['account_form']) : ?> - <?=$cms_data['account_form']?> - <? else : ?> - <? if ($cms_data['show_account_form'] AND $cms_data['user']) : ?> - <?=ELearningUtils::getMyAccountForm('', $cms_index)?> - <? elseif ($cms_data['show_account_form']) : ?> - <?=ELearningUtils::getMyAccountForm(sprintf(_("Sie haben im System %s bisher keinen Benutzer-Account."), $cms_data['name']), $cms_index)?> - <? endif ?> - <? if ($cms_data['user'] AND $cms_data['start_link']) : ?> - <div class="messagebox messagebox_info" style="background-image: none; padding-left: 15px"> - <?=_('Hier gelangen Sie direkt zur Startseite im angebundenen System:')?> - <a href="<?=$cms_data['start_link']?>" target="_blank" rel="noopener noreferrer"> - <?= $cms_data['name'] ?> - </a> - </div> - <br> - <? endif ?> - <?=ELearningUtils::getHeader(_('Meine Lernmodule'))?> - <? if (count($cms_data['modules'])) : ?> - <? foreach ($cms_data['modules'] as $module_html) : ?> - <?=$module_html?> - <? endforeach ?> - <? else : ?> - <table border="0" cellspacing="0" cellpadding="6"> - <tr> - <td> - <font size="-1"> - <?=sprintf(_("Sie haben im System %s keine eigenen Lernmodule."), $cms_data['name'])?><br> - <br> - </font> - </td> - </tr> - </table> - <? endif ?> - <br> - <br> - <?=$cms_data['new_module_form']?> - <? endif ?> - <?=ELearningUtils::getCMSFooter($cms_data['logo'])?> - <br> - <? endforeach ?>