4require_once
'Modules/Test/classes/class.ilTestQuestionSetConfig.php';
70 return $this->sourceQuestionPoolTitle;
80 $this->sourceQuestionPoolTitle = $sourceQuestionPoolTitle;
147 foreach($dataArray as $field => $value)
167 $res = $this->db->queryF(
168 "SELECT * FROM tst_dyn_quest_set_cfg WHERE test_fi = %s",
169 array(
'integer'), array($this->testOBJ->getTestId())
172 while(
$row = $this->db->fetchAssoc(
$res) )
214 $aff = $this->db->manipulateF(
215 "DELETE FROM tst_dyn_quest_set_cfg WHERE test_fi = %s",
216 array(
'integer'), array($this->testOBJ->getTestId())
230 $res = $this->db->queryF(
231 "SELECT COUNT(*) cnt FROM tst_dyn_quest_set_cfg WHERE test_fi = %s",
232 array(
'integer'), array($testId)
237 return (
bool)
$row[
'cnt'];
248 $this->db->update(
'tst_dyn_quest_set_cfg',
257 'test_fi' => array(
'integer', $testId)
270 $this->db->insert(
'tst_dyn_quest_set_cfg', array(
271 'test_fi' => array(
'integer', $testId),
334 if( !count($poolRefs) )
336 $sourceQuestionPoolSummaryString = sprintf(
337 $lng->txt(
'tst_dyn_quest_set_src_qpl_summary_string_deleted'),
338 $this->getSourceQuestionPoolTitle()
341 return $sourceQuestionPoolSummaryString;
344 foreach($poolRefs as $refId)
346 if( !$this->tree->isDeleted($refId) )
348 $sourceQuestionPoolSummaryString = sprintf(
349 $lng->txt(
'tst_dynamic_question_set_source_questionpool_summary_string'),
350 $this->getSourceQuestionPoolTitle(),
351 $this->getQuestionPoolPathString($this->getSourceQuestionPoolId()),
352 $this->getSourceQuestionPoolNumQuestions()
355 return $sourceQuestionPoolSummaryString;
359 $sourceQuestionPoolSummaryString = sprintf(
360 $lng->txt(
'tst_dyn_quest_set_src_qpl_summary_string_trashed'),
361 $this->getSourceQuestionPoolTitle(),
362 $this->getSourceQuestionPoolNumQuestions()
365 return $sourceQuestionPoolSummaryString;
374 SELECT COUNT(*) num from qpl_questions
375 WHERE obj_fi = %s AND original_id IS NULL
378 $res = $this->db->queryF(
396 foreach( $poolRefs as $refId )
398 if( !$this->tree->isDeleted($refId) )
410 $lng->txt(
'tst_dyn_quest_set_pool_trashed'), $this->getSourceQuestionPoolTitle()
425 if( count($poolRefs) )
436 $lng->txt(
'tst_dyn_quest_set_pool_deleted'), $this->getSourceQuestionPoolTitle()
446 if( !$this->testOBJ->participantDataExist() )
453 case 'ilobjtestdynamicquestionsetconfiggui':
455 case 'ilobjectmetadatagui':
456 case 'ilpermissiongui':
464 'infoScreen',
'participants',
'npSetFilter',
'npResetFilter',
465 'deleteAllUserResults',
'confirmDeleteAllUserResults',
466 'deleteSingleUserResults',
'confirmDeleteSelectedUserData',
'cancelDeleteSelectedUserData'
469 if( in_array(
$cmd, $cmds) )
483 'settings',
'manscoring',
'scoringadjust',
'statistics',
'history',
'export'
491 if( $this->sourceQuestionPoolRefIds ===
null )
507 FROM tst_dyn_quest_set_cfg
509 ON tst_tests.test_id = tst_dyn_quest_set_cfg.test_fi
510 WHERE source_qpl_fi = %s
513 $res =
$db->queryF(
$query, array(
'integer'), array($poolObjId));
515 require_once
'Modules/Test/classes/class.ilDynamicTestQuestionChangeListener.php';
520 $questionChangeListener->addTestObjId(
$row[
'obj_fi'] );
523 return $questionChangeListener;
552 return "<a href=\"$href\" alt=\"$title\">$title</a>";
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
saveToDb()
saves the question set config for current test to the database
getSourceQuestionPoolId()
getter for source question pool id
insertDbRecord($testId)
inserts a new record for the question set config for the current test into the database
getDepenciesBrokenMessage(ilLanguage $lng)
cloneToDbForTestId($testId)
saves the question set config for test with given id to the database
setTaxonomyFilterEnabled($taxonomyFilterEnabled)
setter for taxonomie filter enabled
updateDbRecord($testId)
updates the record in the database that corresponds to the question set config for the current test
setAnswerStatusFilterEnabled($answerStatusFilterEnabled)
setSourceQuestionPoolId($sourceQuestionPoolId)
getter for source question pool id
setOrderingTaxonomyId($orderingTaxonomyId)
getter for ordering taxonomy id
resetQuestionSetRelatedTestSettings()
resets all test settings that depends on a non changed question set config
doesQuestionSetRelatedDataExist()
returns the fact wether a useable question set config exists or not
static getPoolQuestionChangeListener(ilDB $db, $poolObjId)
getHiddenTabsOnBrokenDepencies()
getSourceQuestionPoolRefIds()
getSourceQuestionPoolTitle()
getter for source question pool title
setSourceQuestionPoolTitle($sourceQuestionPoolTitle)
getter for source question pool title
isTaxonomyFilterEnabled()
isser for taxonomie filter enabled
getSourceQuestionPoolLink()
isQuestionSetConfigured()
returns the fact wether a useable question set config exists or not
isAnswerStatusFilterEnabled()
isAnyQuestionFilterEnabled()
$answerStatusFilterEnabled
areDepenciesInVulnerableState()
getSourceQuestionPoolNumQuestions()
cloneQuestionSetRelatedData(ilObjTest $cloneTestOBJ)
removes all question set config related data for cloned/copied test
loadFromDb()
loads the question set config for current test from the database
getSourceQuestionPoolSummaryString(ilLanguage $lng)
initFromArray($dataArray)
initialises the current object instance with values from matching properties within the passed array
$sourceQuestionPoolRefIds
dbRecordExists($testId)
checks wether a question set config for current test exists in the database
getDepenciesInVulnerableStateMessage(ilLanguage $lng)
deleteFromDb()
deletes the question set config for current test from the database
isResultTaxonomyFilterSupported()
removeQuestionSetRelatedData()
removes all question set config related data (in this case it's only the config itself)
isValidRequestOnBrokenQuestionSetDepencies($nextClass, $cmd)
getOrderingTaxonomyId()
setter for ordering taxonomy id
getTestId()
Gets the database id of the additional test data.
static _getAllReferences($a_id)
get all reference ids of object