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");
 
  264        $tbl->setColumnWidth(array(
"50%", 
"50%"));
 
  265        $tbl->disable(
"sort");
 
  266        $tbl->disable(
"footer");
 
  269        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  270        $tree->setTreeTablePK(
"slm_id");
 
  273        foreach (
$tree->getSubTree(
$tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  275            include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  277            if (count($qids) > 0) {
 
  279                foreach ($qids as $qid) {
 
  280                    $tpl->setCurrentBlock(
"tbl_content");
 
  281                    $tpl->setVariable(
"TXT_PAGE_TITLE", $page[
"title"]);
 
  282                    $ilCtrl->setParameterByClass(
"ilscorm2004pagenodegui", 
"obj_id", $page[
"obj_id"]);
 
  283                    $tpl->setVariable(
"HREF_EDIT_PAGE", 
$ilCtrl->getLinkTargetByClass(
"ilscorm2004pagenodegui", 
"edit"));
 
  286                    $tpl->setVariable(
"TXT_QUESTION", $qtitle);
 
  287                    $ilCtrl->setParameterByClass(
"ilscorm2004pagenodegui", 
"obj_id", $page[
"obj_id"]);
 
  291                    $tpl->parseCurrentBlock();
 
  301        $slm_tree = 
new ilTree($this->node_object->getId(), $this->slm_object->getId());
 
  302        $slm_tree->setTreeTablePK(
"slm_id");
 
  303        $slm_tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  318        $ilHelp->setScreenIdComponent(
"sahsed");
 
  323            $ilCtrl->getLinkTarget($this, 
'showOrganization'),
 
  331            "sahs_desc_objectives",
 
  332            $ilCtrl->getLinkTarget($this, 
'showProperties'),
 
  340            $ilCtrl->getLinkTarget($this, 
'sahs_questions'),
 
  348            $ilCtrl->getLinkTarget($this, 
'sco_resources'),
 
  354        include_once 
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
 
  357            $this->node_object->getType(),
 
  358            $this->node_object->getId()
 
  360        $mdtab = $mdgui->getTab();
 
  373            $ilCtrl->getLinkTarget($this, 
"showExportList"),
 
  381            $ilCtrl->getLinkTarget($this, 
"import"),
 
  387        $ilTabs->addNonTabbedLink(
 
  389            $lng->txt(
"cont_preview"),
 
  390            $ilCtrl->getLinkTarget($this, 
'sco_preview'),
 
  396            $lng->txt(
"sahs_unit") . 
": " . $this->node_object->getTitle()
 
  408        $this->slm_object->executeDragDrop(
 
  409            $_POST[
"il_hform_source_id"],
 
  410            $_POST[
"il_hform_target_id"],
 
  412            $_POST[
"il_hform_as_subitem"]
 
  414        $ilCtrl->redirect($this, 
"showOrganization");
 
  429        include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  431        $tpl->setBodyClass(
"");
 
  432        $tpl->setCurrentBlock(
"ContentStyle");
 
  434            "LOCATION_CONTENT_STYLESHEET",
 
  437        $tpl->parseCurrentBlock();
 
  440        include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
  443        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/pure.js");
 
  444        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/pager.js");
 
  446        $tpl->addOnLoadCode(
"pager.Init();");
 
  449        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  450        $tree->setTreeTablePK(
"slm_id");
 
  451        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php";
 
  452        include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  454        $meta = 
new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
 
  455        $desc_ids = $meta->getGeneral()->getDescriptionIds();
 
  456        $sco_description = $meta->getGeneral()->getDescription($desc_ids[0])->getDescription();
 
  459        $sco_tpl = 
new ilTemplate(
"tpl.sco.html", 
true, 
true, 
"Modules/Scorm2004");
 
  469            $this->node_object->getType()
 
  474        $terms = $this->node_object->getGlossaryTermIds();
 
  477        foreach (
$tree->getSubTree(
$tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  479                $this->node_object->getType(),
 
  482                $this->slm_object->getId()
 
  484            $page_obj->setPresentationTitle($page[
"title"]);
 
  486            $page_obj->setStyleId($this->slm_object->getStyleSheetId());
 
  487            if (count($terms) > 1) {
 
  488                $page_obj->setGlossaryOverviewInfo(
 
  493            $sco_tpl->setCurrentBlock(
"page_preview");
 
  496            $sco_tpl->setVariable(
"PAGE_PRV", 
$html);
 
  497            $sco_tpl->parseCurrentBlock();
 
  506        require_once 
'./Modules/Scorm2004/classes/class.ilQuestionExporter.php';
 
  507        $output = preg_replace_callback(
"/{{{{{(Question;)(il__qst_[0-9]+)}}}}}/", array(get_class($this), 
'insertQuestion'), 
$output);
 
  512        $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/question_handling.js");
 
  513        $tpl->addCss(
"./Modules/Scorm2004/templates/default/question_handling.css");
 
  515        include_once(
"./Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php");
 
  519        $output .= 
'<script type="text/javascript" src="./Modules/Scorm2004/scripts/questions/question_handling.js"></script>';
 
  529        return $q_exporter->exportQuestion($matches[2]);
 
  537        switch (
$_POST[
'select_export']) {
 
  538            case "exportScorm12":
 
  539            case "exportScorm2004_3rd":
 
  540            case "exportScorm2004_4th":
 
  543                $this->ctrl->redirect($this, 
$_POST[
'select_export']);
 
  546                $this->ctrl->redirect($this, 
'showExportList');
 
  561        $template = 
new ilTemplate(
"tpl.scorm2004_export_buttons.html", 
true, 
true, 
'Modules/Scorm2004');
 
  564            "exportScorm2004_3rd" => 
$lng->txt(
"scorm_create_export_file_scrom2004"),
 
  565            "exportScorm2004_4th" => 
$lng->txt(
"scorm_create_export_file_scrom2004_4th"),
 
  566            "exportScorm12" => 
$lng->txt(
"scorm_create_export_file_scrom12"),
 
  567            "exportPDF" => 
$lng->txt(
"scorm_create_export_file_pdf"),
 
  568            "exportHTML" => 
$lng->txt(
"scorm_create_export_file_html")
 
  570        foreach ($buttons as $value => 
$text) {
 
  572            $template->setVariable(
'OPTION_VALUE', $value);
 
  578        $template->setVariable(
'FORMACTION', 
$ilCtrl->getFormAction($this, 
'selectExport'));
 
  580        $export_files = $this->node_object->getExportFiles();
 
  582        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
  585        foreach ($export_files as $exp_file) {
 
  586            $filetype = $exp_file[
'type'];
 
  591            $file_arr = explode(
"__", $exp_file[
"file"]);
 
  594        $table_gui->setData(
$data);
 
  595        $tpl->setVariable(
'ADM_CONTENT', 
$template->get() . 
"\n" . $table_gui->getHTML());
 
  601        $export->buildExportFile();
 
  602        $this->ctrl->redirect($this, 
"showExportList");
 
  609        $export->buildExportFile();
 
  610        $this->ctrl->redirect($this, 
"showExportList");
 
  616        $export->buildExportFile();
 
  617        $this->ctrl->redirect($this, 
"showExportList");
 
  623        $export->buildExportFile();
 
  624        $this->ctrl->redirect($this, 
"showExportList");
 
  630        $export->buildExportFile();
 
  631        $this->ctrl->redirect($this, 
"showExportList");
 
  637        $export->buildExportFile();
 
  638        $this->ctrl->redirect($this, 
"showExportList");
 
  643        $file = str_replace(
"..", 
"", 
$_GET[
'file']);
 
  644        $export = 
new ilSCORM2004Export($this->node_object);
 
  645        $export_dir = $export->getExportDirectoryForType(
$_GET[
'type']);
 
  657        if (!isset(
$_POST[
"file"])) {
 
  659            $this->ctrl->redirect($this, 
"showExportList");
 
  663        $export_files = $this->node_object->getExportFiles();
 
  665        include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
 
  668        foreach ($export_files as $exp_file) {
 
  669            foreach (
$_POST[
'file'] as $delete_file) {
 
  670                if (strcmp($delete_file, $exp_file[
'file']) == 0) {
 
  675                    $file_arr = explode(
"__", $exp_file[
"file"]);
 
  680        $table_gui->setData(
$data);
 
  681        $tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
 
  690        $this->ctrl->redirect($this, 
"showExportList");
 
  700        include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  701        $export = 
new ilSCORM2004Export($this->node_object);
 
  702        foreach (
$_POST[
'file'] as $idx => $file) {
 
  703            $export_dir = $export->getExportDirectoryForType(
$_POST[
'type'][$idx]);
 
  704            $exp_file = $export_dir . 
"/" . $file;
 
  705            if (@is_file($exp_file)) {
 
  709        ilUtil::sendSuccess(
$lng->txt(
'msg_deleted_export_files'), 
true);
 
  710        $this->ctrl->redirect($this, 
"showExportList");
 
  715        $export_files = array();
 
  717        require_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
 
  718        include_once 
"./Services/MediaObjects/classes/class.ilObjMediaObject.php";
 
  719        include_once 
"./Modules/File/classes/class.ilObjFile.php";
 
  721        $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  722        $tree->setTreeTablePK(
"slm_id");
 
  724        foreach (
$tree->getSubTree(
$tree->getNodeData($this->node_object->getId()), 
true, 
'page') as $page) {
 
  726            $page_obj->buildDom();
 
  727            $mob_ids = $page_obj->collectMediaObjects(
false);
 
  728            foreach ($mob_ids as $mob_id) {
 
  733                    $export_files[
$i][
"date"] = $media_obj->getCreateDate();
 
  734                    $export_files[
$i][
"size"] = @filesize(
$path); 
 
  735                    $export_files[
$i][
"file"] = $media_obj->getTitle();
 
  736                    $export_files[
$i][
"type"] = $media_obj->getDescription();
 
  737                    $export_files[
$i][
"path"] = 
$path;
 
  738                    $this->ctrl->setParameter(
 
  743                    $export_files[
$i][
"link"] = $this->ctrl->getLinkTarget($this, 
"downloadResource");
 
  747            include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  749            foreach ($file_ids as $file_id) {
 
  750                $file_obj = 
new ilObjFile($file_id, 
false);
 
  751                $export_files[
$i][
"date"] = $file_obj->getCreateDate();
 
  752                $export_files[
$i][
"size"] = $file_obj->getFileSize();
 
  753                $export_files[
$i][
"file"] = $file_obj->getFileName();
 
  754                $export_files[
$i][
"type"] = $file_obj->getFileType();
 
  755                $export_files[
$i][
"file_id"] = $file_id;
 
  756                $this->ctrl->setParameter($this, 
"file_id", $file_id);
 
  757                $export_files[
$i][
"link"] = $this->ctrl->getLinkTarget($this, 
"downloadFile", 
"");
 
  763        return $export_files;
 
  779        require_once(
"./Services/Table/classes/class.ilTableGUI.php");
 
  783        $tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.table.html");
 
  786        $tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.download_file_row.html", 
"Modules/LearningModule");
 
  790        $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  792        $tbl->setTitle(
$lng->txt(
"cont_files"));
 
  794        $tbl->setHeaderNames(array(
$lng->txt(
"cont_format"),
 
  795            $lng->txt(
"cont_file"),
 
  796            $lng->txt(
"size"), 
$lng->txt(
"date"),
 
  799        $cols = array(
"format", 
"file", 
"size", 
"date", 
"download");
 
  800        $header_params = array(
"ref_id" => 
$_GET[
"ref_id"], 
"obj_id" => 
$_GET[
"obj_id"],
 
  801            "cmd" => 
"sco_resources", 
"cmdClass" => strtolower(get_class($this)),
 
  802            "cmdNode" => 
$_GET[
"cmdNode"], 
"baseClass" => 
$_GET[
"baseClass"]);
 
  803        $tbl->setHeaderVars(
$cols, $header_params);
 
  804        $tbl->setColumnWidth(array(
"10%", 
"30%", 
"20%", 
"20%",
"20%"));
 
  805        $tbl->disable(
"sort");
 
  808        $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
  811        $tbl->setMaxCount($this->maxcount);             
 
  814        $tbl->setMaxCount(count($export_files));
 
  817        $tbl->setFooter(
"tblfooter", 
$lng->txt(
"previous"), 
$lng->txt(
"next"));
 
  820        $tbl->setMaxCount(count($export_files));
 
  821        $export_files = array_slice($export_files, 
$_GET[
"offset"], 
$_GET[
"limit"]);
 
  824        if (count($export_files) > 0) {
 
  826            foreach ($export_files as $exp_file) {
 
  834                $tpl->setCurrentBlock(
"tbl_content");
 
  835                $tpl->setVariable(
"TXT_FILENAME", $exp_file[
"file"]);
 
  838                $tpl->setVariable(
"CSS_ROW", $css_row);
 
  840                $tpl->setVariable(
"TXT_SIZE", $exp_file[
"size"]);
 
  841                $tpl->setVariable(
"TXT_FORMAT", $exp_file[
"type"]);
 
  843                $tpl->setVariable(
"TXT_DATE", $exp_file[
"date"]);
 
  845                if ($exp_file[
"size"] > 0) {
 
  846                    $tpl->setVariable(
"TXT_DOWNLOAD", 
$lng->txt(
"download"));
 
  847                    $ilCtrl->setParameter($this, 
"resource", rawurlencode($exp_file[
"path"]));
 
  848                    $ilCtrl->setParameter($this, 
"file_id", rawurlencode($exp_file[
"file_id"]));
 
  851                        $ilCtrl->getLinkTarget($this, 
"downloadResource")
 
  854                    $tpl->setVariable(
"TXT_DOWNLOAD", 
$lng->txt(
"show"));
 
  855                    $tpl->setVariable(
"LINK_TARGET", 
" target=\"_blank\"");
 
  856                    $tpl->setVariable(
"LINK_DOWNLOAD", $exp_file[
"path"]);
 
  859                $tpl->parseCurrentBlock();
 
  878        if (
$_GET[
"file_id"] > 0) {
 
  883        foreach ($export_files as 
$f) {
 
  884            if (is_object($file)) {
 
  885                if (
$f[
"file"] == $file->getFileName()) {
 
  889                if (
$f[
"path"] == 
$_GET[
"resource"]) {
 
  890                    if (is_file(
$f[
"path"])) {
 
  901        $file = explode(
"_", 
$_GET[
"file_id"]);
 
  902        require_once(
"./Modules/File/classes/class.ilObjFile.php");
 
  903        $fileObj = 
new ilObjFile($file[count($file) - 1], 
false);
 
  904        $fileObj->sendFile();
 
  908    public function import()
 
  916        $tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.scormeditor_sco_import.html", 
"Modules/Scorm2004");
 
  919        $tpl->setVariable(
"ALT_IMG", 
$lng->txt(
"obj_sahs"));
 
  921        $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  923        $tpl->setVariable(
"BTN_NAME", 
"importSave");
 
  928        $tpl->setVariable(
"TXT_UPLOAD", 
$lng->txt(
"upload"));
 
  929        $tpl->setVariable(
"TXT_CANCEL", 
$lng->txt(
"cancel"));
 
  930        $tpl->setVariable(
"TXT_IMPORT_SCO", 
$lng->txt(
"import_sco_object"));
 
  931        $tpl->setVariable(
"TXT_SELECT_FILE", 
$lng->txt(
"select_file"));
 
  932        $tpl->setVariable(
"TXT_VALIDATE_FILE", 
$lng->txt(
"cont_validate_file"));
 
  935        $umf = get_cfg_var(
"upload_max_filesize");
 
  937        $pms = get_cfg_var(
"post_max_size");
 
  940        $multiplier_a = array(
"K" => 1024, 
"M" => 1024 * 1024, 
"G" => 1024 * 1024 * 1024);
 
  945        if (count($umf_parts) == 2) {
 
  946            $umf = $umf_parts[0] * $multiplier_a[$umf_parts[1]];
 
  948        if (count($pms_parts) == 2) {
 
  949            $pms = $pms_parts[0] * $multiplier_a[$pms_parts[1]];
 
  953        $max_filesize = min($umf, $pms);
 
  955        if (!$max_filesize) {
 
  956            $max_filesize = max($umf, $pms);
 
  960        $max_filesize = sprintf(
"%.1f MB", $max_filesize / 1024 / 1024);
 
  963        $tpl->setVariable(
"TXT_FILE_INFO", 
$lng->txt(
"file_notice") . 
" $max_filesize");
 
  972        $source = $_FILES[
"scormfile"][
"tmp_name"];
 
  974            $ilErr->raiseError(
"No file selected!", 
$ilErr->MESSAGE);
 
  977        switch ($_FILES[
"scormfile"][
"error"]) {
 
  978            case UPLOAD_ERR_INI_SIZE:
 
  979                $ilErr->raiseError(
$lng->txt(
"err_max_file_size_exceeds"), 
$ilErr->MESSAGE);
 
  982            case UPLOAD_ERR_FORM_SIZE:
 
  983                $ilErr->raiseError(
$lng->txt(
"err_max_file_size_exceeds"), 
$ilErr->MESSAGE);
 
  986            case UPLOAD_ERR_PARTIAL:
 
  990            case UPLOAD_ERR_NO_FILE:
 
  995        $file = pathinfo($_FILES[
"scormfile"][
"name"]);
 
  996        $name = substr($file[
"basename"], 0, strlen($file[
"basename"]) - strlen($file[
"extension"]) - 1);
 
  997        $file_path = $this->slm_object->getDataDirectory() . 
"/" . $this->node_object->getId() . 
"/" . $_FILES[
"scormfile"][
"name"];
 
  999        ilUtil::moveUploadedFile($_FILES[
"scormfile"][
"tmp_name"], $_FILES[
"scormfile"][
"name"], $file_path);
 
 1003        include_once(
"./Modules/Scorm2004/classes/ilSCORM13Package.php");
 
 1005        $newPack->il_importSco($this->slm_object->getId(), $this->node_object->getId(), $this->slm_object->getDataDirectory() . 
"/" . $this->node_object->getId());
 
 1007        $this->ctrl->redirect($this, 
"showOrganization");
 
 1015        $this->ctrl->redirect($this, 
"showOrganization");
 
 1026        return "sco_glo_ov";
 
 1041        $tpl = 
new ilTemplate(
"tpl.sco_glossary_overview.html", 
true, 
true, 
"Modules/Scorm2004");
 
 1043        $terms = $a_sco->getGlossaryTermIds();
 
 1045        foreach ($terms as $k => 
$t) {
 
 1046            $tpl->setCurrentBlock(
"link");
 
 1047            $tpl->setVariable(
"TXT_LINK", 
$t);
 
 1048            $tpl->setVariable(
"ID_LINK", 
"glo_ov_t" . $k);
 
 1049            $tpl->parseCurrentBlock();
 
 1053        $tpl->setVariable(
"TXT_SCO_GLOSSARY", 
$lng->txtlng(
"content", 
"cont_sco_glossary", $lk));
 
 1054        $tpl->setVariable(
"TXT_CLOSE", 
$lng->txtlng(
"common", 
"close", $lk));
 
 1056        if (count($terms) > 1) {
 
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, $include_seconds=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()
put this object into content object tree
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 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(isset($_POST['submit'])) $form
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