/**
  * 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;
 }