/** * get html * @return */ public function getHTML() { global $lng; $lng->loadLanguageModule('webr'); foreach ($this->getSubItemIds(true) as $sub_item) { if (is_object($this->getHighlighter()) and strlen($this->getHighlighter()->getContent($this->getObjId(), $sub_item))) { $this->tpl->setCurrentBlock('sea_fragment'); $this->tpl->setVariable('TXT_FRAGMENT', $this->getHighlighter()->getContent($this->getObjId(), $sub_item)); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock('subitem'); $this->tpl->setVariable('SUBITEM_TYPE', $lng->txt('webr')); $this->tpl->setVariable('SEPERATOR', ':'); $link_data = ilLinkResourceItems::lookupItem($this->getObjId(), $sub_item); $link_data = ilParameterAppender::_append($link_data); // handle internal links (#10620) if (stristr($link_data["target"], "|")) { $parts = explode("|", $link_data["target"]); if ($parts[0] == "page") { $parts[0] = "pg"; } if ($parts[0] == "term") { $parts[0] = "git"; } $link_data["target"] = ilLink::_getStaticLink($parts[1], $parts[0]); } #$this->getItemListGUI()->setChildId($sub_item); $this->tpl->setVariable('LINK', $link_data['target']); $this->tpl->setVariable('TARGET', '_blank'); $this->tpl->setVariable('TITLE', $link_data['title']); $this->tpl->parseCurrentBlock(); } $this->showDetailsLink(); return $this->tpl->get(); }
/** * Update all visible links * @return */ protected function updateLinks() { global $ilCtrl; $this->checkPermission('write'); $this->activateTabs('content', ''); if (!is_array($_POST['ids'])) { ilUtil::sendFailure($this->lng->txt('select_one'), TRUE); $ilCtrl->redirect($this, 'view'); } // Validate $invalid = array(); foreach ($_POST['ids'] as $link_id) { $data = $_POST['links'][$link_id]; // handle internal links if ($_POST['tar_' . $link_id . '_ajax_type'] && $_POST['tar_' . $link_id . '_ajax_id']) { $data['tar'] = $_POST['links'][$link_id]['tar'] = $_POST['tar_' . $link_id . '_ajax_type'] . '|' . $_POST['tar_' . $link_id . '_ajax_id']; } if (!strlen($data['tit'])) { $invalid[] = $link_id; continue; } if (!strlen($data['tar'])) { $invalid[] = $link_id; continue; } if ($data['nam'] and !$data['val']) { $invalid[] = $link_id; continue; } if (!$data['nam'] and $data['val']) { $invalid[] = $link_id; continue; } } if (count($invalid)) { ilUtil::sendFailure($this->lng->txt('err_check_input')); $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.webr_manage.html', 'Modules/WebResource'); include_once './Modules/WebResource/classes/class.ilWebResourceEditableLinkTableGUI.php'; $table = new ilWebResourceEditableLinkTableGUI($this, 'view'); $table->setInvalidLinks($invalid); $table->parseSelectedLinks($_POST['ids']); $table->updateFromPost(); $this->tpl->setVariable('TABLE_LINKS', $table->getHTML()); return false; } include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php'; $links = new ilLinkResourceItems($this->object->getId()); // Save Settings foreach ($_POST['ids'] as $link_id) { $data = $_POST['links'][$link_id]; $orig = ilLinkResourceItems::lookupItem($this->object->getId(), $link_id); $links->setLinkId($link_id); $links->setTitle(ilUtil::stripSlashes($data['tit'])); $links->setDescription(ilUtil::stripSlashes($data['des'])); $links->setTarget(str_replace('"', '', ilUtil::stripSlashes($data['tar']))); $links->setActiveStatus((int) $data['act']); $links->setDisableCheckStatus((int) $data['che']); $links->setLastCheckDate($orig['last_check']); $links->setValidStatus((int) $data['vali']); $links->update(); if (strlen($data['nam']) and $data['val']) { $param = new ilParameterAppender($this->object->getId()); $param->setName(ilUtil::stripSlashes($data['nam'])); $param->setValue((int) $data['val']); $param->add($link_id); } if ($this->isContainerMetaDataRequired()) { $this->object->setTitle(ilUtil::stripSlashes($data['tit'])); $this->object->setDescription(ilUtil::stripSlashes($data['des'])); $this->object->update(); } // TODO: Dynamic parameters } ilUtil::sendSuccess($this->lng->txt('settings_saved'), TRUE); $ilCtrl->redirect($this, 'view'); }