37 protected \ILIAS\Glossary\InternalDomainService
$domain;
38 protected \ILIAS\Glossary\InternalGUIService
$gui;
39 protected \ILIAS\DI\UIServices
$ui;
72 bool $a_call_by_reference =
true,
73 bool $a_prepare_output =
true
81 $this->
lng = $domain->lng();
82 $this->
user = $domain->user();
83 $this->setting =
$domain->settings();
84 $this->
access = $domain->access();
85 $this->rbacsystem =
$domain->rbac()->system();
88 $this->
ctrl = $gui->ctrl();
89 $this->
toolbar = $gui->toolbar();
90 $this->
tabs = $gui->tabs();
91 $this->
help = $gui->help();
92 $this->
ui = $gui->ui();
93 $this->ui_fac =
$gui->ui()->factory();
94 $this->ui_ren =
$gui->ui()->renderer();
95 $this->global_screen =
$gui->globalScreen();
96 $this->gui_presentation_service =
$gui->presentation();
98 $this->edit_request =
$gui->editing()->request();
100 $this->requested_table_glossary_term_list_action = $this->edit_request->getTableGlossaryTermListAction();
101 $this->requested_table_glossary_term_list_ids = $this->edit_request->getTableGlossaryTermListIds();
103 $this->
ctrl->saveParameter($this, array(
"ref_id"));
104 $this->
lng->loadLanguageModule(
"content");
105 $this->
lng->loadLanguageModule(
"glo");
112 if (($this->requested_table_glossary_term_list_action ==
"editTerm"
113 || $this->requested_table_glossary_term_list_action ==
"editDefinition")
114 && !empty($this->requested_table_glossary_term_list_ids)) {
115 $this->term_id = $this->requested_table_glossary_term_list_ids[0];
117 $this->term_id = $this->edit_request->getTermId();
120 if ($this->term_id > 0 && $term_glo_id != $this->
object->getId()
124 $this->
ctrl->setParameterByClass(
"ilglossarytermgui",
"term_id", $this->term_id);
126 $this->tax_id = $this->
object->getTaxonomyId();
127 if ($this->tax_id > 0) {
128 $this->
ctrl->saveParameter($this, array(
"show_tax",
"tax_node"));
132 $tax_node = $this->edit_request->getTaxNode();
137 if ($this->getGlossary()) {
138 $this->term_manager =
$domain->term(
139 $this->getGlossary(),
142 $this->tax_manager =
$domain->taxonomy(
147 $this->term_def_bulk_gui = $this->gui_presentation_service
148 ->TermDefinitionBulkCreationGUI($this->getGlossary());
150 $this->in_administration =
151 (strtolower($this->edit_request->getBaseClass()) ==
"iladministrationgui");
152 $cs =
$DIC->contentStyle();
153 $this->content_style_gui = $cs->gui();
154 if (is_object($this->
object)) {
155 $this->content_style_domain = $cs->domain()->styleForRefId($this->
object->getRefId());
156 $this->taxonomy =
$DIC->taxonomy();
162 $cmd = $this->
ctrl->getCmd();
163 $next_class = $this->
ctrl->getNextClass($this);
165 $this->log->debug(
"glossary term, next class " . $next_class .
", cmd: " . $cmd);
167 switch ($next_class) {
168 case 'ilobjectmetadatagui':
176 $this->tabs_gui->activateTab(
'meta_data');
178 $this->
ctrl->forwardCommand($md_gui);
181 case "ilglossarytermgui":
182 if (!$this->term_perm->checkPermission(
"edit_content", $this->term_id) &&
183 !$this->term_perm->checkPermission(
"write", $this->term_id)) {
187 $this->
ctrl->setReturn($this,
"listTerms");
189 $term_gui->setGlossary($this->getGlossary());
190 $this->
ctrl->forwardCommand($term_gui);
193 case "ilinfoscreengui":
196 $this->
tabs->activateTab(
"info_short");
199 case "ilobjectcontentstylesettingsgui":
203 $this->tabs_gui->activateTab(
"settings");
205 $settings_gui = $this->content_style_gui
206 ->objectSettingsGUIForRefId(
210 $this->
ctrl->forwardCommand($settings_gui);
214 case 'ilpermissiongui':
215 if ($this->in_administration) {
224 $ret = $this->
ctrl->forwardCommand($perm_gui);
227 case "ilcommonactiondispatchergui":
230 $this->
ctrl->forwardCommand($gui);
233 case strtolower(ilTaxonomySettingsGUI::class):
238 $this->
tabs->activateTab(
"settings");
241 $this->
ctrl->setReturn($this,
"properties");
242 $tax_gui = $this->taxonomy->gui()->getSettingsGUI(
244 $this->lng->txt(
"glo_tax_info"),
248 $ret = $this->
ctrl->forwardCommand($tax_gui);
255 $this->
tabs->activateTab(
"export");
258 $ret = $this->
ctrl->forwardCommand($exp_gui);
261 case 'ilobjectcopygui':
265 $this->
ctrl->forwardCommand($cp);
268 case "ilglossaryforeigntermcollectorgui":
269 if (!$this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) &&
270 !$this->rbacsystem->checkAccess(
'edit_content', $this->object->getRefId())) {
273 $this->
ctrl->setReturn($this,
"");
279 $this->
ctrl->forwardCommand($coll);
282 case "iltermdefinitionbulkcreationgui":
283 if (!$this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) &&
284 !$this->rbacsystem->checkAccess(
'edit_content', $this->object->getRefId())) {
287 $this->
ctrl->setReturn($this,
"listTerms");
288 $this->
ctrl->forwardCommand($this->term_def_bulk_gui);
291 case strtolower(ilMediaObjectOverviewGUI::class):
292 if (!$this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) &&
293 !$this->rbacsystem->checkAccess(
'edit_content', $this->object->getRefId())) {
299 $this->
tabs->activateTab(
"media");
304 $this->
ctrl->forwardCommand($gui);
307 case strtolower(SettingsGUI::class):
311 $this->
tabs->activateTab(
"settings");
315 $gui = $this->gui->settings()->settingsGUI(
317 $this->requested_ref_id,
318 $this->getCreationMode(),
322 $this->
ctrl->forwardCommand($gui);
326 if (!$this->
getCreationMode() && !$this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) &&
327 !$this->rbacsystem->checkAccess(
'edit_content', $this->object->getRefId())) {
330 $cmd = $this->
ctrl->getCmd(
"listTerms");
332 if (($cmd ==
"create") && ($this->edit_request->getNewType() ==
"term")) {
333 $this->
ctrl->redirectByClass(ilGlossaryTermGUI::class,
"create");
335 if ($this->in_administration ||
345 if ($cmd ==
"redrawHeaderAction") {
346 $cmd =
"redrawHeaderActionObject";
355 $this->tpl->printToStdout();
366 if (isset($glossary) && $glossary->getType() ==
"glo") {
388 $ti->setRequired(
true);
413 $new_type = $this->edit_request->getNewType();
420 $this->
lng->loadLanguageModule($new_type);
421 $this->
ctrl->setParameter($this,
"new_type", $new_type);
425 $this->
ctrl->setParameter($this,
"new_type",
"");
428 $newObj->setType($new_type);
431 $newObj->setVirtualMode(
"none");
439 $newObj->applyDidacticTemplate($dtpl);
443 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"glo_added"),
true);
444 $this->
ctrl->setParameterByClass(
445 ilObjGlossaryGUI::class,
449 $this->
ctrl->redirectByClass(
450 [ilGlossaryEditorGUI::class, ilObjGlossaryGUI::class],
465 $this->
lng->loadLanguageModule(
"meta");
468 $info->enablePrivateNotes();
470 if ($this->
access->checkAccess(
"write",
"", $this->requested_ref_id)) {
471 $info->enableNewsEditing();
473 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
474 if ($enable_internal_rss) {
475 $info->setBlockProperty(
"news",
"settings",
true);
478 $info->addMetaDataSections($this->
object->getId(), 0, $this->object->getType());
495 $ilAccess =
$DIC->access();
499 foreach ($sms as $sm) {
502 foreach ($refs as $ref) {
503 if ($link ===
false && $ilAccess->checkAccess(
"write",
"", $ref)) {
504 $link = ilLink::_getLink($ref,
'sahs');
509 if ($link !==
false) {
510 $entry =
"<a href='" . $link .
"' target='_top'>" . $entry .
"</a>";
520 if ($this->in_administration) {
521 parent::viewObject();
525 if (!$this->rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
532 $this->
ctrl->redirectByClass(SettingsGUI::class);
538 $active = $this->
object->getShowTaxonomy();
540 ? $this->
lng->txt(
"yes")
541 : $this->
lng->txt(
"no");
544 $this->
lng->txt(
"glo_show_in_presentation") => $value
552 $this->
ctrl->setParameterByClass(self::class,
"glo_tax_id", $tax_id);
553 $active = $this->
object->getShowTaxonomy();
555 $actions[] = $this->
ui->factory()->button()->shy(
556 $this->
lng->txt(
"glo_show_in_presentation_on"),
557 $this->ctrl->getLinkTargetByClass(
559 "showTaxInPresentation"
563 $actions[] = $this->
ui->factory()->button()->shy(
564 $this->
lng->txt(
"glo_show_in_presentation_off"),
565 $this->ctrl->getLinkTargetByClass(
567 "hideTaxInPresentation"
571 $this->
ctrl->setParameterByClass(self::class,
"glo_tax_id",
null);
578 $this->
object->setShowTaxonomy(
true);
579 $this->
object->update();
580 $this->
ctrl->redirectByClass(ilTaxonomySettingsGUI::class);
585 $this->
object->setShowTaxonomy(
false);
586 $this->
object->update();
587 $this->
ctrl->redirectByClass(ilTaxonomySettingsGUI::class);
592 $this->
tabs->activateTab(
"content");
594 $this->showTaxonomy();
599 if ($this->
object->isVirtual()) {
600 $this->showToolbarForCollection();
601 $panel = $this->showSelectedGlossariesForCollection();
602 $panel_html = $this->ui_ren->render($panel);
603 $modals = $this->ui_ren->render($this->getModalsToRender());
605 $this->showToolbarForStandard();
606 $table = $this->domain->table()->getTermListTable($this->getGlossary(), $this->tax_node)->getComponent();
607 $tab_html = $this->ui_ren->render($table);
610 $this->
tabs->activateTab(
"content");
612 $this->tpl->setContent($panel_html . $modals . $tab_html);
620 return $this->modals_to_render;
627 $ti->setMaxLength(80);
629 $this->
toolbar->addInputItem($ti,
true);
632 $this->
lng->loadLanguageModule(
"meta");
633 $lang = $this->domain->metadata()->getLOMLanguagesForSelectInputs();
634 $session_lang = $this->term_manager->getSessionLang();
635 if ($session_lang !=
"") {
636 $s_lang = $session_lang;
638 $s_lang = $this->
user->getLanguage();
641 $si->setOptions($lang);
642 $si->setValue($s_lang);
643 $this->
toolbar->addInputItem($si,
true);
645 $this->
toolbar->setFormAction($this->
ctrl->getFormAction($this));
646 $this->
toolbar->addFormButton($this->
lng->txt(
"glo_add_new_term"),
"addTerm");
648 $this->
toolbar->addSeparator();
651 if ($this->
user->clipboardHasObjectsOfType(
"term")) {
653 $this->
lng->txt(
"paste"),
654 $this->ctrl->getLinkTarget($this,
"pasteTerms")
657 $this->
lng->txt(
"clear_clipboard"),
658 $this->ctrl->getLinkTarget($this,
"clearClipboard")
662 $this->
lng->txt(
"glo_add_from_other"),
663 $this->ctrl->getLinkTargetByClass(
"ilglossaryforeigntermcollectorgui",
"")
667 $this->term_def_bulk_gui->modifyToolbar($this->
toolbar);
672 $modal = $this->showModalForCollection();
673 $button = $this->ui_fac->button()->standard($this->
lng->txt(
"glo_add_glossary"),
"")->withOnClick($modal->getShowSignal());
674 $this->modals_to_render[] = $modal;
675 $this->
toolbar->addComponent($button);
684 $glo_ids = $this->
object->getAllGlossaryIds(
true);
685 $at_least_one_glossary =
false;
686 foreach ($glo_ids as $glo_id) {
687 if ($this->
object->getId() === $glo_id) {
694 $props[$this->
lng->txt(
"status")] =
695 $this->
lng->txt(
"offline");
697 $glo_link = $this->ui_fac->link()->standard($glossary->getTitle(), ilLink::_getLink($glo_ref_id));
698 $glo_item = $this->ui_fac->item()->standard($glo_link)->withProperties($props);
699 $glo_item = $glo_item->withDescription($glossary->getDescription());
700 $form_action = $this->
ctrl->getFormActionByClass(ilObjGlossaryGUI::class,
"removeGlossaryFromCollection");
701 $delete_modal = $this->ui_fac->modal()->interruptive(
703 $this->
lng->txt(
"glo_really_remove_from_collection"),
705 )->withAffectedItems([
706 $this->ui_fac->modal()->interruptiveItem()->standard(
708 $glossary->getTitle(),
709 $this->ui_fac->image()->standard(
711 $this->lng->txt(
"icon") .
" " . $this->lng->txt(
"obj_" . $glossary->getType())
715 $actions = $this->ui_fac->dropdown()->standard([
716 $this->ui_fac->button()->shy($this->lng->txt(
"remove"),
"")->withOnClick($delete_modal->getShowSignal()),
718 $glo_item = $glo_item->withActions($actions);
720 $items[] = $glo_item;
721 $this->modals_to_render[] = $delete_modal;
722 $at_least_one_glossary =
true;
726 if (!$at_least_one_glossary) {
727 $message_box = $this->ui_fac->messageBox()->info($this->
lng->txt(
"glo_collection_empty_info"));
730 if (!empty($items)) {
731 $item_group = $this->ui_fac->item()->group($this->
lng->txt(
"glo_selected_glossaries_info"), $items);
732 $panel = $this->ui_fac->panel()->listing()->standard(
733 $this->
lng->txt(
"glo_selected_glossaries"),
746 "showModalForCollection",
748 "saveGlossaryForCollection",
751 $modal = $this->ui_fac->modal()->roundtrip(
752 $this->
lng->txt(
"glo_add_to_collection"),
753 $this->ui_fac->legacy()->content(!$exp->handleCommand() ? $exp->getHTML(
true) :
"")
761 $selected_glo =
new ilObjGlossary($this->edit_request->getSelectedGlossaryRefId(),
true);
762 if ($selected_glo->getId() === $this->object->getId()) {
763 $this->tpl->setOnScreenMessage(
"info", $this->
lng->txt(
"glo_selected_glossary_is_current_info"),
true);
765 $this->
object->addGlossaryForCollection($selected_glo->getId());
766 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"glo_added_to_collection_info"),
true);
768 $this->
ctrl->redirect($this,
"listTerms");
773 $glo_id = $this->edit_request->getGlossaryIdInModal();
774 $this->
object->removeGlossaryFromCollection($glo_id);
775 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"glo_removed_from_collection_info"),
true);
776 $this->
ctrl->redirect($this,
"listTerms");
781 $this->
ctrl->setParameter($this,
"show_tax", 1);
782 $this->
ctrl->redirect($this,
"listTerms");
790 $this->
ctrl->setParameter($this,
"show_tax",
"");
791 $this->
ctrl->redirect($this,
"listTerms");
800 $new_term = $this->edit_request->getNewTerm();
801 if ($new_term ==
"") {
802 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"cont_please_enter_a_term"),
true);
803 $this->
ctrl->redirect($this,
"listTerms");
807 $lang = $this->edit_request->getTermLanguage();
814 $this->term_manager->setSessionLang($lang);
816 $this->
ctrl->setParameterByClass(
"ilglossarydefpagegui",
"term_id", $term->
getId());
817 $this->
ctrl->redirectByClass(array(
"ilglossarytermgui",
818 "iltermdefinitioneditorgui",
"ilglossarydefpagegui"),
"edit");
827 $glo_exp->buildExportFileHTML();
828 $this->
ctrl->redirectByClass(
"ilexportgui",
"");
833 if (!empty($this->edit_request->getTermIdsInModal())
834 && $ids = $this->edit_request->getTermIdsInModal()) {
835 foreach ($ids as
$id) {
838 $refs->deleteTerm(
$id);
841 $this->term_manager->deleteTerm(
$id);
845 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
846 $this->
ctrl->redirect($this,
"listTerms");
851 if (strtolower($this->edit_request->getBaseClass()) !=
"ilglossaryeditorgui") {
852 parent::setLocator();
853 } elseif (is_object($this->
object)) {
855 if (is_object($this->term)) {
856 $gloss_loc->setTerm($this->term);
858 $gloss_loc->setGlossary($this->getGlossary());
859 $gloss_loc->display();
870 $this->tpl->loadStandardTemplate();
872 $title = $this->
object->getTitle();
875 if ($this->term_id > 0) {
876 $this->tpl->setTitle($this->
lng->txt(
"term") .
": " .
879 parent::setTitleAndDescription();
881 $this->tpl->setTitle($this->
lng->txt(
"glo") .
": " . $title);
887 $this->
help->setScreenIdComponent(
"glo");
890 $cmd = $this->
ctrl->getCmd();
891 $force_active = ($cmd ==
"" || $cmd ==
"listTerms");
894 if ($this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) ||
895 $this->rbacsystem->checkAccess(
'edit_content', $this->
object->getRefId())) {
896 $this->tabs_gui->addTab(
898 $this->
lng->txt(
"content"),
899 $this->
ctrl->getLinkTarget($this,
"listTerms")
903 $this->
lng->loadLanguageModule(
'mob');
904 $this->tabs_gui->addTab(
906 $this->
lng->txt(
"mob_media"),
907 $this->
ctrl->getLinkTargetByClass(ilMediaObjectOverviewGUI::class,
"show")
911 $this->tabs_gui->addTab(
913 $this->
lng->txt(
"info_short"),
914 $this->
ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
918 if ($this->rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
919 $this->tabs_gui->addTab(
921 $this->
lng->txt(
"settings"),
922 $this->
ctrl->getLinkTargetByClass(SettingsGUI::class)
927 $mdtab = $mdgui->getTab();
929 $this->tabs_gui->addTab(
931 $this->
lng->txt(
"meta_data"),
937 $this->tabs_gui->addTab(
939 $this->
lng->txt(
"export"),
940 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
945 if ($this->rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
946 $this->tabs_gui->addTab(
948 $this->
lng->txt(
"perm_settings"),
949 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
953 $this->tabs_gui->addNonTabbedLink(
955 $this->
lng->txt(
"glo_presentation_view"),
956 "ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . $this->object->getRefId()
964 array(
"general_settings",
"style",
"taxonomy",
"glossaries")
967 $this->
tabs->addSubTab(
969 $this->
lng->txt(
"settings"),
970 $this->ctrl->getLinkTarget($this,
'properties')
974 $this->
tabs->addSubTab(
976 $this->
lng->txt(
"obj_sty"),
977 $this->ctrl->getLinkTargetByClass(
"ilobjectcontentstylesettingsgui",
'')
980 $this->taxonomy->gui()->addSettingsSubTab($this->getObject()->
getId());
983 $this->
tabs->addSubTab(
985 $this->
lng->txt(
"cont_auto_glossaries"),
986 $this->ctrl->getLinkTarget($this,
'editGlossaries')
989 $this->
tabs->activateSubTab($a_active);
994 public static function _goto(
string $a_target): void
997 $main_tpl =
$DIC->ui()->mainTemplate();
1000 $ilAccess =
$DIC->access();
1001 $ctrl =
$DIC->ctrl();
1003 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1004 $ctrl->setParameterByClass(
"ilGlossaryPresentationGUI",
"ref_id", $a_target);
1005 $ctrl->redirectByClass(
"ilGlossaryPresentationGUI",
"");
1006 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1007 $ctrl->setParameterByClass(
"ilGlossaryPresentationGUI",
"ref_id", $a_target);
1008 $ctrl->redirectByClass(
"ilGlossaryPresentationGUI",
"infoScreen");
1010 $main_tpl->setOnScreenMessage(
'failure', sprintf(
1011 $lng->txt(
"msg_no_perm_read_item"),
1028 if ($a_tpl != null) {
1034 $this->content_style_gui->addCss($ctpl, $this->
object->getRefId());
1042 $ctrl = $this->ctrl;
1044 if (is_null($this->tax_manager) || !$this->tax_manager->showInEditing()) {
1048 $tool_context = $this->global_screen->tool()->context()->current();
1050 $tax_id = $this->tax_manager->getTaxonomyId();
1052 $tool_context->addAdditionalData(
1056 $tool_context->addAdditionalData(
1058 $ctrl->getCurrentClassPath()
1060 $tool_context->addAdditionalData(
1064 $tool_context->addAdditionalData(
1068 $tool_context->addAdditionalData(
1083 $this->
tabs->setTabActive(
"settings");
1084 $this->setSettingsSubTabs(
"glossaries");
1087 $this->
lng->txt(
"add"),
1088 $this->ctrl->getLinkTarget($this,
"showGlossarySelector")
1091 $table = $this->domain->table()->getGlossaryAutoLinkTable($this->getGlossary())->getComponent();
1093 $this->tpl->setContent($this->ui_ren->render($table));
1101 $this->
tabs->setTabActive(
"settings");
1102 $this->setSettingsSubTabs(
"glossaries");
1105 $search_root_expand = $this->edit_request->getSearchRootExpand();
1106 $exp->setExpand($search_root_expand ?: $this->tree->readRootId());
1107 $exp->setExpandTarget($this->
ctrl->getLinkTarget($this,
'showGlossarySelector'));
1108 $exp->setTargetClass(get_class($this));
1109 $exp->setCmd(
'confirmGlossarySelection');
1110 $exp->setClickableTypes(array(
"glo"));
1111 $exp->addFilter(
"glo");
1115 $this->tpl->setContent($exp->getOutput());
1121 $this->
ctrl->setParameter($this,
"glo_ref_id", $this->edit_request->getGlossaryRefId());
1122 $cgui->setFormAction($this->
ctrl->getFormAction($this));
1123 $cgui->setHeaderText($this->
lng->txt(
"glo_link_glo_in_glo"));
1124 $cgui->setCancel($this->
lng->txt(
"no"),
"selectGlossary");
1125 $cgui->setConfirm($this->
lng->txt(
"yes"),
"selectGlossaryLink");
1126 $this->tpl->setContent($cgui->getHTML());
1134 $glo_ref_id = $this->edit_request->getGlossaryRefId();
1135 $this->
object->autoLinkGlossaryTerms($glo_ref_id);
1136 $this->selectGlossary();
1145 $glos = $this->
object->getAutoGlossaries();
1146 $glo_ref_id = $this->edit_request->getGlossaryRefId();
1148 if (!in_array($glo_id, $glos)) {
1151 $this->
object->setAutoGlossaries($glos);
1152 $this->
object->update();
1154 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1155 $this->
ctrl->redirect($this,
"editGlossaries");
1160 $this->
object->removeAutoGlossary($this->edit_request->getGlossaryIdInModal());
1161 $this->
object->update();
1163 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1164 $this->
ctrl->redirect($this,
"editGlossaries");
1172 $this->putTermsIntoClipBoard();
1175 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"glo_selected_terms_have_been_copied"),
true);
1176 $this->
ctrl->redirect($this,
"listTerms");
1184 $this->putTermsIntoClipBoard();
1187 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"glo_selected_terms_have_been_copied"),
true);
1188 $this->
ctrl->redirect($this,
"listTerms");
1193 $this->
user->clipboardDeleteObjectsOfType(
"term");
1194 $time = date(
"Y-m-d H:i:s");
1196 if (($this->requested_table_glossary_term_list_action ===
"copyTerms"
1197 || $this->requested_table_glossary_term_list_action ===
"referenceTerms")
1198 && !empty($this->requested_table_glossary_term_list_ids)
1199 && $this->requested_table_glossary_term_list_ids[0] ===
"ALL_OBJECTS"
1201 $terms = $this->
object->getTermList(
1212 foreach ($terms as $term) {
1213 $this->
user->addObjectToClipboard(
1222 } elseif ($this->requested_table_glossary_term_list_action ===
"copyTerms"
1223 || $this->requested_table_glossary_term_list_action ===
"referenceTerms") {
1224 foreach ($this->requested_table_glossary_term_list_ids as $term_id) {
1225 $this->
user->addObjectToClipboard(
1235 if (empty($this->requested_table_glossary_term_list_ids)) {
1236 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"no_checkbox"),
true);
1237 $this->
ctrl->redirect($this,
"listTerms");
1244 $this->
user->clipboardDeleteObjectsOfType(
"term");
1245 $this->
ctrl->redirect($this,
"listTerms");
1251 foreach ($this->
user->getClipboardObjects(
"term") as $item) {
1257 foreach ($this->
user->getClipboardObjects(
"term") as $item) {
1258 $refs->addTerm($item[
"id"]);
1262 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1263 $this->
ctrl->redirect($this,
"listTerms");
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
@ilCtrl_Calls ILIAS\Glossary\Settings\SettingsGUI: ilDidacticTemplateGUI
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static setAction(string $a_action)
Export User Interface Class.
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(ilObjGlossaryGUI $a_glossary_gui)
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static isReferenced(array $a_glo_id, int $a_term_id)
Is a term referenced by a set of glossaries.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setGlossary(ilObjGlossary $a_glossary)
static _lookGlossaryTerm(int $term_id)
get glossary term
setLanguage(string $a_language)
create(bool $a_omit_page_creation=false)
static _lookGlossaryID(int $term_id)
get glossary id form term id
static _copyTerm(int $a_term_id, int $a_glossary_id)
Copy a term to a glossary.
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
Component logger with individual log levels by component id.
static _lookupOnline(int $a_id)
GUI class for ilGlossary.
exportHTML()
create html package
referenceTerms()
Add terms to be referenced to clipboard.
setContentStyleSheet(?ilGlobalTemplateInterface $a_tpl=null)
ILIAS GlobalScreen Services $global_screen
ILIAS Glossary Editing EditingGUIRequest $edit_request
ilTermDefinitionBulkCreationGUI $term_def_bulk_gui
confirmGlossarySelection()
array $requested_table_glossary_term_list_ids
ILIAS Glossary Term TermManager $term_manager
copyTerms()
Copy terms to clipboard.
getProperties(int $tax_id)
ILIAS UI Renderer $ui_ren
removeGlossaryFromCollection()
initCreateForm(string $new_type)
ILIAS Glossary Taxonomy TaxonomyManager $tax_manager
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
showSelectedGlossariesForCollection()
getTabs()
@abstract overwrite in derived GUI class of your object type
showTaxonomy()
Show taxonomy.
showToolbarForCollection()
ILIAS Style Content Object ObjectFacade $content_style_domain
ILIAS Taxonomy Service $taxonomy
selectGlossaryLink()
Select a glossary and link all its terms.
showGlossarySelector()
Show auto glossary selection.
ILIAS Glossary InternalGUIService $gui
ilGlossaryTermPermission $term_perm
string $requested_table_glossary_term_list_action
selectGlossary()
Select auto glossary.
saveGlossaryForCollection()
ILIAS Style Content GUIService $content_style_gui
__construct( $a_data, int $a_id=0, bool $a_call_by_reference=true, bool $a_prepare_output=true)
ILIAS Glossary InternalDomainService $domain
deactTaxonomy()
Hide Taxonomy.
static _goto(string $a_target)
ILIAS Glossary Presentation GUIService $gui_presentation_service
setSettingsSubTabs(string $a_active)
static addUsagesToInfo(ilInfoScreenGUI $info, int $glo_id)
Add usages to info screen.
editGlossaries()
Edit automatically linked glossaries.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getScormModulesForGlossary(int $a_glo_id)
Get SCORM modules that assign a certain glossary.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
initDidacticTemplate(ilPropertyFormGUI $form)
addHeaderAction()
Add header action menu.
createObject()
create new object form
putObjectInTree(ilObject $obj, ?int $parent_node_id=null)
Add object to tree at given position.
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen.
prepareOutput(bool $show_sub_objects=true)
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
static _getAllReferences(int $id)
get all reference ids for object ID
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
class ilRbacSystem system function like checkAccess, addActiveRole ... Supporting system functions ar...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a text area property in a property form.
This class represents a text property in a property form.
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
if(!file_exists('../ilias.ini.php'))