3 declare(strict_types=1);
39 $lng = $domain->lng();
40 $lng->loadLanguageModule(
"glo");
41 $this->term_manager = $domain
47 $ctrl = $this->gui->ctrl();
49 $next_class = $ctrl->getNextClass($this);
50 $cmd = $ctrl->getCmd(
"showCreationForm");
52 switch ($next_class) {
56 "showConfirmationScreen",
57 "createTermDefinitionPairs" 66 $lng = $this->domain->lng();
67 $ctrl = $this->gui->ctrl();
70 ->modal(
$lng->txt(
"glo_bulk_creation"))
71 ->getAsyncTriggerButtonComponents(
72 $lng->txt(
"glo_bulk_creation"),
73 $ctrl->getLinkTarget($this,
"showCreationForm",
"",
true),
76 foreach ($components as $type =>
$c) {
77 if ($type ===
"signal") {
86 $lng = $this->domain->lng();
88 ->modal(
$lng->txt(
"glo_bulk_creation"))
95 $lng = $this->domain->lng();
96 $user = $this->domain->user();
99 ->form(self::class,
"showConfirmationScreen")
104 $lng->txt(
"glo_term_definition_pairs"),
105 $lng->txt(
"glo_term_definition_pairs_info"),
109 $session_lang = $this->term_manager->getSessionLang();
110 if ($session_lang !=
"") {
111 $s_lang = $session_lang;
113 $s_lang = $user->getLanguage();
117 $lng->txt(
"language"),
130 $lng = $this->domain->lng();
131 if (!$form->isValid()) {
132 $this->gui->modal(
$lng->txt(
"glo_bulk_creation"))
137 $language = $form->getData(
"term_language");
138 $this->gui->modal(
$lng->txt(
"glo_bulk_creation"))
140 $form->getData(
"bulk_data"),
148 $lng = $this->domain->lng();
149 $ctrl = $this->gui->ctrl();
151 $f = $this->gui->ui()->factory();
152 $r = $this->gui->ui()->renderer();
153 $button =
$f->button()->standard(
154 $lng->txt(
"glo_create_term_definition_pairs"),
158 const glo_bulk_button = document.getElementById(
"$id");
159 glo_bulk_button.addEventListener(
"click", (
event) => {
160 glo_bulk_button.closest(
".modal").querySelector(
"form").submit();
165 $mbox =
$f->messageBox()->confirmation(
166 $lng->txt(
"glo_bulk_confirmation")
167 )->withButtons([$button]);
169 $ctrl->setParameter($this,
"term_language", $language);
172 "renderConfirmation",
177 return $r->render($mbox) .
183 $main_tpl = $this->gui->mainTemplate();
184 $ctrl = $this->gui->ctrl();
185 $lng = $this->domain->lng();
186 $request = $this->gui->editing()->request();
188 $data = $request->getBulkCreationData();
189 $language = $request->getTermLanguage();
190 $this->term_manager->createTermDefinitionPairsFromBulkInputString(
$data, $language);
191 $main_tpl->setOnScreenMessage(
"success",
$lng->txt(
"msg_obj_modified"),
true);
192 $ctrl->returnToParent($this);
modifyToolbar(ilToolbarGUI $toolbar)
InternalDomainService $domain
ILIAS Glossary Term TermManager $term_manager
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider .
withAdditionalOnLoadCode(Closure $binder)
createTermDefinitionPairs()
renderConfirmation(string $data, string $language)
__construct(InternalDomainService $domain, InternalGUIService $gui, ilObjGlossary $glossary)
form( $class_path, string $cmd, string $submit_caption="")
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
term(\ilObjGlossary $glossary, int $user_id=0)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
catch(ilCmiXapiException $e) send($response)