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");
32 $ilCtrl->saveParameter($this,
"tax_node");
33 $ilCtrl->saveParameter($this,
"tax_id");
53 $this->assigned_object_id = $a_val;
63 return $this->assigned_object_id;
73 $this->multiple = $a_val;
93 $this->assigned_item_sorting =
true;
94 $this->assigned_item_info_obj = $a_item_info_obj;
95 $this->assigned_item_comp_id = $a_component_id;
96 $this->assigned_item_obj_id = $a_obj_id;
97 $this->assigned_item_type = $a_item_type;
108 $next_class = $ilCtrl->getNextClass();
113 $cmd = $ilCtrl->getCmd(
"listTaxonomies");
172 $tax_id = (int)
$_GET[
"tax_id"];
173 if (in_array($tax_id, $tax_ids))
215 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
216 $ilToolbar->addFormButton($lng->txt(
"tax_create_node"),
"createTaxNode");
218 $ilToolbar->setCloseFormTag(
false);
225 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyTableGUI.php");
230 $tpl->setContent($table->getHTML());
258 return parent::checkPermissionBool($a_perm, $a_cmd, $a_type, $a_node_id);
274 $ilCtrl->redirect($this,
"listTaxonomies");
277 return parent::cancel();
295 parent::saveObject();
312 $ilCtrl->setParameter($this,
"tax_id", $a_new_object->
getId());
314 $ilCtrl->redirect($this,
"editSettings");
327 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
329 ?
"listAssignedItems" 332 "ilobjtaxonomygui",
$cmd);
333 if (!$tax_exp->handleCommand())
336 $tpl->setLeftContent($tax_exp->getHTML().
" ");
348 $a_target_class, $a_target_cmd, $a_root_node_title =
"")
350 die(
"ilObjTaxonomyGUI::getTreeHTML is deprecated.");
351 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
353 $a_target_class, $a_target_cmd);
354 if (!$tax_exp->handleCommand())
356 return $tax_exp->getHTML().
" ";
370 global
$tpl, $ilHelp;
373 $ilHelp->setSubScreenId(
"create_node");
376 $tpl->setContent($this->form->getHTML());
389 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
394 $this->form->addItem($ti);
400 $or =
new ilTextInputGUI($this->lng->txt(
"tax_order_nr"),
"order_nr");
403 $this->form->addItem($or);
406 if ($a_mode ==
"edit")
409 $ti->setValue($node->getTitle());
410 $or->setValue($node->getOrderNr());
414 if ($a_mode ==
"create")
416 $this->form->addCommandButton(
"saveTaxNode", $lng->txt(
"save"));
417 $this->form->addCommandButton(
"listNodes", $lng->txt(
"cancel"));
418 $this->form->setTitle($lng->txt(
"tax_new_tax_node"));
422 $this->form->addCommandButton(
"updateTaxNode", $lng->txt(
"save"));
423 $this->form->addCommandButton(
"listNodes", $lng->txt(
"cancel"));
424 $this->form->setTitle($lng->txt(
"tax_edit_tax_node"));
427 $this->form->setFormAction($ilCtrl->getFormAction($this));
440 if ($this->form->checkInput())
445 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
447 $node->setTitle($this->form->getInput(
"title"));
452 $order_nr = $this->form->getInput(
"order_nr");
454 if ($order_nr ===
"")
459 $node->setOrderNr($order_nr);
460 $node->setTaxonomyId($tax->getId());
469 $ilCtrl->redirect($this,
"listNodes");
473 $this->form->setValuesByPost();
474 $tpl->setContent($this->form->getHtml());
487 if ($this->form->checkInput())
491 $node->setTitle($this->form->getInput(
"title"));
496 $node->setOrderNr($this->form->getInput(
"order_nr"));
502 $ilCtrl->redirect($this,
"");
506 $this->form->setValuesByPost();
507 $tpl->setContent($this->form->getHtml());
520 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
524 $ilHelp->setSubScreenId(
"del_items");
528 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
531 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
532 $confirmation_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
535 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
536 foreach(
$_POST[
"id"] as $id)
538 $confirmation_gui->addItem(
"id[]", $id,
542 $confirmation_gui->setCancel($lng->txt(
"cancel"),
"listNodes");
543 $confirmation_gui->setConfirm($lng->txt(
"confirm"),
"confirmedDelete");
545 $tpl->setContent($confirmation_gui->getHTML());
555 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
558 foreach (
$_POST[
"id"] as $id)
563 $node_data = $tax_tree->getNodeData($id);
564 if (is_object($node))
568 if($tax_tree->isInTree($id))
570 $tax_tree->deleteTree($node_data);
578 $ilCtrl->redirect($this,
"listNodes");
592 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
593 if (is_array(
$_POST[
"order"]))
597 foreach (
$_POST[
"order"] as $k => $v)
606 if (is_array(
$_POST[
"title"]))
608 foreach (
$_POST[
"title"] as $k => $v)
617 $ilCtrl->redirect($this,
"listNodes");
628 $ilHelp->setSubScreenId(
"move_items");
630 $ilToolbar->addButton($lng->txt(
"cancel"),
631 $ilCtrl->getLinkTarget($this,
"listNodes"));
635 if (is_array(
$_POST[
"id"]))
637 $ilCtrl->setParameter($this,
"move_ids", implode(
$_POST[
"id"],
","));
641 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php");
643 "ilobjtaxonomygui",
"pasteItems");
644 if (!$tax_exp->handleCommand())
647 $tpl->setContent($tax_exp->getHTML().
" ");
660 if (
$_GET[
"move_ids"] !=
"")
662 $move_ids = explode(
",",
$_GET[
"move_ids"]);
664 $tree = $tax->getTree();
666 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyNode.php");
668 foreach ($move_ids as $m_id)
672 if ($node->getTaxonomyId() == $tax->getId() &&
673 ($target_node->getTaxonomyId() == $tax->getId() ||
674 $target_node->getId() ==
$tree->readRootId()))
677 if(
$tree->isGrandChild((
int) $m_id, $target_node->getId()))
680 $this->ctrl->redirect($this,
"listNodes");
687 $tree->moveTree((
int) $m_id, $target_node->getId());
696 $ilCtrl->redirect($this,
"listNodes");
708 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
710 $cgui->setFormAction($ilCtrl->getFormAction($this));
711 $cgui->setHeaderText($lng->txt(
"tax_confirm_deletion"));
712 $cgui->setCancel($lng->txt(
"cancel"),
"listTaxonomies");
713 $cgui->setConfirm($lng->txt(
"delete"),
"deleteTaxonomy");
715 $cgui->addItem(
"id[]", $i, $tax->getTitle());
717 $tpl->setContent($cgui->getHTML());
734 $ilCtrl->redirect($this,
"listTaxonomies");
750 $ilToolbar->addButton($lng->txt(
"tax_add_taxonomy"),
751 $ilCtrl->getLinkTarget($this,
"createAssignedTaxonomy"));
758 include_once(
"./Services/Taxonomy/classes/class.ilTaxonomyListTableGUI.php");
762 $tpl->setContent(
$tab->getHTML());
774 $ilTabs->clearTargets();
776 $ilHelp->setScreenIdComponent(
"tax");
781 $ilTabs->setBackTarget($lng->txt(
"back"),
782 $ilCtrl->getLinkTarget($this,
"listTaxonomies"));
784 $ilTabs->addTab(
"list_items", $lng->txt(
"tax_nodes"),
785 $ilCtrl->getLinkTarget($this,
"listNodes"));
786 if ($this->assigned_item_sorting)
788 $ilTabs->addTab(
"ass_items", $lng->txt(
"tax_assigned_items"),
789 $ilCtrl->getLinkTarget($this,
"listAssignedItems"));
791 $ilTabs->addTab(
"settings", $lng->txt(
"settings"),
792 $ilCtrl->getLinkTarget($this,
"editSettings"));
794 $ilTabs->activateTab($a_id);
810 $tpl->setContent($form->getHTML());
822 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
829 $ti->setValue($tax->getTitle());
836 $ta->
setValue($tax->getDescription());
846 $si->setValue($tax->getSortingMode());
849 if ($this->assigned_item_sorting)
856 $form->addCommandButton(
"updateSettings", $lng->txt(
"save"));
858 $form->setTitle($lng->txt(
"settings"));
859 $form->setFormAction($ilCtrl->getFormAction($this));
872 if ($form->checkInput())
875 $tax->setTitle($form->getInput(
"title"));
876 $tax->setDescription($form->getInput(
"description"));
877 $tax->setSortingMode($form->getInput(
"sorting"));
878 $tax->setItemSorting($form->getInput(
"item_sorting"));
882 $ilCtrl->redirect($this,
"editSettings");
886 $form->setValuesByPost();
887 $tpl->setContent($form->getHtml());
909 include_once(
"./Services/Taxonomy/classes/class.ilTaxAssignedItemsTableGUI.php");
912 $this->assigned_item_obj_id, $this->assigned_item_type, $this->assigned_item_info_obj);
914 $tpl->setContent($table->getHTML());
927 include_once(
"./Services/Taxonomy/classes/class.ilTaxNodeAssignment.php");
928 if (is_array(
$_POST[
"order"]))
933 $tax_node = (int)
$_GET[
"tax_node"];
934 foreach ($order as $a_item_id => $ord_nr)
937 $this->assigned_item_obj_id,
939 $tax_ass->setOrderNr($tax_node, $a_item_id, $ord_nr);
943 $this->assigned_item_obj_id,
945 $tax_ass->fixOrderNr($tax_node);
948 $ilCtrl->redirect($this,
"listAssignedItems");
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.
deleteItems()
Confirm deletion screen for items.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
saveTaxNode()
Save tax node form.
New implementation of ilObjectGUI.
updateSettings()
Update taxonomy settings.
getMultiple()
Get multiple.
Class ilObject Basic functions for all objects.
listTaxonomies()
List taxonomies.
TableGUI class for taxonomy list.
createTaxNode()
Create tax node.
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.
executeCommand()
Execute command.
static _lookupTitle($a_id)
lookup object title
saveAssignedItemsSorting()
Save assigned items sorting.
initSettingsForm()
Init form.
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.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initCreationForms()
Init creation forms.
if(!is_array($argv)) $options
getId()
get object id public
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
TableGUI class for taxonomies.
pasteItems()
Paste items (move operation)
This class represents a text property in a property form.
redirection script todo: (a better solution should control the processing via a xml file) ...
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
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.
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
TableGUI class for taxonomy list.
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.