5require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004NodeGUI.php");
 
    6require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
 
    7require_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Objective.php");
 
   45        $this->ctrl = 
$DIC->ctrl();
 
   46        $this->tpl = 
$DIC[
"tpl"];
 
   47        $this->tabs = 
$DIC->tabs();
 
   48        $this->lng = 
$DIC->language();
 
   49        $this->help = 
$DIC[
"ilHelp"];
 
   50        $this->
error = $DIC[
"ilErr"];
 
   53        $ilCtrl->saveParameter($this, 
"obj_id");
 
   56        parent::__construct($a_slm_obj, $a_node_id);
 
   76        $tpl->getStandardTemplate();
 
   78        $next_class = 
$ilCtrl->getNextClass($this);
 
   81        switch ($next_class) {
 
   84                switch (
$_GET[
"notes_mode"]) {
 
   86                        $ilTabs->setTabActive(
"sahs_organization");
 
   91            case 'ilobjectmetadatagui':
 
   94                                include_once 
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
 
   97                    $this->node_object->getType(),
 
   98                    $this->node_object->getId()
 
  100                $md_gui->addMDObserver($this->node_object, 
'MDUpdateListener', 
'General');
 
  101                $ilCtrl->forwardCommand($md_gui);
 
  104            case 'ilscorm2004pagegui':
 
  105                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php");
 
  109                $ilCtrl->forwardCommand($page_obj);
 
  113            case "ilassgenfeedbackpagegui":
 
  117                $cmd = 
$ilCtrl->getCmd(
"showOrganization");
 
  118                $ret = $this->$cmd();
 
  135        $ilTabs->setTabActive(
"sahs_desc_objectives");
 
  137        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  142        $cb->setInfo(
$lng->txt(
"sahs_hide_objectives_page_info"));
 
  144        $cb->setChecked($this->node_object->getHideObjectivePage());
 
  150        $ta->setInfo(
$lng->txt(
"sahs_list_info"));
 
  151        $form->setTitle(
$lng->txt(
"properties"));
 
  153        include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  154        $meta = 
new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
 
  155        $desc_ids = $meta->getGeneral()->getDescriptionIds();
 
  156        $ta->setValue($meta->getGeneral()->getDescription($desc_ids[0])->getDescription());
 
  160        $sh->setTitle(
$lng->txt(
"sahs_learning_objectives"));
 
  163        $objectives = $this->node_object->getObjectives();
 
  165        foreach ($objectives as $ob) {
 
  167            $mappings = $ob->getMappings();
 
  169            foreach ($mappings as $map) {
 
  170                $mapinfo .= $map->getTargetObjectiveID();
 
  173            if ($mapinfo == 
null) {
 
  176                $mapinfo = 
"global to " . $mapinfo;
 
  182                "obj_" . $ob->getId()
 
  186            $ta->setInfo(
$lng->txt(
"sahs_list_info"));
 
  188            $ta->setValue($ob->getObjectiveID());
 
  191        $form->addCommandButton(
 
  208            if (preg_match(
'/(obj_)(.+)/', 
$key, $match)) {
 
  209                $objective = 
new ilScorm2004Objective($this->node_object->getId(), $match[2]);
 
  215                $objective->updateObjective();
 
  221        $this->node_object->update();
 
  223        include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  224        $meta = 
new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
 
  225        $gen = $meta->getGeneral();
 
  226        $desc_ids = $gen->getDescriptionIds();
 
  227        $des = $gen->getDescription($desc_ids[0]);
 
  249        include_once 
"./Services/Table/classes/class.ilTableGUI.php";
 
  250        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
 
  251        include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
 
  252        include_once(
"./Services/COPage/classes/class.ilPCQuestionGUI.php");
 
  255        $tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.table.html");
 
  256        $tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.scormeditor_sco_question.html", 
"Modules/Scorm2004");
 
  259        $tbl->setTitle(
"Questions for " . $this->node_object->getTitle());
 
  260        $tbl->setHeaderNames(array(
"Question",
"Page"));
 
  261        $cols = array(
"question",
"page");
 
  262        $tbl->setHeaderVars(
$cols, $header_params);
 
  263        $tbl->setColumnWidth(array(
"50%", 
"50%"));
 
  264        $tbl->disable(
"sort");
 
  265        $tbl->disable(
"footer");
 
  267        $tree = 
new ilTree($this->slm_object->getId());
 
  268        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  269        $tree->setTreeTablePK(
"slm_id");
 
  271        foreach ($tree->getSubTree($tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  273            include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  275            if (count($qids) > 0) {
 
  277                foreach ($qids as $qid) {
 
  278                    $tpl->setCurrentBlock(
"tbl_content");
 
  279                    $tpl->setVariable(
"TXT_PAGE_TITLE", $page[
"title"]);
 
  280                    $ilCtrl->setParameterByClass(
"ilscorm2004pagenodegui", 
"obj_id", $page[
"obj_id"]);
 
  281                    $tpl->setVariable(
"HREF_EDIT_PAGE", 
$ilCtrl->getLinkTargetByClass(
"ilscorm2004pagenodegui", 
"edit"));
 
  284                    $tpl->setVariable(
"TXT_QUESTION", $qtitle);
 
  285                    $ilCtrl->setParameterByClass(
"ilscorm2004pagenodegui", 
"obj_id", $page[
"obj_id"]);
 
  289                    $tpl->parseCurrentBlock();
 
  299        $slm_tree = 
new ilTree($this->node_object->getId(), $this->slm_object->getId());
 
  300        $slm_tree->setTreeTablePK(
"slm_id");
 
  301        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  316        $ilHelp->setScreenIdComponent(
"sahsed");
 
  321            $ilCtrl->getLinkTarget($this, 
'showOrganization'),
 
  329            "sahs_desc_objectives",
 
  330            $ilCtrl->getLinkTarget($this, 
'showProperties'),
 
  338            $ilCtrl->getLinkTarget($this, 
'sahs_questions'),
 
  346            $ilCtrl->getLinkTarget($this, 
'sco_resources'),
 
  352        include_once 
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
 
  355            $this->node_object->getType(),
 
  356            $this->node_object->getId()
 
  358        $mdtab = $mdgui->getTab();
 
  371            $ilCtrl->getLinkTarget($this, 
"showExportList"),
 
  379            $ilCtrl->getLinkTarget($this, 
"import"),
 
  385        $ilTabs->addNonTabbedLink(
 
  387            $lng->txt(
"cont_preview"),
 
  388            $ilCtrl->getLinkTarget($this, 
'sco_preview'),
 
  394            $lng->txt(
"sahs_unit") . 
": " . $this->node_object->getTitle()
 
  406        $this->slm_object->executeDragDrop(
 
  407            $_POST[
"il_hform_source_id"],
 
  408            $_POST[
"il_hform_target_id"],
 
  410            $_POST[
"il_hform_as_subitem"]
 
  412        $ilCtrl->redirect($this, 
"showOrganization");
 
  426        include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  428        $tpl->setBodyClass(
"");
 
  429        $tpl->setCurrentBlock(
"ContentStyle");
 
  431            "LOCATION_CONTENT_STYLESHEET",
 
  434        $tpl->parseCurrentBlock();
 
  437        include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
  440        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/pure.js");
 
  441        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/pager.js");
 
  443        $tpl->addOnLoadCode(
"pager.Init();");
 
  445        $tree = 
new ilTree($this->slm_object->getId());
 
  446        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  447        $tree->setTreeTablePK(
"slm_id");
 
  448        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php";
 
  449        include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  451        $meta = 
new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
 
  452        $desc_ids = $meta->getGeneral()->getDescriptionIds();
 
  453        $sco_description = $meta->getGeneral()->getDescription($desc_ids[0])->getDescription();
 
  456        $sco_tpl = 
new ilTemplate(
"tpl.sco.html", 
true, 
true, 
"Modules/Scorm2004");
 
  466            $this->node_object->getType()
 
  471        $terms = $this->node_object->getGlossaryTermIds();
 
  474        foreach ($tree->getSubTree($tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  476                $this->node_object->getType(),
 
  479                $this->slm_object->getId()
 
  481            $page_obj->setPresentationTitle($page[
"title"]);
 
  483            $page_obj->setStyleId($this->slm_object->getStyleSheetId());
 
  484            if (count($terms) > 1) {
 
  485                $page_obj->setGlossaryOverviewInfo(
 
  490            $sco_tpl->setCurrentBlock(
"page_preview");
 
  493            $sco_tpl->setVariable(
"PAGE_PRV", 
$html);
 
  494            $sco_tpl->parseCurrentBlock();
 
  503        require_once 
'./Modules/Scorm2004/classes/class.ilQuestionExporter.php';
 
  504        $output = preg_replace_callback(
"/{{{{{(Question;)(il__qst_[0-9]+)}}}}}/", array(get_class($this), 
'insertQuestion'), 
$output);
 
  509        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/question_handling.js");
 
  510        $tpl->addCss(
"./Modules/Scorm2004/templates/default/question_handling.css");
 
  512        include_once(
"./Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php");
 
  516        $output .=
'<script type="text/javascript" src="./Modules/Scorm2004/scripts/questions/question_handling.js"></script>';
 
  526        return $q_exporter->exportQuestion($matches[2]);
 
  534        switch (
$_POST[
'select_export']) {
 
  535            case "exportScorm12":
 
  536            case "exportScorm2004_3rd":
 
  537            case "exportScorm2004_4th":
 
  540                $this->ctrl->redirect($this, 
$_POST[
'select_export']);
 
  543                $this->ctrl->redirect($this, 
'showExportList');
 
  558        $template = 
new ilTemplate(
"tpl.scorm2004_export_buttons.html", 
true, 
true, 
'Modules/Scorm2004');
 
  561            "exportScorm2004_3rd" => 
$lng->txt(
"scorm_create_export_file_scrom2004"),
 
  562            "exportScorm2004_4th" => 
$lng->txt(
"scorm_create_export_file_scrom2004_4th"),
 
  563            "exportScorm12" => 
$lng->txt(
"scorm_create_export_file_scrom12"),
 
  564            "exportPDF" => 
$lng->txt(
"scorm_create_export_file_pdf"),
 
  565            "exportHTML" => 
$lng->txt(
"scorm_create_export_file_html")
 
  567        foreach ($buttons as $value => 
$text) {
 
  569            $template->setVariable(
'OPTION_VALUE', $value);
 
  575        $template->setVariable(
'FORMACTION', 
$ilCtrl->getFormAction($this, 
'selectExport'));
 
  577        $export_files = $this->node_object->getExportFiles();
 
  579        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
  582        foreach ($export_files as $exp_file) {
 
  583            $filetype = $exp_file[
'type'];
 
  587            $file_arr = explode(
"__", $exp_file[
"file"]);
 
  590        $table_gui->setData(
$data);
 
  591        $tpl->setVariable(
'ADM_CONTENT', 
$template->get() . 
"\n" . $table_gui->getHTML());
 
  597        $export->buildExportFile();
 
  598        $this->ctrl->redirect($this, 
"showExportList");
 
  605        $export->buildExportFile();
 
  606        $this->ctrl->redirect($this, 
"showExportList");
 
  612        $export->buildExportFile();
 
  613        $this->ctrl->redirect($this, 
"showExportList");
 
  619        $export->buildExportFile();
 
  620        $this->ctrl->redirect($this, 
"showExportList");
 
  626        $export->buildExportFile();
 
  627        $this->ctrl->redirect($this, 
"showExportList");
 
  633        $export->buildExportFile();
 
  634        $this->ctrl->redirect($this, 
"showExportList");
 
  640        $export = 
new ilSCORM2004Export($this->node_object);
 
  641        $export_dir = $export->getExportDirectoryForType(
$_GET[
'type']);
 
  653        if (!isset(
$_POST[
"file"])) {
 
  655            $this->ctrl->redirect($this, 
"showExportList");
 
  659        $export_files = $this->node_object->getExportFiles();
 
  661        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
  664        foreach ($export_files as $exp_file) {
 
  665            foreach (
$_POST[
'file'] as $delete_file) {
 
  666                if (strcmp($delete_file, $exp_file[
'file']) == 0) {
 
  670                    $file_arr = explode(
"__", $exp_file[
"file"]);
 
  675        $table_gui->setData(
$data);
 
  676        $tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
 
  685        $this->ctrl->redirect($this, 
"showExportList");
 
  695        include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  696        $export = 
new ilSCORM2004Export($this->node_object);
 
  698            $export_dir = $export->getExportDirectoryForType(
$_POST[
'type'][$idx]);
 
  699            $exp_file = $export_dir . 
"/" . 
$file;
 
  700            if (@is_file($exp_file)) {
 
  705        $this->ctrl->redirect($this, 
"showExportList");
 
  710        $export_files = array();
 
  712        require_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
 
  713        include_once 
"./Services/MediaObjects/classes/class.ilObjMediaObject.php";
 
  714        include_once 
"./Modules/File/classes/class.ilObjFile.php";
 
  715        $tree = 
new ilTree($this->slm_object->getId());
 
  716        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  717        $tree->setTreeTablePK(
"slm_id");
 
  718        foreach ($tree->getSubTree($tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  720            $page_obj->buildDom();
 
  721            $mob_ids = $page_obj->collectMediaObjects(
false);
 
  722            foreach ($mob_ids as $mob_id) {
 
  727                    $export_files[
$i][
"date"] = $media_obj->getCreateDate();
 
  728                    $export_files[
$i][
"size"] = @filesize(
$path); 
 
  729                    $export_files[
$i][
"file"] = $media_obj->getTitle();
 
  730                    $export_files[
$i][
"type"] = $media_obj->getDescription();
 
  731                    $export_files[
$i][
"path"] = 
$path;
 
  732                    $this->ctrl->setParameter(
 
  737                    $export_files[
$i][
"link"] = $this->ctrl->getLinkTarget($this, 
"downloadResource");
 
  741            include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  743            foreach ($file_ids as $file_id) {
 
  744                $file_obj = 
new ilObjFile($file_id, 
false);
 
  745                $export_files[
$i][
"date"] = $file_obj->getCreateDate();
 
  746                $export_files[
$i][
"size"] = $file_obj->getFileSize();
 
  747                $export_files[
$i][
"file"] = $file_obj->getFileName();
 
  748                $export_files[
$i][
"type"] = $file_obj->getFileType();
 
  749                $export_files[
$i][
"file_id"] = $file_id;
 
  750                $this->ctrl->setParameter($this, 
"file_id", $file_id);
 
  751                $export_files[
$i][
"link"] = $this->ctrl->getLinkTarget($this, 
"downloadFile", 
"");
 
  757        return $export_files;
 
  773        require_once(
"./Services/Table/classes/class.ilTableGUI.php");
 
  777        $tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.table.html");
 
  780        $tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.download_file_row.html", 
"Modules/LearningModule");
 
  784        $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  786        $tbl->setTitle(
$lng->txt(
"cont_files"));
 
  788        $tbl->setHeaderNames(array(
$lng->txt(
"cont_format"),
 
  789            $lng->txt(
"cont_file"),
 
  790            $lng->txt(
"size"), 
$lng->txt(
"date"),
 
  793        $cols = array(
"format", 
"file", 
"size", 
"date", 
"download");
 
  794        $header_params = array(
"ref_id" => 
$_GET[
"ref_id"], 
"obj_id" => 
$_GET[
"obj_id"],
 
  795            "cmd" => 
"sco_resources", 
"cmdClass" => strtolower(get_class($this)),
 
  796            "cmdNode" => 
$_GET[
"cmdNode"], 
"baseClass" => 
$_GET[
"baseClass"]);
 
  797        $tbl->setHeaderVars(
$cols, $header_params);
 
  798        $tbl->setColumnWidth(array(
"10%", 
"30%", 
"20%", 
"20%",
"20%"));
 
  799        $tbl->disable(
"sort");
 
  802        $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
  805        $tbl->setMaxCount($this->maxcount);             
 
  808        $tbl->setMaxCount(count($export_files));
 
  811        $tbl->setFooter(
"tblfooter", 
$lng->txt(
"previous"), 
$lng->txt(
"next"));
 
  814        $tbl->setMaxCount(count($export_files));
 
  815        $export_files = array_slice($export_files, 
$_GET[
"offset"], 
$_GET[
"limit"]);
 
  818        if (count($export_files) > 0) {
 
  820            foreach ($export_files as $exp_file) {
 
  828                $tpl->setCurrentBlock(
"tbl_content");
 
  829                $tpl->setVariable(
"TXT_FILENAME", $exp_file[
"file"]);
 
  832                $tpl->setVariable(
"CSS_ROW", $css_row);
 
  834                $tpl->setVariable(
"TXT_SIZE", $exp_file[
"size"]);
 
  835                $tpl->setVariable(
"TXT_FORMAT", $exp_file[
"type"]);
 
  837                $tpl->setVariable(
"TXT_DATE", $exp_file[
"date"]);
 
  839                if ($exp_file[
"size"] > 0) {
 
  840                    $tpl->setVariable(
"TXT_DOWNLOAD", 
$lng->txt(
"download"));
 
  841                    $ilCtrl->setParameter($this, 
"resource", rawurlencode($exp_file[
"path"]));
 
  842                    $ilCtrl->setParameter($this, 
"file_id", rawurlencode($exp_file[
"file_id"]));
 
  845                        $ilCtrl->getLinkTarget($this, 
"downloadResource")
 
  848                    $tpl->setVariable(
"TXT_DOWNLOAD", 
$lng->txt(
"show"));
 
  849                    $tpl->setVariable(
"LINK_TARGET", 
" target=\"_blank\"");
 
  850                    $tpl->setVariable(
"LINK_DOWNLOAD", $exp_file[
"path"]);
 
  853                $tpl->parseCurrentBlock();
 
  872        if (
$_GET[
"file_id"] > 0) {
 
  877        foreach ($export_files as $f) {
 
  878            if (is_object(
$file)) {
 
  879                if ($f[
"file"] == 
$file->getFileName()) {
 
  883                if ($f[
"path"] == 
$_GET[
"resource"]) {
 
  884                    if (is_file($f[
"path"])) {
 
  896        require_once(
"./Modules/File/classes/class.ilObjFile.php");
 
  898        $fileObj->sendFile();
 
  902    public function import()
 
  910        $tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.scormeditor_sco_import.html", 
"Modules/Scorm2004");
 
  913        $tpl->setVariable(
"ALT_IMG", 
$lng->txt(
"obj_sahs"));
 
  915        $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  917        $tpl->setVariable(
"BTN_NAME", 
"importSave");
 
  922        $tpl->setVariable(
"TXT_UPLOAD", 
$lng->txt(
"upload"));
 
  923        $tpl->setVariable(
"TXT_CANCEL", 
$lng->txt(
"cancel"));
 
  924        $tpl->setVariable(
"TXT_IMPORT_SCO", 
$lng->txt(
"import_sco_object"));
 
  925        $tpl->setVariable(
"TXT_SELECT_FILE", 
$lng->txt(
"select_file"));
 
  926        $tpl->setVariable(
"TXT_VALIDATE_FILE", 
$lng->txt(
"cont_validate_file"));
 
  929        $umf=get_cfg_var(
"upload_max_filesize");
 
  931        $pms=get_cfg_var(
"post_max_size");
 
  934        $multiplier_a=array(
"K"=>1024, 
"M"=>1024*1024, 
"G"=>1024*1024*1024);
 
  939        if (count($umf_parts) == 2) {
 
  940            $umf = $umf_parts[0]*$multiplier_a[$umf_parts[1]];
 
  942        if (count($pms_parts) == 2) {
 
  943            $pms = $pms_parts[0]*$multiplier_a[$pms_parts[1]];
 
  947        $max_filesize=min($umf, $pms);
 
  949        if (!$max_filesize) {
 
  950            $max_filesize=max($umf, $pms);
 
  954        $max_filesize=
sprintf(
"%.1f MB", $max_filesize/1024/1024);
 
  957        $tpl->setVariable(
"TXT_FILE_INFO", 
$lng->txt(
"file_notice") . 
" $max_filesize");
 
  966        $source = $_FILES[
"scormfile"][
"tmp_name"];
 
  968            $ilErr->raiseError(
"No file selected!", 
$ilErr->MESSAGE);
 
  971        switch ($_FILES[
"scormfile"][
"error"]) {
 
  972            case UPLOAD_ERR_INI_SIZE:
 
  973                $ilErr->raiseError(
$lng->txt(
"err_max_file_size_exceeds"), 
$ilErr->MESSAGE);
 
  976            case UPLOAD_ERR_FORM_SIZE:
 
  977                $ilErr->raiseError(
$lng->txt(
"err_max_file_size_exceeds"), 
$ilErr->MESSAGE);
 
  980            case UPLOAD_ERR_PARTIAL:
 
  984            case UPLOAD_ERR_NO_FILE:
 
  989        $file = pathinfo($_FILES[
"scormfile"][
"name"]);
 
  990        $name = substr(
$file[
"basename"], 0, strlen(
$file[
"basename"]) - strlen(
$file[
"extension"]) - 1);
 
  991        $file_path = $this->slm_object->getDataDirectory() . 
"/" . $this->node_object->getId() . 
"/" . $_FILES[
"scormfile"][
"name"];
 
  993        ilUtil::moveUploadedFile($_FILES[
"scormfile"][
"tmp_name"], $_FILES[
"scormfile"][
"name"], $file_path);
 
  997        include_once(
"./Modules/Scorm2004/classes/ilSCORM13Package.php");
 
  999        $newPack->il_importSco($this->slm_object->getId(), $this->node_object->getId(), $this->slm_object->getDataDirectory() . 
"/" . $this->node_object->getId());
 
 1001        $this->ctrl->redirect($this, 
"showOrganization");
 
 1009        $this->ctrl->redirect($this, 
"showOrganization");
 
 1020        return "sco_glo_ov";
 
 1035        $tpl = 
new ilTemplate(
"tpl.sco_glossary_overview.html", 
true, 
true, 
"Modules/Scorm2004");
 
 1037        $terms = $a_sco->getGlossaryTermIds();
 
 1039        foreach ($terms as $k => 
$t) {
 
 1040            $tpl->setCurrentBlock(
"link");
 
 1041            $tpl->setVariable(
"TXT_LINK", 
$t);
 
 1042            $tpl->setVariable(
"ID_LINK", 
"glo_ov_t" . $k);
 
 1043            $tpl->parseCurrentBlock();
 
 1047        $tpl->setVariable(
"TXT_SCO_GLOSSARY", 
$lng->txtlng(
"content", 
"cont_sco_glossary", $lk));
 
 1048        $tpl->setVariable(
"TXT_CLOSE", 
$lng->txtlng(
"common", 
"close", $lk));
 
 1050        if (count($terms) > 1) {
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
static _getTitle($a_q_id)
Returns the title of a question.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
@classDescription Date and time handling
static getAffectiveLocalization($a_id)
Get affective localization.
static getContentStylePath($a_style_id, $add_random=true)
get content style path
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static initJavascript()
Init javascript.
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
static _getQuestionIdsForPage($a_parent_type, $a_page_id, $a_lang="-")
Get all questions of a page.
Scorm 2004 Question Exporter.
static questionsJS(array $a_qids=null)
static renderMetaPage($a_tpl, $a_sco, $a_asset_type="", $mode="")
Render meta page (description/objectives at beginning)
static renderNavigation($a_tpl, $a_spacer_img="", $a_lang="")
Render navigation.
Class ilSCORM2004NodeGUI.
showOrganization()
Confirm deletion screen (delete page or structure objects)
setLocator()
Set Locator Items.
Class ilSCORM2004Page GUI class.
static initExport()
Init export.
static getGlossaryHTML($a_sco)
Get glossary html (only in export mode)
$ctrl
Constructor @access public.
static getGloOverviewOv($a_sco)
des
__construct($a_slm_obj, $a_node_id=0)
constructor
deleteExportFile()
delete export files
confirmDeleteExportFile()
confirmation screen for export file deletion
cancelDeleteExportFile()
cancel deletion of export files
updateProperties()
update Properties
showProperties()
Show learning objectives.
proceedDragDrop()
Perform drag and drop action.
executeCommand()
execute command
selectExport()
Select the export type of the SCORM 2004 module.
sco_preview()
SCO preview.
static insertQuestion($matches)
static getGlossaryOverviewId()
Get sco glossary overlay id.
Export class for SCORM 2004 object.
static clear($a_var)
Unset a value.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
static createDirectory($a_dir, $a_mod=0755)
create directory
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
static initjQueryUI($a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components....
static initjQuery($a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
if(isset($_POST['submit'])) $form
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
echo;exit;}function LogoutNotification($SessionID){ global $ilDB;$q="SELECT session_id, data FROM usr_session WHERE expires > (\w+)\|/" PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE