5require_once(
"./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php");
 
    6require_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMObjectGUI.php");
 
   45                $next_class = $this->ctrl->getNextClass($this);
 
   46                $cmd = $this->ctrl->getCmd(
"frameset");
 
   48                if (!$ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]) &&
 
   49                        (!$ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]) ||
 
   50                        !$this->slm->getOnline()))
 
   52                        $ilias->raiseError(
$lng->txt(
"permission_denied"), 
$ilias->error_obj->WARNING);
 
   67                if(!is_array($a_attributes))
 
   71                foreach ($a_attributes as $attribute)
 
   73                        $attr[$attribute->name()] = $attribute->value();
 
   86                $javascriptAPI = 
true;
 
   87                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMObject.php");
 
   93                                header(
'Content-Type: text/html; charset=utf-8');
 
   94                                echo(
$lng->txt(
"cont_sc_max_attempt_exceed"));
 
  106                if ($javascriptAPI == 
false) {
 
  107                        if (count($items) > 1
 
  108                                || strtolower(get_class($this->slm)) == 
"ilobjaicclearningmodule" 
  109                                || strtolower(get_class($this->slm)) == 
"ilobjhacplearningmodule")
 
  111                                $this->ctrl->setParameter($this, 
"expand", 
"1");
 
  112                                $exp_link = $this->ctrl->getLinkTarget($this, 
"explorer");
 
  113                                $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset.html", 
false, 
false, 
"Modules/ScormAicc");
 
  114                                $this->tpl->setVariable(
"EXPLORER_LINK", $exp_link);
 
  115                                $api_link = $this->ctrl->getLinkTarget($this, 
"api");
 
  116                                $this->tpl->setVariable(
"API_LINK", $api_link);
 
  117                                $pres_link = $this->ctrl->getLinkTarget($this, 
"view");
 
  118                                $this->tpl->setVariable(
"PRESENTATION_LINK", $pres_link);
 
  119                                $this->tpl->show(
"DEFAULT", 
false);
 
  121                        else if (count($items) == 1)
 
  123                                $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset_one_page.html", 
false, 
false, 
"Modules/ScormAicc");
 
  124                                $this->ctrl->setParameter($this, 
"autolaunch", $items[0]);
 
  125                                $api_link = $this->ctrl->getLinkTarget($this, 
"api");
 
  126                                $this->tpl->setVariable(
"API_LINK", $api_link);
 
  127                                $pres_link = $this->ctrl->getLinkTarget($this, 
"view");
 
  128                                $this->tpl->setVariable(
"PRESENTATION_LINK", $pres_link);
 
  129                                $this->tpl->show(
"DEFAULT", 
false);
 
  132                        $debug = $this->slm->getDebug();
 
  133                        if (count($items) > 1
 
  134                                || strtolower(get_class($this->slm)) == 
"ilobjaicclearningmodule" 
  135                                || strtolower(get_class($this->slm)) == 
"ilobjhacplearningmodule")
 
  137                                $this->ctrl->setParameter($this, 
"expand", 
"1");
 
  138                                $this->ctrl->setParameter($this, 
"jsApi", 
"1");
 
  139                                $exp_link = $this->ctrl->getLinkTarget($this, 
"explorer");
 
  145                                        $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset_js_debug.html", 
false, 
false, 
"Modules/ScormAicc");
 
  150                                        $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset_js.html", 
false, 
false, 
"Modules/ScormAicc");
 
  153                                $this->tpl->setVariable(
"EXPLORER_LINK", $exp_link);
 
  154                                $pres_link = $this->ctrl->getLinkTarget($this, 
"contentSelect");
 
  155                                $this->tpl->setVariable(
"PRESENTATION_LINK", $pres_link);
 
  161                                        $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset_js_debug_one_page.html", 
false, 
false, 
"Modules/ScormAicc");
 
  165                                        $this->tpl = 
new ilTemplate(
"tpl.sahs_pres_frameset_js_one_page.html", 
false, 
false, 
"Modules/ScormAicc");
 
  168                                $this->ctrl->setParameter($this, 
"autolaunch", $items[0]);
 
  170                        $api_link = $this->ctrl->getLinkTarget($this, 
"apiInitData");
 
  171                        $this->tpl->setVariable(
"API_LINK", $api_link);
 
  172                        $this->tpl->show(
"DEFAULT", 
false);
 
  183                include_once 
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMInitData.php";
 
  193                $val_set = 
$ilDB->queryF(
'SELECT package_attempts FROM sahs_user WHERE obj_id = %s AND user_id = %s',
 
  194                        array(
'integer',
'integer'), array($this->slm->getId(),
$ilUser->getId()));
 
  195                $val_rec = 
$ilDB->fetchAssoc($val_set);
 
  196                $attempts = $val_rec[
"package_attempts"];
 
  197                if ($attempts == 
null) $attempts = 0;
 
  285                        'SELECT package_attempts,count(*) cnt FROM sahs_user WHERE obj_id = %s AND user_id = %s GROUP BY package_attempts',
 
  286                        array(
'integer',
'integer'),
 
  287                        array($this->slm->getId(),
$ilUser->getId()));
 
  289                if ($val_rec[
"cnt"] == 0) { 
 
  292                                'INSERT INTO sahs_user (obj_id,user_id,package_attempts,module_version,last_access) VALUES(%s,%s,%s,%s,%s)',
 
  293                                array(
'integer', 
'integer', 
'integer', 
'integer', 
'timestamp'),
 
  294                                array($this->slm->getId(), 
$ilUser->getId(), $attempts, $this->slm->getModuleVersion(), date(
'Y-m-d H:i:s')));
 
  296                        $attempts = $val_rec[
"package_attempts"];
 
  297                        if ($attempts == 
null) $attempts = 0;
 
  300                                'UPDATE sahs_user SET package_attempts = %s, module_version = %s, last_access=%s WHERE obj_id = %s AND user_id = %s ',
 
  301                                array(
'integer', 
'integer', 
'timestamp', 
'integer', 
'integer'),
 
  302                                array($attempts, $this->slm->getModuleVersion(), date(
'Y-m-d H:i:s'), $this->slm->getId(), 
$ilUser->getId()));
 
  305                include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");        
 
  365                $ilBench->start(
"SCORMExplorer", 
"initExplorer");
 
  367                $this->tpl = 
new ilTemplate(
"tpl.sahs_exp_main.html", 
true, 
true, 
"Modules/ScormAicc");
 
  369                require_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMExplorer.php");
 
  370                $exp = 
new ilSCORMExplorer($this->ctrl->getLinkTarget($this, 
"view"), $this->slm);
 
  371                $exp->setTargetGet(
"obj_id");
 
  372                $exp->setFrameTarget($a_target);
 
  376                if (
$_GET[
"jsApi"] == 
"1") $jsApi=
true;
 
  378                if (
$_GET[
"scexpand"] == 
"")
 
  381                        $expanded = $mtree->readRootId();
 
  385                        $expanded = 
$_GET[
"scexpand"];
 
  387                $exp->setExpand($expanded);
 
  389                $exp->forceExpandAll(
true, 
false);
 
  390                $ilBench->stop(
"SCORMExplorer", 
"initExplorer");
 
  393                $ilBench->start(
"SCORMExplorer", 
"setOutput");
 
  395                $ilBench->stop(
"SCORMExplorer", 
"setOutput");
 
  397                $ilBench->start(
"SCORMExplorer", 
"getOutput");
 
  398                $output = $exp->getOutput($jsApi);
 
  399                $ilBench->stop(
"SCORMExplorer", 
"getOutput");
 
  402                $this->tpl->addBlockFile(
"CONTENT", 
"content", 
"tpl.sahs_explorer.html", 
"Modules/ScormAicc");
 
  404                $this->tpl->setVariable(
"EXP_REFRESH", $this->lng->txt(
"refresh"));
 
  405                $this->tpl->setVariable(
"EXPLORER",$output);
 
  406                $this->tpl->setVariable(
"ACTION", 
"ilias.php?baseClass=ilSAHSPresentationGUI&cmd=".
$_GET[
"cmd"].
"&frame=".
$_GET[
"frame"].
 
  407                        "&ref_id=".$this->slm->getRefId().
"&scexpand=".
$_GET[
"scexpand"]);
 
  408                $this->tpl->parseCurrentBlock();
 
  420                if(is_object($sc_gui_object))
 
  422                        $sc_gui_object->view();
 
  426                $this->tpl->show(
false);
 
  431                $this->tpl = 
new ilTemplate(
"tpl.scorm_content_select.html", 
true, 
true, 
"Modules/ScormAicc");
 
  433                $this->tpl->setVariable(
'TXT_SPECIALPAGE',
$lng->txt(
"seq_toc"));
 
  443                if (
$_GET[
"ref_id"] == 
"") {
 
  444                        print (
'alert("no start without ref_id");');
 
  448                header(
'Content-Type: text/javascript; charset=UTF-8');
 
  449                print(
"function iliasApi() {\r\n");
 
  450                $js_data = file_get_contents(
"./Modules/ScormAicc/scripts/basisAPI.js");
 
  452                $js_data = file_get_contents(
"./Modules/ScormAicc/scripts/SCORM1_2standard.js");
 
  456                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMInitData.php");
 
  470                if ($this->slm->getAPIAdapterName() != 
"API") 
print(
'var '.$this->slm->getAPIAdapterName().
'=new iliasApi();');
 
  471                else print(
'var API=new iliasApi();');
 
  481                $this->tpl = 
new ilTemplate(
"tpl.sahs_api.html", 
true, 
true, 
"Modules/ScormAicc");
 
  484                if (
$_GET[
"autolaunch"] != 
"")
 
  486                        $this->tpl->setCurrentBlock(
"auto_launch");
 
  487                        include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php");
 
  488                        include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMResource.php");
 
  490                        $id_ref = $sc_object->getIdentifierRef();
 
  494                        if ($scormtype == 
"asset")
 
  496                                $item_command = 
"IliasLaunchAsset";
 
  500                                $item_command = 
"IliasLaunchSahs";
 
  502                        $this->tpl->setVariable(
"AUTO_LAUNCH_ID", 
$_GET[
"autolaunch"]);
 
  503                        $this->tpl->setVariable(
"AUTO_LAUNCH_CMD", 
"this.autoLaunch();");
 
  504                        $this->tpl->setVariable(
"AUTO_LAUNCH_ITEM_CMD", $item_command);
 
  505                        $this->tpl->parseCurrentBlock();
 
  509                if ($slm_obj->getSession()) {                   
 
  510                        $session_timeout = (int)(
$ilias->ini->readVariable(
"session",
"expire"))/2;
 
  512                        $session_timeout = 0;
 
  514                $this->tpl->setVariable(
"PING_SESSION",$session_timeout);
 
  516                $this->tpl->setVariable(
"USER_ID",
$ilias->account->getId());
 
  517                $this->tpl->setVariable(
"USER_FIRSTNAME",
$ilias->account->getFirstname());
 
  518                $this->tpl->setVariable(
"USER_LASTNAME",
$ilias->account->getLastname());
 
  519                $this->tpl->setVariable(
"USER_LOGIN",
$ilias->account->getLogin());
 
  520                $this->tpl->setVariable(
"USER_OU",
$ilias->account->getDepartment());
 
  521                $this->tpl->setVariable(
"REF_ID",
$_GET[
"ref_id"]);
 
  522                $this->tpl->setVariable(
"SESSION_ID",session_id());
 
  523                $this->tpl->setVariable(
"CODE_BASE", 
"http://".$_SERVER[
'SERVER_NAME'].substr($_SERVER[
'PHP_SELF'], 0, strpos ($_SERVER[
'PHP_SELF'], 
"/ilias.php")));
 
  525                $this->tpl->parseCurrentBlock();
 
  526                $this->tpl->show(
false);
 
  538                $sco_id = (
$_GET[
"sahs_id"] == 
"")
 
  547                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php");
 
  548                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMResource.php");
 
  551                $id_ref = $item->getIdentifierRef();
 
  553                $resource->readByIdRef($id_ref, $item->getSLMId());
 
  555                $href = $resource->getHref();
 
  556                $this->tpl = 
new ilTemplate(
"tpl.sahs_launch_cbt.html", 
true, 
true, 
"Modules/ScormAicc");
 
  557                $this->tpl->setVariable(
"HREF", $this->slm->getDataDirectory(
"output").
"/".$href);
 
  560                $this->tpl->setVariable(
"LAUNCH_DATA", $item->getDataFromLms());
 
  561                $this->tpl->setVariable(
"MAST_SCORE", $item->getMasteryScore());
 
  562                $this->tpl->setVariable(
"MAX_TIME", $item->getMaxTimeAllowed());
 
  563                $this->tpl->setVariable(
"LIMIT_ACT", $item->getTimeLimitAction());
 
  566                if ($this->slm->getAPIAdapterName() != 
"API")
 
  568                        $this->tpl->setCurrentBlock(
"alt_api_ref");
 
  569                        $this->tpl->setVariable(
"API_NAME", $this->slm->getAPIAdapterName());
 
  570                        $this->tpl->parseCurrentBlock();
 
  573                $val_set = 
$ilDB->queryF(
' 
  574                        SELECT * FROM scorm_tracking  
  578                        array(
'integer',
'integer',
'integer'),
 
  579                        array(
$ilUser->getId(),$sco_id,$this->slm->getId())     
 
  582                while($val_rec = 
$ilDB->fetchAssoc($val_set))           
 
  584                        $val_rec[
"rvalue"] = str_replace(
"\r\n", 
"\n", $val_rec[
"rvalue"]);
 
  585                        $val_rec[
"rvalue"] = str_replace(
"\r", 
"\n", $val_rec[
"rvalue"]);
 
  586                        $val_rec[
"rvalue"] = str_replace(
"\n", 
"\\n", $val_rec[
"rvalue"]);
 
  587                        $re_value[$val_rec[
"lvalue"]] = $val_rec[
"rvalue"];
 
  590                foreach($re_value as $var => $value)
 
  594                                case "cmi.core.lesson_location":
 
  595                                case "cmi.core.lesson_status":
 
  596                                case "cmi.core.entry":
 
  597                                case "cmi.core.score.raw":
 
  598                                case "cmi.core.score.max":
 
  599                                case "cmi.core.score.min":
 
  600                                case "cmi.core.total_time":
 
  601                                case "cmi.core.exit":
 
  602                                case "cmi.suspend_data":
 
  604                                case "cmi.student_preference.audio":
 
  605                                case "cmi.student_preference.language":
 
  606                                case "cmi.student_preference.speed":
 
  607                                case "cmi.student_preference.text":
 
  611                                case "cmi.objectives._count":
 
  613                                        $this->
setArray(
"cmi.objectives", $value, 
"id", $re_value);
 
  614                                        $this->
setArray(
"cmi.objectives", $value, 
"score.raw", $re_value);
 
  615                                        $this->
setArray(
"cmi.objectives", $value, 
"score.max", $re_value);
 
  616                                        $this->
setArray(
"cmi.objectives", $value, 
"score.min", $re_value);
 
  617                                        $this->
setArray(
"cmi.objectives", $value, 
"status", $re_value);
 
  620                                case "cmi.interactions._count":
 
  622                                        $this->
setArray(
"cmi.interactions", $value, 
"id", $re_value);
 
  623                                        for($i=0; $i<$value; $i++)
 
  625                                                $var2 = 
"cmi.interactions.".$i.
".objectives._count";
 
  626                                                if (isset($v_array[$var2]))
 
  628                                                        $cnt = $v_array[$var2];
 
  629                                                        $this->
setArray(
"cmi.interactions.".$i.
".objectives",
 
  630                                                                $cnt, 
"id", $re_value);
 
  642                                        $this->
setArray(
"cmi.interactions", $value, 
"time", $re_value);
 
  643                                        $this->
setArray(
"cmi.interactions", $value, 
"type", $re_value);
 
  644                                        for($i=0; $i<$value; $i++)
 
  646                                                $var2 = 
"cmi.interactions.".$i.
".correct_responses._count";
 
  647                                                if (isset($v_array[$var2]))
 
  649                                                        $cnt = $v_array[$var2];
 
  650                                                        $this->
setArray(
"cmi.interactions.".$i.
".correct_responses",
 
  651                                                                $cnt, 
"pattern", $re_value);
 
  652                                                        $this->
setArray(
"cmi.interactions.".$i.
".correct_responses",
 
  653                                                                $cnt, 
"weighting", $re_value);
 
  656                                        $this->
setArray(
"cmi.interactions", $value, 
"student_response", $re_value);
 
  657                                        $this->
setArray(
"cmi.interactions", $value, 
"result", $re_value);
 
  658                                        $this->
setArray(
"cmi.interactions", $value, 
"latency", $re_value);
 
  664                $this->tpl->setCurrentBlock(
"switch_icon");
 
  665                $this->tpl->setVariable(
"SCO_ID", 
$_GET[
"sahs_id"]);
 
  667                $this->tpl->setVariable(
"SCO_ALT",
 
  668                         $lng->txt(
"cont_status").
": " 
  669                        .$lng->txt(
"cont_sc_stat_running")
 
  671                $this->tpl->parseCurrentBlock();
 
  675                if (count($items) > 1
 
  676                        || strtolower(get_class($this->slm)) == 
"ilobjaicclearningmodule" 
  677                        || strtolower(get_class($this->slm)) == 
"ilobjhacplearningmodule")
 
  679                        $this->tpl->setVariable(
"SWITCH_ICON_CMD", 
"switch_icon();");
 
  684                $lesson_mode = $this->slm->getDefaultLessonMode();
 
  685                if ($this->slm->getAutoReview())
 
  687                        if ($re_value[
"cmi.core.lesson_status"] == 
"completed" ||
 
  688                                $re_value[
"cmi.core.lesson_status"] == 
"passed" ||
 
  689                                $re_value[
"cmi.core.lesson_status"] == 
"failed")
 
  691                                $lesson_mode = 
"review";
 
  694                $this->tpl->setVariable(
"LESSON_MODE", $lesson_mode);
 
  697                if ($lesson_mode == 
"normal")
 
  699                        $this->tpl->setVariable(
"CREDIT_MODE",
 
  700                                str_replace(
"_", 
"-", $this->slm->getCreditMode()));
 
  704                        $this->tpl->setVariable(
"CREDIT_MODE", 
"no-credit");
 
  709                if (!isset($re_value[
"cmi.core.total_time"]))
 
  711                        $item->insertTrackData(
"cmi.core.total_time", 
"0000:00:00", $sahs_obj_id);
 
  713                if (!isset($re_value[
"cmi.core.lesson_status"]))
 
  715                        $item->insertTrackData(
"cmi.core.lesson_status", 
"not attempted", $sahs_obj_id);
 
  717                if (!isset($re_value[
"cmi.core.entry"]))
 
  719                        $item->insertTrackData(
"cmi.core.entry", 
"", $sahs_obj_id);
 
  729                $this->tpl = 
new ilTemplate(
"tpl.sahs_finish_cbt.html", 
true, 
true, 
"Modules/ScormAicc");
 
  734                $this->tpl->setVariable(
"SCO_ID", 
$_GET[
"sahs_id"]);
 
  736                        "scorm/".str_replace(
" ", 
"_", 
$_GET[
"status"]).
'.svg')
 
  738                $this->tpl->setVariable(
"SCO_ALT",
 
  739                         $lng->txt(
"cont_status").
": " 
  740                        .$lng->txt(
"cont_sc_stat_".str_replace(
" ", 
"_", 
$_GET[
"status"])).
", " 
  741                        .$lng->txt(
"cont_total_time").  
": " 
  751                $launch_id = 
$_GET[
'launch'];
 
  752                if ($launch_id == 
'null' || $launch_id == 
null) {
 
  753                        require_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMTree.php");
 
  755                        $node_data = $mtree->fetchSuccessorNode(
$_GET[
'sahs_id']);
 
  756                        if ($node_data && $node_data[type] == 
'sit')
 
  758                                $launch_id = $node_data[
'child'];
 
  762                $this->tpl->setVariable(
"SCO_LAUNCH_ID", $launch_id);
 
  769                $this->tpl = 
new ilTemplate(
"tpl.sahs_unload_cbt.html", 
true, 
true, 
"Modules/ScormAicc");
 
  771                $this->tpl->setVariable(
"SCO_ID", 
$_GET[
"sahs_id"]);
 
  780                $sco_id = (
$_GET[
"asset_id"] == 
"")
 
  789                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php");
 
  790                include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilSCORMResource.php");
 
  793                $id_ref = $item->getIdentifierRef();
 
  795                $resource->readByIdRef($id_ref, $item->getSLMId());
 
  796                $href = $resource->getHref();
 
  797                $this->tpl->setVariable(
"HREF", $this->slm->getDataDirectory(
"output").
"/".$href);
 
  798                $this->tpl = 
new ilTemplate(
"tpl.scorm_launch_asset.html", 
true, 
true, 
"Modules/ScormAicc");
 
  799                $this->tpl->setVariable(
"HREF", $this->slm->getDataDirectory(
"output").
"/".$href);
 
  810                $logString = file_get_contents(
'php://input');
 
  811                $ilLog->write(
"ScormAicc: ApiLog: Message: ".$logString);
 
  816                $logString = file_get_contents(
'php://input');
 
  817                $ilLog->write(
"ScormAicc: ApiLog: Warning: ".$logString,20);
 
  825                $this->tpl->setCurrentBlock(
"set_value");
 
  826                $this->tpl->setVariable(
"VAR", $a_var);
 
  827                $this->tpl->setVariable(
"VALUE", $a_value);
 
  828                $this->tpl->parseCurrentBlock();
 
  834        function setArray($a_left, $a_value, $a_name, &$v_array)
 
  836                for($i=0; $i<$a_value; $i++)
 
  838                        $var = $a_left.
".".$i.
".".$a_name;
 
  839                        if (isset($v_array[$var]))
 
  841                                $this->tpl->setCurrentBlock(
"set_value");
 
  842                                $this->tpl->setVariable(
"VAR", $var);
 
  843                                $this->tpl->setVariable(
"VALUE", $v_array[$var]);
 
  844                                $this->tpl->parseCurrentBlock();
 
  859                include_once 
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModuleAccess.php";
 
  862                        include_once 
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php";
 
  867                                        include_once 
"./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php";
 
  872                                        include_once 
"./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php";
 
  883                        include_once 
"./Services/Certificate/classes/class.ilCertificate.php";
 
  884                        include_once 
"./Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php";
 
  888                                "last_access" => $last_access
 
  890                        $certificate->outCertificate($params, 
true);
 
  894                $parent = $tree->getParentId(
$_GET[
"ref_id"]);
 
  895                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $parent);
 
  896                $ilCtrl->redirectByClass(
"ilrepositorygui", 
"");
 
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_no_raise=false, $a_force_raise=false)
Update status.
static _lookupUserCertificate($obj_id, $usr_id=0)
Checks whether a certificate exists for the active user or not.
_lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
static _lookupLastAccess($a_obj_id, $a_usr_id)
Return the last access timestamp for a given user.
getIliasScormVars($slm_obj)
get_max_attempts($a_packageId)
Get max.
getIliasScormTree($a_packageId)
getIliasScormData($a_packageId)
getIliasScormResources($a_packageId)
Class ilObjSCORMLearningModule.
static _lookupLastAccess($a_obj_id, $a_usr_id)
Return the last access timestamp for a given user.
_lookupFields($a_user_id)
lookup fields (deprecated; use more specific methods instead)
static _lookupObjId($a_id)
SCORM certificate adapter.
& getInstance($a_id)
get instance of specialized GUI class
_lookupPresentableItems($a_slm_id)
Count number of presentable SCOs/Assets of SCORM learning module.
Class ilSCORMPresentationGUI.
explorer($a_target="sahs_content")
save the active module version to scorm_tracking
get_max_attempts()
Get max.
apiInitData()
SCORM Data for Javascript-API.
get_actual_attempts()
Get number of actual attempts for the user.
launchSahs()
This function is called by the API applet in the content frame when a SCO is started.
increase_attemptAndsave_module_version()
Increases attempts by one for this package.
view()
SCORM content screen.
downloadCertificate()
Download the certificate for the active user.
setSingleVariable($a_var, $a_value)
set single value
frameset()
Output main frameset.
attrib2arr(&$a_attributes)
setArray($a_left, $a_value, $a_name, &$v_array)
set single value
& executeCommand()
execute command
_lookupIdByIdRef($a_id_ref, $a_slm_id)
_lookupScormType($a_obj_id)
special template class to simplify handling of ITX/PEAR
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
redirection script todo: (a better solution should control the processing via a xml file)