ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilObjectivesAlignmentTableGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5include_once("Services/Table/classes/class.ilTable2GUI.php");
6
16{
17
18 function __construct($a_parent_obj, $a_parent_cmd,
19 $a_tree, $a_slm_obj, $a_chap)
20 {
21 global $ilCtrl, $lng;
22
23 parent::__construct($a_parent_obj, $a_parent_cmd);
24 $this->tree = $a_tree;
25 $this->slm_object = $a_slm_obj;
26 $this->chap = $a_chap;
27 $this->addColumn($lng->txt("sahs_sco_objective"), "", "50%");
28 $this->addColumn($lng->txt("sahs_questions"), "", "50%");
29 $this->setEnableHeader(true);
30 $this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
31 $this->setRowTemplate("tpl.objectives_alignment_table_row.html",
32 "Modules/Scorm2004");
33 $this->getScos();
34 $this->setNoEntriesText($lng->txt("sahs_oa_no_scos"));
35 //$this->setTitle($lng->txt("sahs_objectives_alignment"));
36 include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
37 $this->setTitle(ilScorm2004Node::_lookupTitle($this->chap),
38 "icon_chap.svg");
39 }
40
44 function getScos()
45 {
46 if ($this->chap > 0)
47 {
48 $nodes = $this->tree->getChilds($this->chap);
49 }
50 else
51 {
52 $nodes = $this->tree->getSubTree($this->tree->getNodeData($this->tree->root_id),true,array('sco'));
53 }
54
55 $scos = array();
56
57 $nr = 1;
58 foreach($nodes as $node)
59 {
60 if ($node["type"] == "sco")
61 {
62 $node["nr"] = $nr++;
63 $scos[] = $node;
64 }
65 }
66
67 $this->setDefaultOrderField("nr");
68 $this->setDefaultOrderDirection("asc");
69 $this->setData($scos);
70 }
71
76 protected function fillRow($a_set)
77 {
78 global $lng, $ilCtrl;
79
80 $lng->loadLanguageModule("assessment");
81 include_once("./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
82 $node_object = ilSCORM2004NodeFactory::getInstance($this->slm_object,
83 $a_set["child"], false);
84 $tr_data = $node_object->getObjectives();
85
86 // learning objectives
87 foreach($tr_data as $data)
88 {
89 $this->tpl->setCurrentBlock("objective");
90 $this->tpl->setVariable("TXT_LEARNING_OBJECTIVE",
91 ilSCORM2004Sco::convertLists($data->getObjectiveID()));
92 $this->tpl->setVariable("IMG_LOBJ", ilUtil::getImagePath("icon_lobj.svg"));
93 $this->tpl->parseCurrentBlock();
94 }
95
96 // pages
97 include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Page.php");
98 include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
99 $childs = $this->tree->getChilds($a_set["child"]);
100 foreach ($childs as $child)
101 {
102 // get question ids
103 include_once("./Services/COPage/classes/class.ilPCQuestion.php");
104 $qids = ilPCQuestion::_getQuestionIdsForPage("sahs", $child["child"]);
105
106 if (count($qids) > 0)
107 {
108 // output questions
109 foreach ($qids as $qid)
110 {
111 $this->tpl->setCurrentBlock("question");
112 //$qtitle = assQuestion::_getTitle($qid);
113 $qtype = assQuestion::_getQuestionType($qid);
114 //$qtext = assQuestion::_getQuestionText($qid);
115 $qtext = assQuestion::_getQuestionTitle($qid);
116 $this->tpl->setVariable("TXT_QUESTION", $qtext);
117 $this->tpl->setVariable("TXT_QTYPE", $lng->txt($qtype));
118 $this->tpl->setVariable("IMG_QST",
119 ilUtil::getImagePath("icon_tst.svg"));
120 $this->tpl->parseCurrentBlock();
121 }
122
123 // output page title
124 $page_title = ilSCORM2004Node::_lookupTitle($child["child"]);
125 $this->tpl->setCurrentBlock("page");
126 $this->tpl->setVariable("TXT_PAGE_TITLE", $page_title);
127 $this->tpl->setVariable("IMG_PAGE", ilUtil::getImagePath("icon_pg.svg"));
128 $ilCtrl->setParameterByClass("ilscorm2004pagenodegui", "obj_id", $child["child"]);
129 $this->tpl->setVariable("HREF_EDIT_PAGE",
130 $ilCtrl->getLinkTargetByClass("ilscorm2004pagenodegui",
131 "edit"));
132 $this->tpl->parseCurrentBlock();
133 }
134 }
135
136 // sco title
137 $this->tpl->setVariable("TXT_SCO_TITLE", $a_set["title"]);
138 $this->tpl->setVariable("IMG_SCO", ilUtil::getImagePath("icon_sco.svg"));
139 $ilCtrl->setParameterByClass("ilscorm2004scogui", "obj_id", $a_set["child"]);
140 $this->tpl->setVariable("HREF_EDIT_SCO",
141 $ilCtrl->getLinkTargetByClass("ilscorm2004scogui",
142 "showProperties"));
143 }
144
145}
146?>
_getQuestionTitle($question_id)
Returns the question title of a question with a given id.
_getQuestionType($question_id)
Returns the question type of a question with a given id.
TableGUI class for learning objectives alignments.
__construct($a_parent_obj, $a_parent_cmd, $a_tree, $a_slm_obj, $a_chap)
getScos()
Get scos for list (we may present this in an other way in the future)
fillRow($a_set)
Standard Version of Fill Row.
static _getQuestionIdsForPage($a_parent_type, $a_page_id, $a_lang="-")
Get all questions of a page.
static convertLists($a_text)
Convert * and # to lists.
static getInstance($a_slm_object, $a_id=0, $a_halt=true)
static _lookupTitle($a_obj_id)
Lookup Title.
Class ilTable2GUI.
setEnableHeader($a_enableheader)
Set Enable Header.
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.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
setNoEntriesText($a_text)
Set text for an empty table.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40