ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilObjTaxonomyGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once "./Services/Object/classes/class.ilObject2GUI.php";
5require_once "./Services/Taxonomy/classes/class.ilObjTaxonomy.php";
6include_once("./Services/Taxonomy/interfaces/interface.ilTaxAssignedItemInfo.php");
7
19{
23 protected $tabs;
24
28 protected $help;
29
30 protected $multiple = false;
31 protected $assigned_item_sorting = false;
32
36 public function __construct($a_id = 0)
37 {
38 global $DIC;
39
40 $this->ctrl = $DIC->ctrl();
41 $this->lng = $DIC->language();
42 $this->user = $DIC->user();
43 $this->tabs = $DIC->tabs();
44 $this->toolbar = $DIC->toolbar();
45 $this->tpl = $DIC["tpl"];
46 $this->help = $DIC["ilHelp"];
47 $ilCtrl = $DIC->ctrl();
48 $lng = $DIC->language();
49
51
52 $ilCtrl->saveParameter($this, "tax_node");
53 $ilCtrl->saveParameter($this, "tax_id");
54
55 $lng->loadLanguageModule("tax");
56 }
57
63 public function getType()
64 {
65 return "tax";
66 }
67
73 public function setAssignedObject($a_val)
74 {
75 $this->assigned_object_id = $a_val;
76 }
77
83 public function getAssignedObject()
84 {
85 return $this->assigned_object_id;
86 }
87
93 public function setMultiple($a_val)
94 {
95 $this->multiple = $a_val;
96 }
97
103 public function getMultiple()
104 {
105 return $this->multiple;
106 }
107
113 public function setListInfo($a_val)
114 {
115 $this->list_info = trim($a_val);
116 }
117
123 public function getListInfo()
124 {
125 return $this->list_info;
126 }
127
133 public function activateAssignedItemSorting(ilTaxAssignedItemInfo $a_item_info_obj, $a_component_id, $a_obj_id, $a_item_type)
134 {
135 $this->assigned_item_sorting = true;
136 $this->assigned_item_info_obj = $a_item_info_obj;
137 $this->assigned_item_comp_id = $a_component_id;
138 $this->assigned_item_obj_id = $a_obj_id;
139 $this->assigned_item_type = $a_item_type;
140 }
141
142
146 public function executeCommand()
147 {
148 $ilCtrl = $this->ctrl;
150 $ilTabs = $this->tabs;
151
152 $next_class = $ilCtrl->getNextClass();
153
154 switch ($next_class) {
155 default:
156 $cmd = $ilCtrl->getCmd("listTaxonomies");
157 $this->$cmd();
158 break;
159 }
160 }
161
165 protected function initCreationForms($a_new_type)
166 {
167 $forms = array(
168 self::CFORM_NEW => $this->initCreateForm("tax")
169 );
170
171 return $forms;
172 }
173
174
178
185 public function editAOTaxonomySettings()
186 {
187 $ilToolbar = $this->toolbar;
188 $ilCtrl = $this->ctrl;
190
191
192 // if (count($tax_ids) != 0 && !$this->getMultiple())
193 // {
194 // $this->listNodes();
195 // }
196 // else if ($this->getMultiple())
197 // {
198 $this->listTaxonomies();
199 // }
200
201 // currently we support only one taxonomy, otherwise we may need to provide
202 // a list here
203 }
204
211 public function getCurrentTaxonomyId()
212 {
214 $tax_id = (int) $_GET["tax_id"];
215 if (in_array($tax_id, $tax_ids)) {
216 return $tax_id;
217 }
218 return false;
219 }
220
221
228 public function getCurrentTaxonomy()
229 {
230 $tax_id = $this->getCurrentTaxonomyId();
231 if ($tax_id > 0) {
232 $tax = new ilObjTaxonomy($tax_id);
233 return $tax;
234 }
235
236 return false;
237 }
238
239
246 public function listNodes()
247 {
249 $ilToolbar = $this->toolbar;
251 $ilCtrl = $this->ctrl;
252
253 $tax = $this->getCurrentTaxonomy();
254
255 $this->setTabs("list_items");
256
257 // show toolbar
258 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
259 $ilToolbar->addFormButton($lng->txt("tax_create_node"), "createTaxNode");
260
261 $ilToolbar->setCloseFormTag(false);
262
263
264 // show tree
265 $this->showTree();
266
267 // show subitems
268 include_once("./Services/Taxonomy/classes/class.ilTaxonomyTableGUI.php");
269 $table = new ilTaxonomyTableGUI(
270 $this,
271 "listNodes",
272 $tax->getTree(),
273 (int) $_GET["tax_node"],
274 $this->getCurrentTaxonomy()
275 );
276 $table->setOpenFormTag(false);
277
278 $tpl->setContent($table->getHTML());
279 }
280
281
288 public function createAssignedTaxonomy()
289 {
290 $this->create();
291 }
292
293
298 protected function checkPermissionBool($a_perm, $a_cmd = "", $a_type = "", $a_node_id = null)
299 {
300 if ($this->getAssignedObject() > 0) {
301 return true;
302 } else {
303 return parent::checkPermissionBool($a_perm, $a_cmd, $a_type, $a_node_id);
304 }
305 }
306
313 public function cancel()
314 {
315 $ilCtrl = $this->ctrl;
316
317 if ($this->getAssignedObject() > 0) {
318 $ilCtrl->redirect($this, "listTaxonomies");
319 }
320
321 return parent::cancel();
322 }
323
330 public function save()
331 {
332 $ilCtrl = $this->ctrl;
333
334 if ($this->getAssignedObject() > 0) {
335 $_REQUEST["new_type"] = "tax";
336 }
337
338 parent::saveObject();
339 }
340
347 protected function afterSave(ilObject $a_new_object)
348 {
349 $ilCtrl = $this->ctrl;
351
352 if ($this->getAssignedObject() > 0) {
354 $a_new_object->getId(),
355 $this->getAssignedObject()
356 );
357 $ilCtrl->setParameter($this, "tax_id", $a_new_object->getId());
358 ilUtil::sendSuccess($lng->txt("tax_added"), true);
359 $ilCtrl->redirect($this, "editSettings");
360 }
361 }
362
368 public function showTree($a_ass_items = false)
369 {
370 global $DIC;
371
372 $tax = $this->getCurrentTaxonomy();
374
375 $cmd = $a_ass_items
376 ? "listAssignedItems"
377 : "listNodes";
378
379 $DIC->globalScreen()->tool()->context()->current()
380 ->addAdditionalData(
382 true
383 );
384 $DIC->globalScreen()->tool()->context()->current()
385 ->addAdditionalData(
387 $ctrl->getCurrentClassPath()
388 );
389 $DIC->globalScreen()->tool()->context()->current()
390 ->addAdditionalData(
392 $tax->getId()
393 );
394 $DIC->globalScreen()->tool()->context()->current()
395 ->addAdditionalData(
397 $cmd
398 );
399 $DIC->globalScreen()->tool()->context()->current()
400 ->addAdditionalData(
402 "showTree"
403 );
404
405 $tax_exp = new ilTaxonomyExplorerGUI(
406 $this,
407 "showTree",
408 $tax->getId(),
409 "ilobjtaxonomygui",
410 $cmd
411 );
412 $tax_exp->handleCommand();
413 return;
414 }
415
422 public static function getTreeHTML(
423 $a_tax_id,
424 $a_class,
425 $a_cmd,
426 $a_target_class,
427 $a_target_cmd,
428 $a_root_node_title = ""
429 ) {
430 die("ilObjTaxonomyGUI::getTreeHTML is deprecated.");
431 include_once("./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
432 $tax_exp = new ilTaxonomyExplorerGUI(
433 $a_class,
434 $a_cmd,
435 $a_tax_id,
436 $a_target_class,
437 $a_target_cmd
438 );
439 if (!$tax_exp->handleCommand()) {
440 return $tax_exp->getHTML() . "&nbsp;";
441 }
442 return;
443 }
444
445
452 public function createTaxNode()
453 {
455 $ilHelp = $this->help;
456
457 $this->setTabs("list_items");
458 $ilHelp->setSubScreenId("create_node");
459
460 $this->initTaxNodeForm("create");
461 $tpl->setContent($this->form->getHTML());
462 }
463
464
470 public function initTaxNodeForm($a_mode = "edit")
471 {
473 $ilCtrl = $this->ctrl;
474
475 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
476 $this->form = new ilPropertyFormGUI();
477
478 // title
479 $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
480 $this->form->addItem($ti);
481
482 // order nr
483 $tax = $this->getCurrentTaxonomy();
484 if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL) {
485 $or = new ilTextInputGUI($this->lng->txt("tax_order_nr"), "order_nr");
486 $or->setMaxLength(5);
487 $or->setSize(5);
488 $this->form->addItem($or);
489 }
490
491 if ($a_mode == "edit") {
492 $node = new ilTaxonomyNode((int) $_GET["tax_node"]);
493 $ti->setValue($node->getTitle());
494 $or->setValue($node->getOrderNr());
495 }
496
497 // save and cancel commands
498 if ($a_mode == "create") {
499 $this->form->addCommandButton("saveTaxNode", $lng->txt("save"));
500 $this->form->addCommandButton("listNodes", $lng->txt("cancel"));
501 $this->form->setTitle($lng->txt("tax_new_tax_node"));
502 } else {
503 $this->form->addCommandButton("updateTaxNode", $lng->txt("save"));
504 $this->form->addCommandButton("listNodes", $lng->txt("cancel"));
505 $this->form->setTitle($lng->txt("tax_edit_tax_node"));
506 }
507
508 $this->form->setFormAction($ilCtrl->getFormAction($this));
509 }
510
515 public function saveTaxNode()
516 {
519 $ilCtrl = $this->ctrl;
520
521 $this->initTaxNodeForm("create");
522 if ($this->form->checkInput()) {
523 $tax = $this->getCurrentTaxonomy();
524
525 // create node
526 include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
527 $node = new ilTaxonomyNode();
528 $node->setTitle($this->form->getInput("title"));
529
530 $tax = $this->getCurrentTaxonomy();
531 if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL) {
532 $order_nr = $this->form->getInput("order_nr");
533 }
534 if ($order_nr === "") {
535 $order_nr = ilTaxonomyNode::getNextOrderNr($tax->getId(), (int) $_GET["tax_node"]);
536 }
537 //echo $order_nr; exit;
538 $node->setOrderNr($order_nr);
539 $node->setTaxonomyId($tax->getId());
540 $node->create();
541
542 // put in tree
543 ilTaxonomyNode::putInTree($tax->getId(), $node, (int) $_GET["tax_node"]);
544
545 ilTaxonomyNode::fixOrderNumbers($tax->getId(), (int) $_GET["tax_node"]);
546
547 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
548 $ilCtrl->redirect($this, "listNodes");
549 } else {
550 $this->form->setValuesByPost();
551 $tpl->setContent($this->form->getHtml());
552 }
553 }
554
555
559 public function updateTaxNode()
560 {
562 $ilCtrl = $this->ctrl;
564
565 $this->initTaxNodeForm("edit");
566 if ($this->form->checkInput()) {
567 // create node
568 $node = new ilTaxonomyNode($_GET["tax_node"]);
569 $node->setTitle($this->form->getInput("title"));
570
571 $tax = $this->getCurrentTaxonomy();
572 if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL) {
573 $node->setOrderNr($this->form->getInput("order_nr"));
574 }
575
576 $node->update();
577
578 ilUtil::sendInfo($lng->txt("msg_obj_modified"), true);
579 $ilCtrl->redirect($this, "");
580 } else {
581 $this->form->setValuesByPost();
582 $tpl->setContent($this->form->getHtml());
583 }
584 }
585
589 public function deleteItems()
590 {
593 $ilCtrl = $this->ctrl;
594 $ilTabs = $this->tabs;
595 $ilHelp = $this->help;
596
597 if (!isset($_POST["id"])) {
598 ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
599 $ilCtrl->redirect($this, "listNodes");
600 }
601
602 $this->setTabs("list_items");
603 $ilHelp->setSubScreenId("del_items");
604
605 // $ilTabs->clearTargets();
606
607 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
608 $confirmation_gui = new ilConfirmationGUI();
609
610 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
611 $confirmation_gui->setHeaderText($this->lng->txt("info_delete_sure"));
612
613 // Add items to delete
614 include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
615 foreach ($_POST["id"] as $id) {
616 $confirmation_gui->addItem(
617 "id[]",
618 $id,
620 );
621 }
622
623 $confirmation_gui->setCancel($lng->txt("cancel"), "listNodes");
624 $confirmation_gui->setConfirm($lng->txt("confirm"), "confirmedDelete");
625
626 $tpl->setContent($confirmation_gui->getHTML());
627 }
628
632 public function confirmedDelete()
633 {
634 $ilCtrl = $this->ctrl;
635
636 include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
637
638 // delete all selected objects
639 foreach ($_POST["id"] as $id) {
640 $node = new ilTaxonomyNode($id);
641 $tax = new ilObjTaxonomy($node->getTaxonomyId());
642 $tax_tree = $tax->getTree();
643 $node_data = $tax_tree->getNodeData($id);
644 if (is_object($node)) {
645 $node->delete();
646 }
647 if ($tax_tree->isInTree($id)) {
648 $tax_tree->deleteTree($node_data);
649 }
650 ilTaxonomyNode::fixOrderNumbers($node->getTaxonomyId(), $node_data["parent"]);
651 }
652
653 // feedback
654 ilUtil::sendInfo($this->lng->txt("info_deleted"), true);
655
656 $ilCtrl->redirect($this, "listNodes");
657 }
658
665 public function saveSorting()
666 {
667 $ilCtrl = $this->ctrl;
669
670 // save sorting
671 include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
672 if (is_array($_POST["order"])) {
673 // asort($_POST["order"]);
674 // $cnt = 10;
675 foreach ($_POST["order"] as $k => $v) {
677 }
679 }
680
681 // save titles
682 if (is_array($_POST["title"])) {
683 foreach ($_POST["title"] as $k => $v) {
685 (int) $k,
687 );
688 }
689 }
690
691
692 ilUtil::sendSuccess($lng->txt("msg_obj_modified"));
693 $ilCtrl->redirect($this, "listNodes");
694 }
695
699 public function moveItems()
700 {
702 $ilCtrl = $this->ctrl;
704 $ilToolbar = $this->toolbar;
705 $ilHelp = $this->help;
706
707 if (!isset($_POST["id"])) {
708 ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
709 $ilCtrl->redirect($this, "listNodes");
710 }
711
712 $this->setTabs("list_items");
713 $ilHelp->setSubScreenId("move_items");
714
715 $ilToolbar->addButton(
716 $lng->txt("cancel"),
717 $ilCtrl->getLinkTarget($this, "listNodes")
718 );
719
720 ilUtil::sendInfo($lng->txt("tax_please_select_target"));
721
722 if (is_array($_POST["id"])) {
723 $ilCtrl->setParameter($this, "move_ids", implode(",", $_POST["id"]));
724
727 $ilCtrl = $this->ctrl;
729
730 include_once("./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
731 $tax_exp = new ilTaxonomyExplorerGUI(
732 $this,
733 "moveItems",
734 $this->getCurrentTaxonomy()->getId(),
735 "ilobjtaxonomygui",
736 "pasteItems"
737 );
738 if (!$tax_exp->handleCommand()) {
739 //$tpl->setLeftNavContent($tax_exp->getHTML());
740 $tpl->setContent($tax_exp->getHTML() . "&nbsp;");
741 }
742 }
743 }
744
748 public function pasteItems()
749 {
751 $ilCtrl = $this->ctrl;
752 //var_dump($_GET);
753 //var_dump($_POST);
754 if ($_GET["move_ids"] != "") {
755 $move_ids = explode(",", $_GET["move_ids"]);
756 $tax = $this->getCurrentTaxonomy();
757 $tree = $tax->getTree();
758
759 include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
760 $target_node = new ilTaxonomyNode((int) $_GET["tax_node"]);
761 foreach ($move_ids as $m_id) {
762 // cross check taxonomy
763 $node = new ilTaxonomyNode((int) $m_id);
764 if ($node->getTaxonomyId() == $tax->getId() &&
765 ($target_node->getTaxonomyId() == $tax->getId() ||
766 $target_node->getId() == $tree->readRootId())) {
767 // check if target is not within the selected nodes
768 if ($tree->isGrandChild((int) $m_id, $target_node->getId()) ||
769 $m_id == $target_node->getId()) {
770 ilUtil::sendFailure($lng->txt("tax_target_within_nodes"), true);
771 $this->ctrl->redirect($this, "listNodes");
772 }
773
774 // if target is not current place, move
775 $parent_id = $tree->getParentId((int) $m_id);
776 if ($parent_id != $target_node->getId()) {
777 $tree->moveTree((int) $m_id, $target_node->getId());
778 ilTaxonomyNode::fixOrderNumbers($tax->getId(), $target_node->getId());
780 }
781 }
782 }
783 }
784
785 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
786 $ilCtrl->redirect($this, "listNodes");
787 }
788
792 public function confirmDeleteTaxonomy()
793 {
794 $ilCtrl = $this->ctrl;
797
798 $tax = $this->getCurrentTaxonomy();
799
800 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
801 $cgui = new ilConfirmationGUI();
802 $cgui->setFormAction($ilCtrl->getFormAction($this));
803 $cgui->setHeaderText($lng->txt("tax_confirm_deletion"));
804 $cgui->setCancel($lng->txt("cancel"), "listTaxonomies");
805 $cgui->setConfirm($lng->txt("delete"), "deleteTaxonomy");
806
807 $cgui->addItem("id[]", $i, $tax->getTitle());
808
809 $tpl->setContent($cgui->getHTML());
810 }
811
818 public function deleteTaxonomy()
819 {
820 $ilCtrl = $this->ctrl;
822
823 $tax = $this->getCurrentTaxonomy();
824 $tax->delete();
825
826 ilUtil::sendSuccess($lng->txt("tax_tax_deleted"), true);
827 $ilCtrl->redirect($this, "listTaxonomies");
828 }
829
836 public function listTaxonomies()
837 {
839 $ilToolbar = $this->toolbar;
841 $ilCtrl = $this->ctrl;
842
844 if (count($tax_ids) == 0 || $this->getMultiple()) {
845 $ilToolbar->addButton(
846 $lng->txt("tax_add_taxonomy"),
847 $ilCtrl->getLinkTarget($this, "createAssignedTaxonomy")
848 );
849 } else {
850 ilUtil::sendInfo($lng->txt("tax_max_one_tax"));
851 }
852
853 include_once("./Services/Taxonomy/classes/class.ilTaxonomyListTableGUI.php");
854
855 $tab = new ilTaxonomyListTableGUI(
856 $this,
857 "listTaxonomies",
858 $this->getAssignedObject(),
859 $this->getListInfo()
860 );
861
862 $tpl->setContent($tab->getHTML());
863 }
864
870 public function setTabs($a_id = "")
871 {
872 $ilTabs = $this->tabs;
873 $ilCtrl = $this->ctrl;
876 $ilHelp = $this->help;
877
878 $ilTabs->clearTargets();
879
880 $ilHelp->setScreenIdComponent("tax");
881
883 $tpl->setDescription(ilObject::_lookupDescription($this->getCurrentTaxonomyId()));
884 $tpl->setTitleIcon(ilUtil::getImagePath("icon_tax.svg"));
885
886 $ilTabs->setBackTarget(
887 $lng->txt("back"),
888 $ilCtrl->getLinkTarget($this, "listTaxonomies")
889 );
890
891 $ilTabs->addTab(
892 "list_items",
893 $lng->txt("tax_nodes"),
894 $ilCtrl->getLinkTarget($this, "listNodes")
895 );
896 if ($this->assigned_item_sorting) {
897 $ilTabs->addTab(
898 "ass_items",
899 $lng->txt("tax_assigned_items"),
900 $ilCtrl->getLinkTarget($this, "listAssignedItems")
901 );
902 }
903 $ilTabs->addTab(
904 "settings",
905 $lng->txt("settings"),
906 $ilCtrl->getLinkTarget($this, "editSettings")
907 );
908
909 $ilTabs->activateTab($a_id);
910 }
911
918 public function editSettings()
919 {
921
922 $this->setTabs("settings");
923
924 $form = $this->initSettingsForm();
925 $tpl->setContent($form->getHTML());
926 }
927
931 public function initSettingsForm()
932 {
934 $ilCtrl = $this->ctrl;
935
936 $tax = $this->getCurrentTaxonomy();
937
938 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
939 $form = new ilPropertyFormGUI();
940
941 // title
942 $ti = new ilTextInputGUI($lng->txt("title"), "title");
943 $ti->setMaxLength(200);
944 $form->addItem($ti);
945 $ti->setValue($tax->getTitle());
946
947 // description
948 $ta = new ilTextAreaInputGUI($lng->txt("description"), "description");
949 //$ta->setCols();
950 //$ta->setRows();
951 $form->addItem($ta);
952 $ta->setValue($tax->getDescription());
953
954 // sorting
955 $options = array(
956 ilObjTaxonomy::SORT_ALPHABETICAL => $lng->txt("tax_alphabetical"),
957 ilObjTaxonomy::SORT_MANUAL => $lng->txt("tax_manual")
958 );
959 $si = new ilSelectInputGUI($lng->txt("tax_node_sorting"), "sorting");
960 $si->setOptions($options);
961 $form->addItem($si);
962 $si->setValue($tax->getSortingMode());
963
964 // assigned item sorting
965 if ($this->assigned_item_sorting) {
966 $cb = new ilCheckboxInputGUI($lng->txt("tax_item_sorting"), "item_sorting");
967 $cb->setChecked($tax->getItemSorting());
968 $form->addItem($cb);
969 }
970
971 $form->addCommandButton("updateSettings", $lng->txt("save"));
972
973 $form->setTitle($lng->txt("settings"));
974 $form->setFormAction($ilCtrl->getFormAction($this));
975
976 return $form;
977 }
978
982 public function updateSettings()
983 {
986 $ilCtrl = $this->ctrl;
987
988 $form = $this->initSettingsForm();
989 if ($form->checkInput()) {
990 $tax = $this->getCurrentTaxonomy();
991 $tax->setTitle($form->getInput("title"));
992 $tax->setDescription($form->getInput("description"));
993 $tax->setSortingMode($form->getInput("sorting"));
994 $tax->setItemSorting($form->getInput("item_sorting"));
995 $tax->update();
996
997 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
998 $ilCtrl->redirect($this, "editSettings");
999 } else {
1000 $form->setValuesByPost();
1001 $tpl->setContent($form->getHtml());
1002 }
1003 }
1004
1011 public function listAssignedItems()
1012 {
1013 $tpl = $this->tpl;
1014 $ilToolbar = $this->toolbar;
1015 $lng = $this->lng;
1016 $ilCtrl = $this->ctrl;
1017
1018 $tax = $this->getCurrentTaxonomy();
1019
1020 $this->setTabs("ass_items");
1021
1022 // show tree
1023 $this->showTree(true);
1024
1025 // list assigned items
1026 include_once("./Services/Taxonomy/classes/class.ilTaxAssignedItemsTableGUI.php");
1027 $table = new ilTaxAssignedItemsTableGUI(
1028 $this,
1029 "listAssignedItems",
1030 (int) $_GET["tax_node"],
1031 $this->getCurrentTaxonomy(),
1032 $this->assigned_item_comp_id,
1033 $this->assigned_item_obj_id,
1034 $this->assigned_item_type,
1035 $this->assigned_item_info_obj
1036 );
1037
1038 $tpl->setContent($table->getHTML());
1039 }
1040
1048 {
1049 $lng = $this->lng;
1050 $ilCtrl = $this->ctrl;
1051
1052 include_once("./Services/Taxonomy/classes/class.ilTaxNodeAssignment.php");
1053 if (is_array($_POST["order"])) {
1054 $order = $_POST["order"];
1055 //asort($order, SORT_NUMERIC);
1056 //$cnt = 10;
1057 $tax_node = (int) $_GET["tax_node"];
1058 foreach ($order as $a_item_id => $ord_nr) {
1059 $tax_ass = new ilTaxNodeAssignment(
1060 $this->assigned_item_comp_id,
1061 $this->assigned_item_obj_id,
1062 $this->assigned_item_type,
1063 $this->getCurrentTaxonomyId()
1064 );
1065 $tax_ass->setOrderNr($tax_node, $a_item_id, $ord_nr);
1066 //$cnt+= 10;
1067 }
1068 $tax_ass = new ilTaxNodeAssignment(
1069 $this->assigned_item_comp_id,
1070 $this->assigned_item_obj_id,
1071 $this->assigned_item_type,
1072 $this->getCurrentTaxonomyId()
1073 );
1074 $tax_ass->fixOrderNr($tax_node);
1075 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
1076 }
1077 $ilCtrl->redirect($this, "listAssignedItems");
1078 }
1079}
user()
Definition: user.php:4
$_GET["client_id"]
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
This class represents a checkbox property in a property form.
Confirmation screen class.
Taxonomy GUI class.
pasteItems()
Paste items (move operation)
createTaxNode()
Create tax node.
confirmDeleteTaxonomy()
Confirm taxonomy deletion.
saveSorting()
Save settings and sorting.
deleteItems()
Confirm deletion screen for items.
afterSave(ilObject $a_new_object)
After saving,.
listTaxonomies()
List taxonomies.
editSettings()
Edit settings.
executeCommand()
Execute command.
confirmedDelete()
Delete taxonomy nodes.
createAssignedTaxonomy()
Create assigned taxonomy.
__construct($a_id=0)
Execute command.
initCreationForms($a_new_type)
Init creation forms.
setTabs($a_id="")
Set tabs.
updateTaxNode()
Update tax node.
activateAssignedItemSorting(ilTaxAssignedItemInfo $a_item_info_obj, $a_component_id, $a_obj_id, $a_item_type)
Activate sorting mode of assigned objects.
setMultiple($a_val)
Set multiple.
showTree($a_ass_items=false)
Show Editing Tree.
deleteTaxonomy()
Delete taxonomy.
updateSettings()
Update taxonomy settings.
static getTreeHTML( $a_tax_id, $a_class, $a_cmd, $a_target_class, $a_target_cmd, $a_root_node_title="")
Get tree html.
saveAssignedItemsSorting()
Save assigned items sorting.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
If we run under an assigned object, the permission should be checked on the upper level.
initTaxNodeForm($a_mode="edit")
Init tax node form.
getCurrentTaxonomy()
Get current taxonomy.
getListInfo()
Get list info.
setListInfo($a_val)
Set list info.
getCurrentTaxonomyId()
Get current taxonomy id.
listAssignedItems()
List assigned items.
cancel()
Cancel creation.
setAssignedObject($a_val)
Set assigned object.
saveTaxNode()
Save tax node form.
getAssignedObject()
Get assigned object.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
static saveUsage($a_tax_id, $a_obj_id)
Save Usage.
New implementation of ilObjectGUI.
create()
Deleted in ilObject.
setTabs()
create tabs (repository/workspace switch)
initCreateForm($a_new_type)
Init object creation form.
Class ilObject Basic functions for all objects.
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
getId()
get object id @access public
This class represents a property form user interface.
This class represents a selection list property in a property form.
TableGUI class for taxonomy list.
Taxonomy node <-> item assignment.
Taxonomy explorer GUI class.
TableGUI class for taxonomy list.
static writeOrderNr($a_node_id, $a_order_nr)
Write order nr.
static fixOrderNumbers($a_tax_id, $a_parent_id)
Fix order numbers.
static putInTree( $a_tax_id, $a_node, $a_parent_id="", $a_target_node_id="", $a_order_nr=0)
Put this node into the taxonomy tree.
static writeTitle($a_node_id, $a_title)
Write title.
static _lookupTitle($a_obj_id)
Lookup Title.
static getNextOrderNr($a_tax_id, $a_parent_id)
Put this node into the taxonomy tree.
TableGUI class for taxonomies.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
global $DIC
Definition: goto.php:24
help()
Definition: help.php:2
$ilUser
Definition: imgupload.php:18
Interface for assigned items of taxonomies.
$i
Definition: metadata.php:24
multiple()
Definition: multiple.php:5
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc