24 include_once(
'./Modules/Course/classes/class.ilCourseObjectiveQuestion.php');
25 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
27 include_once
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
58 public function __construct($a_parent_obj, $a_course_obj, $a_objective_id, $a_mode)
65 $this->objective_id = $a_objective_id;
66 $this->course_obj = $a_course_obj;
73 $this->lng->loadLanguageModule(
'crs');
76 parent::__construct($a_parent_obj,
'materialAssignment');
78 $this->
addColumn($this->lng->txt(
'type'),
'type',
"20px");
79 $this->
addColumn($this->lng->txt(
'title'),
'title',
'');
81 $this->
setFormAction($this->ctrl->getFormAction($a_parent_obj));
82 $this->
setRowTemplate(
"tpl.crs_objective_list_questions_row.html",
"Modules/Course");
88 #$this->setDefaultOrderField('title'); 91 $this->mode = $a_mode;
94 $this->
addCommandButton(
'updateSelfAssessmentAssignment', $this->lng->txt(
'crs_wiz_next'));
95 $this->
addCommandButton(
'materialAssignment', $this->lng->txt(
'crs_wiz_back'));
99 $this->
addCommandButton(
'updateFinalTestAssignment', $this->lng->txt(
'crs_wiz_next'));
100 $this->
addCommandButton(
'selfAssessmentAssignment', $this->lng->txt(
'crs_wiz_back'));
127 foreach ($a_set[
'sub'] as $sub_data) {
128 if ($a_set[
'random']) {
133 if ($sub_data[
'description']) {
134 $this->tpl->setVariable(
'QST_DESCRIPTION', $sub_data[
'description']);
136 if ($sub_data[
'qst_txt']) {
137 $txt = $sub_data[
'qst_txt'];
138 if ($sub_data[
'qst_points']) {
139 $this->lng->loadLanguageModule(
'assessment');
140 $txt .= (
' (' . $sub_data[
'qst_points'] .
' ' . $this->lng->txt(
'points') .
')');
143 $this->tpl->setVariable(
'QST_DESCRIPTION',
$txt);
145 $this->tpl->setCurrentBlock(
'qst');
146 $this->tpl->setVariable(
'QST_TITLE', $sub_data[
'title']);
147 $this->tpl->setVariable(
'QST_ID', $a_set[
'id'] .
'_' . $sub_data[
'id']);
149 switch ($this->mode) {
151 if ($this->objective_qst_obj->isSelfAssessmentQuestion($sub_data[
'id'])) {
152 $this->tpl->setVariable(
'QST_CHECKED',
'checked="checked"');
157 if ($this->objective_qst_obj->isFinalTestQuestion($sub_data[
'id'])) {
158 $this->tpl->setVariable(
'QST_CHECKED',
'checked="checked"');
162 $this->tpl->parseCurrentBlock();
164 if (count($a_set[
'sub'])
and !$a_set[
'random']) {
165 $this->tpl->setVariable(
'TXT_QUESTIONS', $this->lng->txt(
'objs_qst'));
167 if ($a_set[
'random']) {
168 $this->tpl->setVariable(
'VAL_WARN', $this->lng->txt(
'crs_objective_random_warn'));
171 $this->tpl->setVariable(
'VAL_ID', $a_set[
'id']);
173 $this->tpl->setVariable(
'ROW_TYPE_IMG', ilObject::_getIcon($a_set[
'obj_id'],
"tiny", $a_set[
'type']));
174 $this->tpl->setVariable(
'ROW_TYPE_ALT', $this->lng->txt(
'obj_' . $a_set[
'type']));
176 $this->tpl->setVariable(
'VAL_TITLE', $a_set[
'title']);
177 if (strlen($a_set[
'description'])) {
178 $this->tpl->setVariable(
'VAL_DESC', $a_set[
'description']);
189 public function parse($a_assignable)
193 $objDefinition = $DIC[
'objDefinition'];
200 foreach ($a_assignable as $node) {
202 $subobjects = array();
208 include_once
'./Modules/Test/classes/class.ilObjTest.php';
210 $tmp_data[
'random'] =
false;
212 foreach ($qst = $this->
sortQuestions($tmp_tst->getAllQuestions()) as $question_data) {
214 #$sub['qst_txt'] = $tmp_question->_getQuestionText($question_data['question_id']); 215 $sub[
'qst_txt'] =
'';
218 $sub[
'title'] = $tmp_question->getTitle();
219 $sub[
'description'] = $tmp_question->getComment();
220 $sub[
'id'] = $question_data[
'question_id'];
222 $subobjects[] = $sub;
224 $tmp_data[
'title'] = $node[
'title'];
225 $tmp_data[
'description'] = $node[
'description'];
226 $tmp_data[
'type'] = $node[
'type'];
227 $tmp_data[
'id'] = $node[
'child'];
228 $tmp_data[
'obj_id'] = $node[
'obj_id'];
229 $tmp_data[
'sub'] = $subobjects;
240 $tst_ref_id = $this->
getSettings()->getInitialTest();
242 return array(
$GLOBALS[
'DIC'][
'tree']->getNodeData($tst_ref_id));
246 $tst_ref_id = $this->
getSettings()->getQualifiedTest();
248 return array(
$GLOBALS[
'DIC'][
'tree']->getNodeData($tst_ref_id));
263 include_once
'./Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static getInstanceByObjId($a_obj_id)
get singleton instance
const TYPE_SELF_ASSESSMENT
static _lookupRandomTest($a_obj_id)
Returns the fact wether the test with passed obj id is a random questions test or not...
sortQuestions($a_qst_ids)
Sort questions.
static _getMaximumPoints($question_id)
Returns the maximum points, a learner can reach answering the question.
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
getSettings()
Get settings.
initQuestionAssignments()
init objective assignments
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
disable($a_module_name)
diesables particular modules of table
setFormName($a_formname="")
Set Form name.
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.
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
TableGUI for question assignments of course objectives.
class ilcourseobjectiveQuestion
parse($a_assignable)
parse
__construct($a_parent_obj, $a_course_obj, $a_objective_id, $a_mode)
Constructor.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
setLimit($a_limit=0, $a_default_limit=0)