24 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
49 public function __construct($a_parent_obj,$a_course_obj,$a_objective_id)
53 $this->objective_id = $a_objective_id;
54 $this->course_obj = $a_course_obj;
57 $this->lng->loadLanguageModule(
'crs');
63 $this->
addColumn($this->lng->txt(
'type'),
'type',
"1px");
64 $this->
addColumn($this->lng->txt(
'title'),
'title',
'99%');
66 $this->
setFormAction($this->ctrl->getFormAction($a_parent_obj));
67 $this->
setRowTemplate(
"tpl.crs_objective_list_materials_row.html",
"Modules/Course");
68 #$this->disable('sort');
69 #$this->disable('header');
70 #$this->disable('numinfo');
71 #$this->disable('select_all');
79 $this->
addCommandButton(
'updateMaterialAssignment',$this->lng->txt(
'crs_wiz_next'));
80 #$this->addMultiCommand('updateMaterialAssignment', $this->lng->txt('crs_wiz_next'));
96 foreach($a_set[
'sub'] as $sub_data)
99 for($i = $sub_data[
'depth'];$i > 1;$i--)
101 $this->tpl->touchBlock(
'begin_depth');
102 $this->tpl->touchBlock(
'end_depth');
105 $this->tpl->setCurrentBlock(
'chapter');
106 include_once(
'Modules/LearningModule/classes/class.ilLMObject.php');
108 if($this->objective_lm->isChapterAssigned($a_set[
'id'],$sub_data[
'id']))
110 $this->tpl->setVariable(
'CHAP_CHECKED',
'checked="checked"');
114 $this->tpl->setVariable(
'CHAP_ID',$a_set[
'id'].
'_'.$sub_data[
'id']);
116 $this->tpl->setVariable(
'CHAP_TYPE_ALT',$this->lng->txt(
'obj_'.$sub_data[
'type']));
117 $this->tpl->parseCurrentBlock();
121 if(count($a_set[
'sub']))
123 $this->tpl->setVariable(
'TXT_CHAPTER',$this->lng->txt(
'objs_st'));
126 $this->tpl->setVariable(
'VAL_ID',$a_set[
'id']);
128 if($this->objective_lm->isAssigned($a_set[
'id']))
130 $this->tpl->setVariable(
'VAL_CHECKED',
'checked="checked"');
134 $this->tpl->setVariable(
'ROW_TYPE_ALT',$this->lng->txt(
'obj_'.$a_set[
'type']));
136 $this->tpl->setVariable(
'VAL_TITLE',$a_set[
'title']);
137 if(strlen($a_set[
'description']))
139 $this->tpl->setVariable(
'VAL_DESC',$a_set[
'description']);
150 public function parse($a_assignable)
152 global $objDefinition;
154 $materials = array();
155 foreach($a_assignable as $node)
158 if($objDefinition->isSideBlock($node[
'type']))
164 $subobjects = array();
166 if($node[
'type'] ==
'lm')
168 include_once(
'./Modules/LearningModule/classes/class.ilLMObject.php');
172 foreach($chapters = $this->
getAllSubObjects($node[
'child']) as $chapter => $chapter_data)
175 $sub[
'id'] = $chapter;
176 $sub[
'depth'] = $chapter_data[
'depth'];
177 $sub[
'type'] = $chapter_data[
'type'];
179 $subobjects[] = $sub;
183 $tmp_data[
'sub'] = $subobjects;
184 $tmp_data[
'title'] = $node[
'title'];
185 $tmp_data[
'description'] = $node[
'description'];
186 $tmp_data[
'type'] = $node[
'type'];
187 $tmp_data[
'id'] = $node[
'child'];
188 $tmp_date[
'obj_id'] = $node[
'obj_id'];
190 $materials[] = $tmp_data;
205 $tree->setTableNames(
'lm_tree',
'lm_data');
206 $tree->setTreeTablePK(
"lm_id");
208 foreach($tree->getSubTree($tree->getNodeData($tree->getRootId())) as $node)
210 if($node[
'type'] ==
'st' or $node[
'type'] ==
'pg')
212 $depth = $node[
'depth'] - 1;
213 $child = $node[
'child'];
214 $chapter[$child][
'depth'] = $depth;
215 $chapter[$child][
'type'] = $node[
'type'];
218 return $chapter ? $chapter : array();
230 include_once(
'./Modules/Course/classes/class.ilCourseObjective.php');
233 include_once
'./Modules/Course/classes/class.ilCourseObjectiveMaterials.php';