36 public function __construct($a_md_rbac_id, $a_md_obj_id, $a_md_obj_type, $a_ref_id)
40 $this->obj_definition = $DIC[
"objDefinition"];
41 $this->tree = $DIC->repositoryTree();
44 $this->tabs = $DIC->tabs();
45 $this->ctrl = $DIC->ctrl();
46 $this->lng = $DIC->language();
47 $this->tpl = $DIC[
"tpl"];
49 $this->md_rbac_id = $a_md_rbac_id;
50 $this->md_obj_id = $a_md_obj_id;
51 $this->md_obj_type = $a_md_obj_type;
52 $this->ref_id = $a_ref_id;
60 $next_class = $this->ctrl->getNextClass($this);
61 $cmd = $this->ctrl->getCmd(
"show");
63 switch ($next_class) {
64 case 'ilformpropertydispatchgui':
66 include_once
'./Services/Form/classes/class.ilFormPropertyDispatchGUI.php';
68 $item =
$form->getItemByPostVar(
$_GET[
"postvar"]);
69 $form_prop_dispatch->setItem($item);
70 return $this->ctrl->forwardCommand($form_prop_dispatch);
73 if (in_array($cmd, array(
"show",
"save"))) {
102 if (
$form->checkInput()) {
104 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
105 $ctrl->redirect($this,
"show");
107 $form->setValuesByPost();
117 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
122 $form->addCommandButton(
"save", $this->lng->txt(
"save"));
125 $form->setTitle($this->lng->txt(
"tax_tax_assignment"));
126 $form->setFormAction($this->ctrl->getFormAction($this));
141 if ($this->ref_id > 0 && $objDefinition->isRBACObject($this->md_obj_type)) {
147 foreach (
$tree->getPathFull((
int) $this->ref_id) as $node) {
148 if ($node[
"ref_id"] != (
int) $this->ref_id) {
150 if ($node[
"type"] ==
"cat") {
151 include_once
"Services/Object/classes/class.ilObjectServiceSettingsGUI.php";
152 include_once
"Services/Container/classes/class.ilContainer.php";
159 include_once
"Services/Taxonomy/classes/class.ilObjTaxonomy.php";
161 if (
sizeof($tax_ids)) {
183 include_once(
"./Services/Taxonomy/classes/class.ilTaxNodeAssignment.php");
195 if (is_array($tax_ids)) {
196 include_once
"Services/Taxonomy/classes/class.ilTaxSelectInputGUI.php";
197 foreach ($tax_ids as $tax_id) {
201 foreach ($ta->getAssignmentsOfItem($this->md_obj_id) as $ass) {
202 $node_ids[] = $ass[
"node_id"];
206 $tax_sel->setValue($node_ids);
218 if (is_array($tax_ids)) {
219 include_once(
"./Services/Taxonomy/classes/class.ilTaxNodeAssignment.php");
221 foreach ($tax_ids as $tax_id) {
225 $ta->deleteAssignmentsOfItem($this->md_obj_id);
228 if (is_array(
$_POST[
"md_tax_" . $tax_id])) {
229 foreach (
$_POST[
"md_tax_" . $tax_id] as $node_id) {
230 $ta->addAssignment($node_id, $this->md_obj_id);
250 if (is_array($tax_ids)) {
253 $lng->txt(
"tax_tax_assignment"),
254 $ctrl->getLinkTarget($this,
"")
Taxonomy node <-> item assignment.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
executeCommand()
Execute command.
__construct($a_md_rbac_id, $a_md_obj_id, $a_md_obj_type, $a_ref_id)
Constructor.
initForm()
Init taxonomy form.
foreach($_POST as $key=> $value) $res
if(isset($_POST['submit'])) $form
Taxonomies selection for metadata helper GUI.
getSelectableTaxonomies()
Get selectable taxonomies for current object.
initTaxNodeAssignment($a_tax_id)
Init tax node assignment.
if(!empty($this->data['faventry'])) $tabs
updateFromMDForm()
Import settings from MD (quick edit) form.
addToMDForm(ilPropertyFormGUI $a_form)
Add taxonomy selector to MD (quick edit) form.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.