Public Member Functions

ilObjSCORMLearningModuleGUI Class Reference
[Modules/ScormAicc]

Class ilObjSCORMLearningModuleGUI. More...

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

Class ilObjSCORMLearningModuleGUI.

Author:
Alex Killing <alex.killing@gmx.de>
Id:
class.ilObjSCORMLearningModuleGUI.php 16351 2008-04-10 00:37:49Z hholtmann

ilObjSCORMLearningModuleGUI: ilFileSystemGUI, ilMDEditorGUI, ilPermissionGUI, ilLearningProgressGUI ilObjSCORMLearningModuleGUI: ilInfoScreenGUI

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 ilObjSCORM2004LearningModuleGUI, 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.

Reimplemented in ilObjSCORM2004LearningModuleGUI.

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

References 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&amp;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", "Modules/ScormAicc");
                $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.

Reimplemented in ilObjSCORM2004LearningModuleGUI.

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

References ilUtil::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();
                ilUtil::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 ilObjSCORM2004LearningModuleGUI, and ilObjAICCLearningModuleGUI.

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

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

        {

                include_once "./Services/Table/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", "Modules/ScormAicc");

                $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("./Modules/ScormAicc/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 = $this->ctrl->getParameterArray($this, "showTrackingItem");
                
                $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 "./Services/Table/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", "Modules/ScormAicc");

                $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("./Modules/ScormAicc/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 ilObjSCORM2004LearningModuleGUI, and ilObjAICCLearningModuleGUI.

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

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

        {

                include_once "./Services/Table/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", "Modules/ScormAicc");

                $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 = $this->ctrl->getParameterArray($this, "showTrackingItems");
        
                $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: