ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTestTaxonomyFilterLabelTranslater Class Reference
+ Collaboration diagram for ilTestTaxonomyFilterLabelTranslater:

Public Member Functions

 __construct (ilDBInterface $db)
 
 loadLabels (ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList)
 
 getTaxonomyTreeLabel ($taxonomyTreeId)
 
 getTaxonomyNodeLabel ($taxonomyTreeId)
 
 loadLabelsFromTaxonomyIds ($taxonomyIds)
 
 getTaxonomyFilterLabel ($filter=array(), $filterDelimiter='+', $taxNodeDelimiter=':', $nodesDelimiter=', ')
 Get the label for a taxonomy filter. More...
 
 getLifecycleFilterLabel ($filter=array())
 Get the label for a lifecycle filter. More...
 
 getTypeFilterLabel ($filter=array())
 Get the label for a type filter. More...
 

Private Member Functions

 loadTaxonomyTreeLabels ()
 
 loadTaxonomyNodeLabels ()
 
 loadTypeLabels ()
 

Private Attributes

 $db = null
 
 $taxonomyTreeIds = null
 
 $taxonomyNodeIds = null
 
 $taxonomyTreeLabels = null
 
 $taxonomyNodeLabels = null
 
 $typeLabels = null
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestTaxonomyFilterLabelTranslater::__construct ( ilDBInterface  $db)
Parameters
ilDBInterface$db

Definition at line 47 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References $db, and loadTypeLabels().

48  {
49  $this->db = $db;
50 
51  $this->taxonomyTreeIds = array();
52  $this->taxonomyNodeIds = array();
53 
54  $this->taxonomyTreeLabels = array();
55  $this->taxonomyNodeLabels = array();
56 
57  // fau: taxFilter/typeFilter - init node descriptions
58  $this->loadTypeLabels();
59  // fau.
60  }
+ Here is the call graph for this function:

Member Function Documentation

◆ getLifecycleFilterLabel()

ilTestTaxonomyFilterLabelTranslater::getLifecycleFilterLabel (   $filter = array())

Get the label for a lifecycle filter.

Parameters
array$filterlist of lifecycle identifiers

Definition at line 194 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References $DIC, and ilAssQuestionLifecycle\getDraftInstance().

194  : string
195  {
196  global $DIC; /* @var ILIAS\DI\Container $DIC */
197 
198  $lifecycles = array();
199 
200  $lifecycleTranslations = ilAssQuestionLifecycle::getDraftInstance()->getSelectOptions($DIC->language());
201 
202  foreach ($filter as $lifecycle) {
203  $lifecycles[] = $lifecycleTranslations[$lifecycle];
204  }
205  asort($lifecycles);
206  return implode(', ', $lifecycles);
207  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

◆ getTaxonomyFilterLabel()

ilTestTaxonomyFilterLabelTranslater::getTaxonomyFilterLabel (   $filter = array(),
  $filterDelimiter = ' + ',
  $taxNodeDelimiter = ': ',
  $nodesDelimiter = ',
 
)

Get the label for a taxonomy filter.

Parameters
arraytaxId => [nodeId, ...]
stringdelimiter for separate taxonomy conditions
stringdelimiter between taxonomy name and node list
stringdelimiter between nodes in the node list

Definition at line 177 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References getTaxonomyNodeLabel(), and getTaxonomyTreeLabel().

Referenced by ilLOUtils\buildQplTitleByDefinition().

177  : ', $nodesDelimiter = ', '): string
178  {
179  $labels = array();
180  foreach ($filter as $taxId => $nodeIds) {
181  $nodes = array();
182  foreach ($nodeIds as $nodeId) {
183  $nodes[] = $this->getTaxonomyNodeLabel($nodeId);
184  }
185  $labels[] .= $this->getTaxonomyTreeLabel($taxId) . $taxNodeDelimiter . implode($nodesDelimiter, $nodes);
186  }
187  return implode($filterDelimiter, $labels);
188  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTaxonomyNodeLabel()

ilTestTaxonomyFilterLabelTranslater::getTaxonomyNodeLabel (   $taxonomyTreeId)

Definition at line 157 of file class.ilTestTaxonomyFilterLabelTranslater.php.

Referenced by getTaxonomyFilterLabel().

158  {
159  return $this->taxonomyNodeLabels[$taxonomyTreeId];
160  }
+ Here is the caller graph for this function:

◆ getTaxonomyTreeLabel()

ilTestTaxonomyFilterLabelTranslater::getTaxonomyTreeLabel (   $taxonomyTreeId)

Definition at line 152 of file class.ilTestTaxonomyFilterLabelTranslater.php.

Referenced by getTaxonomyFilterLabel().

153  {
154  return $this->taxonomyTreeLabels[$taxonomyTreeId];
155  }
+ Here is the caller graph for this function:

◆ getTypeFilterLabel()

ilTestTaxonomyFilterLabelTranslater::getTypeFilterLabel (   $filter = array())

Get the label for a type filter.

Parameters
array$filterlist of type ids

Definition at line 213 of file class.ilTestTaxonomyFilterLabelTranslater.php.

Referenced by ilLOUtils\buildQplTitleByDefinition().

213  : string
214  {
215  $types = array();
216 
217  foreach ($filter as $type_id) {
218  $types[] = $this->typeLabels[$type_id];
219  }
220  asort($types);
221  return implode(', ', $types);
222  }
+ Here is the caller graph for this function:

◆ loadLabels()

ilTestTaxonomyFilterLabelTranslater::loadLabels ( ilTestRandomQuestionSetSourcePoolDefinitionList  $sourcePoolDefinitionList)

Definition at line 62 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References loadTaxonomyNodeLabels(), and loadTaxonomyTreeLabels().

63  {
64  $this->collectIds($sourcePoolDefinitionList);
65 
66  $this->loadTaxonomyTreeLabels();
67  $this->loadTaxonomyNodeLabels();
68  }
+ Here is the call graph for this function:

◆ loadLabelsFromTaxonomyIds()

ilTestTaxonomyFilterLabelTranslater::loadLabelsFromTaxonomyIds (   $taxonomyIds)

Definition at line 162 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References loadTaxonomyTreeLabels().

163  {
164  $this->taxonomyTreeIds = $taxonomyIds;
165 
166  $this->loadTaxonomyTreeLabels();
167  }
+ Here is the call graph for this function:

◆ loadTaxonomyNodeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTaxonomyNodeLabels ( )
private

Definition at line 120 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References $query, and $res.

Referenced by loadLabels().

121  {
122  $IN_nodeIds = $this->db->in('tax_node.obj_id', $this->taxonomyNodeIds, false, 'integer');
123 
124  $query = "
125  SELECT tax_node.obj_id tax_node_id,
126  tax_node.title tax_node_title
127 
128  FROM tax_node
129 
130  WHERE $IN_nodeIds
131  ";
132 
133  $res = $this->db->query($query);
134 
135  while ($row = $this->db->fetchAssoc($res)) {
136  $this->taxonomyNodeLabels[ $row['tax_node_id'] ] = $row['tax_node_title'];
137  }
138  }
$res
Definition: ltiservices.php:69
$query
+ Here is the caller graph for this function:

◆ loadTaxonomyTreeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTaxonomyTreeLabels ( )
private

Definition at line 99 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References $query, and $res.

Referenced by loadLabels(), and loadLabelsFromTaxonomyIds().

100  {
101  $IN_taxIds = $this->db->in('obj_id', $this->taxonomyTreeIds, false, 'integer');
102 
103  $query = "
104  SELECT obj_id tax_tree_id,
105  title tax_tree_title
106 
107  FROM object_data
108 
109  WHERE $IN_taxIds
110  AND type = %s
111  ";
112 
113  $res = $this->db->queryF($query, array('text'), array('tax'));
114 
115  while ($row = $this->db->fetchAssoc($res)) {
116  $this->taxonomyTreeLabels[ $row['tax_tree_id'] ] = $row['tax_tree_title'];
117  }
118  }
$res
Definition: ltiservices.php:69
$query
+ Here is the caller graph for this function:

◆ loadTypeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTypeLabels ( )
private

Definition at line 141 of file class.ilTestTaxonomyFilterLabelTranslater.php.

References $data, and ilObjQuestionPool\_getQuestionTypes().

Referenced by __construct().

142  {
143  $this->typeLabels = array();
144 
145  require_once("./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php");
146  foreach (ilObjQuestionPool::_getQuestionTypes(true) as $translation => $data) {
147  $this->typeLabels[$data['question_type_id']] = $translation;
148  }
149  }
static _getQuestionTypes($all_tags=false, $fixOrder=false, $withDeprecatedTypes=true)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $db

ilTestTaxonomyFilterLabelTranslater::$db = null
private

Definition at line 32 of file class.ilTestTaxonomyFilterLabelTranslater.php.

Referenced by __construct().

◆ $taxonomyNodeIds

ilTestTaxonomyFilterLabelTranslater::$taxonomyNodeIds = null
private

◆ $taxonomyNodeLabels

ilTestTaxonomyFilterLabelTranslater::$taxonomyNodeLabels = null
private

◆ $taxonomyTreeIds

ilTestTaxonomyFilterLabelTranslater::$taxonomyTreeIds = null
private

◆ $taxonomyTreeLabels

ilTestTaxonomyFilterLabelTranslater::$taxonomyTreeLabels = null
private

◆ $typeLabels

ilTestTaxonomyFilterLabelTranslater::$typeLabels = null
private

The documentation for this class was generated from the following file: