ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 
4 require_once "./Services/Object/classes/class.ilObject2GUI.php";
5 require_once "./Services/Taxonomy/classes/class.ilObjTaxonomy.php";
6 include_once("./Services/Taxonomy/interfaces/interface.ilTaxAssignedItemInfo.php");
7 
19 {
20  protected $multiple = false;
21  protected $assigned_item_sorting = false;
22 
26  function __construct($a_id = 0)
27  {
28  global $ilCtrl, $lng;
29 
30  parent::__construct($a_id, ilObject2GUI::OBJECT_ID);
31 
32  $ilCtrl->saveParameter($this, "tax_node");
33  $ilCtrl->saveParameter($this, "tax_id");
34 
35  $lng->loadLanguageModule("tax");
36  }
37 
43  function getType()
44  {
45  return "tax";
46  }
47 
53  function setAssignedObject($a_val)
54  {
55  $this->assigned_object_id = $a_val;
56  }
57 
63  function getAssignedObject()
64  {
65  return $this->assigned_object_id;
66  }
67 
73  function setMultiple($a_val)
74  {
75  $this->multiple = $a_val;
76  }
77 
83  function getMultiple()
84  {
85  return $this->multiple;
86  }
87 
93  function setListInfo($a_val)
94  {
95  $this->list_info = trim($a_val);
96  }
97 
103  function getListInfo()
104  {
105  return $this->list_info;
106  }
107 
113  function activateAssignedItemSorting(ilTaxAssignedItemInfo $a_item_info_obj, $a_component_id, $a_obj_id, $a_item_type)
114  {
115  $this->assigned_item_sorting = true;
116  $this->assigned_item_info_obj = $a_item_info_obj;
117  $this->assigned_item_comp_id = $a_component_id;
118  $this->assigned_item_obj_id = $a_obj_id;
119  $this->assigned_item_type = $a_item_type;
120  }
121 
122 
126  function executeCommand()
127  {
128  global $ilCtrl, $ilUser, $ilTabs;
129 
130  $next_class = $ilCtrl->getNextClass();
131 
132  switch ($next_class)
133  {
134  default:
135  $cmd = $ilCtrl->getCmd("listTaxonomies");
136  $this->$cmd();
137  break;
138  }
139  }
140 
144  protected function initCreationForms($a_new_type)
145  {
146  $forms = array(
147  self::CFORM_NEW => $this->initCreateForm("tax")
148  );
149 
150  return $forms;
151  }
152 
153 
157 
165  {
166  global $ilToolbar, $ilCtrl, $lng;
167 
168 
169 // if (count($tax_ids) != 0 && !$this->getMultiple())
170 // {
171 // $this->listNodes();
172 // }
173 // else if ($this->getMultiple())
174 // {
175  $this->listTaxonomies();
176 // }
177 
178  // currently we support only one taxonomy, otherwise we may need to provide
179  // a list here
180 
181  }
182 
190  {
192  $tax_id = (int) $_GET["tax_id"];
193  if (in_array($tax_id, $tax_ids))
194  {
195  return $tax_id;
196  }
197  return false;
198  }
199 
200 
208  {
209  $tax_id = $this->getCurrentTaxonomyId();
210  if ($tax_id > 0)
211  {
212  $tax = new ilObjTaxonomy($tax_id);
213  return $tax;
214  }
215 
216  return false;
217  }
218 
219 
226  function listNodes()
227  {
228  global $tpl, $ilToolbar, $lng, $ilCtrl;
229 
230  $tax = $this->getCurrentTaxonomy();
231 
232  $this->setTabs("list_items");
233 
234  // show toolbar
235  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
236  $ilToolbar->addFormButton($lng->txt("tax_create_node"), "createTaxNode");
237 
238  $ilToolbar->setCloseFormTag(false);
239 
240 
241  // show tree
242  $this->showTree();
243 
244  // show subitems
245  include_once("./Services/Taxonomy/classes/class.ilTaxonomyTableGUI.php");
246  $table = new ilTaxonomyTableGUI($this, "listNodes", $tax->getTree(),
247  (int) $_GET["tax_node"], $this->getCurrentTaxonomy());
248  $table->setOpenFormTag(false);
249 
250  $tpl->setContent($table->getHTML());
251  }
252 
253 
261  {
262  $this->create();
263  }
264 
265 
270  protected function checkPermissionBool($a_perm, $a_cmd = "", $a_type = "", $a_node_id = null)
271  {
272  if ($this->getAssignedObject() > 0)
273  {
274  return true;
275  }
276  else
277  {
278  return parent::checkPermissionBool($a_perm, $a_cmd, $a_type, $a_node_id);
279  }
280  }
281 
288  function cancel()
289  {
290  global $ilCtrl;
291 
292  if ($this->getAssignedObject() > 0)
293  {
294  $ilCtrl->redirect($this, "listTaxonomies");
295  }
296 
297  return parent::cancel();
298  }
299 
306  function save()
307  {
308  global $ilCtrl;
309 
310  if ($this->getAssignedObject() > 0)
311  {
312  $_REQUEST["new_type"] = "tax";
313  }
314 
315  parent::saveObject();
316  }
317 
324  protected function afterSave(ilObject $a_new_object)
325  {
326  global $ilCtrl, $lng;
327 
328  if ($this->getAssignedObject() > 0)
329  {
330  ilObjTaxonomy::saveUsage($a_new_object->getId(),
331  $this->getAssignedObject());
332  $ilCtrl->setParameter($this, "tax_id", $a_new_object->getId());
333  ilUtil::sendSuccess($lng->txt("tax_added"), true);
334  $ilCtrl->redirect($this, "editSettings");
335  }
336  }
337 
341  function showTree($a_ass_items = false)
342  {
343  global $ilUser, $tpl, $ilCtrl, $lng;
344 
345  $tax = $this->getCurrentTaxonomy();
346 
347  include_once("./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
348  $cmd = $a_ass_items
349  ? "listAssignedItems"
350  : "listNodes";
351  $tax_exp = new ilTaxonomyExplorerGUI($this, "showTree", $tax->getId(),
352  "ilobjtaxonomygui", $cmd);
353  if (!$tax_exp->handleCommand())
354  {
355  //$tpl->setLeftNavContent($tax_exp->getHTML());
356  $tpl->setLeftContent($tax_exp->getHTML()."&nbsp;");
357  }
358  return;
359  }
360 
367  static function getTreeHTML($a_tax_id, $a_class, $a_cmd,
368  $a_target_class, $a_target_cmd, $a_root_node_title = "")
369  {
370 die("ilObjTaxonomyGUI::getTreeHTML is deprecated.");
371  include_once("./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
372  $tax_exp = new ilTaxonomyExplorerGUI($a_class, $a_cmd, $a_tax_id,
373  $a_target_class, $a_target_cmd);
374  if (!$tax_exp->handleCommand())
375  {
376  return $tax_exp->getHTML()."&nbsp;";
377  }
378  return;
379  }
380 
381 
388  function createTaxNode()
389  {
390  global $tpl, $ilHelp;
391 
392  $this->setTabs("list_items");
393  $ilHelp->setSubScreenId("create_node");
394 
395  $this->initTaxNodeForm("create");
396  $tpl->setContent($this->form->getHTML());
397  }
398 
399 
405  public function initTaxNodeForm($a_mode = "edit")
406  {
407  global $lng, $ilCtrl;
408 
409  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
410  $this->form = new ilPropertyFormGUI();
411 
412  // title
413  $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
414  $this->form->addItem($ti);
415 
416  // order nr
417  $tax = $this->getCurrentTaxonomy();
418  if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL)
419  {
420  $or = new ilTextInputGUI($this->lng->txt("tax_order_nr"), "order_nr");
421  $or->setMaxLength(5);
422  $or->setSize(5);
423  $this->form->addItem($or);
424  }
425 
426  if ($a_mode == "edit")
427  {
428  $node = new ilTaxonomyNode((int) $_GET["tax_node"]);
429  $ti->setValue($node->getTitle());
430  $or->setValue($node->getOrderNr());
431  }
432 
433  // save and cancel commands
434  if ($a_mode == "create")
435  {
436  $this->form->addCommandButton("saveTaxNode", $lng->txt("save"));
437  $this->form->addCommandButton("listNodes", $lng->txt("cancel"));
438  $this->form->setTitle($lng->txt("tax_new_tax_node"));
439  }
440  else
441  {
442  $this->form->addCommandButton("updateTaxNode", $lng->txt("save"));
443  $this->form->addCommandButton("listNodes", $lng->txt("cancel"));
444  $this->form->setTitle($lng->txt("tax_edit_tax_node"));
445  }
446 
447  $this->form->setFormAction($ilCtrl->getFormAction($this));
448 
449  }
450 
455  public function saveTaxNode()
456  {
457  global $tpl, $lng, $ilCtrl;
458 
459  $this->initTaxNodeForm("create");
460  if ($this->form->checkInput())
461  {
462  $tax = $this->getCurrentTaxonomy();
463 
464  // create node
465  include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
466  $node = new ilTaxonomyNode();
467  $node->setTitle($this->form->getInput("title"));
468 
469  $tax = $this->getCurrentTaxonomy();
470  if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL)
471  {
472  $order_nr = $this->form->getInput("order_nr");
473  }
474  if ($order_nr === "")
475  {
476  $order_nr = ilTaxonomyNode::getNextOrderNr($tax->getId(), (int) $_GET["tax_node"]);
477  }
478  //echo $order_nr; exit;
479  $node->setOrderNr($order_nr);
480  $node->setTaxonomyId($tax->getId());
481  $node->create();
482 
483  // put in tree
484  ilTaxonomyNode::putInTree($tax->getId(), $node, (int) $_GET["tax_node"]);
485 
486  ilTaxonomyNode::fixOrderNumbers($tax->getId(), (int) $_GET["tax_node"]);
487 
488  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
489  $ilCtrl->redirect($this, "listNodes");
490  }
491  else
492  {
493  $this->form->setValuesByPost();
494  $tpl->setContent($this->form->getHtml());
495  }
496  }
497 
498 
502  function updateTaxNode()
503  {
504  global $lng, $ilCtrl, $tpl;
505 
506  $this->initTaxNodeForm("edit");
507  if ($this->form->checkInput())
508  {
509  // create node
510  $node = new ilTaxonomyNode($_GET["tax_node"]);
511  $node->setTitle($this->form->getInput("title"));
512 
513  $tax = $this->getCurrentTaxonomy();
514  if ($tax->getSortingMode() == ilObjTaxonomy::SORT_MANUAL)
515  {
516  $node->setOrderNr($this->form->getInput("order_nr"));
517  }
518 
519  $node->update();
520 
521  ilUtil::sendInfo($lng->txt("msg_obj_modified"), true);
522  $ilCtrl->redirect($this, "");
523  }
524  else
525  {
526  $this->form->setValuesByPost();
527  $tpl->setContent($this->form->getHtml());
528  }
529  }
530 
534  function deleteItems()
535  {
536  global $lng, $tpl, $ilCtrl, $ilTabs, $ilHelp;
537 
538  if(!isset($_POST["id"]))
539  {
540  ilUtil::sendFailure($this->lng->txt("no_checkbox"),true);
541  $ilCtrl->redirect($this, "listNodes");
542  }
543 
544  $this->setTabs("list_items");
545  $ilHelp->setSubScreenId("del_items");
546 
547 // $ilTabs->clearTargets();
548 
549  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
550  $confirmation_gui = new ilConfirmationGUI();
551 
552  $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
553  $confirmation_gui->setHeaderText($this->lng->txt("info_delete_sure"));
554 
555  // Add items to delete
556  include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
557  foreach($_POST["id"] as $id)
558  {
559  $confirmation_gui->addItem("id[]", $id,
561  }
562 
563  $confirmation_gui->setCancel($lng->txt("cancel"), "listNodes");
564  $confirmation_gui->setConfirm($lng->txt("confirm"), "confirmedDelete");
565 
566  $tpl->setContent($confirmation_gui->getHTML());
567  }
568 
572  function confirmedDelete()
573  {
574  global $ilCtrl;
575 
576  include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
577 
578  // delete all selected objects
579  foreach ($_POST["id"] as $id)
580  {
581  $node = new ilTaxonomyNode($id);
582  $tax = new ilObjTaxonomy($node->getTaxonomyId());
583  $tax_tree = $tax->getTree();
584  $node_data = $tax_tree->getNodeData($id);
585  if (is_object($node))
586  {
587  $node->delete();
588  }
589  if($tax_tree->isInTree($id))
590  {
591  $tax_tree->deleteTree($node_data);
592  }
593  ilTaxonomyNode::fixOrderNumbers($node->getTaxonomyId(), $node_data["parent"]);
594  }
595 
596  // feedback
597  ilUtil::sendInfo($this->lng->txt("info_deleted"),true);
598 
599  $ilCtrl->redirect($this, "listNodes");
600  }
601 
608  function saveSorting()
609  {
610  global $ilCtrl, $lng;
611 
612  // save sorting
613  include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
614  if (is_array($_POST["order"]))
615  {
616 // asort($_POST["order"]);
617 // $cnt = 10;
618  foreach ($_POST["order"] as $k => $v)
619  {
621  }
622  ilTaxonomyNode::fixOrderNumbers($this->getCurrentTaxonomyId(), (int) $_GET["tax_node"]);
623  }
624 
625  // save titles
626  if (is_array($_POST["title"]))
627  {
628  foreach ($_POST["title"] as $k => $v)
629  {
632  }
633  }
634 
635 
636  ilUtil::sendSuccess($lng->txt("msg_obj_modified"));
637  $ilCtrl->redirect($this, "listNodes");
638  }
639 
643  function moveItems()
644  {
645  global $tpl, $ilCtrl, $lng, $ilToolbar, $ilHelp;
646 
647  if(!isset($_POST["id"]))
648  {
649  ilUtil::sendFailure($this->lng->txt("no_checkbox"),true);
650  $ilCtrl->redirect($this, "listNodes");
651  }
652 
653  $this->setTabs("list_items");
654  $ilHelp->setSubScreenId("move_items");
655 
656  $ilToolbar->addButton($lng->txt("cancel"),
657  $ilCtrl->getLinkTarget($this, "listNodes"));
658 
659  ilUtil::sendInfo($lng->txt("tax_please_select_target"));
660 
661  if (is_array($_POST["id"]))
662  {
663  $ilCtrl->setParameter($this, "move_ids", implode($_POST["id"], ","));
664 
665  global $ilUser, $tpl, $ilCtrl, $lng;
666 
667  include_once("./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
668  $tax_exp = new ilTaxonomyExplorerGUI($this, "moveItems", $this->getCurrentTaxonomy()->getId(),
669  "ilobjtaxonomygui", "pasteItems");
670  if (!$tax_exp->handleCommand())
671  {
672  //$tpl->setLeftNavContent($tax_exp->getHTML());
673  $tpl->setContent($tax_exp->getHTML()."&nbsp;");
674  }
675  }
676  }
677 
681  function pasteItems()
682  {
683  global $lng, $ilCtrl;
684 //var_dump($_GET);
685 //var_dump($_POST);
686  if ($_GET["move_ids"] != "")
687  {
688  $move_ids = explode(",", $_GET["move_ids"]);
689  $tax = $this->getCurrentTaxonomy();
690  $tree = $tax->getTree();
691 
692  include_once("./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
693  $target_node = new ilTaxonomyNode((int) $_GET["tax_node"]);
694  foreach ($move_ids as $m_id)
695  {
696  // cross check taxonomy
697  $node = new ilTaxonomyNode((int) $m_id);
698  if ($node->getTaxonomyId() == $tax->getId() &&
699  ($target_node->getTaxonomyId() == $tax->getId() ||
700  $target_node->getId() == $tree->readRootId()))
701  {
702  // check if target is not within the selected nodes
703  if($tree->isGrandChild((int) $m_id, $target_node->getId()))
704  {
705  ilUtil::sendFailure($lng->txt("tax_target_within_nodes"), true);
706  $this->ctrl->redirect($this, "listNodes");
707  }
708 
709  // if target is not current place, move
710  $parent_id = $tree->getParentId((int) $m_id);
711  if ($parent_id != $target_node->getId())
712  {
713  $tree->moveTree((int) $m_id, $target_node->getId());
714  ilTaxonomyNode::fixOrderNumbers($tax->getId(), $target_node->getId());
716  }
717  }
718  }
719  }
720 
721  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
722  $ilCtrl->redirect($this, "listNodes");
723  }
724 
729  {
730  global $ilCtrl, $tpl, $lng;
731 
732  $tax = $this->getCurrentTaxonomy();
733 
734  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
735  $cgui = new ilConfirmationGUI();
736  $cgui->setFormAction($ilCtrl->getFormAction($this));
737  $cgui->setHeaderText($lng->txt("tax_confirm_deletion"));
738  $cgui->setCancel($lng->txt("cancel"), "listTaxonomies");
739  $cgui->setConfirm($lng->txt("delete"), "deleteTaxonomy");
740 
741  $cgui->addItem("id[]", $i, $tax->getTitle());
742 
743  $tpl->setContent($cgui->getHTML());
744  }
745 
752  function deleteTaxonomy()
753  {
754  global $ilCtrl, $lng;
755 
756  $tax = $this->getCurrentTaxonomy();
757  $tax->delete();
758 
759  ilUtil::sendSuccess($lng->txt("tax_tax_deleted"), true);
760  $ilCtrl->redirect($this, "listTaxonomies");
761  }
762 
769  function listTaxonomies()
770  {
771  global $tpl, $ilToolbar, $lng, $ilCtrl;
772 
774  if (count($tax_ids) == 0 || $this->getMultiple())
775  {
776  $ilToolbar->addButton($lng->txt("tax_add_taxonomy"),
777  $ilCtrl->getLinkTarget($this, "createAssignedTaxonomy"));
778  }
779  else
780  {
781  ilUtil::sendInfo($lng->txt("tax_max_one_tax"));
782  }
783 
784  include_once("./Services/Taxonomy/classes/class.ilTaxonomyListTableGUI.php");
785 
786  $tab = new ilTaxonomyListTableGUI($this, "listTaxonomies", $this->getAssignedObject(),
787  $this->getListInfo());
788 
789  $tpl->setContent($tab->getHTML());
790  }
791 
797  function setTabs($a_id = "")
798  {
799  global $ilTabs, $ilCtrl, $tpl, $lng, $ilHelp;
800 
801  $ilTabs->clearTargets();
802 
803  $ilHelp->setScreenIdComponent("tax");
804 
805  $tpl->clearHeader();
806  $tpl->setTitle(ilObject::_lookupTitle($this->getCurrentTaxonomyId()));
807  $tpl->setDescription(ilObject::_lookupDescription($this->getCurrentTaxonomyId()));
808  $tpl->setTitleIcon(ilUtil::getImagePath("icon_tax.svg"));
809 
810  $ilTabs->setBackTarget($lng->txt("back"),
811  $ilCtrl->getLinkTarget($this, "listTaxonomies"));
812 
813  $ilTabs->addTab("list_items", $lng->txt("tax_nodes"),
814  $ilCtrl->getLinkTarget($this, "listNodes"));
815  if ($this->assigned_item_sorting)
816  {
817  $ilTabs->addTab("ass_items", $lng->txt("tax_assigned_items"),
818  $ilCtrl->getLinkTarget($this, "listAssignedItems"));
819  }
820  $ilTabs->addTab("settings", $lng->txt("settings"),
821  $ilCtrl->getLinkTarget($this, "editSettings"));
822 
823  $ilTabs->activateTab($a_id);
824  }
825 
832  function editSettings()
833  {
834  global $tpl;
835 
836  $this->setTabs("settings");
837 
838  $form = $this->initSettingsForm();
839  $tpl->setContent($form->getHTML());
840  }
841 
845  public function initSettingsForm()
846  {
847  global $lng, $ilCtrl;
848 
849  $tax = $this->getCurrentTaxonomy();
850 
851  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
852  $form = new ilPropertyFormGUI();
853 
854  // title
855  $ti = new ilTextInputGUI($lng->txt("title"), "title");
856  $ti->setMaxLength(200);
857  $form->addItem($ti);
858  $ti->setValue($tax->getTitle());
859 
860  // description
861  $ta = new ilTextAreaInputGUI($lng->txt("description"), "description");
862  //$ta->setCols();
863  //$ta->setRows();
864  $form->addItem($ta);
865  $ta->setValue($tax->getDescription());
866 
867  // sorting
868  $options = array(
869  ilObjTaxonomy::SORT_ALPHABETICAL => $lng->txt("tax_alphabetical"),
870  ilObjTaxonomy::SORT_MANUAL => $lng->txt("tax_manual")
871  );
872  $si = new ilSelectInputGUI($lng->txt("tax_node_sorting"), "sorting");
873  $si->setOptions($options);
874  $form->addItem($si);
875  $si->setValue($tax->getSortingMode());
876 
877  // assigned item sorting
878  if ($this->assigned_item_sorting)
879  {
880  $cb = new ilCheckboxInputGUI($lng->txt("tax_item_sorting"), "item_sorting");
881  $cb->setChecked($tax->getItemSorting());
882  $form->addItem($cb);
883  }
884 
885  $form->addCommandButton("updateSettings", $lng->txt("save"));
886 
887  $form->setTitle($lng->txt("settings"));
888  $form->setFormAction($ilCtrl->getFormAction($this));
889 
890  return $form;
891  }
892 
896  public function updateSettings()
897  {
898  global $tpl, $lng, $ilCtrl;
899 
900  $form = $this->initSettingsForm();
901  if ($form->checkInput())
902  {
903  $tax = $this->getCurrentTaxonomy();
904  $tax->setTitle($form->getInput("title"));
905  $tax->setDescription($form->getInput("description"));
906  $tax->setSortingMode($form->getInput("sorting"));
907  $tax->setItemSorting($form->getInput("item_sorting"));
908  $tax->update();
909 
910  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
911  $ilCtrl->redirect($this, "editSettings");
912  }
913  else
914  {
915  $form->setValuesByPost();
916  $tpl->setContent($form->getHtml());
917  }
918  }
919 
926  function listAssignedItems()
927  {
928  global $tpl, $ilToolbar, $lng, $ilCtrl;
929 
930  $tax = $this->getCurrentTaxonomy();
931 
932  $this->setTabs("ass_items");
933 
934  // show tree
935  $this->showTree(true);
936 
937  // list assigned items
938  include_once("./Services/Taxonomy/classes/class.ilTaxAssignedItemsTableGUI.php");
939  $table = new ilTaxAssignedItemsTableGUI($this, "listAssignedItems",
940  (int) $_GET["tax_node"], $this->getCurrentTaxonomy(), $this->assigned_item_comp_id,
941  $this->assigned_item_obj_id, $this->assigned_item_type, $this->assigned_item_info_obj);
942 
943  $tpl->setContent($table->getHTML());
944  }
945 
953  {
954  global $lng, $ilCtrl;
955 
956  include_once("./Services/Taxonomy/classes/class.ilTaxNodeAssignment.php");
957  if (is_array($_POST["order"]))
958  {
959  $order = $_POST["order"];
960  //asort($order, SORT_NUMERIC);
961  //$cnt = 10;
962  $tax_node = (int) $_GET["tax_node"];
963  foreach ($order as $a_item_id => $ord_nr)
964  {
965  $tax_ass = new ilTaxNodeAssignment($this->assigned_item_comp_id,
966  $this->assigned_item_obj_id,
967  $this->assigned_item_type, $this->getCurrentTaxonomyId());
968  $tax_ass->setOrderNr($tax_node, $a_item_id, $ord_nr);
969  //$cnt+= 10;
970  }
971  $tax_ass = new ilTaxNodeAssignment($this->assigned_item_comp_id,
972  $this->assigned_item_obj_id,
973  $this->assigned_item_type, $this->getCurrentTaxonomyId());
974  $tax_ass->fixOrderNr($tax_node);
975  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
976  }
977  $ilCtrl->redirect($this, "listAssignedItems");
978  }
979 
980 }
981 ?>
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
deleteTaxonomy()
Delete taxonomy.
setMultiple($a_val)
Set multiple.
__construct($a_id=0)
Execute command.
Taxonomy node <-> item assignment.
static getNextOrderNr($a_tax_id, $a_parent_id)
Put this node into the taxonomy tree.
static writeTitle($a_node_id, $a_title)
Write title.
setAssignedObject($a_val)
Set assigned object.
editSettings()
Edit settings.
This class represents a selection list property in a property form.
deleteItems()
Confirm deletion screen for items.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
This class represents a property form user interface.
saveTaxNode()
Save tax node form.
New implementation of ilObjectGUI.
cancel()
Cancel creation.
updateSettings()
Update taxonomy settings.
$_GET["client_id"]
getMultiple()
Get multiple.
Class ilObject Basic functions for all objects.
listTaxonomies()
List taxonomies.
TableGUI class for taxonomy list.
createTaxNode()
Create tax node.
$cmd
Definition: sahs_server.php:35
Taxonomy explorer GUI class.
create()
Deleted in ilObject.
activateAssignedItemSorting(ilTaxAssignedItemInfo $a_item_info_obj, $a_component_id, $a_obj_id, $a_item_type)
Activate sorting mode of assigned objects.
setValue($a_value)
Set Value.
This class represents a checkbox property in a property form.
executeCommand()
Execute command.
static _lookupTitle($a_id)
lookup object title
saveAssignedItemsSorting()
Save assigned items sorting.
createAssignedTaxonomy()
Create assigned taxonomy.
static _lookupTitle($a_obj_id)
Lookup Title.
confirmDeleteTaxonomy()
Confirm taxonomy deletion.
afterSave(ilObject $a_new_object)
After saving,.
getCurrentTaxonomyId()
Get current taxonomy id.
static writeOrderNr($a_node_id, $a_order_nr)
Write order nr.
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$a_type
Definition: workflow.php:93
setChecked($a_checked)
Set Checked.
if(!is_array($argv)) $options
getId()
get object id public
setTabs($a_id="")
Set tabs.
Taxonomy GUI class.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static _lookupDescription($a_id)
lookup object description
TableGUI class for taxonomies.
pasteItems()
Paste items (move operation)
This class represents a text property in a property form.
$ilUser
Definition: imgupload.php:18
updateTaxNode()
Update tax node.
setMaxLength($a_maxlength)
Set Max Length.
initCreateForm($a_new_type)
Init object creation form.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
setListInfo($a_val)
Set list info.
setOptions($a_options)
Set Options.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
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...
confirmedDelete()
Delete taxonomy nodes.
setTabs()
create tabs (repository/workspace switch)
Interface for assigned items of taxonomies.
listAssignedItems()
List assigned items.
static getTreeHTML($a_tax_id, $a_class, $a_cmd, $a_target_class, $a_target_cmd, $a_root_node_title="")
Get tree html.
initCreationForms($a_new_type)
Init creation forms.
static saveUsage($a_tax_id, $a_obj_id)
Save Usage.
initTaxNodeForm($a_mode="edit")
Init tax node form.
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.
This class represents a text area property in a property form.
saveSorting()
Save settings and sorting.
setOpenFormTag($a_val)
Set open form tag.
getCurrentTaxonomy()
Get current taxonomy.
TableGUI class for taxonomy list.
$_POST["username"]
showTree($a_ass_items=false)
Show Editing Tree.
getAssignedObject()
Get assigned object.
static fixOrderNumbers($a_tax_id, $a_parent_id)
Fix order numbers.
Confirmation screen class.
getListInfo()
Get list info.