ILIAS  release_8 Revision v8.24
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.

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 }

References $db, and loadTypeLabels().

+ 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.

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

References $DIC, and ilAssQuestionLifecycle\getDraftInstance().

+ 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.

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 }

References getTaxonomyNodeLabel(), and getTaxonomyTreeLabel().

+ Here is the call graph for this function:

◆ getTaxonomyNodeLabel()

ilTestTaxonomyFilterLabelTranslater::getTaxonomyNodeLabel (   $taxonomyTreeId)

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

158 {
159 return $this->taxonomyNodeLabels[$taxonomyTreeId];
160 }

Referenced by getTaxonomyFilterLabel().

+ Here is the caller graph for this function:

◆ getTaxonomyTreeLabel()

ilTestTaxonomyFilterLabelTranslater::getTaxonomyTreeLabel (   $taxonomyTreeId)

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

153 {
154 return $this->taxonomyTreeLabels[$taxonomyTreeId];
155 }

Referenced by getTaxonomyFilterLabel().

+ 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.

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 }

◆ loadLabels()

ilTestTaxonomyFilterLabelTranslater::loadLabels ( ilTestRandomQuestionSetSourcePoolDefinitionList  $sourcePoolDefinitionList)

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

References loadTaxonomyNodeLabels(), and loadTaxonomyTreeLabels().

+ Here is the call graph for this function:

◆ loadLabelsFromTaxonomyIds()

ilTestTaxonomyFilterLabelTranslater::loadLabelsFromTaxonomyIds (   $taxonomyIds)

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

163 {
164 $this->taxonomyTreeIds = $taxonomyIds;
165
166 $this->loadTaxonomyTreeLabels();
167 }

References loadTaxonomyTreeLabels().

+ Here is the call graph for this function:

◆ loadTaxonomyNodeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTaxonomyNodeLabels ( )
private

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

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

References $query, and $res.

Referenced by loadLabels().

+ Here is the caller graph for this function:

◆ loadTaxonomyTreeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTaxonomyTreeLabels ( )
private

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

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 }

References $query, and $res.

Referenced by loadLabels(), and loadLabelsFromTaxonomyIds().

+ Here is the caller graph for this function:

◆ loadTypeLabels()

ilTestTaxonomyFilterLabelTranslater::loadTypeLabels ( )
private

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

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)

References $data, and ilObjQuestionPool\_getQuestionTypes().

Referenced by __construct().

+ 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: