24 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
48 $this->course_obj = $a_course_obj;
51 $this->lng->loadLanguageModule(
'crs');
56 $this->
addColumn($this->lng->txt(
'title'),
'title',
'33%');
57 $this->
addColumn($this->lng->txt(
'crs_objective_self_assessment'),
'self',
'33%%');
58 $this->
addColumn($this->lng->txt(
'crs_objective_final_test'),
'final',
'33%');
60 $this->
setFormAction($this->ctrl->getFormAction($a_parent_obj));
61 $this->
setRowTemplate(
"tpl.crs_questions_table_row.html",
"Modules/Course");
65 $this->
enable(
'select_all');
80 static $row_counter = 1;
82 $this->tpl->setVariable(
'VAL_TITLE',$a_set[
'title']);
83 if(strlen($a_set[
'description']))
85 $this->tpl->setVariable(
'VAL_DESC',$a_set[
'description']);
88 foreach($a_set[
'self_tests'] as $tst)
90 foreach($tst[
'questions'] as $qst)
92 $this->tpl->setCurrentBlock(
'self_qst');
93 $this->tpl->setVariable(
'SELF_QST_TITLE',$qst[
'title']);
94 if(strlen($qst[
'description']))
96 $this->tpl->setVariable(
'SELF_QST_DESCRIPTION',$qst[
'description']);
98 $this->tpl->setVariable(
'SELF_QST_POINTS',$qst[
'points']);
99 $this->tpl->setVariable(
'SELF_QST_TXT_POINTS',$this->lng->txt(
'crs_objective_points'));
100 $this->tpl->parseCurrentBlock();
102 $this->tpl->setCurrentBlock(
'self_tst');
103 $this->tpl->setVariable(
'SELF_TST_TITLE',$tst[
'title']);
104 if(strlen($tst[
'description']))
106 $this->tpl->setVariable(
'SELF_TST_DESC',$tst[
'description']);
109 $this->tpl->setVariable(
'SELF_TYPE_ALT',$this->lng->txt(
'obj_tst'));
110 $this->tpl->parseCurrentBlock();
112 if(count($a_set[
'self_tests']))
114 $this->tpl->setVariable(
'SELF_TXT_ALL_POINTS',$this->lng->txt(
'crs_objective_all_points'));
115 $this->tpl->setVariable(
'SELF_TXT_POINTS',$this->lng->txt(
'crs_objective_points'));
116 $this->tpl->setVariable(
'SELF_TXT_REQ_POINTS',$this->lng->txt(
'crs_obj_required_points'));
117 $this->tpl->setVariable(
'SELF_POINTS',$a_set[
'self_max_points']);
118 $this->tpl->setVariable(
'SELF_ID',$a_set[
'id']);
119 $this->tpl->setVariable(
'SELF_LIMIT',$a_set[
'self_limit']);
122 foreach($a_set[
'final_tests'] as $tst)
124 foreach($tst[
'questions'] as $qst)
126 $this->tpl->setCurrentBlock(
'final_qst');
127 $this->tpl->setVariable(
'FINAL_QST_TITLE',$qst[
'title']);
128 if(strlen($qst[
'description']))
130 $this->tpl->setVariable(
'FINAL_QST_DESCRIPTION',$qst[
'description']);
132 $this->tpl->setVariable(
'FINAL_QST_POINTS',$qst[
'points']);
133 $this->tpl->setVariable(
'FINAL_QST_TXT_POINTS',$this->lng->txt(
'crs_objective_points'));
134 $this->tpl->parseCurrentBlock();
136 $this->tpl->setCurrentBlock(
'final_tst');
137 $this->tpl->setVariable(
'FINAL_TST_TITLE',$tst[
'title']);
138 if(strlen($tst[
'description']))
140 $this->tpl->setVariable(
'FINAL_TST_DESC',$tst[
'description']);
143 $this->tpl->setVariable(
'FINAL_TYPE_ALT',$this->lng->txt(
'obj_tst'));
144 $this->tpl->parseCurrentBlock();
146 if(count($a_set[
'final_tests']))
148 $this->tpl->setVariable(
'FINAL_TXT_ALL_POINTS',$this->lng->txt(
'crs_objective_all_points'));
149 $this->tpl->setVariable(
'FINAL_TXT_POINTS',$this->lng->txt(
'crs_objective_points'));
150 $this->tpl->setVariable(
'FINAL_TXT_REQ_POINTS',$this->lng->txt(
'crs_obj_required_points'));
151 $this->tpl->setVariable(
'FINAL_POINTS',$a_set[
'final_max_points']);
152 $this->tpl->setVariable(
'FINAL_ID',$a_set[
'id']);
153 $this->tpl->setVariable(
'FINAL_LIMIT',$a_set[
'final_limit']);
156 $this->tpl->setVariable(
'TST_CSS',
ilUtil::switchColor($row_counter++,
'tblrow1',
'tblrow2'));
166 public function parse($a_objective_ids)
168 include_once
'./Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
170 $objectives = array();
171 foreach($a_objective_ids as $objective_id)
179 foreach($question_obj->getSelfAssessmentTests() as $tmp_test)
181 if(isset(
$_POST[
'self'][$objective_id]))
183 $objective_data[
'self_limit'] =
$_POST[
'self'][$objective_id];
187 $objective_data[
'self_limit'] = $tmp_test[
'limit'];
189 $questions = array();
190 foreach($question_obj->getQuestionsOfTest($tmp_test[
'obj_id']) as $tmp_question)
192 $qst[
'title'] = $tmp_question[
'title'];
193 $qst[
'description'] = $tmp_question[
'description'];
194 $qst[
'points'] = $tmp_question[
'points'];
198 $tst[
'questions'] = $questions;
204 $objective_data[
'self_tests'] =
$tests;
205 $objective_data[
'self_max_points'] = $question_obj->getSelfAssessmentPoints();
209 foreach($question_obj->getFinalTests() as $tmp_test)
211 if(isset(
$_POST[
'final'][$objective_id]))
213 $objective_data[
'final_limit'] =
$_POST[
'final'][$objective_id];
217 $objective_data[
'final_limit'] = $tmp_test[
'limit'];
220 $questions = array();
221 foreach($question_obj->getQuestionsOfTest($tmp_test[
'obj_id']) as $tmp_question)
223 $qst[
'title'] = $tmp_question[
'title'];
224 $qst[
'description'] = $tmp_question[
'description'];
225 $qst[
'points'] = $tmp_question[
'points'];
229 $tst[
'questions'] = $questions;
236 $objective_data[
'final_tests'] =
$tests;
237 $objective_data[
'final_max_points'] = $question_obj->getFinalTestPoints();
239 $objective_data[
'id'] = $objective_id;
240 $objective_data[
'title'] = $objective->getTitle();
242 $objective_data[
'description'] = $objective->getDescription();
244 $objectives[] = $objective_data;
247 $this->
setData($objectives ? $objectives : array());