ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilSCORM2004ScoGUI Class Reference

Class ilSCORM2004ScoGUI. More...

+ Inheritance diagram for ilSCORM2004ScoGUI:
+ Collaboration diagram for ilSCORM2004ScoGUI:

Public Member Functions

 ilSCORM2004ScoGUI ($a_slm_obj, $a_node_id=0)
 
 getType ()
 Get Node Type. More...
 
executeCommand ()
 execute command More...
 
 showProperties ()
 Show learning objectives. More...
 
 updateProperties ()
 update Properties More...
 
 sahs_questions ()
 
 getEditTree ()
 
 setTabs ()
 output tabs More...
 
 proceedDragDrop ()
 Perform drag and drop action. More...
 
 sco_preview ()
 SCO preview. More...
 
 selectExport ()
 Select the export type of the SCORM 2004 module. More...
 
 showExportList ()
 
 exportScorm2004_4th ()
 
 exportScorm2004_3rd ()
 
 exportScorm12 ()
 
 exportHTML ()
 
 exportISO ()
 
 exportPDF ()
 
 downloadExportFile ()
 
 confirmDeleteExportFile ()
 confirmation screen for export file deletion More...
 
 cancelDeleteExportFile ()
 cancel deletion of export files More...
 
 deleteExportFile ()
 delete export files More...
 
 getExportResources ()
 
 sco_resources ()
 
 downloadResource ()
 
 downloadFile ()
 
 import ()
 
 importSave ()
 
 cancel ()
 Cancel action. More...
 
- Public Member Functions inherited from ilSCORM2004NodeGUI
 ilSCORM2004NodeGUI ($a_slm_obj, $a_node_id=0)
 constructor More...
 
 setParentGUI ($a_parentgui)
 Set Parent GUI class (ilObjSCORM2004LearningModuleGUI). More...
 
 getParentGUI ()
 Get Parent GUI class (ilObjSCORM2004LearningModuleGUI). More...
 
 getNodeObject ($a_node_id)
 Get node object (chapter/sco/page) More...
 
 putInTree ($a_parent_id, $a_target)
 put this object into content object tree More...
 
 showOrganization ()
 Confirm deletion screen (delete page or structure objects) More...
 
 insertChapter ()
 Insert Chapter. More...
 
 insertSco ()
 Insert Sco. More...
 
 insertAsset ()
 Insert Asset. More...
 
 insertPage ()
 Insert Page. More...
 
 insertTemplateGUI ()
 Insert Page with Layout. More...
 
 insertSpecialPage ()
 Insert special page. More...
 
 collapseAll ()
 Collapse all. More...
 
 ExpandAll ()
 Expand all. More...
 
 saveAllTitles ()
 Save Titles. More...
 
 deleteNodes ()
 Delete nodes in the hierarchy. More...
 
 cancelDelete ()
 cancel delete More...
 
 confirmedDelete ()
 confirmed delete More...
 
 setLocator ()
 Set Locator Items. More...
 
 setContentStyle ()
 Set content style sheet. More...
 
 copyItems ($a_return="showOrganization")
 Copy items to clipboard. More...
 
 cutItems ($a_return="showOrganization")
 Copy items to clipboard, then cut them from the current tree. More...
 
 insertPageClip ()
 Insert pages from clipboard. More...
 
 insertScoClip ()
 Insert scos from clipboard. More...
 
 insertAssetClip ()
 Insert assets from clipboard. More...
 
 insertLMChapterClip ()
 Insert scos from clipboard. More...
 

Static Public Member Functions

static getGlossaryOverviewId ()
 Get sco glossary overlay id. More...
 
static getGloOverviewOv ($a_sco)
 des More...
 

Data Fields

 $ctrl = null
 Constructor @access public. More...
 
- Data Fields inherited from ilSCORM2004NodeGUI
 $node_object
 
 $slm_object
 

Private Member Functions

 insertQuestion ($matches)
 

Detailed Description

Class ilSCORM2004ScoGUI.

User Interface for Scorm 2004 SCO Nodes

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

@ilCtrl_Calls ilSCORM2004ScoGUI: ilObjectMetaDataGUI, ilNoteGUI, ilPCQuestionGUI, ilSCORM2004PageGUI

Definition at line 21 of file class.ilSCORM2004ScoGUI.php.

Member Function Documentation

◆ cancel()

ilSCORM2004ScoGUI::cancel ( )

Cancel action.

Definition at line 957 of file class.ilSCORM2004ScoGUI.php.

958 {
959 $this->ctrl->redirect($this, "showOrganization");
960 }

◆ cancelDeleteExportFile()

ilSCORM2004ScoGUI::cancelDeleteExportFile ( )

cancel deletion of export files

Definition at line 620 of file class.ilSCORM2004ScoGUI.php.

621 {
622 ilSession::clear("ilExportFiles");
623 $this->ctrl->redirect($this, "showExportList");
624 }
static clear($a_var)
Unset a value.

References ilSession\clear().

+ Here is the call graph for this function:

◆ confirmDeleteExportFile()

ilSCORM2004ScoGUI::confirmDeleteExportFile ( )

confirmation screen for export file deletion

Definition at line 583 of file class.ilSCORM2004ScoGUI.php.

584 {
585 global $lng, $tpl;
586
587 if(!isset($_POST["file"]))
588 {
589 ilUtil::sendInfo($lng->txt("no_checkbox"),true);
590 $this->ctrl->redirect($this, "showExportList");
591 }
592
593 ilUtil::sendQuestion($lng->txt("info_delete_sure"));
594 $export_files = $this->node_object->getExportFiles();
595
596 include_once "./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
597 $table_gui = new ilSCORM2004ExportTableGUI($this, 'showExportList', true);
598 $data = array();
599 foreach ($export_files as $exp_file)
600 {
601 foreach ($_POST['file'] as $delete_file)
602 {
603 if (strcmp($delete_file, $exp_file['file']) == 0)
604 {
605 // $public_str = ($exp_file["file"] == $this->object->getPublicExportFile($exp_file["type"]))
606 // ? " <b>(".$this->lng->txt("public").")<b>"
607 // : "";
608 $file_arr = explode("__", $exp_file["file"]);
609 array_push($data, array('file' => $exp_file['file'], 'date' => ilDatePresentation::formatDate(new ilDateTime($file_arr[0], IL_CAL_UNIX)), 'size' => $exp_file['size'], 'type' => $exp_file['type'].$public_str));
610 }
611 }
612 }
613 $table_gui->setData($data);
614 $tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
615 }
global $tpl
Definition: ilias.php:8
const IL_CAL_UNIX
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$_POST['username']
Definition: cron.php:12
$data
global $lng
Definition: privfeed.php:40

References $_POST, $data, $lng, $tpl, ilDatePresentation\formatDate(), IL_CAL_UNIX, ilUtil\sendInfo(), and ilUtil\sendQuestion().

+ Here is the call graph for this function:

◆ deleteExportFile()

ilSCORM2004ScoGUI::deleteExportFile ( )

delete export files

Definition at line 630 of file class.ilSCORM2004ScoGUI.php.

631 {
632 global $lng;
633 include_once "./Services/Utilities/classes/class.ilUtil.php";
634 $export = new ilSCORM2004Export($this->node_object);
635 foreach($_POST['file'] as $idx => $file)
636 {
637 $export_dir = $export->getExportDirectoryForType($_POST['type'][$idx]);
638 $exp_file = $export_dir."/".$file;
639 if (@is_file($exp_file))
640 {
641 unlink($exp_file);
642 }
643 }
644 ilUtil::sendSuccess($lng->txt('msg_deleted_export_files'), true);
645 $this->ctrl->redirect($this, "showExportList");
646 }
print $file
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.

References $_POST, $file, $lng, and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ downloadExportFile()

ilSCORM2004ScoGUI::downloadExportFile ( )

Definition at line 572 of file class.ilSCORM2004ScoGUI.php.

573 {
574 $file = str_replace("..", "", $_GET['file']);
575 $export = new ilSCORM2004Export($this->node_object);
576 $export_dir = $export->getExportDirectoryForType($_GET['type']);
577 ilUtil::deliverFile($export_dir."/".$file, $file);
578 }
$_GET["client_id"]
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.

References $_GET, $file, and ilUtil\deliverFile().

+ Here is the call graph for this function:

◆ downloadFile()

ilSCORM2004ScoGUI::downloadFile ( )

Definition at line 843 of file class.ilSCORM2004ScoGUI.php.

844 {
845 $file = explode("_", $_GET["file_id"]);
846 require_once("./Modules/File/classes/class.ilObjFile.php");
847 $fileObj =& new ilObjFile($file[count($file) - 1], false);
848 $fileObj->sendFile();
849 exit;
850 }
Class ilObjFile.
exit
Definition: login.php:54

References $_GET, $file, and exit.

◆ downloadResource()

ilSCORM2004ScoGUI::downloadResource ( )

Definition at line 810 of file class.ilSCORM2004ScoGUI.php.

811 {
812 $export_files = $this->getExportResources();
813
814 if ($_GET["file_id"] > 0)
815 {
816 $file = new ilObjFile($_GET["file_id"], false);
817 }
818
819 // check that file really belongs to SCORM module (security)
820 foreach ($export_files as $f)
821 {
822 if (is_object($file))
823 {
824 if ($f["file"] == $file->getFileName())
825 {
826 $file->sendFile();
827 }
828 }
829 else
830 {
831 if ($f["path"] == $_GET["resource"])
832 {
833 if (is_file($f["path"]))
834 {
835 ilUtil::deliverFile($f["path"], $f["file"]);
836 }
837 }
838 }
839 }
840 exit;
841 }

References $_GET, $file, ilUtil\deliverFile(), exit, and getExportResources().

+ Here is the call graph for this function:

◆ executeCommand()

& ilSCORM2004ScoGUI::executeCommand ( )

execute command

Definition at line 52 of file class.ilSCORM2004ScoGUI.php.

53 {
54 global $tpl, $ilCtrl, $ilTabs;
55
56 $tpl->getStandardTemplate();
57
58 $next_class = $ilCtrl->getNextClass($this);
59 $cmd = $ilCtrl->getCmd();
60
61 switch($next_class)
62 {
63 // notes
64 case "ilnotegui":
65 switch($_GET["notes_mode"])
66 {
67 default:
68 $ilTabs->setTabActive("sahs_organization");
69 return $this->showOrganization();
70 }
71 break;
72
73 case 'ilobjectmetadatagui':
74 $this->setTabs();
75 $this->setLocator();
76 include_once 'Services/Object/classes/class.ilObjectMetaDataGUI.php';
77 $md_gui = new ilObjectMetaDataGUI($this->slm_object,
78 $this->node_object->getType(), $this->node_object->getId());
79 $md_gui->addMDObserver($this->node_object,'MDUpdateListener','General');
80 $ilCtrl->forwardCommand($md_gui);
81 break;
82
83 case 'ilscorm2004pagegui':
84 include_once("./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php");
85 $page_obj = new ilSCORM2004PageGUI("sahs",$_GET["pg_id"]);
86 //$page_obj->setPresentationTitle($page["title"]);
87 $page_obj->setOutputMode(IL_PAGE_PREVIEW);
88 $ilCtrl->forwardCommand($page_obj);
89 break;
90
91 default:
92 $cmd = $ilCtrl->getCmd("showOrganization");
93 $ret =& $this->$cmd();
94 break;
95 }
96 }
const IL_PAGE_PREVIEW
Class ilObjectMetaDataGUI.
showOrganization()
Confirm deletion screen (delete page or structure objects)
setLocator()
Set Locator Items.
Class ilSCORM2004Page GUI class.
global $ilCtrl
Definition: ilias.php:18
$cmd
Definition: sahs_server.php:35

References $_GET, $cmd, $ilCtrl, $ret, $tpl, IL_PAGE_PREVIEW, ilSCORM2004NodeGUI\setLocator(), setTabs(), and ilSCORM2004NodeGUI\showOrganization().

+ Here is the call graph for this function:

◆ exportHTML()

ilSCORM2004ScoGUI::exportHTML ( )

Definition at line 551 of file class.ilSCORM2004ScoGUI.php.

552 {
553 $export = new ilScorm2004Export($this->node_object,'HTML');
554 $export->buildExportFile();
555 $this->ctrl->redirect($this, "showExportList");
556 }
Export class for SCORM 2004 object.

◆ exportISO()

ilSCORM2004ScoGUI::exportISO ( )

Definition at line 558 of file class.ilSCORM2004ScoGUI.php.

559 {
560 $export = new ilScorm2004Export($this->node_object,'ISO');
561 $export->buildExportFile();
562 $this->ctrl->redirect($this, "showExportList");
563 }

◆ exportPDF()

ilSCORM2004ScoGUI::exportPDF ( )

Definition at line 565 of file class.ilSCORM2004ScoGUI.php.

566 {
567 $export = new ilScorm2004Export($this->node_object,'PDF');
568 $export->buildExportFile();
569 $this->ctrl->redirect($this, "showExportList");
570 }

◆ exportScorm12()

ilSCORM2004ScoGUI::exportScorm12 ( )

Definition at line 544 of file class.ilSCORM2004ScoGUI.php.

545 {
546 $export = new ilScorm2004Export($this->node_object,'SCORM 1.2');
547 $export->buildExportFile();
548 $this->ctrl->redirect($this, "showExportList");
549 }

◆ exportScorm2004_3rd()

ilSCORM2004ScoGUI::exportScorm2004_3rd ( )

Definition at line 537 of file class.ilSCORM2004ScoGUI.php.

538 {
539 $export = new ilScorm2004Export($this->node_object,'SCORM 2004 3rd');
540 $export->buildExportFile();
541 $this->ctrl->redirect($this, "showExportList");
542 }

◆ exportScorm2004_4th()

ilSCORM2004ScoGUI::exportScorm2004_4th ( )

Definition at line 529 of file class.ilSCORM2004ScoGUI.php.

530 {
531 $export = new ilScorm2004Export($this->node_object,'SCORM 2004 4th');
532 $export->buildExportFile();
533 $this->ctrl->redirect($this, "showExportList");
534 }

◆ getEditTree()

ilSCORM2004ScoGUI::getEditTree ( )

Definition at line 272 of file class.ilSCORM2004ScoGUI.php.

273 {
274die("deprecated");
275 $slm_tree = new ilTree($this->node_object->getId(),$this->slm_object->getId());
276 $slm_tree->setTreeTablePK("slm_id");
277 $slm_tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
278 return $slm_tree;
279 }
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...

◆ getExportResources()

ilSCORM2004ScoGUI::getExportResources ( )

Definition at line 648 of file class.ilSCORM2004ScoGUI.php.

649 {
650 $export_files = array();
651
652 require_once "./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
653 include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php";
654 include_once "./Modules/File/classes/class.ilObjFile.php";
655 $tree = new ilTree($this->slm_object->getId());
656 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
657 $tree->setTreeTablePK("slm_id");
658 foreach($tree->getSubTree($tree->getNodeData($this->node_object->getId()),true,'page') as $page)
659 {
660 $page_obj = new ilSCORM2004Page($page["obj_id"]);
661 $page_obj->buildDom();
662 $mob_ids = $page_obj->collectMediaObjects(false);
663 foreach($mob_ids as $mob_id)
664 {
665 if ($mob_id > 0 && ilObject::_exists($mob_id))
666 {
668
669 $media_obj = new ilObjMediaObject($mob_id);
670 $export_files[$i]["date"] = $media_obj->getCreateDate();
671 $export_files[$i]["size"] = @filesize($path); // could be remote, e.g. youtube video
672 $export_files[$i]["file"] = $media_obj->getTitle();
673 $export_files[$i]["type"] = $media_obj->getDescription();
674 $export_files[$i]["path"] = $path;
675 $this->ctrl->setParameter($this, "resource",
676 rawurlencode(ilObjMediaObject::_lookupStandardItemPath($mob_id,false,false)));
677 $export_files[$i]["link"] = $this->ctrl->getLinkTarget($this,"downloadResource");
678 $i++;
679 }
680 }
681 include_once("./Services/COPage/classes/class.ilPCFileList.php");
682 $file_ids =ilPCFileList::collectFileItems($page_obj, $page_obj->getDomDoc());
683 foreach($file_ids as $file_id)
684 {
685 $file_obj = new ilObjFile($file_id, false);
686 $export_files[$i]["date"] = $file_obj->getCreateDate();
687 $export_files[$i]["size"] = $file_obj->getFileSize();
688 $export_files[$i]["file"] = $file_obj->getFileName();
689 $export_files[$i]["type"] = $file_obj->getFileType();
690 $export_files[$i]["file_id"] = $file_id;
691 $this->ctrl->setParameter($this, "file_id",$file_id);
692 $export_files[$i]["link"] = $this->ctrl->getLinkTarget($this,"downloadFile","");
693 $i++;
694 }
695 unset($page_obj);
696 }
697
698 return $export_files;
699 }
Class ilObjMediaObject.
static _lookupStandardItemPath($a_mob_id, $a_url_encode=false, $a_web=true)
Get path for standard item.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
Class ilSCORM2004Page.
$path
Definition: index.php:22

References $path, ilObject\_exists(), ilObjMediaObject\_lookupStandardItemPath(), and ilPCFileList\collectFileItems().

Referenced by downloadResource(), and sco_resources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGloOverviewOv()

static ilSCORM2004ScoGUI::getGloOverviewOv (   $a_sco)
static

des

Parameters

return

Definition at line 979 of file class.ilSCORM2004ScoGUI.php.

980 {
981 global $lng;
982
983 $tpl = new ilTemplate("tpl.sco_glossary_overview.html", true, true, "Modules/Scorm2004");
984
985 $terms = $a_sco->getGlossaryTermIds();
987 foreach ($terms as $k => $t)
988 {
989 $tpl->setCurrentBlock("link");
990 $tpl->setVariable("TXT_LINK", $t);
991 $tpl->setVariable("ID_LINK", "glo_ov_t".$k);
992 $tpl->parseCurrentBlock();
993 }
994
995 $tpl->setVariable("DIV_ID", ilSCORM2004ScoGUI::getGlossaryOverviewId());
996 $tpl->setVariable("TXT_SCO_GLOSSARY", $lng->txtlng("content", "cont_sco_glossary", $lk));
997 $tpl->setVariable("TXT_CLOSE", $lng->txtlng("common", "close", $lk));
998
999 if (count($terms) > 1)
1000 {
1001 return $tpl->get();
1002 }
1003 else
1004 {
1005 return "";
1006 }
1007 }
getAffectiveLocalization($a_id)
Get affective localization.
static getGlossaryOverviewId()
Get sco glossary overlay id.
special template class to simplify handling of ITX/PEAR

References $lng, $t, $tpl, ilObjSAHSLearningModule\getAffectiveLocalization(), and getGlossaryOverviewId().

Referenced by ilSCORM2004PageGUI\getGlossaryHTML(), and ilSCORM2004PageGUI\postOutputProcessing().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGlossaryOverviewId()

static ilSCORM2004ScoGUI::getGlossaryOverviewId ( )
static

Get sco glossary overlay id.

Parameters

return

Definition at line 968 of file class.ilSCORM2004ScoGUI.php.

969 {
970 return "sco_glo_ov";
971 }

Referenced by ilSCORM2004PageNodeGUI\executeCommand(), ilSCORM2004Asset\exportHTMLPageObjects(), getGloOverviewOv(), and sco_preview().

+ Here is the caller graph for this function:

◆ getType()

ilSCORM2004ScoGUI::getType ( )

Get Node Type.

Reimplemented in ilSCORM2004AssetGUI.

Definition at line 44 of file class.ilSCORM2004ScoGUI.php.

45 {
46 return "sco";
47 }

◆ ilSCORM2004ScoGUI()

ilSCORM2004ScoGUI::ilSCORM2004ScoGUI (   $a_slm_obj,
  $a_node_id = 0 
)

Definition at line 31 of file class.ilSCORM2004ScoGUI.php.

32 {
33 global $ilCtrl;
34
35 $ilCtrl->saveParameter($this, "obj_id");
36 $this->ctrl = &$ilCtrl;
37
38 parent::ilSCORM2004NodeGUI($a_slm_obj, $a_node_id);
39 }

References $ilCtrl.

◆ import()

ilSCORM2004ScoGUI::import ( )

Definition at line 852 of file class.ilSCORM2004ScoGUI.php.

853 {
854 global $tpl, $lng;
855
856 $this->setTabs();
857 $this->setLocator();
858
859 $tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.scormeditor_sco_import.html", "Modules/Scorm2004");
860
861 $tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_lm.svg'));
862 $tpl->setVariable("ALT_IMG", $lng->txt("obj_sahs"));
863
864 $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
865
866 $tpl->setVariable("BTN_NAME", "importSave");
867
868 // this leads to _top target which removes the left organization frame
869 //$tpl->setVariable("TARGET", ' target="'.ilFrameTargetInfo::_getFrame("MainContent").'" ');
870
871 $tpl->setVariable("TXT_UPLOAD", $lng->txt("upload"));
872 $tpl->setVariable("TXT_CANCEL", $lng->txt("cancel"));
873 $tpl->setVariable("TXT_IMPORT_SCO", $lng->txt("import_sco_object"));
874 $tpl->setVariable("TXT_SELECT_FILE", $lng->txt("select_file"));
875 $tpl->setVariable("TXT_VALIDATE_FILE", $lng->txt("cont_validate_file"));
876
877 // get the value for the maximal uploadable filesize from the php.ini (if available)
878 $umf=get_cfg_var("upload_max_filesize");
879 // get the value for the maximal post data from the php.ini (if available)
880 $pms=get_cfg_var("post_max_size");
881
882 //convert from short-string representation to "real" bytes
883 $multiplier_a=array("K"=>1024, "M"=>1024*1024, "G"=>1024*1024*1024);
884
885 $umf_parts=preg_split("/(\d+)([K|G|M])/", $umf, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
886 $pms_parts=preg_split("/(\d+)([K|G|M])/", $pms, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
887
888 if (count($umf_parts) == 2) { $umf = $umf_parts[0]*$multiplier_a[$umf_parts[1]]; }
889 if (count($pms_parts) == 2) { $pms = $pms_parts[0]*$multiplier_a[$pms_parts[1]]; }
890
891 // use the smaller one as limit
892 $max_filesize=min($umf, $pms);
893
894 if (!$max_filesize) $max_filesize=max($umf, $pms);
895
896 //format for display in mega-bytes
897 $max_filesize=sprintf("%.1f MB",$max_filesize/1024/1024);
898
899 // gives out the limit as a little notice
900 $tpl->setVariable("TXT_FILE_INFO", $lng->txt("file_notice")." $max_filesize");
901 }
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
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

References $lng, $tpl, ilUtil\getImagePath(), PREG_SPLIT_DELIM_CAPTURE, ilSCORM2004NodeGUI\setLocator(), and setTabs().

+ Here is the call graph for this function:

◆ importSave()

ilSCORM2004ScoGUI::importSave ( )

Definition at line 903 of file class.ilSCORM2004ScoGUI.php.

904 {
905 global $_FILES, $rbacsystem;
906 global $ilias, $lng;
907
908 // check if file was uploaded
909 $source = $_FILES["scormfile"]["tmp_name"];
910 if (($source == 'none') || (!$source))
911 {
912 $ilias->raiseError("No file selected!",$ilias->error_obj->MESSAGE);
913 }
914 // check create permission
915 if (!$rbacsystem->checkAccess("write", $_GET["ref_id"]))
916 {
917 $ilias->raiseError($lng->txt("no_create_permission"), $ilias->error_obj->WARNING);
918 }
919 // get_cfg_var("upload_max_filesize"); // get the may filesize form t he php.ini
920 switch ($__FILES["scormfile"]["error"])
921 {
922 case UPLOAD_ERR_INI_SIZE:
923 $ilias->raiseError($lng->txt("err_max_file_size_exceeds"),$ilias->error_obj->MESSAGE);
924 break;
925
926 case UPLOAD_ERR_FORM_SIZE:
927 $ilias->raiseError($lng->txt("err_max_file_size_exceeds"),$ilias->error_obj->MESSAGE);
928 break;
929
930 case UPLOAD_ERR_PARTIAL:
931 $ilias->raiseError($lng->txt("err_partial_file_upload"),$ilias->error_obj->MESSAGE);
932 break;
933
934 case UPLOAD_ERR_NO_FILE:
935 $ilias->raiseError($lng->txt("err_no_file_uploaded"),$ilias->error_obj->MESSAGE);
936 break;
937 }
938
939 $file = pathinfo($_FILES["scormfile"]["name"]);
940 $name = substr($file["basename"], 0, strlen($file["basename"]) - strlen($file["extension"]) - 1);
941 $file_path = $this->slm_object->getDataDirectory()."/".$this->node_object->getId()."/".$_FILES["scormfile"]["name"];
942 ilUtil::createDirectory($this->slm_object->getDataDirectory()."/".$this->node_object->getId());
943 ilUtil::moveUploadedFile($_FILES["scormfile"]["tmp_name"], $_FILES["scormfile"]["name"], $file_path);
944 ilUtil::unzip($file_path);
945 ilUtil::renameExecutables($this->slm_object->getDataDirectory()."/".$this->node_object->getId());
946
947 include_once ("./Modules/Scorm2004/classes/ilSCORM13Package.php");
948 $newPack = new ilSCORM13Package();
949 $newPack->il_importSco($this->slm_object->getId(),$this->node_object->getId(),$this->slm_object->getDataDirectory()."/".$this->node_object->getId());
950
951 $this->ctrl->redirect($this, "showOrganization");
952 }
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static createDirectory($a_dir, $a_mod=0755)
create directory
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.

References $_GET, $file, $lng, ilUtil\createDirectory(), ilUtil\moveUploadedFile(), ilUtil\renameExecutables(), and ilUtil\unzip().

+ Here is the call graph for this function:

◆ insertQuestion()

ilSCORM2004ScoGUI::insertQuestion (   $matches)
private

Definition at line 455 of file class.ilSCORM2004ScoGUI.php.

456 {
457 $q_exporter = new ilQuestionExporter(false);
458 return $q_exporter->exportQuestion($matches[2]);
459 }
Scorm 2004 Question Exporter.

◆ proceedDragDrop()

ilSCORM2004ScoGUI::proceedDragDrop ( )

Perform drag and drop action.

Definition at line 346 of file class.ilSCORM2004ScoGUI.php.

347 {
348 global $ilCtrl;
349
350 //echo "-".$_POST["il_hform_source_id"]."-".$_POST["il_hform_target_id"]."-".$_POST["il_hform_fc"]."-";
351 $this->slm_object->executeDragDrop($_POST["il_hform_source_id"], $_POST["il_hform_target_id"],
352 $_POST["il_hform_fc"], $_POST["il_hform_as_subitem"]);
353 $ilCtrl->redirect($this, "showOrganization");
354 }

References $_POST, and $ilCtrl.

◆ sahs_questions()

ilSCORM2004ScoGUI::sahs_questions ( )

Definition at line 215 of file class.ilSCORM2004ScoGUI.php.

216 {
217 global $tpl,$lng, $ilCtrl;
218
219 $this->setTabs();
220 $this->setLocator();
221
222 include_once "./Services/Table/classes/class.ilTableGUI.php";
223 include_once "./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
224 include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
225 include_once("./Services/COPage/classes/class.ilPCQuestionGUI.php");
226
227 // load template for table
228 $tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
229 $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scormeditor_sco_question.html", "Modules/Scorm2004");
230
231 $tbl = new ilTableGUI();
232 $tbl->setTitle("Questions for ".$this->node_object->getTitle());
233 $tbl->setHeaderNames(array("Question","Page"));
234 $cols = array("question","page");
235 $tbl->setHeaderVars($cols, $header_params);
236 $tbl->setColumnWidth(array("50%", "50%"));
237 $tbl->disable("sort");
238 $tbl->disable("footer");
239
240 $tree = new ilTree($this->slm_object->getId());
241 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
242 $tree->setTreeTablePK("slm_id");
243
244 foreach($tree->getSubTree($tree->getNodeData($this->node_object->getId()),true,'page') as $page)
245 {
246 // get question ids
247 include_once("./Services/COPage/classes/class.ilPCQuestion.php");
248 $qids = ilPCQuestion::_getQuestionIdsForPage("sahs", $page["obj_id"]);
249 if (count($qids) > 0)
250 {
251 // output questions
252 foreach ($qids as $qid)
253 {
254 $tpl->setCurrentBlock("tbl_content");
255 $tpl->setVariable("TXT_PAGE_TITLE", $page["title"]);
256 $ilCtrl->setParameterByClass("ilscorm2004pagenodegui", "obj_id", $page["obj_id"]);
257 $tpl->setVariable("HREF_EDIT_PAGE", $ilCtrl->getLinkTargetByClass("ilscorm2004pagenodegui", "edit"));
258
259 $qtitle = assQuestion::_getTitle($qid);
260 $tpl->setVariable("TXT_QUESTION", $qtitle);
261 $ilCtrl->setParameterByClass("ilscorm2004pagenodegui", "obj_id", $page["obj_id"]);
262 //$tpl->setVariable("HREF_EDIT_QUESTION", $ilCtrl->getLinkTargetByClass("ilscorm2004pagenodegui", "edit"));
263
264 $tpl->setVariable("CSS_ROW", ilUtil::switchColor($i++, "tblrow1", "tblrow2"));
265 $tpl->parseCurrentBlock();
266 }
267 }
268 }
269 $tbl->render();
270 }
_getTitle($a_q_id)
Returns the title of a question.
static _getQuestionIdsForPage($a_parent_type, $a_page_id, $a_lang="-")
Get all questions of a page.
Class ilTableGUI.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
$tbl
Definition: example_048.php:81

References $ilCtrl, $lng, $tbl, $tpl, ilPCQuestion\_getQuestionIdsForPage(), assQuestion\_getTitle(), ilSCORM2004NodeGUI\setLocator(), setTabs(), and ilUtil\switchColor().

+ Here is the call graph for this function:

◆ sco_preview()

ilSCORM2004ScoGUI::sco_preview ( )

SCO preview.

Definition at line 359 of file class.ilSCORM2004ScoGUI.php.

360 {
361 global $tpl, $ilCtrl, $lng;
362
363 // init main template
364 $tpl = new ilTemplate("tpl.main.html", true, true);
365 include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
366 $tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
367 $tpl->setBodyClass("");
368 $tpl->setCurrentBlock("ContentStyle");
369 $tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
370 ilObjStyleSheet::getContentStylePath($this->slm_object->getStyleSheetId()));
371 $tpl->parseCurrentBlock();
372
373 // get javascript
374 include_once("./Services/jQuery/classes/class.iljQueryUtil.php");
377 $tpl->addJavaScript("./Modules/Scorm2004/scripts/questions/pure.js");
378 $tpl->addJavaScript("./Modules/Scorm2004/scripts/pager.js");
379
380 $tpl->addOnLoadCode("pager.Init();");
381
382 $tree = new ilTree($this->slm_object->getId());
383 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
384 $tree->setTreeTablePK("slm_id");
385 include_once "./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php";
386 include_once "./Services/MetaData/classes/class.ilMD.php";
387
388 $meta = new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
389 $desc_ids = $meta->getGeneral()->getDescriptionIds();
390 $sco_description = $meta->getGeneral()->getDescription($desc_ids[0])->getDescription();
391
392 // get sco template
393 $sco_tpl = new ilTemplate("tpl.sco.html", true, true, "Modules/Scorm2004");
394
395 // navigation
396 $lk = ilObjSAHSLearningModule::getAffectiveLocalization($this->node_object->getSLMId());
397 ilSCORM2004Asset::renderNavigation($sco_tpl, "", $lk);
398
399 // meta page (description and objectives)
400 ilSCORM2004Asset::renderMetaPage($sco_tpl, $this->node_object,
401 $this->node_object->getType());
402
403 // init export (this initialises glossary template)
405 $terms = $this->node_object->getGlossaryTermIds();
406
407 // render page
408 foreach($tree->getSubTree($tree->getNodeData($this->node_object->getId()),true,'page') as $page)
409 {
410 $page_obj = new ilSCORM2004PageGUI($this->node_object->getType(),$page["obj_id"],
411 0, $this->slm_object->getId());
412 $page_obj->setPresentationTitle($page["title"]);
413 $page_obj->setOutputMode(IL_PAGE_PREVIEW);
414 $page_obj->setStyleId($this->slm_object->getStyleSheetId());
415 if (count($terms) > 1)
416 {
417 $page_obj->setGlossaryOverviewInfo(
418 ilSCORM2004ScoGUI::getGlossaryOverviewId(), $this->node_object);
419 }
420 $sco_tpl->setCurrentBlock("page_preview");
421 $html = $ilCtrl->getHTML($page_obj);
422 //$sco_tpl->setVariable("PAGE_PRV", $page_obj->showPage("export"));
423 $sco_tpl->setVariable("PAGE_PRV", $html);
424 $sco_tpl->parseCurrentBlock();
425 }
426
427 $output = $sco_tpl->get();
428
429 // append glossary entries on the sco level
430 $output.= ilSCORM2004PageGUI::getGlossaryHTML($this->node_object);
431
432 //insert questions
433 require_once './Modules/Scorm2004/classes/class.ilQuestionExporter.php';
434 $output = preg_replace_callback("/{{{{{(Question;)(il__qst_[0-9]+)}}}}}/",array(get_class($this), 'insertQuestion'),$output);
435// $output = preg_replace("/&#123;/","",$output);
436// $output = preg_replace("/&#125;/","",$output);
437 $output = "<script>var ScormApi=null;".ilQuestionExporter::questionsJS()."</script>".$output;
438
439 $lk = ilObjSAHSLearningModule::getAffectiveLocalization($this->node_object->getSLMId());
440// include_once("./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php");
441// ilSCORM2004PageGUI::addPreparationJavascript($tpl, $lk);
442
443 $tpl->addJavaScript("./Modules/Scorm2004/scripts/questions/question_handling.js");
444 $tpl->addCss("./Modules/Scorm2004/templates/default/question_handling.css");
445
446 include_once("./Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php");
448
449 //inline JS
450 $output .='<script type="text/javascript" src="./Modules/Scorm2004/scripts/questions/question_handling.js"></script>';
451 $tpl->setVariable("CONTENT", $output);
452 }
getContentStylePath($a_style_id)
get content style path
static initJavascript()
Init javascript.
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.
static initExport()
Init export.
static getGlossaryHTML($a_sco)
Get glossary html (only in export mode)
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static initjQueryUI()
Init jQuery UI (see included_components.txt for included components)
static initjQuery($a_tpl=null)
Init jQuery.
$html
Definition: example_001.php:87

References $html, $ilCtrl, $lng, $tpl, ilObjSAHSLearningModule\getAffectiveLocalization(), ilObjStyleSheet\getContentStylePath(), ilSCORM2004PageGUI\getGlossaryHTML(), getGlossaryOverviewId(), ilUtil\getStyleSheetLocation(), IL_PAGE_PREVIEW, ilSCORM2004PageGUI\initExport(), ilOverlayGUI\initJavascript(), iljQueryUtil\initjQuery(), iljQueryUtil\initjQueryUI(), ilSCORM2004Asset\renderMetaPage(), and ilSCORM2004Asset\renderNavigation().

+ Here is the call graph for this function:

◆ sco_resources()

ilSCORM2004ScoGUI::sco_resources ( )

Definition at line 701 of file class.ilSCORM2004ScoGUI.php.

702 {
703 global $tpl, $lng, $ilCtrl;;
704
705 $this->setTabs();
706 $this->setLocator();
707 $i = 0;
708
709 $export_files = $this->getExportResources();
710
711 // create table
712 require_once("./Services/Table/classes/class.ilTableGUI.php");
713 $tbl = new ilTableGUI();
714
715 // load files templates
716 $tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
717
718 // load template for table content data
719 $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.download_file_row.html", "Modules/LearningModule");
720
721 $num = 0;
722
723 $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
724
725 $tbl->setTitle($lng->txt("cont_files"));
726
727 $tbl->setHeaderNames(array($lng->txt("cont_format"),
728 $lng->txt("cont_file"),
729 $lng->txt("size"), $lng->txt("date"),
730 ""));
731
732 $cols = array("format", "file", "size", "date", "download");
733 $header_params = array("ref_id" => $_GET["ref_id"], "obj_id" => $_GET["obj_id"],
734 "cmd" => "sco_resources", "cmdClass" => strtolower(get_class($this)),
735 "cmdNode" => $_GET["cmdNode"], "baseClass" => $_GET["baseClass"]);
736 $tbl->setHeaderVars($cols, $header_params);
737 $tbl->setColumnWidth(array("10%", "30%", "20%", "20%","20%"));
738 $tbl->disable("sort");
739
740 $tbl->setOrderColumn($_GET["sort_by"]);
741 $tbl->setOrderDirection($_GET["sort_order"]);
742 $tbl->setLimit($_GET["limit"]);
743 $tbl->setOffset($_GET["offset"]);
744 $tbl->setMaxCount($this->maxcount); // ???
745
746
747 $tbl->setMaxCount(count($export_files));
748
749 // footer
750 $tbl->setFooter("tblfooter",$lng->txt("previous"),$lng->txt("next"));
751 //$tbl->disable("footer");
752
753 $tbl->setMaxCount(count($export_files));
754 $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]);
755
756 $tbl->render();
757 if(count($export_files) > 0)
758 {
759 $i=0;
760 foreach($export_files as $exp_file)
761 {
762 /* remote files (youtube videos) have no size, so we allow them now
763 if (!$exp_file["size"] > 0)
764 {
765 continue;
766 }
767 */
768
769 $tpl->setCurrentBlock("tbl_content");
770 $tpl->setVariable("TXT_FILENAME", $exp_file["file"]);
771
772 $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
773 $tpl->setVariable("CSS_ROW", $css_row);
774
775 $tpl->setVariable("TXT_SIZE", $exp_file["size"]);
776 $tpl->setVariable("TXT_FORMAT", $exp_file["type"]);
777
778 $tpl->setVariable("TXT_DATE", $exp_file["date"]);
779
780 if($exp_file["size"] > 0)
781 {
782 $tpl->setVariable("TXT_DOWNLOAD", $lng->txt("download"));
783 $ilCtrl->setParameter($this, "resource", rawurlencode($exp_file["path"]));
784 $ilCtrl->setParameter($this, "file_id", rawurlencode($exp_file["file_id"]));
785 $tpl->setVariable("LINK_DOWNLOAD",
786 $ilCtrl->getLinkTarget($this, "downloadResource"));
787 }
788 else
789 {
790 $tpl->setVariable("TXT_DOWNLOAD", $lng->txt("show"));
791 $tpl->setVariable("LINK_TARGET", " target=\"_blank\"");
792 $tpl->setVariable("LINK_DOWNLOAD", $exp_file["path"]);
793 }
794
795 $tpl->parseCurrentBlock();
796 }
797 } //if is_array
798 /* not found in template?
799 else
800 {
801 $tpl->setCurrentBlock("notfound");
802 $tpl->setVariable("TXT_OBJECT_NOT_FOUND", $lng->txt("obj_not_found"));
803 $tpl->setVariable("NUM_COLS", 4);
804 $tpl->parseCurrentBlock();
805 }
806 */
807 // $tpl->parseCurrentBlock();
808 }

References $_GET, $ilCtrl, $lng, $tbl, $tpl, getExportResources(), ilSCORM2004NodeGUI\setLocator(), setTabs(), and ilUtil\switchColor().

+ Here is the call graph for this function:

◆ selectExport()

ilSCORM2004ScoGUI::selectExport ( )

Select the export type of the SCORM 2004 module.

Definition at line 464 of file class.ilSCORM2004ScoGUI.php.

465 {
466 switch ($_POST['select_export'])
467 {
468 case "exportScorm12":
469 case "exportScorm2004_3rd":
470 case "exportScorm2004_4th":
471 case "exportPDF":
472 case "exportHTML":
473 $this->ctrl->redirect($this, $_POST['select_export']);
474 break;
475 default:
476 $this->ctrl->redirect($this, 'showExportList');
477 break;
478 }
479 }

References $_POST.

◆ setTabs()

ilSCORM2004ScoGUI::setTabs ( )

output tabs

Reimplemented in ilSCORM2004AssetGUI.

Definition at line 284 of file class.ilSCORM2004ScoGUI.php.

285 {
286 global $ilTabs, $ilCtrl, $tpl, $lng, $ilHelp;
287
288 $ilHelp->setScreenIdComponent("sahsed");
289
290 // subelements
291 $ilTabs->addTarget("sahs_organization",
292 $ilCtrl->getLinkTarget($this,'showOrganization'),
293 "showOrganization", get_class($this));
294
295 // properties (named learning objectives, since here is currently
296 // no other property)
297 $ilTabs->addTarget("sahs_desc_objectives",
298 $ilCtrl->getLinkTarget($this,'showProperties'),
299 "showProperties", get_class($this));
300
301 // questions
302 $ilTabs->addTarget("sahs_questions",
303 $ilCtrl->getLinkTarget($this,'sahs_questions'),
304 "sahs_questions", get_class($this));
305
306 // resources
307 $ilTabs->addTarget("cont_files",
308 $ilCtrl->getLinkTarget($this,'sco_resources'),
309 "sco_resources", get_class($this));
310
311 // metadata
312 include_once "Services/Object/classes/class.ilObjectMetaDataGUI.php";
313 $mdgui = new ilObjectMetaDataGUI($this->slm_object,
314 $this->node_object->getType(), $this->node_object->getId());
315 $mdtab = $mdgui->getTab();
316 if($mdtab)
317 {
318 $ilTabs->addTarget("meta_data",
319 $mdtab,
320 "", "ilmdeditorgui");
321 }
322
323 // export
324 $ilTabs->addTarget("export",
325 $ilCtrl->getLinkTarget($this, "showExportList"), "showExportList",
326 get_class($this));
327
328 // import
329 $ilTabs->addTarget("import",
330 $ilCtrl->getLinkTarget($this, "import"), "import",
331 get_class($this));
332
333 // preview
334 $ilTabs->addNonTabbedLink("preview",
335 $lng->txt("cont_preview"),
336 $ilCtrl->getLinkTarget($this,'sco_preview'), "_blank");
337
338 $tpl->setTitleIcon(ilUtil::getImagePath("icon_sco.svg"));
339 $tpl->setTitle(
340 $lng->txt("sahs_unit").": ".$this->node_object->getTitle());
341 }

References $ilCtrl, $lng, $tpl, and ilUtil\getImagePath().

Referenced by executeCommand(), import(), sahs_questions(), sco_resources(), showExportList(), and showProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showExportList()

ilSCORM2004ScoGUI::showExportList ( )

Definition at line 481 of file class.ilSCORM2004ScoGUI.php.

482 {
483 global $tpl, $ilCtrl, $lng;
484
485 $this->setTabs();
486 $this->setLocator();
487
488
489 $template = new ilTemplate("tpl.scorm2004_export_buttons.html", true, true, 'Modules/Scorm2004');
490
491 $buttons = array(
492 "exportScorm2004_3rd" => $lng->txt("scorm_create_export_file_scrom2004"),
493 "exportScorm2004_4th" => $lng->txt("scorm_create_export_file_scrom2004_4th"),
494 "exportScorm12" => $lng->txt("scorm_create_export_file_scrom12"),
495 "exportPDF" => $lng->txt("scorm_create_export_file_pdf"),
496 "exportHTML" => $lng->txt("scorm_create_export_file_html")
497 );
498 foreach ($buttons as $value => $text)
499 {
500 $template->setCurrentBlock('option');
501 $template->setVariable('OPTION_VALUE', $value);
502 $template->setVariable('OPTION_TITLE', ilUtil::prepareFormOutput($text));
503 $template->parseCurrentBlock();
504 }
505 $template->setVariable('EXPORT_TITLE', $lng->txt('export'));
506 $template->setVariable('EXPORT_LABEL', $lng->txt('type'));
507 $template->setVariable('FORMACTION', $ilCtrl->getFormAction($this, 'selectExport'));
508
509 $export_files = $this->node_object->getExportFiles();
510
511 include_once "./Modules/Scorm2004/classes/class.ilSCORM2004ExportTableGUI.php";
512 $table_gui = new ilSCORM2004ExportTableGUI($this, 'showExportList');
513 $data = array();
514 foreach ($export_files as $exp_file)
515 {
516 $filetype = $exp_file['type'];
517 // $public_str = ($exp_file["file"] == $this->object->getPublicExportFile($filetype))
518 // ? " <b>(".$this->lng->txt("public").")<b>"
519 // : "";
520 $file_arr = explode("__", $exp_file["file"]);
521 array_push($data, array('file' => $exp_file['file'], 'filetype' => $filetype, 'date' => ilDatePresentation::formatDate(new ilDateTime($file_arr[0], IL_CAL_UNIX)), 'size' => $exp_file['size'], 'type' => $exp_file['type'].$public_str));
522 }
523 $table_gui->setData($data);
524 $tpl->setVariable('ADM_CONTENT', $template->get() . "\n" . $table_gui->getHTML());
525
526
527 }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
$text

References $data, $ilCtrl, $lng, $text, $tpl, ilDatePresentation\formatDate(), IL_CAL_UNIX, ilUtil\prepareFormOutput(), ilSCORM2004NodeGUI\setLocator(), and setTabs().

+ Here is the call graph for this function:

◆ showProperties()

ilSCORM2004ScoGUI::showProperties ( )

Show learning objectives.

Reimplemented in ilSCORM2004AssetGUI.

Definition at line 101 of file class.ilSCORM2004ScoGUI.php.

102 {
103 global $tpl, $lng, $ilTabs, $ilCtrl;
104
105 $this->setTabs();
106 $this->setLocator();
107 $ilTabs->setTabActive("sahs_desc_objectives");
108
109 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
110 $form = new ilPropertyFormGUI();
111
112 // hide objectives page
113 $cb = new ilCheckboxInputGUI($lng->txt("sahs_hide_objectives_page"), "hide_objectives_page");
114 $cb->setInfo($lng->txt("sahs_hide_objectives_page_info"));
115 $form->addItem($cb);
116 $cb->setChecked($this->node_object->getHideObjectivePage());
117
118 // description
119 $ta = new ilTextAreaInputGUI($lng->txt("description"), "desc");
120 $ta->setRows(4);
121 $ta->setCols(55);
122 $ta->setInfo($lng->txt("sahs_list_info"));
123 $form->setTitle($lng->txt("properties"));
124 $form->addItem($ta);
125 include_once "./Services/MetaData/classes/class.ilMD.php";
126 $meta = new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
127 $desc_ids = $meta->getGeneral()->getDescriptionIds();
128 $ta->setValue($meta->getGeneral()->getDescription($desc_ids[0])->getDescription());
129
130 // objectives
131 $sh = new ilFormSectionHeaderGUI();
132 $sh->setTitle($lng->txt("sahs_learning_objectives"));
133 $form->addItem($sh);
134
135 $objectives = $this->node_object->getObjectives();
136
137 foreach ($objectives as $ob)
138 {
139 // map info
140 $mappings = $ob->getMappings();
141 $mapinfo = null;
142 foreach($mappings as $map)
143 {
144 $mapinfo .= $map->getTargetObjectiveID();
145 }
146
147 if ($mapinfo == null)
148 {
149 $mapinfo = "local";
150 }
151 else
152 {
153 $mapinfo = "global to ".$mapinfo;
154 }
155
156 // objective
157 $ta = new ilTextAreaInputGUI($mapinfo,
158 "obj_".$ob->getId());
159 $ta->setCols(55);
160 $ta->setRows(4);
161 $ta->setInfo($lng->txt("sahs_list_info"));
162 $form->addItem($ta);
163 $ta->setValue($ob->getObjectiveID());
164 }
165 $form->setFormAction($ilCtrl->getFormAction($this));
166 $form->addCommandButton("updateProperties",
167 $lng->txt("save"));
168 $tpl->setContent($form->getHTML());
169 }
This class represents a checkbox property in a property form.
This class represents a section header in a property form.
This class represents a property form user interface.
This class represents a text area property in a property form.

References $ilCtrl, $lng, $tpl, ilSCORM2004NodeGUI\setLocator(), and setTabs().

Referenced by updateProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateProperties()

ilSCORM2004ScoGUI::updateProperties ( )

update Properties

Reimplemented in ilSCORM2004AssetGUI.

Definition at line 174 of file class.ilSCORM2004ScoGUI.php.

175 {
176 global $tpl,$lng;
177 $empty = false;
178
179 foreach ($_POST as $key=>$value) {
180 if(preg_match('/(obj_)(.+)/', $key,$match)){
181 $objective = new ilScorm2004Objective($this->node_object->getId(),$match[2]);
182// if (!$value)
183// {
184// $empty=true;
185// } else {
186 $objective->setObjectiveID(ilUtil::stripSlashes($value));
187 $objective->updateObjective();
188// }
189 }
190 }
191
192 $this->node_object->setHideObjectivePage(ilUtil::stripSlashes($_POST["hide_objectives_page"]));
193 $this->node_object->update();
194
195 include_once "./Services/MetaData/classes/class.ilMD.php";
196 $meta = new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType());
197 $gen = $meta->getGeneral();
198 $desc_ids = $gen->getDescriptionIds();
199 $des = $gen->getDescription($desc_ids[0]);
200 $des->setDescription(ilUtil::stripSlashes($_POST["desc"]));
201 $des->update();
202 $gen->update();
203
204 if (!$empty)
205 {
206 ilUtil::sendInfo($lng->txt("saved_successfully"),true);
207 }
208 else
209 {
210 ilUtil::sendFailure($lng->txt("sahs_empty_objectives_are_not_allowed"), true);
211 }
212 $this->showProperties();
213 }
showProperties()
Show learning objectives.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $_POST, $lng, $tpl, ilUtil\sendFailure(), ilUtil\sendInfo(), showProperties(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilSCORM2004ScoGUI::$ctrl = null

Constructor @access public.

Definition at line 29 of file class.ilSCORM2004ScoGUI.php.


The documentation for this class was generated from the following file: