ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
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 
5 include_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 ?>