5 include_once
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
6 include_once
'./Services/Table/classes/class.ilTable2GUI.php';
7 include_once
'./Modules/Course/exceptions/class.ilLOInvalidConfiguationException.php';
34 public function __construct($a_parent_obj, $a_parent_cmd, $a_container_id, $a_test_type, $a_assignment_type = self::TYPE_SINGLE_ASSIGNMENTS)
36 $this->test_type = $a_test_type;
37 $this->assignment_type = $a_assignment_type;
38 $this->container_id = $a_container_id;
40 $this->
setId(
'obj_loc_' . $a_container_id);
41 parent::__construct($a_parent_obj, $a_parent_cmd);
50 switch ($this->test_type) {
53 if ($this->
getSettings()->isInitialTestQualifying()) {
54 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_its_q_all'));
56 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_its_nq_all'));
59 if ($this->
getSettings()->isInitialTestQualifying()) {
60 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_it_q'));
62 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_it_nq'));
70 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_qts_all'));
72 $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_qt'));
98 $this->
addColumn($this->lng->txt(
'title'),
'title');
101 $this->
addColumn($this->lng->txt(
'crs_objectives'),
'objective');
104 $this->
addColumn($this->lng->txt(
'crs_loc_tbl_tst_type'),
'ttype');
105 $this->
addColumn($this->lng->txt(
'crs_loc_tbl_tst_qst_qpl'),
'qstqpl');
108 $this->
setRowTemplate(
"tpl.crs_loc_tst_row.html",
"Modules/Course");
112 $this->
addMultiCommand(
'confirmDeleteTests', $this->lng->txt(
'crs_loc_delete_assignment'));
116 $this->
addMultiCommand(
'confirmDeleteTest', $this->lng->txt(
'crs_loc_delete_assignment'));
131 $this->tpl->setVariable(
'VAL_ID', $set[
'assignment_id']);
133 $this->tpl->setVariable(
'VAL_ID', $set[
'ref_id']);
135 $this->tpl->setVariable(
'VAL_TITLE', $set[
'title']);
136 include_once
'./Services/Link/classes/class.ilLink.php';
138 $ilCtrl->setParameterByClass(
'ilobjtestgui',
'ref_id', $set[
'ref_id']);
139 $ilCtrl->setParameterByClass(
'ilobjtestgui',
'cmd',
'questionsTabGateway');
140 $this->tpl->setVariable(
142 $ilCtrl->getLinkTargetByClass(
'ilobjtestgui')
146 $this->tpl->setCurrentBlock(
'objectives');
147 $this->tpl->setVariable(
'VAL_OBJECTIVE', (
string) $set[
'objective']);
148 $this->tpl->parseCurrentBlock();
153 #$this->tpl->setVariable('TITLE_LINK',ilLink::_getLink($set['ref_id'])); 154 if (strlen($set[
'description'])) {
155 $this->tpl->setVariable(
'VAL_DESC', $set[
'description']);
158 switch ($set[
'ttype']) {
160 $type = $this->lng->txt(
'tst_question_set_type_fixed');
164 $type = $this->lng->txt(
'tst_question_set_type_random');
168 $this->tpl->setVariable(
'VAL_TTYPE',
$type);
169 $this->tpl->setVariable(
'VAL_QST_QPL', $set[
'qst_info']);
171 if (isset($set[
'qpls']) && is_array($set[
'qpls']) && count($set[
'qpls']) > 0) {
172 foreach ($set[
'qpls'] as
$title) {
173 $this->tpl->setCurrentBlock(
'qpl');
174 $this->tpl->setVariable(
'MAT_TITLE', $title);
175 $this->tpl->parseCurrentBlock();
177 $this->tpl->touchBlock(
'ul_begin');
178 $this->tpl->touchBlock(
'ul_end');
184 include_once
'./Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
187 $available = $assignments->getAssignmentsByType($this->test_type);
189 foreach ($available as $assignment) {
191 $tmp = $this->doParse($assignment->getTestRefId(), $assignment->getObjectiveId());
193 $assignment->delete();
198 $tmp[
'assignment_id'] = $assignment->getAssignmentId();
211 public function parse($a_tst_ref_id)
221 protected function doParse($a_tst_ref_id, $a_objective_id = 0)
223 include_once
'./Modules/Test/classes/class.ilObjTest.php';
229 $tst_data[
'ref_id'] = $tst->getRefId();
230 $tst_data[
'title'] = $tst->getTitle();
231 $tst_data[
'description'] = $tst->getLongDescription();
232 $tst_data[
'ttype'] = $tst->getQuestionSetType();
236 include_once
'./Modules/Course/classes/class.ilCourseObjective.php';
240 switch ($tst->getQuestionSetType()) {
242 $tst_data[
'qst_info'] = $this->lng->txt(
'crs_loc_tst_num_qst');
243 $tst_data[
'qst_info'] .= (
' ' . count($tst->getAllQuestions()));
248 include_once
'./Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionFactory.php';
249 include_once
'./Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionList.php';
260 $list->loadDefinitions();
263 include_once
'./Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
265 $translater->loadLabels(
$list);
267 $tst_data[
'qst_info'] = $this->lng->txt(
'crs_loc_tst_qpls');
269 foreach (
$list as $definition) {
271 $title = $definition->getPoolTitle();
273 $filterTitle =
array();
274 $filterTitle[] = $translater->getTaxonomyFilterLabel($definition->getMappedTaxonomyFilter());
275 $filterTitle[] = $translater->getTypeFilterLabel($definition->getTypeFilter());
276 if (!empty($filterTitle)) {
277 $title .=
' -> ' . implode(
' / ', $filterTitle);
279 #$tax_id = $definition->getMappedFilterTaxId(); 282 # $title .= (' -> '. $translater->getTaxonomyTreeLabel($tax_id)); 284 #$tax_node = $definition->getMappedFilterTaxNodeId(); 287 # $title .= (' -> ' .$translater->getTaxonomyNodeLabel($tax_node)); 290 $tst_data[
'qpls'][] =
$title;
294 $tst_data[
'qst_info'] .= (
' ' . (int) 0);
static getInstanceByObjId($a_obj_id)
get singleton instance
static getInstance($a_container_id)
Get instance by container id.
if(isset($_REQUEST['delete'])) $list
static lookupObjectiveTitle($a_objective_id, $a_add_description=false)
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
const QUESTION_SET_TYPE_RANDOM
type setting value for random question set
const TYPE_MULTIPLE_ASSIGNMENTS
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
getParentObject()
Get parent object.
getSettings()
Get settings.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
__construct($a_parent_obj, $a_parent_cmd, $a_container_id, $a_test_type, $a_assignment_type=self::TYPE_SINGLE_ASSIGNMENTS)
Constructor.
parseMultipleAssignments()
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
Class ilLOTestAssignmentTableGUI.
addMultiCommand($a_cmd, $a_text)
Add Command button.
Class ilLOInvalidConfigurationException.
getFormAction()
Get Form action parameter.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
const TYPE_SINGLE_ASSIGNMENTS
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
const QUESTION_SET_TYPE_FIXED
type setting value for fixed question set
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
const TYPE_TEST_QUALIFIED
parse($a_tst_ref_id)
Parse single test assignment.