42 $this->glossary = $a_parent_obj->getObject();
43 $this->
setId(
"glotl" . $this->glossary->getId());
44 $this->tax_node = $a_tax_node;
46 $this->
lng = $DIC->language();
47 $this->
ctrl = $DIC->ctrl();
49 $this->selectable_cols = array();
55 foreach ($this->adv_fields as
$f) {
56 $this->selectable_cols[
"md_" . $f[
"id"]] = array(
63 $this->selectable_cols[
"language"] = array(
64 "txt" => $this->
lng->txt(
"language"),
66 $this->selectable_cols[
"usage"] = array(
67 "txt" => $this->
lng->txt(
"cont_usage"),
81 foreach ($this->adv_cols_order as
$c) {
84 } elseif (in_array(
"md_" . $c[
"id"], $this->selected_cols)) {
85 $this->
addColumn($c[
"text"],
"md_" . $c[
"id"]);
89 foreach (array(
"language",
"usage") as $c) {
90 if (in_array($c, $this->selected_cols)) {
91 $this->
addColumn($this->selectable_cols[$c][
"txt"]);
107 $this->
setRowTemplate(
"tpl.term_tbl_row.html",
"Modules/Glossary");
118 $this->
setData($this->glossary->getTermList(
119 $this->filter[
"term"],
121 $this->filter[
"definition"],
134 $this->glossary->getVirtualMode(),
135 array(
"level",
"subtree")
147 if (strpos($a_field,
"md_") === 0) {
148 $md_id = (
int) substr($a_field, 3);
160 $ti->setMaxLength(64);
162 $ti->setSubmitFormOnEnter(
true);
164 $ti->readFromSession();
165 $this->
filter[
"term"] = $ti->getValue();
168 if ($this->glossary->supportsLongTextQuery()) {
170 $ti->setMaxLength(64);
172 $ti->setSubmitFormOnEnter(
true);
174 $ti->readFromSession();
175 $this->
filter[
"definition"] = $ti->getValue();
179 protected function fillRow(array $a_set): void
182 $this->
ctrl->setParameterByClass(
"ilobjglossarygui",
"term_id", $a_set[
"id"]);
183 $this->
ctrl->setParameterByClass(
"ilglossarytermgui",
"term_id", $a_set[
"id"]);
184 $this->
ctrl->setParameterByClass(
"ilglossarydefpagegui",
"term_id", $a_set[
"id"]);
189 if ($this->term_perm->checkPermission(
"write", $a_set[
"id"]) ||
190 $this->term_perm->checkPermission(
"edit_content", $a_set[
"id"])) {
194 $list->addItem($this->
lng->txt(
"cont_edit_term"),
"", $this->
ctrl->getLinkTargetByClass(
"ilglossarytermgui",
"editTerm"));
195 if (count($defs) > 1) {
196 $list->addItem($this->
lng->txt(
"cont_edit_definitions"),
"", $this->
ctrl->getLinkTargetByClass(
"ilglossarytermgui",
"listDefinitions"));
197 } elseif (count($defs) == 1) {
198 $this->
ctrl->setParameterByClass(
"ilglossarydefpagegui",
"def", $defs[0][
"id"]);
199 $list->addItem($this->
lng->txt(
"cont_edit_definition"),
"", $this->
ctrl->getLinkTargetByClass(array(
"ilglossarytermgui",
200 "iltermdefinitioneditorgui",
201 "ilglossarydefpagegui"),
"edit"));
203 $list->addItem($this->
lng->txt(
"cont_add_definition"),
"", $this->
ctrl->getLinkTargetByClass(
"ilobjglossarygui",
"addDefinition"));
204 $this->
ctrl->setParameterByClass(
"ilglossarydefpagegui",
"def",
"");
206 $list->setId(
"act_term_" . $a_set[
"id"]);
207 $list->setListTitle(
"");
208 $this->tpl->setVariable(
"ACTIONS", $list->getHTML());
213 for ($j = 0, $jMax = count($defs); $j < $jMax; $j++) {
218 $this->tpl->setCurrentBlock(
"definition");
219 $short_str = $def[
"short_text"];
221 if ($def[
"short_text_dirty"]) {
224 $def_obj->updateShortText();
225 $short_str = $def_obj->getShortText();
232 $ltexs = strrpos($short_str,
"[tex]");
233 $ltexe = strrpos($short_str,
"[/tex]");
234 if ($ltexs > $ltexe) {
236 $short_str = $page->getFirstParagraphText();
237 $short_str = strip_tags($short_str,
"<br>");
238 $ltexe = strpos($short_str,
"[/tex]", $ltexs);
248 !$page->getPageConfig()->getPreventHTMLUnmasking()
250 $this->tpl->setVariable(
"DEF_SHORT", $short_str);
251 $this->tpl->parseCurrentBlock();
253 $this->tpl->setCurrentBlock(
"definition_row");
254 $this->tpl->parseCurrentBlock();
257 $this->tpl->setCurrentBlock(
"check_col");
258 $this->tpl->setVariable(
"CHECKBOX_ID", $a_set[
"id"]);
259 $this->tpl->parseCurrentBlock();
261 $this->
ctrl->setParameter($this->parent_obj,
"term_id", $a_set[
"id"]);
267 if ($nr_usage > 0 && $this->glossary->getId() == $a_set[
"glo_id"]) {
268 $this->tpl->setCurrentBlock(
"link_usage");
269 $this->
ctrl->setParameterByClass(
"ilglossarytermgui",
"term_id", $a_set[
"id"]);
271 $this->tpl->setVariable(
273 $this->
ctrl->getLinkTargetByClass(
"ilglossarytermgui",
"listUsages")
275 $this->
ctrl->setParameterByClass(
"ilglossarytermgui",
"term_id",
"");
277 $this->tpl->setCurrentBlock(
"usage");
280 $this->tpl->parseCurrentBlock();
281 $this->tpl->setCurrentBlock(
"td_usage");
282 $this->tpl->parseCurrentBlock();
287 $this->tpl->setCurrentBlock(
"glossary");
289 $this->tpl->parseCurrentBlock();
294 $this->tpl->setCurrentBlock(
"td_lang");
295 $this->tpl->setVariable(
"TEXT_LANGUAGE", $this->
lng->txt(
"meta_l_" . $a_set[
"language"]));
296 $this->tpl->parseCurrentBlock();
300 foreach ($this->adv_cols_order as
$c) {
302 $this->tpl->setCurrentBlock(
"td");
303 $this->tpl->setVariable(
"TD_VAL", $a_set[
"term"]);
304 $this->tpl->parseCurrentBlock();
305 } elseif (in_array(
"md_" . $c[
"id"], $this->selected_cols)) {
309 if (isset($a_set[
"md_" .
$id .
"_presentation"])) {
310 $pb = $a_set[
"md_" . $id .
"_presentation"]->getHTML();
316 $this->tpl->setCurrentBlock(
"td");
317 $this->tpl->setVariable(
"TD_VAL", $val);
318 $this->tpl->parseCurrentBlock();
setFormAction(string $a_form_action, bool $a_multipart=false)
addFilterItem(ilTableFilterItem $a_input_item, bool $a_optional=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setEnableTitle(bool $a_enabletitle)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static xml2output(string $a_text, bool $a_wysiwyg=false, bool $a_replace_lists=true, bool $unmask=true)
Converts xml from DB to output in edit textarea.
static hasReferences(int $a_glossary_id)
Check if a glossary uses references.
static isReferenced(array $a_glo_id, int $a_term_id)
Is a term referenced by a set of glossaries.
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
static _lookupTitle(int $obj_id)
setDefaultOrderField(string $a_defaultorderfield)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setDefaultOrderDirection(string $a_defaultorderdirection)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getDefinitionList(int $a_term_id)
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstance()
Singleton: get instance for use in ILIAS requests with a config loaded from the settings.
__construct(Container $dic, ilPlugin $plugin)
static shortenTextExtended(string $a_str, int $a_len, bool $a_dots=false, bool $a_next_blank=false, bool $a_keep_extension=false)
__construct(object $a_parent_obj, string $a_parent_cmd, int $a_tax_node)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
static getNumberOfUsages(int $a_term_id)
addMultiCommand(string $a_cmd, string $a_text)
ilGlossaryTermPermission $term_perm
setEnableHeader(bool $a_enableheader)
numericOrdering(string $a_field)
static _lookGlossaryID(int $term_id)
get glossary id form term id