/** * Get Options. * * @return array Options. Array ("value" => "option_text") */ function getOptions() { global $lng; if ($this->include_please_select) { $options = array("" => $lng->txt("please_select")); } include_once "./Services/Taxonomy/classes/class.ilTaxonomyTree.php"; $tax_tree = new ilTaxonomyTree($this->getTaxonomyId()); $nodes = $tax_tree->getSubtree($tax_tree->getNodeData($tax_tree->readRootId())); foreach ($nodes as $n) { if ($n["type"] == "taxn") { $options[$n["child"]] = str_repeat(" ", ($n["depth"] - 2) * 2) . $n["title"]; } } return $options; }
private function loadTaxonomyAssignmentData($parentObjId, $questionId) { $taxAssignmentData = array(); foreach ($this->getAvailableTaxonomyIds() as $taxId) { require_once 'Services/Taxonomy/classes/class.ilTaxonomyTree.php'; require_once 'Services/Taxonomy/classes/class.ilTaxNodeAssignment.php'; $taxTree = new ilTaxonomyTree($taxId); $taxAssignment = new ilTaxNodeAssignment('qpl', $parentObjId, 'quest', $taxId); $assignments = $taxAssignment->getAssignmentsOfItem($questionId); foreach ($assignments as $assData) { if (!isset($taxAssignmentData[$assData['tax_id']])) { $taxAssignmentData[$assData['tax_id']] = array(); } $nodeData = $taxTree->getNodeData($assData['node_id']); $assData['node_lft'] = $nodeData['lft']; $taxAssignmentData[$assData['tax_id']][$assData['node_id']] = $assData; } } return $taxAssignmentData; }