4 require_once
'Modules/Test/classes/class.ilTestExport.php';
26 global
$ilDB, $ilPluginAdmin;
28 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionFactory.php';
34 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionList.php';
41 $this->srcPoolDefList->loadDefinitions();
48 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetStagingPoolQuestionList.php';
50 $this->stagingPoolQuestionListByPoolId =
array();
59 $xmlWriter->
xmlEndTag(
'RandomQuestionSetConfig');
64 global $tree,
$ilDB, $ilPluginAdmin;
66 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetConfig.php';
68 $questionSetConfig->loadFromDb();
71 'amountMode' => $questionSetConfig->getQuestionAmountConfigurationMode(),
72 'questAmount' => $questionSetConfig->getQuestionAmountPerTest(),
73 'homogeneous' => $questionSetConfig->arePoolsWithHomogeneousScoredQuestionsRequired(),
74 'synctimestamp' => $questionSetConfig->getLastQuestionSyncTimestamp()
82 foreach ($this->srcPoolDefList->getInvolvedSourcePoolIds() as $poolId) {
85 $xmlWriter->
xmlStartTag(
'RandomQuestionStagingPool',
array(
'poolId' => $poolId));
86 $xmlWriter->
xmlData(implode(
',', $questionList->getQuestions()));
87 $xmlWriter->
xmlEndTag(
'RandomQuestionStagingPool');
90 $xmlWriter->
xmlEndTag(
'RandomQuestionStage');
95 $xmlWriter->
xmlStartTag(
'RandomQuestionSelectionDefinitions');
97 foreach ($this->srcPoolDefList as $definition) {
99 'id' => $definition->getId(),
100 'poolId' => $definition->getPoolId(),
101 'poolQuestCount' => $definition->getPoolQuestionCount(),
102 'questAmount' => $definition->getQuestionAmount(),
103 'position' => $definition->getSequencePosition()
107 $mappedTaxFilter = $definition->getMappedTaxonomyFilter();
108 if (is_array($mappedTaxFilter) && count($mappedTaxFilter) > 0) {
109 $attributes[
'taxFilter'] = serialize($mappedTaxFilter);
113 $xmlWriter->
xmlElement(
'RandomQuestionSourcePoolTitle', null, $definition->getPoolTitle());
114 $xmlWriter->
xmlElement(
'RandomQuestionSourcePoolPath', null, $definition->getPoolPath());
115 $xmlWriter->
xmlEndTag(
'RandomQuestionSelectionDefinition');
118 $xmlWriter->
xmlEndTag(
'RandomQuestionSelectionDefinitions');
123 $questionQtiXml =
'';
125 foreach ($this->srcPoolDefList->getInvolvedSourcePoolIds() as $poolId) {
128 foreach ($questionList as $questionId) {
133 return $questionQtiXml;
141 $questionIds =
array();
143 foreach ($this->srcPoolDefList->getInvolvedSourcePoolIds() as $poolId) {
146 foreach ($questionList as $questionId) {
147 $questionIds[] = $questionId;
160 if (!isset($this->stagingPoolQuestionListByPoolId[$poolId])) {
161 global
$ilDB, $ilPluginAdmin;
164 $questionList->setTestId($this->test_obj->getTestId());
165 $questionList->setPoolId($poolId);
166 $questionList->loadQuestions();
168 $this->stagingPoolQuestionListByPoolId[$poolId] = $questionList;
171 return $this->stagingPoolQuestionListByPoolId[$poolId];
xmlStartTag($tag, $attrs=null, $empty=false, $encode=true, $escape=true)
Writes a starttag.
getLoadedStagingPoolQuestionList($poolId)
getQuestionQtiXml($questionId)
populateQuestionSetConfigXml(ilXmlWriter $xmlWriter)
xmlData($data, $encode=true, $escape=true)
Writes data.
xmlEndTag($tag)
Writes an endtag.
Create styles array
The data for the language used.
xmlElement($tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
populateQuestionStages(ilXmlWriter $xmlWriter)
populateSelectionDefinitions(ilXmlWriter $xmlWriter)
$stagingPoolQuestionListByPoolId
populateCommonSettings(ilXmlWriter $xmlWriter)