ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilSAHSPresentationGUI.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 
22 {
23  var $ilias;
24  var $tpl;
25  var $lng;
26 
28  {
29  global $ilias, $tpl, $lng, $ilCtrl;
30 
31  $this->ilias =& $ilias;
32  $this->tpl =& $tpl;
33  $this->lng =& $lng;
34  $this->ctrl =& $ilCtrl;
35 
36  $this->ctrl->saveParameter($this, "ref_id");
37  }
38 
42  function &executeCommand()
43  {
44  global $lng,$ilAccess, $ilNavigationHistory, $ilCtrl, $ilLocator, $ilObjDataCache;
45 
46  include_once "./classes/class.ilObjectGUI.php";
47  include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php";
48 
49  $lng->loadLanguageModule("content");
50 
51  // add entry to navigation history
52  if ($ilAccess->checkAccess("read", "", $_GET["ref_id"]))
53  {
54  $ilNavigationHistory->addItem($_GET["ref_id"],
55  "ilias.php?cmd=infoScreen&baseClass=ilSAHSPresentationGUI&ref_id=".$_GET["ref_id"], "lm");
56  }
57 
58  include_once 'Services/Payment/classes/class.ilPaymentObject.php';
59  if(ilPaymentObject::_isBuyable($_GET['ref_id']) &&
61  {
62  $ilLocator->addRepositoryItems();
63  $ilLocator->addItem($ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($_GET['ref_id'])),
64  'ilias.php?baseClass=ilSAHSPresentationGUI&amp;ref_id='.$_GET['ref_id'],
65  '',
66  $_GET['ref_id'],
67  'sahs');
68  $this->tpl->setLocator();
69  $this->tpl->getStandardTemplate();
70 
71  include_once 'Services/Payment/classes/class.ilShopPurchaseGUI.php';
72  $this->ctrl->setReturn($this, '');
73  $pp_gui = new ilShopPurchaseGUI($_GET['ref_id']);
74  $this->ctrl->forwardCommand($pp_gui);
75  $this->tpl->show();
76  exit();
77  }
78 
79  include_once './classes/class.ilSearch.php';
80 
81  $next_class = $this->ctrl->getNextClass($this);
82  $cmd = $this->ctrl->getCmd();
83 
84  $obj_id = ilObject::_lookupObjectId($_GET['ref_id']);
86 
87  if ($cmd == "downloadCertificate")
88  {
89  require_once "./Modules/ScormAicc/classes/SCORM/class.ilSCORMPresentationGUI.php";
90  $scorm_gui = new ilSCORMPresentationGUI();
91  $ret =& $this->ctrl->forwardCommand($scorm_gui);
92  }
93 
94  switch($type)
95  {
96 
97  case "scorm2004":
98  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModuleGUI.php");
99  $this->slm_gui = new ilObjSCORMLearningModuleGUI("", $_GET["ref_id"],true,false);
100  break;
101 
102  case "scorm":
103  include_once("./Modules/ScormAicc/classes/class.ilObjSCORMLearningModuleGUI.php");
104  $this->slm_gui = new ilObjSCORMLearningModuleGUI("", $_GET["ref_id"],true,false);
105  break;
106 
107  case "aicc":
108  include_once("./Modules/ScormAicc/classes/class.ilObjAICCLearningModuleGUI.php");
109  $this->slm_gui = new ilObjAICCLearningModuleGUI("", $_GET["ref_id"],true,false);
110  break;
111 
112  case "hacp":
113  include_once("./Modules/ScormAicc/classes/class.ilObjHACPLearningModuleGUI.php");
114  $this->slm_gui = new ilObjHACPLearningModuleGUI("", $_GET["ref_id"],true,false);
115  break;
116  }
117 
118  if ($next_class != "ilinfoscreengui" &&
119  $cmd != "infoScreen")
120  {
121  include_once("./Services/License/classes/class.ilLicense.php");
122  ilLicense::_noteAccess($obj_id, "sahs", $_GET["ref_id"]);
123  switch($type)
124  {
125 
126  case "scorm2004":
127  $this->ctrl->setCmdClass("ilscorm13player");
128  $this->slm_gui = new ilObjSCORMLearningModuleGUI("", $_GET["ref_id"],true,false);
129  break;
130 
131  case "scorm":
132  $this->ctrl->setCmdClass("ilscormpresentationgui");
133  $this->slm_gui = new ilObjSCORMLearningModuleGUI("", $_GET["ref_id"],true,false);
134  break;
135 
136  case "aicc":
137  $this->ctrl->setCmdClass("ilaiccpresentationgui");
138  break;
139 
140  case "hacp":
141  $this->ctrl->setCmdClass("ilhacppresentationgui");
142  break;
143  }
144  $next_class = $this->ctrl->getNextClass($this);
145  }
146 
147  switch($next_class)
148  {
149  case "ilinfoscreengui":
150  $ret =& $this->outputInfoScreen();
151  break;
152 
153  case "ilscorm13player":
154  require_once "./Modules/Scorm2004/classes/ilSCORM13Player.php";
155 
156  $scorm_gui = new ilSCORM13Player();
157  $ret =& $this->ctrl->forwardCommand($scorm_gui);
158  break;
159 
160  case "ilscormpresentationgui":
161  require_once "./Modules/ScormAicc/classes/SCORM/class.ilSCORMPresentationGUI.php";
162  $scorm_gui = new ilSCORMPresentationGUI();
163  $ret =& $this->ctrl->forwardCommand($scorm_gui);
164  break;
165 
166  case "ilaiccpresentationgui":
167  require_once "./Modules/ScormAicc/classes/AICC/class.ilAICCPresentationGUI.php";
168  $aicc_gui = new ilAICCPresentationGUI();
169  $ret =& $this->ctrl->forwardCommand($aicc_gui);
170  break;
171 
172  case "ilhacppresentationgui":
173  require_once "./Modules/ScormAicc/classes/HACP/class.ilHACPPresentationGUI.php";
174  $hacp_gui = new ilHACPPresentationGUI();
175  $ret =& $this->ctrl->forwardCommand($hacp_gui);
176  break;
177 
178  default:
179  $this->$cmd();
180  }
181  }
182 
183 
184  function attrib2arr(&$a_attributes)
185  {
186  $attr = array();
187 
188  if(!is_array($a_attributes))
189  {
190  return $attr;
191  }
192  foreach ($a_attributes as $attribute)
193  {
194  $attr[$attribute->name()] = $attribute->value();
195  }
196 
197 
198  return $attr;
199  }
200 
201 
205  function frameset()
206  {
207  $this->tpl = new ilTemplate("tpl.sahs_pres_frameset.html", false, false, "Modules/ScormAicc");
208  $this->tpl->setVariable("REF_ID",$this->slm->getRefId());
209  $this->tpl->show("DEFAULT", false);
210  exit;
211  }
212 
213 
217  function explorer($a_target = "sahs_content")
218  {
219  global $ilBench;
220 
221  $ilBench->start("SAHSExplorer", "initExplorer");
222 
223  $this->tpl = new ilTemplate("tpl.sahs_exp_main.html", true, true, "Modules/ScormAicc");
224 
225  require_once("./Modules/ScormAicc/classes/SCORM/class.ilSCORMExplorer.php");
226  $exp = new ilSCORMExplorer("ilias.php?baseClass=ilSAHSPresentationGUI&cmd=view&ref_id=".$this->slm->getRefId(), $this->slm);
227  $exp->setTargetGet("obj_id");
228  $exp->setFrameTarget($a_target);
229 
230  //$exp->setFiltered(true);
231 
232  if ($_GET["scexpand"] == "")
233  {
234  $mtree = new ilSCORMTree($this->slm->getId());
235  $expanded = $mtree->readRootId();
236  }
237  else
238  {
239  $expanded = $_GET["scexpand"];
240  }
241  $exp->setExpand($expanded);
242 
243  $exp->forceExpandAll(true, false);
244 
245  // build html-output
246  //666$exp->setOutput(0);
247  $ilBench->stop("SAHSExplorer", "initExplorer");
248 
249  // set output
250  $ilBench->start("SAHSExplorer", "setOutput");
251  $exp->setOutput(0);
252  $ilBench->stop("SAHSExplorer", "setOutput");
253 
254  $ilBench->start("SAHSExplorer", "getOutput");
255  $output = $exp->getOutput();
256  $ilBench->stop("SAHSExplorer", "getOutput");
257 
258  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
259  $this->tpl->addBlockFile("CONTENT", "content", "tpl.sahs_explorer.html", "Modules/ScormAicc");
260  //$this->tpl->setVariable("TXT_EXPLORER_HEADER", $this->lng->txt("cont_content"));
261  $this->tpl->setVariable("EXP_REFRESH", $this->lng->txt("refresh"));
262  $this->tpl->setVariable("EXPLORER",$output);
263  $this->tpl->setVariable("ACTION", "ilias.php?baseClass=ilSAHSPresentationGUI&cmd=".$_GET["cmd"]."&frame=".$_GET["frame"].
264  "&ref_id=".$this->slm->getRefId()."&scexpand=".$_GET["scexpand"]);
265  $this->tpl->parseCurrentBlock();
266  $this->tpl->show();
267  }
268 
269 
270  function view()
271  {
272  $sc_gui_object =& ilSCORMObjectGUI::getInstance($_GET["obj_id"]);
273 
274  if(is_object($sc_gui_object))
275  {
276  $sc_gui_object->view();
277  }
278 
279  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
280  $this->tpl->show();
281  }
282 
283  function api()
284  {
285  global $ilias;
286 
287  $slm_obj =& new ilObjSCORMLearningModule($_GET["ref_id"]);
288 
289  $this->tpl = new ilTemplate("tpl.sahs_api.html", true, true, "Modules/ScormAicc");
290  $this->tpl->setVariable("USER_ID",$ilias->account->getId());
291  $this->tpl->setVariable("USER_FIRSTNAME",$ilias->account->getFirstname());
292  $this->tpl->setVariable("USER_LASTNAME",$ilias->account->getLastname());
293  $this->tpl->setVariable("REF_ID",$_GET["ref_id"]);
294  $this->tpl->setVariable("SESSION_ID",session_id());
295 
296  $this->tpl->setVariable("CODE_BASE", "http://".$_SERVER['SERVER_NAME'].substr($_SERVER['PHP_SELF'], 0, strpos ($_SERVER['PHP_SELF'], "/ilias.php")));
297  $this->tpl->parseCurrentBlock();
298 
299  $this->tpl->show(false);
300  exit;
301  }
302 
303  function launchSahs()
304  {
305 
306  global $ilUser, $ilDB;
307 
308  $sco_id = ($_GET["sahs_id"] == "")
309  ? $_POST["sahs_id"]
310  : $_GET["sahs_id"];
311  $ref_id = ($_GET["ref_id"] == "")
312  ? $_POST["ref_id"]
313  : $_GET["ref_id"];
314 
315  $this->slm =& new ilObjSCORMLearningModule($ref_id, true);
316 
317  include_once("./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php");
318  include_once("./Modules/ScormAicc/classes/SCORM/class.ilSCORMResource.php");
319  $item =& new ilSCORMItem($sco_id);
320 
321  $id_ref = $item->getIdentifierRef();
322  $resource =& new ilSCORMResource();
323  $resource->readByIdRef($id_ref, $item->getSLMId());
324  //$slm_obj =& new ilObjSCORMLearningModule($_GET["ref_id"]);
325  $href = $resource->getHref();
326  $this->tpl = new ilTemplate("tpl.sahs_launch_cbt.html", true, true, "Modules/ScormAicc");
327  $this->tpl->setVariable("HREF", $this->slm->getDataDirectory("output")."/".$href);
328 
329  // set item data
330  $this->tpl->setVariable("LAUNCH_DATA", $item->getDataFromLms());
331  $this->tpl->setVariable("MAST_SCORE", $item->getMasteryScore());
332  $this->tpl->setVariable("MAX_TIME", $item->getMaxTimeAllowed());
333  $this->tpl->setVariable("LIMIT_ACT", $item->getTimeLimitAction());
334 
335  // set alternative API name
336  if ($this->slm->getAPIAdapterName() != "API")
337  {
338  $this->tpl->setCurrentBlock("alt_api_ref");
339  $this->tpl->setVariable("API_NAME", $this->slm->getAPIAdapterName());
340  $this->tpl->parseCurrentBlock();
341  }
342 
343 
344  $val_set = $ilDB->queryF('
345  SELECT * FROM scorm_tracking
346  WHERE user_id = %s
347  AND sco_id = %s
348  AND obj_id = %s',
349  array('integer','integer','integer'),
350  array($ilUser->getId(),$sco_id,$this->slm->getId()));
351 
352  $re_value = array();
353 
354  while($val_rec = $ilDB->fetchAssoc($val_set))
355  {
356  $val_rec["rvalue"] = str_replace("\r\n", "\n", $val_rec["rvalue"]);
357  $val_rec["rvalue"] = str_replace("\r", "\n", $val_rec["rvalue"]);
358  $val_rec["rvalue"] = str_replace("\n", "\\n", $val_rec["rvalue"]);
359  $re_value[$val_rec["lvalue"]] = $val_rec["rvalue"];
360  }
361 
362  foreach($re_value as $var => $value)
363  {
364  switch ($var)
365  {
366  case "cmi.core.lesson_location":
367  case "cmi.core.lesson_status":
368  case "cmi.core.entry":
369  case "cmi.core.score.raw":
370  case "cmi.core.score.max":
371  case "cmi.core.score.min":
372  case "cmi.core.total_time":
373  case "cmi.core.exit":
374  case "cmi.suspend_data":
375  case "cmi.comments":
376  case "cmi.student_preference.audio":
377  case "cmi.student_preference.language":
378  case "cmi.student_preference.speed":
379  case "cmi.student_preference.text":
380  $this->setSingleVariable($var, $value);
381  break;
382 
383  case "cmi.objectives._count":
384  $this->setSingleVariable($var, $value);
385  $this->setArray("cmi.objectives", $value, "id", $re_value);
386  $this->setArray("cmi.objectives", $value, "score.raw", $re_value);
387  $this->setArray("cmi.objectives", $value, "score.max", $re_value);
388  $this->setArray("cmi.objectives", $value, "score.min", $re_value);
389  $this->setArray("cmi.objectives", $value, "status", $re_value);
390  break;
391 
392  case "cmi.interactions._count":
393  $this->setSingleVariable($var, $value);
394  $this->setArray("cmi.interactions", $value, "id", $re_value);
395  for($i=0; $i<$value; $i++)
396  {
397  $var2 = "cmi.interactions.".$i.".objectives._count";
398  if (isset($v_array[$var2]))
399  {
400  $cnt = $v_array[$var2];
401  $this->setArray("cmi.interactions.".$i.".objectives",
402  $cnt, "id", $re_value);
403  /*
404  $this->setArray("cmi.interactions.".$i.".objectives",
405  $cnt, "score.raw", $re_value);
406  $this->setArray("cmi.interactions.".$i.".objectives",
407  $cnt, "score.max", $re_value);
408  $this->setArray("cmi.interactions.".$i.".objectives",
409  $cnt, "score.min", $re_value);
410  $this->setArray("cmi.interactions.".$i.".objectives",
411  $cnt, "status", $re_value);*/
412  }
413  }
414  $this->setArray("cmi.interactions", $value, "time", $re_value);
415  $this->setArray("cmi.interactions", $value, "type", $re_value);
416  for($i=0; $i<$value; $i++)
417  {
418  $var2 = "cmi.interactions.".$i.".correct_responses._count";
419  if (isset($v_array[$var2]))
420  {
421  $cnt = $v_array[$var2];
422  $this->setArray("cmi.interactions.".$i.".correct_responses",
423  $cnt, "pattern", $re_value);
424  $this->setArray("cmi.interactions.".$i.".correct_responses",
425  $cnt, "weighting", $re_value);
426  }
427  }
428  $this->setArray("cmi.interactions", $value, "student_response", $re_value);
429  $this->setArray("cmi.interactions", $value, "result", $re_value);
430  $this->setArray("cmi.interactions", $value, "latency", $re_value);
431  break;
432  }
433  }
434 
435  global $lng;
436  $this->tpl->setCurrentBlock("switch_icon");
437  $this->tpl->setVariable("SCO_ID", $_GET["sahs_id"]);
438  $this->tpl->setVariable("SCO_ICO", ilUtil::getImagePath("scorm/running.gif"));
439  $this->tpl->setVariable("SCO_ALT",
440  $lng->txt("cont_status").": "
441  .$lng->txt("cont_sc_stat_running")
442  );
443  $this->tpl->parseCurrentBlock();
444 
445  // lesson mode
446  $lesson_mode = $this->slm->getDefaultLessonMode();
447  if ($this->slm->getAutoReview())
448  {
449  if ($re_value["cmi.core.lesson_status"] == "completed" ||
450  $re_value["cmi.core.lesson_status"] == "passed" ||
451  $re_value["cmi.core.lesson_status"] == "failed")
452  {
453  $lesson_mode = "review";
454  }
455  }
456  $this->tpl->setVariable("LESSON_MODE", $lesson_mode);
457 
458  // credit mode
459  if ($lesson_mode == "normal")
460  {
461  $this->tpl->setVariable("CREDIT_MODE",
462  str_replace("_", "-", $this->slm->getCreditMode()));
463  }
464  else
465  {
466  $this->tpl->setVariable("CREDIT_MODE", "no-credit");
467  }
468 
469  // init cmi.core.total_time, cmi.core.lesson_status and cmi.core.entry
470  $sahs_obj_id = ilObject::_lookupObjId($_GET["ref_id"]);
471  if (!isset($re_value["cmi.core.total_time"]))
472  {
473  $item->insertTrackData("cmi.core.total_time", "0000:00:00", $sahs_obj_id);
474  }
475  if (!isset($re_value["cmi.core.lesson_status"]))
476  {
477  $item->insertTrackData("cmi.core.lesson_status", "not attempted", $sahs_obj_id);
478  }
479  if (!isset($re_value["cmi.core.entry"]))
480  {
481  $item->insertTrackData("cmi.core.entry", "", $sahs_obj_id);
482  }
483 
484  $this->tpl->show();
485  }
486 
487  function finishSahs ()
488  {
489  global $lng;
490  $this->tpl = new ilTemplate("tpl.sahs_finish_cbt.html", true, true, "Modules/ScormAicc");
491  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
492 
493  $this->tpl->setCurrentBlock("switch_icon");
494  $this->tpl->setVariable("SCO_ID", $_GET["sahs_id"]);
495  $this->tpl->setVariable("SCO_ICO", ilUtil::getImagePath(
496  "scorm/".str_replace(" ", "_", $_GET["status"]).'.gif')
497  );
498  $this->tpl->setVariable("SCO_ALT",
499  $lng->txt("cont_status").": "
500  .$lng->txt("cont_sc_stat_".str_replace(" ", "_", $_GET["status"])).", "
501  .$lng->txt("cont_total_time"). ": "
502  .$_GET["totime"]
503  );
504  $this->tpl->setVariable("SCO_LAUNCH_ID", $_GET["launch"]);
505  $this->tpl->parseCurrentBlock();
506  $this->tpl->show();
507  }
508 
509  function unloadSahs ()
510  {
511  $this->tpl = new ilTemplate("tpl.sahs_unload_cbt.html", true, true, "Modules/ScormAicc");
512  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
513  $this->tpl->setVariable("SCO_ID", $_GET["sahs_id"]);
514  $this->tpl->show();
515  }
516 
517 
518  function launchAsset()
519  {
520  global $ilUser, $ilDB;
521 
522  $sco_id = ($_GET["asset_id"] == "")
523  ? $_POST["asset_id"]
524  : $_GET["asset_id"];
525  $ref_id = ($_GET["ref_id"] == "")
526  ? $_POST["ref_id"]
527  : $_GET["ref_id"];
528 
529  $this->slm =& new ilObjSCORMLearningModule($ref_id, true);
530 
531  include_once("./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php");
532  include_once("./Modules/ScormAicc/classes/SCORM/class.ilSCORMResource.php");
533  $item =& new ilSCORMItem($sco_id);
534 
535  $id_ref = $item->getIdentifierRef();
536  $resource =& new ilSCORMResource();
537  $resource->readByIdRef($id_ref, $item->getSLMId());
538  $href = $resource->getHref();
539  $this->tpl->setVariable("HREF", $this->slm->getDataDirectory("output")."/".$href);
540  $this->tpl = new ilTemplate("tpl.scorm_launch_asset.html", true, true, "Modules/ScormAicc");
541  $this->tpl->setVariable("HREF", $this->slm->getDataDirectory("output")."/".$href);
542  $this->tpl->show();
543  }
544 
545 
549  function setSingleVariable($a_var, $a_value)
550  {
551  $this->tpl->setCurrentBlock("set_value");
552  $this->tpl->setVariable("VAR", $a_var);
553  $this->tpl->setVariable("VALUE", $a_value);
554  $this->tpl->parseCurrentBlock();
555  }
556 
560  function setArray($a_left, $a_value, $a_name, &$v_array)
561  {
562  for($i=0; $i<$a_value; $i++)
563  {
564  $var = $a_left.".".$i.".".$a_name;
565  if (isset($v_array[$var]))
566  {
567  $this->tpl->setCurrentBlock("set_value");
568  $this->tpl->setVariable("VAR", $var);
569  $this->tpl->setVariable("VALUE", $v_array[$var]);
570  $this->tpl->parseCurrentBlock();
571  }
572  }
573  }
574 
580  function infoScreen()
581  {
582  $this->ctrl->setCmd("showSummary");
583  $this->ctrl->setCmdClass("ilinfoscreengui");
584  $this->outputInfoScreen();
585  }
586 
590  function outputInfoScreen($a_standard_locator = false)
591  {
592  global $ilBench, $ilLocator, $ilAccess, $tpl;
593 
594  //$this->tpl->setHeaderPageTitle("PAGETITLE", " - ".$this->lm->getTitle());
595 
596  // set style sheets
597  /*
598  if (!$this->offlineMode())
599  {
600  $this->tpl->setStyleSheetLocation(ilUtil::getStyleSheetLocation());
601  }
602  else
603  {
604  $style_name = $this->ilias->account->prefs["style"].".css";;
605  $this->tpl->setStyleSheetLocation("./".$style_name);
606  }*/
607 
608  $this->tpl->getStandardTemplate();
609  $this->tpl->setTitle($this->slm_gui->object->getTitle());
610  $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_slm_b.gif"));
611 
612  $ilLocator->addRepositoryItems();
613  $ilLocator->addItem($this->slm_gui->object->getTitle(),
614  $this->ctrl->getLinkTarget($this, "infoScreen"), "", $_GET["ref_id"]);
615 
616  $this->tpl->setLocator();
617 
618  $this->lng->loadLanguageModule("meta");
619 
620  include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
621 
622  $info = new ilInfoScreenGUI($this->slm_gui);
623  $info->enablePrivateNotes();
624  //$info->enableLearningProgress();
625 
626  $info->enableNews();
627  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"]))
628  {
629  $info->enableNewsEditing();
630  $news_set = new ilSetting("news");
631  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
632  if ($enable_internal_rss)
633  {
634  $info->setBlockProperty("news", "settings", true);
635  }
636  }
637 
638  // add read / back button
639  if ($ilAccess->checkAccess("read", "", $_GET["ref_id"]))
640  {
641  $info->addButton($this->lng->txt("view"),
642  $this->ctrl->getLinkTarget($this, ""),
643  ' target="ilContObj'.$this->slm_gui->object->getId().'" ');
644  }
645 
646  // show standard meta data section
647  $info->addMetaDataSections($this->slm_gui->object->getId(),0,
648  $this->slm_gui->object->getType());
649 
650  /*
651  if ($this->offlineMode())
652  {
653  $this->tpl->setContent($info->getHTML());
654  return $this->tpl->get();
655  }
656  else
657  {*/
658  // forward the command
659  $this->ctrl->forwardCommand($info);
660  //$this->tpl->setContent("aa");
661  $this->tpl->show();
662  //}
663  }
664 
665 }
666 ?>