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->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) {
692 $glo_link = $this->ui_fac->link()->standard($glossary->getTitle(), ilLink::_getLink($glo_ref_id));
693 $glo_item = $this->ui_fac->item()->standard($glo_link);
694 $glo_item = $glo_item->withDescription($glossary->getDescription());
695 $form_action = $this->
ctrl->getFormActionByClass(ilObjGlossaryGUI::class,
"removeGlossaryFromCollection");
696 $delete_modal = $this->ui_fac->modal()->interruptive(
698 $this->
lng->txt(
"glo_really_remove_from_collection"),
700 )->withAffectedItems([
701 $this->ui_fac->modal()->interruptiveItem()->standard(
703 $glossary->getTitle(),
704 $this->ui_fac->image()->standard(
706 $this->lng->txt(
"icon") .
" " . $this->lng->txt(
"obj_" . $glossary->getType())
710 $actions = $this->ui_fac->dropdown()->standard([
711 $this->ui_fac->button()->shy($this->lng->txt(
"remove"),
"")->withOnClick($delete_modal->getShowSignal()),
713 $glo_item = $glo_item->withActions($actions);
715 $items[] = $glo_item;
716 $this->modals_to_render[] = $delete_modal;
717 $at_least_one_glossary =
true;
721 if (!$at_least_one_glossary) {
722 $message_box = $this->ui_fac->messageBox()->info($this->
lng->txt(
"glo_collection_empty_info"));
725 if (!empty($items)) {
726 $item_group = $this->ui_fac->item()->group($this->
lng->txt(
"glo_selected_glossaries_info"), $items);
727 $panel = $this->ui_fac->panel()->listing()->standard(
728 $this->
lng->txt(
"glo_selected_glossaries"),
741 "showModalForCollection",
743 "saveGlossaryForCollection",
746 $modal = $this->ui_fac->modal()->roundtrip(
747 $this->
lng->txt(
"glo_add_to_collection"),
748 $this->ui_fac->legacy()->content(!$exp->handleCommand() ? $exp->getHTML(
true) :
"")
756 $selected_glo =
new ilObjGlossary($this->edit_request->getSelectedGlossaryRefId(),
true);
757 if ($selected_glo->getId() === $this->object->getId()) {
758 $this->tpl->setOnScreenMessage(
"info", $this->
lng->txt(
"glo_selected_glossary_is_current_info"),
true);
760 $this->
object->addGlossaryForCollection($selected_glo->getId());
761 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"glo_added_to_collection_info"),
true);
763 $this->
ctrl->redirect($this,
"listTerms");
768 $glo_id = $this->edit_request->getGlossaryIdInModal();
769 $this->
object->removeGlossaryFromCollection($glo_id);
770 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"glo_removed_from_collection_info"),
true);
771 $this->
ctrl->redirect($this,
"listTerms");
776 $this->
ctrl->setParameter($this,
"show_tax", 1);
777 $this->
ctrl->redirect($this,
"listTerms");
785 $this->
ctrl->setParameter($this,
"show_tax",
"");
786 $this->
ctrl->redirect($this,
"listTerms");
795 $new_term = $this->edit_request->getNewTerm();
796 if ($new_term ==
"") {
797 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"cont_please_enter_a_term"),
true);
798 $this->
ctrl->redirect($this,
"listTerms");
802 $lang = $this->edit_request->getTermLanguage();
809 $this->term_manager->setSessionLang($lang);
811 $this->
ctrl->setParameterByClass(
"ilglossarydefpagegui",
"term_id", $term->
getId());
812 $this->
ctrl->redirectByClass(array(
"ilglossarytermgui",
813 "iltermdefinitioneditorgui",
"ilglossarydefpagegui"),
"edit");
822 $glo_exp->buildExportFileHTML();
823 $this->
ctrl->redirectByClass(
"ilexportgui",
"");
828 if (!empty($this->edit_request->getTermIdsInModal())
829 && $ids = $this->edit_request->getTermIdsInModal()) {
830 foreach ($ids as
$id) {
833 $refs->deleteTerm(
$id);
836 $this->term_manager->deleteTerm(
$id);
840 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
841 $this->
ctrl->redirect($this,
"listTerms");
846 if (strtolower($this->edit_request->getBaseClass()) !=
"ilglossaryeditorgui") {
847 parent::setLocator();
848 } elseif (is_object($this->
object)) {
850 if (is_object($this->term)) {
851 $gloss_loc->setTerm($this->term);
853 $gloss_loc->setGlossary($this->getGlossary());
854 $gloss_loc->display();
865 $this->tpl->loadStandardTemplate();
867 $title = $this->
object->getTitle();
870 if ($this->term_id > 0) {
871 $this->tpl->setTitle($this->
lng->txt(
"term") .
": " .
874 parent::setTitleAndDescription();
876 $this->tpl->setTitle($this->
lng->txt(
"glo") .
": " . $title);
882 $this->
help->setScreenIdComponent(
"glo");
885 $cmd = $this->
ctrl->getCmd();
886 $force_active = ($cmd ==
"" || $cmd ==
"listTerms");
889 if ($this->rbacsystem->checkAccess(
'write', $this->object->getRefId()) ||
890 $this->rbacsystem->checkAccess(
'edit_content', $this->
object->getRefId())) {
891 $this->tabs_gui->addTab(
893 $this->
lng->txt(
"content"),
894 $this->
ctrl->getLinkTarget($this,
"listTerms")
898 $this->
lng->loadLanguageModule(
'mob');
899 $this->tabs_gui->addTab(
901 $this->
lng->txt(
"mob_media"),
902 $this->
ctrl->getLinkTargetByClass(ilMediaObjectOverviewGUI::class,
"show")
906 $this->tabs_gui->addTab(
908 $this->
lng->txt(
"info_short"),
909 $this->
ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
913 if ($this->rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
914 $this->tabs_gui->addTab(
916 $this->
lng->txt(
"settings"),
917 $this->
ctrl->getLinkTargetByClass(SettingsGUI::class)
922 $mdtab = $mdgui->getTab();
924 $this->tabs_gui->addTab(
926 $this->
lng->txt(
"meta_data"),
932 $this->tabs_gui->addTab(
934 $this->
lng->txt(
"export"),
935 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
940 if ($this->rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
941 $this->tabs_gui->addTab(
943 $this->
lng->txt(
"perm_settings"),
944 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
948 $this->tabs_gui->addNonTabbedLink(
950 $this->
lng->txt(
"glo_presentation_view"),
951 "ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=" . $this->object->getRefId()
959 array(
"general_settings",
"style",
"taxonomy",
"glossaries")
962 $this->
tabs->addSubTab(
964 $this->
lng->txt(
"settings"),
965 $this->ctrl->getLinkTarget($this,
'properties')
969 $this->
tabs->addSubTab(
971 $this->
lng->txt(
"obj_sty"),
972 $this->ctrl->getLinkTargetByClass(
"ilobjectcontentstylesettingsgui",
'')
975 $this->taxonomy->gui()->addSettingsSubTab($this->getObject()->
getId());
978 $this->
tabs->addSubTab(
980 $this->
lng->txt(
"cont_auto_glossaries"),
981 $this->ctrl->getLinkTarget($this,
'editGlossaries')
984 $this->
tabs->activateSubTab($a_active);
989 public static function _goto(
string $a_target): void
992 $main_tpl =
$DIC->ui()->mainTemplate();
995 $ilAccess =
$DIC->access();
996 $ctrl =
$DIC->ctrl();
998 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
999 $ctrl->setParameterByClass(
"ilGlossaryPresentationGUI",
"ref_id", $a_target);
1000 $ctrl->redirectByClass(
"ilGlossaryPresentationGUI",
"");
1001 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1002 $ctrl->setParameterByClass(
"ilGlossaryPresentationGUI",
"ref_id", $a_target);
1003 $ctrl->redirectByClass(
"ilGlossaryPresentationGUI",
"infoScreen");
1005 $main_tpl->setOnScreenMessage(
'failure', sprintf(
1006 $lng->txt(
"msg_no_perm_read_item"),
1023 if ($a_tpl != null) {
1029 $this->content_style_gui->addCss($ctpl, $this->
object->getRefId());
1037 $ctrl = $this->ctrl;
1039 if (is_null($this->tax_manager) || !$this->tax_manager->showInEditing()) {
1043 $tool_context = $this->global_screen->tool()->context()->current();
1045 $tax_id = $this->tax_manager->getTaxonomyId();
1047 $tool_context->addAdditionalData(
1051 $tool_context->addAdditionalData(
1053 $ctrl->getCurrentClassPath()
1055 $tool_context->addAdditionalData(
1059 $tool_context->addAdditionalData(
1063 $tool_context->addAdditionalData(
1078 $this->
tabs->setTabActive(
"settings");
1079 $this->setSettingsSubTabs(
"glossaries");
1082 $this->
lng->txt(
"add"),
1083 $this->ctrl->getLinkTarget($this,
"showGlossarySelector")
1086 $table = $this->domain->table()->getGlossaryAutoLinkTable($this->getGlossary())->getComponent();
1088 $this->tpl->setContent($this->ui_ren->render($table));
1096 $this->
tabs->setTabActive(
"settings");
1097 $this->setSettingsSubTabs(
"glossaries");
1100 $search_root_expand = $this->edit_request->getSearchRootExpand();
1101 $exp->setExpand($search_root_expand ?: $this->tree->readRootId());
1102 $exp->setExpandTarget($this->
ctrl->getLinkTarget($this,
'showGlossarySelector'));
1103 $exp->setTargetClass(get_class($this));
1104 $exp->setCmd(
'confirmGlossarySelection');
1105 $exp->setClickableTypes(array(
"glo"));
1106 $exp->addFilter(
"glo");
1110 $this->tpl->setContent($exp->getOutput());
1116 $this->
ctrl->setParameter($this,
"glo_ref_id", $this->edit_request->getGlossaryRefId());
1117 $cgui->setFormAction($this->
ctrl->getFormAction($this));
1118 $cgui->setHeaderText($this->
lng->txt(
"glo_link_glo_in_glo"));
1119 $cgui->setCancel($this->
lng->txt(
"no"),
"selectGlossary");
1120 $cgui->setConfirm($this->
lng->txt(
"yes"),
"selectGlossaryLink");
1121 $this->tpl->setContent($cgui->getHTML());
1129 $glo_ref_id = $this->edit_request->getGlossaryRefId();
1130 $this->
object->autoLinkGlossaryTerms($glo_ref_id);
1131 $this->selectGlossary();
1140 $glos = $this->
object->getAutoGlossaries();
1141 $glo_ref_id = $this->edit_request->getGlossaryRefId();
1143 if (!in_array($glo_id, $glos)) {
1146 $this->
object->setAutoGlossaries($glos);
1147 $this->
object->update();
1149 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1150 $this->
ctrl->redirect($this,
"editGlossaries");
1155 $this->
object->removeAutoGlossary($this->edit_request->getGlossaryIdInModal());
1156 $this->
object->update();
1158 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1159 $this->
ctrl->redirect($this,
"editGlossaries");
1167 $this->putTermsIntoClipBoard();
1170 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"glo_selected_terms_have_been_copied"),
true);
1171 $this->
ctrl->redirect($this,
"listTerms");
1179 $this->putTermsIntoClipBoard();
1182 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"glo_selected_terms_have_been_copied"),
true);
1183 $this->
ctrl->redirect($this,
"listTerms");
1188 $this->
user->clipboardDeleteObjectsOfType(
"term");
1189 $time = date(
"Y-m-d H:i:s");
1191 if (($this->requested_table_glossary_term_list_action ===
"copyTerms"
1192 || $this->requested_table_glossary_term_list_action ===
"referenceTerms")
1193 && !empty($this->requested_table_glossary_term_list_ids)
1194 && $this->requested_table_glossary_term_list_ids[0] ===
"ALL_OBJECTS"
1196 $terms = $this->
object->getTermList(
1207 foreach ($terms as $term) {
1208 $this->
user->addObjectToClipboard(
1217 } elseif ($this->requested_table_glossary_term_list_action ===
"copyTerms"
1218 || $this->requested_table_glossary_term_list_action ===
"referenceTerms") {
1219 foreach ($this->requested_table_glossary_term_list_ids as $term_id) {
1220 $this->
user->addObjectToClipboard(
1230 if (empty($this->requested_table_glossary_term_list_ids)) {
1231 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"no_checkbox"),
true);
1232 $this->
ctrl->redirect($this,
"listTerms");
1239 $this->
user->clipboardDeleteObjectsOfType(
"term");
1240 $this->
ctrl->redirect($this,
"listTerms");
1246 foreach ($this->
user->getClipboardObjects(
"term") as $item) {
1252 foreach ($this->
user->getClipboardObjects(
"term") as $item) {
1253 $refs->addTerm($item[
"id"]);
1257 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
1258 $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.
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'))