Public Member Functions

ilObjSCORMLearningModuleGUI Class Reference

Inheritance diagram for ilObjSCORMLearningModuleGUI:
Collaboration diagram for ilObjSCORMLearningModuleGUI:

Public Member Functions

 ilObjSCORMLearningModuleGUI ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
 Constructor.
 assignObject ()
 assign scorm object to scorm gui object
 properties ()
 scorm module properties
 saveProperties ()
 save properties
 showTrackingItems ()
 show tracking data
 showTrackingItem ()
 show tracking data of item
 showTrackingItemPerUser ()
 show tracking data of item per user

Detailed Description

Definition at line 41 of file class.ilObjSCORMLearningModuleGUI.php.


Member Function Documentation

ilObjSCORMLearningModuleGUI::assignObject (  ) 

assign scorm object to scorm gui object

Reimplemented from ilObjectGUI.

Reimplemented in ilObjAICCLearningModuleGUI, and ilObjHACPLearningModuleGUI.

Definition at line 61 of file class.ilObjSCORMLearningModuleGUI.php.

        {
                if ($this->id != 0)
                {
                        if ($this->call_by_reference)
                        {
                                $this->object =& new ilObjSCORMLearningModule($this->id, true);
                        }
                        else
                        {
                                $this->object =& new ilObjSCORMLearningModule($this->id, false);
                        }
                }
        }

ilObjSCORMLearningModuleGUI::ilObjSCORMLearningModuleGUI ( a_data,
a_id,
a_call_by_reference,
a_prepare_output = true 
)

Constructor.

public

Definition at line 48 of file class.ilObjSCORMLearningModuleGUI.php.

References ilObjectGUI::$lng, and ilObjectGUI::ilObjectGUI().

        {
                global $lng;

                $lng->loadLanguageModule("content");
                $this->type = "sahs";
                $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference,false);
                #$this->tabs_gui =& new ilTabsGUI();
        }

Here is the call graph for this function:

ilObjSCORMLearningModuleGUI::properties (  ) 

scorm module properties

Reimplemented from ilObjSAHSLearningModuleGUI.

Definition at line 79 of file class.ilObjSCORMLearningModuleGUI.php.

References $rbacsystem, ilObjectGUI::$tpl, ilObjectGUI::$tree, and formSelect().

        {
                global $rbacsystem, $tree, $tpl;

                // edit button
                $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");

                // view link
                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK",
                        "../ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=".$this->object->getRefID());
                $this->tpl->setVariable("BTN_TARGET"," target=\"ilContObj".$this->object->getID()."\" ");
                $this->tpl->setVariable("BTN_TXT",$this->lng->txt("view"));
                $this->tpl->parseCurrentBlock();

                // scorm lm properties
                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.sahs_properties.html", true);
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TXT_PROPERTIES", $this->lng->txt("cont_lm_properties"));

                // online
                $this->tpl->setVariable("TXT_ONLINE", $this->lng->txt("cont_online"));
                $this->tpl->setVariable("CBOX_ONLINE", "cobj_online");
                $this->tpl->setVariable("VAL_ONLINE", "y");
                if ($this->object->getOnline())
                {
                        $this->tpl->setVariable("CHK_ONLINE", "checked");
                }

                // api adapter name
                $this->tpl->setVariable("TXT_API_ADAPTER", $this->lng->txt("cont_api_adapter"));
                $this->tpl->setVariable("VAL_API_ADAPTER", $this->object->getAPIAdapterName());

                // api functions prefix
                $this->tpl->setVariable("TXT_API_PREFIX", $this->lng->txt("cont_api_func_prefix"));
                $this->tpl->setVariable("VAL_API_PREFIX", $this->object->getAPIFunctionsPrefix());

                // default lesson mode
                $this->tpl->setVariable("TXT_LESSON_MODE", $this->lng->txt("cont_def_lesson_mode"));
                $lesson_modes = array("normal" => $this->lng->txt("cont_sc_less_mode_normal"),
                        "browse" => $this->lng->txt("cont_sc_less_mode_browse"));
                $sel_lesson = ilUtil::formSelect($this->object->getDefaultLessonMode(),
                        "lesson_mode", $lesson_modes, false, true);
                $this->tpl->setVariable("SEL_LESSON_MODE", $sel_lesson);

                // credit mode
                $this->tpl->setVariable("TXT_CREDIT_MODE", $this->lng->txt("cont_credit_mode"));
                $credit_modes = array("credit" => $this->lng->txt("cont_credit_on"),
                        "no_credit" => $this->lng->txt("cont_credit_off"));
                $sel_credit = ilUtil::formSelect($this->object->getCreditMode(),
                        "credit_mode", $credit_modes, false, true);
                $this->tpl->setVariable("SEL_CREDIT_MODE", $sel_credit);

                // auto review mode
                $this->tpl->setVariable("TXT_AUTO_REVIEW", $this->lng->txt("cont_sc_auto_review"));
                $this->tpl->setVariable("CBOX_AUTO_REVIEW", "auto_review");
                $this->tpl->setVariable("VAL_AUTO_REVIEW", "y");
                if ($this->object->getAutoReview())
                {
                        $this->tpl->setVariable("CHK_AUTO_REVIEW", "checked");
                }

                $this->tpl->setCurrentBlock("commands");
                $this->tpl->setVariable("BTN_NAME", "saveProperties");
                $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save"));
                $this->tpl->parseCurrentBlock();

        }

Here is the call graph for this function:

ilObjSCORMLearningModuleGUI::saveProperties (  ) 

save properties

Reimplemented from ilObjSAHSLearningModuleGUI.

Definition at line 151 of file class.ilObjSCORMLearningModuleGUI.php.

References $_POST, sendInfo(), and ilUtil::yn2tf().

        {
                $this->object->setOnline(ilUtil::yn2tf($_POST["cobj_online"]));
                $this->object->setAutoReview(ilUtil::yn2tf($_POST["auto_review"]));
                $this->object->setAPIAdapterName($_POST["api_adapter"]);
                $this->object->setAPIFunctionsPrefix($_POST["api_func_prefix"]);
                $this->object->setCreditMode($_POST["credit_mode"]);
                $this->object->setDefaultLessonMode($_POST["lesson_mode"]);
                $this->object->update();
                sendInfo($this->lng->txt("msg_obj_modified"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjSCORMLearningModuleGUI::showTrackingItem (  ) 

show tracking data of item

Reimplemented in ilObjAICCLearningModuleGUI.

Definition at line 244 of file class.ilObjSCORMLearningModuleGUI.php.

References $_GET, ilObjectGUI::$data, $tbl, $user, ilObject::_exists(), and ilUtil::switchColor().

        {

                include_once "./classes/class.ilTableGUI.php";

                // load template for table
                $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
                // load template for table content data
                $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scorm_track_item.html", true);

                $num = 2;

                $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$this->ref_id."$obj_str&cmd=gateway");

                // create table
                $tbl = new ilTableGUI();

                include_once("content/classes/SCORM/class.ilSCORMItem.php");
                $sc_item =& new ilSCORMItem($_GET["obj_id"]);

                // title & header columns
                $tbl->setTitle($sc_item->getTitle());

                $tbl->setHeaderNames(array($this->lng->txt("name"),
                        $this->lng->txt("cont_status"), $this->lng->txt("cont_time"),
                        $this->lng->txt("cont_score")));

                $header_params = array("ref_id" => $this->ref_id, "cmd" => $_GET["cmd"],
                        "cmdClass" => get_class($this), "obj_id" => $_GET["obj_id"]);
                $cols = array("name", "status", "time", "score");
                $tbl->setHeaderVars($cols, $header_params);
                //$tbl->setColumnWidth(array("25%",));

                // control
                $tbl->setOrderColumn($_GET["sort_by"]);
                $tbl->setOrderDirection($_GET["sort_order"]);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount($this->maxcount);

                //$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"]));
                //$this->showActions(true);

                // footer
                $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
                #$tbl->disable("footer");

                $tr_data = $this->object->getTrackingDataAgg($_GET["obj_id"]);

                //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]);
                $tbl->setMaxCount(count($tr_data));
                $tr_data = array_slice($tr_data, $_GET["offset"], $_GET["limit"]);

                $tbl->render();
                if (count($tr_data) > 0)
                {
                        foreach ($tr_data as $data)
                        {
                                if (ilObject::_exists($data["user_id"]))
                                {
                                        $this->tpl->setCurrentBlock("tbl_content");
                                        $user = new ilObjUser($data["user_id"]);
                                        $this->tpl->setVariable("VAL_USERNAME", $user->getLastname().", ".
                                                $user->getFirstname());
                                        $this->ctrl->setParameter($this, "user_id", $data["user_id"]);
                                        $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]);
                                        $this->tpl->setVariable("LINK_USER",
                                                $this->ctrl->getLinkTarget($this, "showTrackingItemPerUser"));
                                        $this->tpl->setVariable("VAL_TIME", $data["time"]);
                                        $this->tpl->setVariable("VAL_STATUS", $data["status"]);
                                        $this->tpl->setVariable("VAL_SCORE", $data["score"]);
        
                                        $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
                                        $this->tpl->setVariable("CSS_ROW", $css_row);
                                        $this->tpl->parseCurrentBlock();
                                }
                        }
                } //if is_array
                else
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->setVariable("NUM_COLS", $num);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

ilObjSCORMLearningModuleGUI::showTrackingItemPerUser (  ) 

show tracking data of item per user

Definition at line 334 of file class.ilObjSCORMLearningModuleGUI.php.

References $_GET, ilObjectGUI::$data, $tbl, $user, and ilUtil::switchColor().

        {

                include_once "./classes/class.ilTableGUI.php";

                // load template for table
                $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
                // load template for table content data
                $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scorm_track_item_per_user.html", true);

                $num = 2;

                $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$this->ref_id."$obj_str&cmd=gateway");

                // create table
                $tbl = new ilTableGUI();

                include_once("content/classes/SCORM/class.ilSCORMItem.php");
                $sc_item =& new ilSCORMItem($_GET["obj_id"]);

                // title & header columns
                $tbl->setTitle($sc_item->getTitle());

                $tbl->setHeaderNames(array($this->lng->txt("firstname"),$this->lng->txt("lastname"),
                        $this->lng->txt("cont_lvalue"), $this->lng->txt("cont_rvalue")));

                $header_params = array("ref_id" => $this->ref_id, "cmd" => $_GET["cmd"],
                        "cmdClass" => get_class($this), "obj_id" => $_GET["obj_id"],
                        "user_id" => $_GET["user_id"]);
                $cols = array("firstname", "lastname", "lvalue", "rvalue");
                $tbl->setHeaderVars($cols, $header_params);
                //$tbl->setColumnWidth(array("25%",));

                // control
                $tbl->setOrderColumn($_GET["sort_by"]);
                $tbl->setOrderDirection($_GET["sort_order"]);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount($this->maxcount);

                //$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"]));
                //$this->showActions(true);

                // footer
                $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
                #$tbl->disable("footer");

                $tr_data = $this->object->getTrackingDataPerUser($_GET["obj_id"], $_GET["user_id"]);

                //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]);
                $tbl->setMaxCount(count($tr_data));
                $tr_data = array_slice($tr_data, $_GET["offset"], $_GET["limit"]);

                $tbl->render();
                if (count($tr_data) > 0)
                {
                        foreach ($tr_data as $data)
                        {
                                $this->tpl->setCurrentBlock("tbl_content");
                                $user = new ilObjUser($data["user_id"]);
                                $this->tpl->setVariable("VAL_FIRSTNAME", $user->getFirstname());
                                $this->tpl->setVariable("VAL_LASTNAME", $user->getLastname());
                                $this->tpl->setVariable("VAR", $data["lvalue"]);
                                $this->tpl->setVariable("VAL", $data["rvalue"]);

                                $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
                                $this->tpl->setVariable("CSS_ROW", $css_row);
                                $this->tpl->parseCurrentBlock();
                        }
                } //if is_array
                else
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->setVariable("NUM_COLS", $num);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

ilObjSCORMLearningModuleGUI::showTrackingItems (  ) 

show tracking data

Reimplemented in ilObjAICCLearningModuleGUI.

Definition at line 167 of file class.ilObjSCORMLearningModuleGUI.php.

References $_GET, $tbl, and ilUtil::switchColor().

        {

                include_once "./classes/class.ilTableGUI.php";

                // load template for table
                $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
                // load template for table content data
                $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scorm_track_items.html", true);

                $num = 1;

                $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$this->ref_id."$obj_str&cmd=gateway");

                // create table
                $tbl = new ilTableGUI();

                // title & header columns
                $tbl->setTitle($this->lng->txt("cont_tracking_items"));

                $tbl->setHeaderNames(array($this->lng->txt("title")));

                $header_params = array("ref_id" => $this->ref_id, "cmd" => $_GET["cmd"],
                        "cmdClass" => get_class($this));
                $cols = array("title");
                $tbl->setHeaderVars($cols, $header_params);
                $tbl->setColumnWidth(array("100%"));

                // control
                $tbl->setOrderColumn($_GET["sort_by"]);
                $tbl->setOrderDirection($_GET["sort_order"]);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount($this->maxcount);

                //$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"]));
                //$this->showActions(true);

                // footer
                $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
                #$tbl->disable("footer");

                //$items = $this->object->getTrackingItems();
                $items = $this->object->getTrackedItems();

                //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]);
                $tbl->setMaxCount(count($items));
                $items = array_slice($items, $_GET["offset"], $_GET["limit"]);

                $tbl->render();
                if (count($items) > 0)
                {
                        foreach ($items as $item)
                        {
                                $this->tpl->setCurrentBlock("tbl_content");
                                $this->tpl->setVariable("TXT_ITEM_TITLE", $item->getTitle());
                                $this->ctrl->setParameter($this, "obj_id", $item->getId());
                                $this->tpl->setVariable("LINK_ITEM",
                                        $this->ctrl->getLinkTarget($this, "showTrackingItem"));

                                $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
                                $this->tpl->setVariable("CSS_ROW", $css_row);
                                $this->tpl->parseCurrentBlock();
                        }
                } //if is_array
                else
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->setVariable("NUM_COLS", $num);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:


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