55        $this->
ui = $DIC->ui();
 
   56        $this->ctrl = 
$DIC->ctrl();
 
   57        $this->service = $lm_pres_service;
 
   58        $this->lng = 
$DIC->language();
 
   59        $this->access = 
$DIC->access();
 
   60        $this->lm = $this->service->getLearningModule();
 
   62        $this->
user = $DIC->user();
 
   79        $ctrl->setParameterByClass(
"illmpresentationgui", 
'ref_id', $this->lm->getRefId());
 
   82        if ($this->lm->isActivePrintView() && 
$access->checkAccess(
"read", 
"", $this->lm->getRefId())) {
 
   83            if (!$this->offline) {
 
   84                $ui->mainTemplate()->addJavaScript(
"./Services/Form/js/Form.js");
 
   85                $modal = 
$ui->factory()->modal()->roundtrip(
 
   86                    $lng->txt(
"cont_print_view"),
 
   87                    $ui->factory()->legacy(
'some modal')
 
   88                )->withAsyncRenderUrl($this->ctrl->getLinkTargetByClass(
"illmpresentationgui", 
"showPrintViewSelection"));
 
   91                    "label" => $this->lng->txt(
"cont_print_view"),
 
   92                    "signal" => $modal->getShowSignal(),
 
  101            $is_public = $this->lm->isActiveDownloadsPublic();
 
  106        if ($this->lm->isActiveDownloads() && !$this->offline && $is_public &&
 
  107            $access->checkAccess(
"read", 
"", $this->lm->getRefId())) {
 
  108            $modal = 
$ui->factory()->modal()->roundtrip(
 
  109                $lng->txt(
"download"),
 
  110                $ui->factory()->legacy(
'some modal')
 
  111            )->withAsyncRenderUrl($this->ctrl->getLinkTargetByClass(
"illmpresentationgui", 
"showDownloadList"));
 
  113                "label" => $this->lng->txt(
"download"),
 
  114                "signal" => $modal->getShowSignal(),
 
  121        $menu_editor = new \ilLMMenuEditor();
 
  122        $menu_editor->setObjId($this->lm->getId());
 
  124        $cust_menu = $menu_editor->getMenuEntries(
true);
 
  126        if (count($cust_menu) > 0 && 
$access->checkAccess(
"read", 
"", $this->lm->getRefId())) {
 
  127            foreach ($cust_menu as $entry) {
 
  129                if ($entry[
"type"] == 
"intern") {
 
  130                    $entry[
"link"] = ILIAS_HTTP_PATH . 
"/goto.php?target=" . $entry[
"link"];
 
  134                if (!strstr($entry[
"link"], 
'://') && !strstr($entry[
"link"], 
'mailto:')) {
 
  135                    $entry[
"link"] = 
"http://" . $entry[
"link"];
 
  138                if (!strstr($entry[
"link"], 
'mailto:')) {
 
  142                $signal = $generator->create();
 
  145                    "label" => $entry[
"title"],
 
  148                    "on_load" => 
"$(document).on('" .
 
  150                        "', function(event, signalData) {il.LearningModule.openMenuLink('" . $entry[
"link"] . 
"');});" 
An exception for terminatinating execution or to throw for unit testing.
Main service init and factory.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string