Inheritance diagram for ilObjUserTrackingGUI:
Collaboration diagram for ilObjUserTrackingGUI:Public Member Functions | |
| ilObjUserTrackingGUI ($a_data, $a_id, $a_call_by_reference) | |
| & | executeCommand () |
| execute command | |
| getAdminTabs (&$tabs_gui) | |
| administration tabs show only permissions and trash folder | |
| getTabs (&$tabs_gui) | |
| get tabs abstract method. | |
| settingsObject () | |
| display tracking settings form | |
| saveSettingsObject () | |
| save user tracking settings | |
| manageDataObject () | |
| display tracking settings form | |
| confirmDeletionDataObject () | |
| confirm delete tracking data | |
| cancelDeleteDataObject () | |
| cancel deletion of tracking data | |
| deleteDataObject () | |
| delete tracking data | |
| trackingDataQueryFormObject () | |
| display tracking query form | |
| outputTrackingDataObject () | |
| output tracking data | |
| getCondition () | |
| get complete condition string | |
| getObjectCondition () | |
| get object condition string | |
| getLanguageCondition () | |
| get language condition string | |
| setConditions ($con) | |
| getConditions () | |
| numDay ($from, $to) | |
| Return the nums of days between 'from' and 'to'. | |
| numHour ($from, $to) | |
| Return the nums of hours between 'from' and 'to'. | |
| addHour ($time) | |
| Add one hour to the 'time' and return it. | |
| addDay ($time) | |
| Add one day to the 'time' and return it. | |
| selectTime ($from, $to, $condition) | |
| Get the access time between 'from' to 'to' and under the 'condition'. | |
| countNum ($from, $from1, $condition) | |
| Get the access num between 'from' to 'from1' and under the 'condition'. | |
| __showActivationSelect () | |
Data Fields | |
| $conditions | |
| Constructor public. | |
| $tpl = null | |
| $ilErr = null | |
| $lng = null | |
| $ctrl = null | |
Definition at line 40 of file class.ilObjUserTrackingGUI.php.
| ilObjUserTrackingGUI::__showActivationSelect | ( | ) |
Definition at line 1249 of file class.ilObjUserTrackingGUI.php.
Referenced by settingsObject().
{
$options = array(UT_ACTIVE_UT => $this->lng->txt('trac_active_ut_only'),
UT_ACTIVE_LP => $this->lng->txt('trac_active_lp_only'),
UT_ACTIVE_BOTH => $this->lng->txt('trac_active_both'),
UT_INACTIVE_BOTH => $this->lng->txt('trac_inactive_both'));
foreach($options as $val => $txt)
{
$this->tpl->setCurrentBlock("option");
if($this->object->getActivationStatus() == $val)
{
$this->tpl->setVariable("OPT_SELECTED",'selected="selected"');
}
$this->tpl->setVariable("OPT_VAL",$val);
$this->tpl->setVariable("OPT_TXT",$txt);
$this->tpl->parseCurrentBlock();
}
return true;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::addDay | ( | $ | time | ) |
Add one day to the 'time' and return it.
Definition at line 1204 of file class.ilObjUserTrackingGUI.php.
Referenced by outputTrackingDataObject().
{
$time = strtotime($time);
$day = date("d",$time);
$month = date("m",$time);
$year = date("y",$time);
$min = date("i",$time);
$hour = date("h",$time);
$sec = date("s",$time);
$day = $day + 1;
$ret = date ("Y-m-d", mktime($hour,$min,$sec,$month,$day,$year));
return $ret;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::addHour | ( | $ | time | ) |
Add one hour to the 'time' and return it.
Definition at line 1187 of file class.ilObjUserTrackingGUI.php.
{
$time = strtotime($time);
$day = date("d",$time);
$month = date("m",$time);
$year = date("Y",$time);
$hour = date("H",$time);
$min = date("i",$time);
$sec = date("s",$time);
$hour = $hour+1;
$ret = date("H:i:s", mktime($hour,$min,$sec,$month,$day,$year));
return $ret;
}
| ilObjUserTrackingGUI::cancelDeleteDataObject | ( | ) |
cancel deletion of tracking data
Definition at line 282 of file class.ilObjUserTrackingGUI.php.
References sendInfo().
{
sendInfo($this->lng->txt("msg_cancel"),true);
#ilUtil::redirect("adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=manageData");
$this->ctrl->redirect($this,'manageData');
}
Here is the call graph for this function:| ilObjUserTrackingGUI::confirmDeletionDataObject | ( | ) |
confirm delete tracking data
Definition at line 249 of file class.ilObjUserTrackingGUI.php.
References $_POST, $lng, $rbacsystem, and $tpl.
{
global $tpl, $lng, $rbacsystem;
if (!$rbacsystem->checkAccess('delete',$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_delete_track"),$this->ilias->error_obj->WARNING);
}
if (!isset($_POST["month"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
$nr = $this->object->getTotalOlderThanMonth($_POST["month"]);
$tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.tracking_confirm_data_deletion.html");
#$tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$_GET["ref_id"].
# "&cmd=gateway&month=".$_POST["month"]);
$this->ctrl->setParameter($this,'month',$_POST['month']);
$tpl->setVariable("FORMACTION",$this->ctrl->getFormaction($this,'gateway'));
$tpl->setVariable("TXT_CONFIRMATION", $this->lng->txt("tracking_data_del_confirm"));
$tpl->setVariable("TXT_MONTH", $lng->txt("month"));
$tpl->setVariable("VAL_MONTH", $_POST["month"]);
$tpl->setVariable("TXT_NUMBER_OF_RECORDS", $lng->txt("number_of_records"));
$tpl->setVariable("VAL_NUMBER_OF_RECORDS", $nr);
$tpl->setVariable("TXT_NUMBER_OF_ACC", $lng->txt("number_of_accesses"));
$tpl->setVariable("TXT_DELETE_DATA", $lng->txt("delete_tr_data"));
$tpl->setVariable("TXT_CANCEL", $lng->txt("cancel"));
}
| ilObjUserTrackingGUI::countNum | ( | $ | from, | |
| $ | from1, | |||
| $ | condition | |||
| ) |
Get the access num between 'from' to 'from1' and under the 'condition'.
Definition at line 1238 of file class.ilObjUserTrackingGUI.php.
References $q, $res, and $result.
Referenced by outputTrackingDataObject().
{
$q = "SELECT count(*) from ut_access "
." WHERE (acc_time > '".$from
."' AND acc_time <='".$from1."')"
." AND ".$condition;
$res = $this->ilias->db->query($q);
$result = $res->fetchRow();
return $result[0];
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::deleteDataObject | ( | ) |
delete tracking data
Definition at line 294 of file class.ilObjUserTrackingGUI.php.
References $_GET, $rbacsystem, and sendInfo().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess('read',$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_delete_track"),$this->ilias->error_obj->WARNING);
}
$this->object->deleteTrackingDataBeforeMonth($_GET["month"]);
sendInfo($this->lng->txt("tracking_data_deleted"),true);
$this->ctrl->redirect($this,'manageData');
#ilUtil::redirect("adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=manageData");
}
Here is the call graph for this function:| & ilObjUserTrackingGUI::executeCommand | ( | ) |
execute command
Reimplemented from ilObjectGUI.
Definition at line 68 of file class.ilObjUserTrackingGUI.php.
References $cmd, and ilObjectGUI::prepareOutput().
{
$next_class = $this->ctrl->getNextClass();
$this->ctrl->setReturn($this, "show");
$this->prepareOutput();
switch($next_class)
{
case 'ilpermissiongui':
include_once("./classes/class.ilPermissionGUI.php");
$perm_gui =& new ilPermissionGUI($this);
$ret =& $this->ctrl->forwardCommand($perm_gui);
break;
case 'illearningprogressgui':
$this->tabs_gui->setTabActive('learning_progress');
include_once("./Services/Tracking/classes/class.ilLearningProgressGUI.php");
$lp_gui =& new ilLearningProgressGUI(LP_MODE_ADMINISTRATION);
$ret =& $this->ctrl->forwardCommand($lp_gui);
break;
default:
$cmd = $this->ctrl->getCmd();
if ($cmd == "view" || $cmd == "")
{
$cmd = "trackingDataQueryForm";
}
$cmd .= "Object";
$this->$cmd();
break;
}
return true;
}
Here is the call graph for this function:| ilObjUserTrackingGUI::getAdminTabs | ( | &$ | tabs_gui | ) |
administration tabs show only permissions and trash folder
Reimplemented from ilObjectGUI.
Definition at line 103 of file class.ilObjUserTrackingGUI.php.
References getTabs().
{
$this->getTabs($tabs_gui);
}
Here is the call graph for this function:| ilObjUserTrackingGUI::getCondition | ( | ) |
get complete condition string
Definition at line 1043 of file class.ilObjUserTrackingGUI.php.
References getLanguageCondition(), getObjectCondition(), and setConditions().
Referenced by outputTrackingDataObject().
{
$lang_cond = $this->getLanguageCondition();
//echo ":$lang_cond:";
if ($lang_cond == "")
{
$this->setConditions($this->getObjectCondition());
return $this->getObjectCondition();
}
else
{
$this->setConditions($lang_cond." AND ".$this->getObjectCondition());
return $lang_cond." AND ".$this->getObjectCondition();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjUserTrackingGUI::getConditions | ( | ) |
Definition at line 1142 of file class.ilObjUserTrackingGUI.php.
Referenced by outputTrackingDataObject().
{
return $this->conditions;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::getLanguageCondition | ( | ) |
get language condition string
Definition at line 1127 of file class.ilObjUserTrackingGUI.php.
References $_POST.
Referenced by getCondition().
{
global $ilDB;
if ($_POST["language"] != "0")
{
return "ut_access.language =".$ilDB->quote($_POST["language"]);
}
return "";
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::getObjectCondition | ( | ) |
get object condition string
Definition at line 1063 of file class.ilObjUserTrackingGUI.php.
References $_POST, $author, $type, ilObjUserTracking::allAuthor(), and ilObjUserTracking::authorLms().
Referenced by getCondition().
{
global $ilDB;
$type = $_POST["object_type"];
$condition = "";
if($_POST["object_type"]=="lm")
{
if($_POST["author"]=="0")
{
return " acc_obj_type = 'lm'";
}
elseif($_POST["lm"]=="0" or $_POST["lm"]=="")
{
$authors = ilObjUserTracking::allAuthor("usr","lm");
foreach ($authors as $author)
{
if($author["title"]==$_POST["author"])
$lms = ilObjUserTracking::authorLms($author["obj_id"],"lm");
foreach ($lms as $lm)
{
$condition = $condition." or acc_obj_id = ".$lm["obj_id"];
}
}
return " ( 0 ".$condition." ) ";
}
else
{
$condition.= " acc_obj_id = ".ilObjUserTracking::getObjId($_POST["lm"],$type);
return $condition;
}
}
else
{
if($_POST["author1"]=="0")
{
return " acc_obj_type = 'tst'";
}
elseif($_POST["tst"]=="0" or $_POST["tst"]=="")
{
$authors = ilObjUserTracking::allAuthor("usr","tst");
foreach ($authors as $author)
{
if($author["title"]==$_POST["author1"])
$lms = ilObjUserTracking::authorLms($author["obj_id"],"tst");
foreach ($lms as $lm)
{
$condition = $condition." or acc_obj_id = ".$lm["obj_id"];
}
}
return " ( 0 ".$condition." ) ";
}
else
{
$condition.= " acc_obj_id = ".ilObjUserTracking::getObjId($_POST["tst"],$type);
return $condition;
}
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjUserTrackingGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs abstract method.
overwrite in derived GUI class of your object type public
| object | instance of ilTabsGUI |
Reimplemented from ilObjectGUI.
Definition at line 108 of file class.ilObjUserTrackingGUI.php.
References $rbacsystem, and ilObjUserTracking::_enabledLearningProgress().
Referenced by getAdminTabs().
{
global $rbacsystem;
$this->ctrl->setParameter($this,"ref_id",$this->ref_id);
if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
{
$tabs_gui->addTarget("tracking_data",
$this->ctrl->getLinkTarget($this,
"trackingDataQueryForm"),
"trackingDataQueryForm",
get_class($this));
$tabs_gui->addTarget("settings",
$this->ctrl->getLinkTarget($this,
"settings"),
"settings",
get_class($this));
$tabs_gui->addTarget("manage_tracking_data",
$this->ctrl->getLinkTarget($this,
"manageData"),
"manageData",
get_class($this));
if (ilObjUserTracking::_enabledLearningProgress())
{
$tabs_gui->addTarget("learning_progress",
$this->ctrl->getLinkTargetByClass("illearningprogressgui",
"show"),
"",
"illearningprogressgui");
}
$tabs_gui->addTarget("perm_settings",
$this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
array("perm","info","owner"),
'ilpermissiongui');
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjUserTrackingGUI::ilObjUserTrackingGUI | ( | $ | a_data, | |
| $ | a_id, | |||
| $ | a_call_by_reference | |||
| ) |
Definition at line 53 of file class.ilObjUserTrackingGUI.php.
References $ilCtrl, $ilErr, $lng, $tpl, and ilObjectGUI::ilObjectGUI().
{
global $tpl,$ilErr,$lng,$ilCtrl;
$this->type = "trac";
$this->ilObjectGUI($a_data,$a_id,$a_call_by_reference, false);
$this->tpl =& $tpl;
$this->ilErr =& $ilErr;
$this->lng =& $lng;
$this->lng->loadLanguageModule('trac');
$this->ctrl =& $ilCtrl;
}
Here is the call graph for this function:| ilObjUserTrackingGUI::manageDataObject | ( | ) |
display tracking settings form
Definition at line 222 of file class.ilObjUserTrackingGUI.php.
References ilObjectGUI::$ilias, $lng, and $tpl.
{
global $tpl,$lng,$ilias;
// tracking settings
$tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.tracking_manage_data.html");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormaction($this,'gateway'));
$tpl->setVariable("TXT_TRACKING_DATA", $this->lng->txt("tracking_data"));
$tpl->setVariable("TXT_MONTH", $lng->txt("month"));
$tpl->setVariable("TXT_NUMBER_OF_ACC", $lng->txt("number_of_accesses"));
$tpl->setVariable("TXT_DELETE_OLDER", $lng->txt("delete"));
$overw = $this->object->getMonthTotalOverview();
foreach($overw as $month)
{
$tpl->setCurrentBlock("load_row");
$rcol = ($rcol != "tblrow1") ? "tblrow1" : "tblrow2";
$tpl->setVariable("ROWCOL", $rcol);
$tpl->setVariable("VAL_MONTH", $month["month"]);
$tpl->setVariable("VAL_NUMBER_OF_ACC", $month["cnt"]);
$tpl->parseCurrentBlock();
}
$tpl->parseCurrentBlock();
}
| ilObjUserTrackingGUI::numDay | ( | $ | from, | |
| $ | to | |||
| ) |
Return the nums of days between 'from' and 'to'.
Definition at line 1150 of file class.ilObjUserTrackingGUI.php.
Referenced by outputTrackingDataObject().
{
$from = strtotime($from);
$to = strtotime($to);
$dayf = date ("d",$from);
$dayt = date ("d",$to);
$yearf = date ("Y",$from);
$yeart = date ("Y",$to);
$montht = date ("m",$to);
$monthf = date ("m",$from);
$ret = ( mktime(0,0,0,$montht,$dayt,$yeart) - mktime(0,0,0,$monthf,$dayf,$yearf))/(3600*24);
return $ret;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::numHour | ( | $ | from, | |
| $ | to | |||
| ) |
Return the nums of hours between 'from' and 'to'.
Definition at line 1167 of file class.ilObjUserTrackingGUI.php.
{
$from = strtotime($from);
$to = strtotime($to);
$dayf = date ("d",$from);
$dayt = date ("d",$to);
$yearf = date ("Y",$from);
$yeart = date ("Y",$to);
$montht = date ("m",$to);
$monthf = date ("m",$from);
$hourt = date ("h",$to);
$hourf = date ("h",$from);
$ret = (mktime($hourt,0,0,$montht,$dayt,$yeart)-mktime($hourf,0,0,$monthf,$dayf,$yearf))/3600;
$ret = strftime($ret);
return $ret;
}
| ilObjUserTrackingGUI::outputTrackingDataObject | ( | ) |
output tracking data
Definition at line 559 of file class.ilObjUserTrackingGUI.php.
References $_POST, $_SESSION, $count, ilObjectGUI::$data, ilObjectGUI::$ilias, $key, $lng, $num, $obj, $tbl, $tpl, $user, ilObject::_lookupTitle(), addDay(), countNum(), ilObjUserTracking::countResults(), getCondition(), getConditions(), numDay(), and selectTime().
{
global $tpl,$lng,$ilias;
// save selected values in session
$_SESSION["il_track_yearf"] = $_POST["yearf"];
$_SESSION["il_track_yeart"] = $_POST["yeart"];
$_SESSION["il_track_monthf"] = $_POST["monthf"];
$_SESSION["il_track_montht"] = $_POST["montht"];
$_SESSION["il_track_dayf"] = $_POST["dayf"];
$_SESSION["il_track_dayt"] = $_POST["dayt"];
$_SESSION["il_track_stat"] = $_POST["stat"];
$_SESSION["il_track_language"] = $_POST["language"];
$_SESSION["il_track_author"] = $_POST["author"];
$_SESSION["il_track_author1"] = $_POST["author1"];
$_SESSION["il_track_lm"] = $_POST["lm"];
$_SESSION["il_track_tst"] = $_POST["tst"];
$_SESSION["il_object_type"] = $_POST["object_type"];
$yearf = $_POST["yearf"];
$monthf = $_POST["monthf"];
$dayf = $_POST["dayf"];
$yeart = $_POST["yeart"];
$montht= $_POST["montht"];
$dayt = $_POST["dayt"];
$from = $yearf."-".$monthf."-".$dayf;
$to = $yeart."-".$montht."-".$dayt;
if(($yearf > $yeart)or($yearf==$yeart and $monthf>$montht)or($yearf==$yeart and $monthf==$montht and $dayf>$dayt))
{
$this->ilias->raiseError($lng->txt("msg_err_search_time"),
$this->ilias->error_obj->MESSAGE);
}
/*
if($_POST["stat"]!='h' and $_POST["stat"]!='d')
{
$this->ilias->raiseError($lng->txt("msg_no_search_time"),
$this->ilias->error_obj->MESSAGE);
}*/
$condition = $this->getCondition()." and acc_time >='".$from."' and acc_time< '".$to."'";
if(count(ilObjUserTracking::countResults($condition))== 0)
{
$this->ilias->raiseError($lng->txt("msg_no_search_result"),
$this->ilias->error_obj->MESSAGE);
}
include_once "./classes/class.ilTableGUI.php";
$tbl = new ilTableGUI();
$tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.tracking_result.html");
$tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
$tpl->addBlockfile("TRACK_TABLE", "track_table", "tpl.table.html");
$tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html");
// user access statistic
if($_POST["stat"] == "u") // user access
{
if($_POST["mode"] == "user")
{
$tpl->setCurrentBlock("user_mode");
#$tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$_GET["ref_id"].
#"&cmd=gateway");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormaction($this,'gateway'));
if($_POST["object_type"]=="lm")
{
$tpl->setVariable("AUTHOR", "author");
$tpl->setVariable("AUTHORS", $_POST["author"]);
$tpl->setVariable("OBJECT", "lm");
$tpl->setVariable("OBJECTS", $_POST["lm"]);
}
else
{
$tpl->setVariable("AUTHOR", "author1");
$tpl->setVariable("AUTHORS", $_POST["author1"]);
$tpl->setVariable("OBJECT", "tst");
$tpl->setVariable("OBJECTS", $_POST["tst"]);
}
$tpl->setVariable("YEARF",$_POST["yearf"]);
$tpl->setVariable("MONTHF",$_POST["monthf"]);
$tpl->setVariable("DAYF",$_POST["dayf"]);
$tpl->setVariable("YEART",$_POST["yeart"]);
$tpl->setVariable("MONTHT",$_POST["montht"]);
$tpl->setVariable("DAYT",$_POST["dayt"]);
$tpl->setVariable("LAN", $_POST["language"]);
$tpl->setVariable("TYPE", $_POST["object_type"]);
$tpl->setVariable("FROM", $from);
$tpl->setVariable("TO", $to);
$tpl->setVariable("TXT_SHOW_USER_DATA", $lng->txt("user_statistics"));
$tpl->parseCurrentBlock();
$title_new = array("user","client_ip","language","object","time");
$condition = $this->getConditions()." and acc_time>='".$from."' and acc_time<'".$to."'";
$user_acc = $this->object->getAccessPerUserDetail($condition);
$this->maxcount = count($user_acc);
if (count($user_acc) < 1)
{
$this->ilias->raiseError($lng->txt("msg_no_search_result"),
$this->ilias->error_obj->MESSAGE);
}
$tbl->setTitle($lng->txt("search_result"),0,0);
foreach ($title_new as $val)
{
$header_names[] = $lng->txt($val);
}
$tbl->disable("sort");
$tbl->setHeaderNames($header_names);
//$tbl->setColumnWidth(array("15","75%","25%"));
$tbl->setMaxCount($this->maxcount);
$tbl->setStyle("table", "std");
$tbl->render();
$max = 0;
foreach ($user_acc as $user)
{
$data[0] = $user["name"];
$data[1] = $user["client_ip"];
$data[2] = $user["language"];
$data[3] = $user["acc_obj_id"];
$data[4] = $user["acc_time"];
$css_row = $i%2==0?"tblrow1":"tblrow2";
foreach ($data as $key => $val)
{
if($val=="")
{
$val=0;
}
$tpl->setCurrentBlock("text");
$tpl->setVariable("TEXT_CONTENT", $val);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("table_cell");
$tpl->parseCurrentBlock();
} //foreach
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("CSS_ROW", $css_row);
$tpl->parseCurrentBlock();
} //for
}
else
{
$tpl->setCurrentBlock("user_mode");
#$tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$_GET["ref_id"].
#"&cmd=gateway");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormaction($this,'gateway'));
if($_POST["object_type"]=="lm")
{
$tpl->setVariable("AUTHOR", "author");
$tpl->setVariable("AUTHORS", $_POST["author"]);
$tpl->setVariable("OBJECT", "lm");
$tpl->setVariable("OBJECTS", $_POST["lm"]);
}
else
{
$tpl->setVariable("AUTHOR", "author1");
$tpl->setVariable("AUTHORS", $_POST["author1"]);
$tpl->setVariable("OBJECT", "tst");
$tpl->setVariable("OBJECTS", $_POST["tst"]);
}
$tpl->setVariable("YEARF",$_POST["yearf"]);
$tpl->setVariable("MONTHF",$_POST["monthf"]);
$tpl->setVariable("DAYF",$_POST["dayf"]);
$tpl->setVariable("YEART",$_POST["yeart"]);
$tpl->setVariable("MONTHT",$_POST["montht"]);
$tpl->setVariable("DAYT",$_POST["dayt"]);
$tpl->setVariable("USER", "user");
$tpl->setVariable("LAN", $_POST["language"]);
$tpl->setVariable("TYPE", $_POST["object_type"]);
$tpl->setVariable("FROM", $from);
$tpl->setVariable("TO", $to);
$tpl->setVariable("TXT_SHOW_USER_DATA", $lng->txt("user_detail"));
$tpl->parseCurrentBlock();
$title_new = array("user", "count", "");
$user_acc = $this->object->getAccessTotalPerUser($condition);
$this->maxcount = count($user_acc);
// check if result is given
if ($this->maxcount < 1)
{
$this->ilias->raiseError($lng->txt("msg_no_search_result"),
$this->ilias->error_obj->MESSAGE);
}
$tbl->setTitle($lng->txt("search_result"),0,0);
foreach ($title_new as $val)
{
$header_names[] = $lng->txt($val);
}
$tbl->disable("sort");
$tbl->setHeaderNames($header_names);
//$tbl->setColumnWidth(array("15","75%","25%"));
$tbl->setMaxCount($this->maxcount);
$tbl->setStyle("table", "std");
$tbl->render();
$max = 0;
foreach ($user_acc as $user)
{
$max = ($max > $user["cnt"]) ? $max : $user["cnt"];
}
foreach ($user_acc as $user)
{
$data[0] = $user["name"];
$data[1] = $user["cnt"];
$width = ($max > 0)
? round($data[1] / $max * 100)
: 0;
$data[2] = "<img src=\"".ilUtil::getImagePath("ray.gif")."\" border=\"0\" ".
"width=\"".$width."\" height=\"10\"/>";
$css_row = $i%2==0?"tblrow1":"tblrow2";
foreach ($data as $key => $val)
{
if($val=="")
{
$val=0;
}
$tpl->setCurrentBlock("text");
$tpl->setVariable("TEXT_CONTENT", $val);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("table_cell");
$tpl->parseCurrentBlock();
} //foreach
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("CSS_ROW", $css_row);
$tpl->parseCurrentBlock();
} //for
}
}
elseif($_POST["stat"] == "o") //Object Access
{
if(($_POST["object_type"]=="lm" and $_POST["author"] =="0") or ($_POST["object_type"]=="tst" and $_POST["author1"]=="0"))
{
$title_new = array("author", "subject", "count","");
}
else
{
$title_new = array("subject", "count","");
}
$acc_object = $this->object->getAccessTotalPerObj($condition);
$this->maxcount = count($acc_object);
if ($this->maxcount < 1)
{
$this->ilias->raiseError($lng->txt("msg_no_search_result"),
$this->ilias->error_obj->MESSAGE);
}
$tbl->setTitle($lng->txt("search_result"),0,0);
include_once "./classes/class.ilTableGUI.php";
$tbl = new ilTableGUI();
$tbl->setTitle($lng->txt("obj_trac"),0,0);
foreach ($title_new as $val)
{
$header_names[] = $lng->txt($val);
}
$tbl->disable("sort");
$tbl->setHeaderNames($header_names);
$tbl->setMaxCount($this->maxcount);
$tbl->setStyle("table", "std");
$tbl->render();
$max = 0;
foreach ($acc_object as $obj)
{
$max = ($max > $obj["cnt"]) ? $max : $obj["cnt"];
}
foreach ($acc_object as $obj)
{
if(($_POST["object_type"]=="lm" and $_POST["author"]=="0") or ($_POST["object_type"]=="tst" and $_POST["author1"]=="0"))
{
$data[0] = $obj["author"];
$data[1] = $obj["title"];
$data[2] = $obj["cnt"];
$width = ($max > 0)
? round($data[2] / $max * 100)
: 0;
$data[3] = "<img src=\"".ilUtil::getImagePath("ray.gif")."\" border=\"0\" ".
"width=\"".$width."\" height=\"10\"/>";
}
else
{
$data[0] = $obj["title"];
$data[1] = $obj["cnt"];
$width = ($max > 0)
? round($data[1] / $max * 100)
: 0;
$data[2] = "<img src=\"".ilUtil::getImagePath("ray.gif")."\" border=\"0\" ".
"width=\"".$width."\" height=\"10\"/>";
}
$css_row = $i%2==0?"tblrow1":"tblrow2";
foreach ($data as $key => $val)
{
if($val=="")
{
$val=0;
}
$tpl->setCurrentBlock("text");
$tpl->setVariable("TEXT_CONTENT", $val);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("table_cell");
$tpl->parseCurrentBlock();
} //foreach
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("CSS_ROW", $css_row);
$tpl->parseCurrentBlock();
} //for
}
else //user not selected
{
$title_new = array("time", "count", "");
include_once "./classes/class.ilTableGUI.php";
$tbl = new ilTableGUI();
$tbl->setTitle($lng->txt("obj_trac"),0,0);
foreach ($title_new as $val)
{
$header_names[] = $lng->txt($val);
}
$tbl->disable("sort");
$tbl->setHeaderNames($header_names);
if($_POST["stat"]=='h')
{
$num = 24;
$tbl->setMaxCount($num);
}
else
{
$num = $this->numDay($from,$to);
$from1 = $this->addDay($from);
$tbl->setMaxCount($num);
}
$tbl->setStyle("table", "std");
$tbl->render();
// contition
$condition = $this->getCondition();
if($_POST["stat"]=='h') //hours of day
{
$time = $this->selectTime($from,$to,$condition);
$max = 0;
for($i=0;$i<24;$i++)
{
$k = $i+1;
// count number of accesses in hour $i
$cou = 0;
for($j=0;$j<count($time);$j++)
{
$time1 = strtotime($time[$j][0]);
$day = date("d",$time1);
$month = date("m",$time1);
$year = date("Y",$time1);
$hour = date("H",$time1);
$min = date("i",$time1);
$sec = date("s",$time1);
$numb = date("H",mktime($hour,$min,$sec,$month,$day,$year));
$numb = intval($numb);
if($numb >=$i and $numb <$k)
{
$cou=$cou+1;
}
}
$count[$i] = $cou;
$max = ($cou > $max) ? $cou : $max;
}
for($i=0;$i<24;$i++)
{
$k = $i+1;
$data[0] = $i.":00:00 ~ ".$k.":00:00";
$data[1] = $count[$i];
$width = ($max > 0)
? round($count[$i] / $max * 100)
: 0;
$data[2] = "<img src=\"".ilUtil::getImagePath("ray.gif")."\" border=\"0\" ".
"width=\"".$width."\" height=\"10\"/>";
$css_row = $i%2==0?"tblrow1":"tblrow2";
foreach ($data as $key => $val)
{
$tpl->setCurrentBlock("text");
$tpl->setVariable("TEXT_CONTENT", $val);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("table_cell");
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("CSS_ROW", $css_row);
$tpl->parseCurrentBlock();
} //for
}
else //day selected
{
$max = 0;
for($i=0;$i<$num;$i++)
{
$fro[$i] = $from;
$cou[$i] = $this->countNum($from,$from1,$condition);
$from = $from1;
$from1 = $this->addDay($from);
$max = ($max > $cou[$i]) ? $max : $cou[$i];
}
for($i=0;$i<$num;$i++)
{
$data[0] = $fro[$i];
$data[1] = $cou[$i];
$width = ($max > 0)
? round($cou[$i] / $max * 100)
: 0;
$data[2] = "<img src=\"".ilUtil::getImagePath("ray.gif")."\" border=\"0\" ".
"width=\"".$width."\" height=\"10\"/>";
$css_row = $i%2==0?"tblrow1":"tblrow2";
foreach ($data as $key => $val)
{
$tpl->setCurrentBlock("text");
$tpl->setVariable("TEXT_CONTENT", $val);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("table_cell");
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("tbl_content");
$tpl->setVariable("CSS_ROW", $css_row);
$tpl->parseCurrentBlock();
} //for
}
}//else
$tpl->setCurrentBlock("adm_content");
// output statistic settings
$tpl->setVariable("TXT_TIME_PERIOD", $lng->txt("time_segment"));
switch ($_POST["stat"])
{
case "h":
$tpl->setVariable("TXT_STATISTIC", $lng->txt("hours_of_day"));
break;
case "u":
$tpl->setVariable("TXT_STATISTIC", $lng->txt("user_access"));
break;
case "d":
$tpl->setVariable("TXT_STATISTIC", $lng->txt("days_of_period"));
break;
}
$tpl->setVariable("VAL_DATEF", date("Y-m-d", mktime(0,0,0,$monthf,$dayf,$yearf)));
$tpl->setVariable("TXT_TO", $lng->txt("to"));
$tpl->setVariable("VAL_DATET", date("Y-m-d", mktime(0,0,0,$montht,$dayt,$yeart)));
$tpl->setVariable("TXT_USER_LANGUAGE", $lng->txt("user_language"));
if ($_POST["language"] == "0")
{
$tpl->setVariable("VAL_LANGUAGE", $lng->txt("any_language"));
}
else
{
$tpl->setVariable("VAL_LANGUAGE", $lng->txt("lang_".$_POST["language"]));
}
$tpl->setVariable("TXT_TRACKED_OBJECTS", $lng->txt("tracked_objects"));
if ($_POST[$_POST["object_type"]] != 0)
{
$tpl->setVariable("VAL_TRACKED_OBJECTS",
ilObject::_lookupTitle($_POST[$_POST["object_type"]]));
}
else
{
$tpl->setVariable("VAL_TRACKED_OBJECTS",
$lng->txt("all_".$_POST["object_type"]."s"));
}
$tpl->parseCurrentBlock();
}
Here is the call graph for this function:| ilObjUserTrackingGUI::saveSettingsObject | ( | ) |
save user tracking settings
Definition at line 198 of file class.ilObjUserTrackingGUI.php.
References $_POST, sendInfo(), and settingsObject().
{
$this->object->setActivationStatus((int) $_POST['act_track']);
$this->object->enableUserRelatedData((int) !$_POST['user_related']);
$this->object->setValidTimeSpan($_POST['valid_request']);
if(!$this->object->validateSettings())
{
sendInfo($this->lng->txt('tracking_time_span_not_valid'));
$this->settingsObject();
return false;
}
$this->object->updateSettings();
sendinfo($this->lng->txt("msg_obj_modified"));
$this->settingsObject();
return true;
}
Here is the call graph for this function:| ilObjUserTrackingGUI::selectTime | ( | $ | from, | |
| $ | to, | |||
| $ | condition | |||
| ) |
Get the access time between 'from' to 'to' and under the 'condition'.
Definition at line 1221 of file class.ilObjUserTrackingGUI.php.
References $q, $res, and $result.
Referenced by outputTrackingDataObject().
{
$q = "SELECT acc_time from ut_access "
." WHERE (acc_time >= '".$from
."' AND acc_time <='".$to."')"
." AND ".$condition;
$res = $this->ilias->db->query($q);
for($i=0;$i<$res->numRows();$i++)
{
$result[$i]=$res->fetchRow();
}
return $result;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::setConditions | ( | $ | con | ) |
Definition at line 1138 of file class.ilObjUserTrackingGUI.php.
Referenced by getCondition().
{
$this->conditions = $con;
}
Here is the caller graph for this function:| ilObjUserTrackingGUI::settingsObject | ( | ) |
display tracking settings form
Definition at line 151 of file class.ilObjUserTrackingGUI.php.
References $ilErr, $rbacsystem, __showActivationSelect(), and ilUtil::getImagePath().
Referenced by saveSettingsObject().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess('read',$this->object->getRefId()))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read_track"),$ilErr->WARNING);
}
$this->tabs_gui->setTabActive('settings');
// Tracking settings
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.trac_settings.html","Services/Tracking");
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormaction($this));
// some language variables
$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_trac.gif'));
$this->tpl->setVariable("ALT_IMG",$this->lng->txt('tracking_settings'));
$this->tpl->setVariable("TXT_TRACKING_SETTINGS", $this->lng->txt("tracking_settings"));
$this->tpl->setVariable("TXT_ACTIVATE_TRACKING", $this->lng->txt("activate_tracking"));
$this->tpl->setVariable("TXT_USER_RELATED_DATA", $this->lng->txt("trac_anonymized"));
$this->tpl->setVariable("INFO_USER_RELATED_DATA",$this->lng->txt("trac_anonymized_info"));
$this->tpl->setVariable("TXT_VALID_REQUEST",$this->lng->txt('trac_valid_request'));
$this->tpl->setVariable("INFO_VALID_REQUEST",$this->lng->txt('info_valid_request'));
$this->tpl->setVariable("SECONDS",$this->lng->txt('seconds'));
#$this->tpl->setVariable("TXT_NUMBER_RECORDS", $this->lng->txt("number_of_records"));
#$this->tpl->setVariable("NUMBER_RECORDS", $this->object->getRecordsTotal());
$this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
$this->__showActivationSelect();
// Anonymized
if(!$this->object->_enabledUserRelatedData())
{
$this->tpl->setVariable("USER_RELATED_CHECKED", " checked=\"1\" ");
}
// Max time gap
$this->tpl->setVariable("VALID_REQUEST",$this->object->getValidTimeSpan());
$this->tpl->parseCurrentBlock();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjUserTrackingGUI::trackingDataQueryFormObject | ( | ) |
display tracking query form
Definition at line 314 of file class.ilObjUserTrackingGUI.php.
References $_SESSION, $author, ilObjectGUI::$ilias, $key, $languages, $lng, $tpl, $type, ilObjUserTracking::_enabledUserRelatedData(), ilObject::_getObjectsDataForType(), ilObjUserTracking::allAuthor(), ilObjUserTracking::authorLms(), and ilObjUserTracking::getTestId().
{
global $tpl,$lng,$ilias;
$year = array(2004,2005,2006,2007);
$month = array(1,2,3,4,5,6,7,8,9,10,11,12);
$day = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
//subject module
$tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.usr_tracking.html");
// Tabs gui
$this->tabs_gui->setTabActive('tracking_data');
if (ilObjUserTracking::_enabledUserRelatedData())
{
$tpl->setCurrentBlock("user_stat");
$tpl->setVariable("TXT_STATISTIC_U", $lng->txt("user_access"));
if ($_SESSION["il_track_stat"] == "u")
{
$tpl->setVariable("U_CHK", " checked=\"1\" ");
}
$tpl->parseCurrentBlock();
}
//$tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
#$tpl->setVariable("SEARCH_ACTION", "adm_object.php?ref_id=".$_GET["ref_id"].
# "&cmd=gateway");
$tpl->setVariable("SEARCH_ACTION",$this->ctrl->getFormaction($this,'gateway'));
$tpl->setVariable("TXT_TRACKING_DATA", $lng->txt("tracking_data"));
$tpl->setVariable("TXT_TIME_SEGMENT", $lng->txt("time_segment"));
$tpl->setVariable("TXT_STATISTIC", $lng->txt("statistic"));
$tpl->setVariable("TXT_STATISTIC_H", $lng->txt("hours_of_day"));
$tpl->setVariable("TXT_STATISTIC_D", $lng->txt("days_of_period"));
$tpl->setVariable("TXT_STATISTIC_O", $lng->txt("per_object"));
$tpl->setVariable("TXT_USER_LANGUAGE",$lng->txt("user_language"));
$tpl->setVariable("TXT_LM",$lng->txt("lm"));
$tpl->setVariable("TXT_SHOW_TR_DATA",$lng->txt("query_data"));
$tpl->setVariable("TXT_TRACKED_OBJECTS",$lng->txt("tracked_objects"));
$languages = $lng->getInstalledLanguages();
// get all learning modules
// $lms = ilObject::_getObjectsDataForType("lm", true);
$authors = ilObjUserTracking::allAuthor("usr","lm");
if(count($authors)>0)
{
$tpl->setCurrentBlock("javascript");
$tpl->setVariable("ALL_LMS", $this->lng->txt("all_lms"));
foreach ($authors as $author)
{
$lms = ilObjUserTracking::authorLms($author["obj_id"],"lm");
//echo count($lms);
foreach ($lms as $lm)
{
$tpl->setCurrentBlock("select_value");
$tpl->setVariable("VALUE", $author["title"]);
$tpl->setVariable("LMVALUE", $lm["title"]);
$tpl->parseCurrentBlock();
}
}
$tpl->parseCurrentBlock();
}
$authors1 = ilObjUserTracking::allAuthor("usr","tst");
if(count($authors1)>0)
{
$tpl->setCurrentBlock("javascript1");
$tpl->setVariable("ALL_TSTS", $this->lng->txt("all_tsts"));
foreach ($authors1 as $author1)
{
$tsts = ilObjUserTracking::authorLms($author1["obj_id"],"tst");
foreach ($tsts as $tst)
{
$tpl->setCurrentBlock("select_value1");
$tpl->setVariable("VALUE1", $author1["title"]);
$tpl->setVariable("TSTVALUE", $tst["title"]);
$tpl->parseCurrentBlock();
}
}
$tpl->parseCurrentBlock();
}
foreach($year as $key)
{
$tpl->setCurrentBlock("fromyear_selection");
$tpl->setVariable("YEARFR", $key);
$tpl->setVariable("YEARF", $key);
if ($_SESSION["il_track_yearf"] == $key)
{
$tpl->setVariable("YEARF_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
foreach($month as $key)
{
$tpl->setCurrentBlock("frommonth_selection");
$tpl->setVariable("MONTHFR", $key);
$tpl->setVariable("MONTHF", $key);
if ($_SESSION["il_track_monthf"] == $key)
{
$tpl->setVariable("MONTHF_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
foreach($day as $key)
{
$tpl->setCurrentBlock("fromday_selection");
$tpl->setVariable("DAYFR", $key);
$tpl->setVariable("DAYF", $key);
if ($_SESSION["il_track_dayf"] == $key)
{
$tpl->setVariable("DAYF_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
foreach($day as $key)
{
$tpl->setCurrentBlock("today_selection");
$tpl->setVariable("DAYTO", $key);
$tpl->setVariable("DAYT", $key);
if ($_SESSION["il_track_dayt"] == $key)
{
$tpl->setVariable("DAYT_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
foreach($month as $key)
{
$tpl->setCurrentBlock("tomonth_selection");
$tpl->setVariable("MONTHTO", $key);
$tpl->setVariable("MONTHT", $key);
if ($_SESSION["il_track_montht"] == $key)
{
$tpl->setVariable("MONTHT_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
foreach($year as $key)
{
$tpl->setCurrentBlock("toyear_selection");
$tpl->setVariable("YEARTO", $key);
$tpl->setVariable("YEART", $key);
if ($_SESSION["il_track_yeart"] == $key)
{
$tpl->setVariable("YEART_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
// language selection
$tpl->setCurrentBlock("language_selection");
$tpl->setVariable("LANG", $lng->txt("any_language"));
$tpl->setVariable("LANGSHORT", "0");
$tpl->parseCurrentBlock();
foreach ($languages as $lang_key)
{
$tpl->setCurrentBlock("language_selection");
$tpl->setVariable("LANG", $lng->txt("lang_".$lang_key));
$tpl->setVariable("LANGSHORT", $lang_key);
if ($_SESSION["il_track_language"] == $lang_key)
{
$tpl->setVariable("LANG_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
// statistic type
if ($_SESSION["il_track_stat"] == "d")
{
$tpl->setVariable("D_CHK", " checked=\"1\" ");
}
elseif ($_SESSION["il_track_stat"] == "h")
{
$tpl->setVariable("H_CHK", " checked=\"1\" ");
}
elseif($_SESSION["il_track_stat"] == "o")
{
$tpl->setVariable("O_CHK", " checked=\"1\" ");
}
// tracked object type
if ($_SESSION["il_object_type"] == "tst")
{
$tpl->setVariable("TST_CHK", " checked=\"1\" ");
}
else
{
$tpl->setVariable("LM_CHK", " checked=\"1\" ");
}
// author selection
$tpl->setCurrentBlock("author_selection");
$tpl->setVariable("AUTHOR", 0);
$tpl->setVariable("AUTHOR_SELECT", $this->lng->txt("all_authors"));
$tpl->parseCurrentBlock();
foreach ($authors as $author)
{
$tpl->setCurrentBlock("author_selection");
$tpl->setVariable("AUTHOR", $author["title"]);
$tpl->setVariable("AUTHOR_SELECT", $author["title"]);
if ($_SESSION["il_track_author"] == $author["title"])
{
$tpl->setVariable("AUTHOR_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("author_selection_tst");
$tpl->setVariable("AUTHOR1", 0);
$tpl->setVariable("AUTHOR1_SELECT", $this->lng->txt("all_authors"));
$tpl->parseCurrentBlock();
foreach ($authors1 as $author1)
{
$tpl->setCurrentBlock("author_selection_tst");
$tpl->setVariable("AUTHOR1", $author1["title"]);
$tpl->setVariable("AUTHOR1_SELECT", $author1["title"]);
if ($_SESSION["il_track_author1"] == $author1["title"])
{
$tpl->setVariable("AUTHOR1_SEL", " selected=\"1\" ");
}
$tpl->parseCurrentBlock();
}
//test module
$result_test = ilObjUserTracking::getTestId($_SESSION["AccountId"]);
$tpl->setVariable("TXT_TEST",$lng->txt("test"));
//$test = $tracking->TestTitle($_SESSION["AccountId"]);
$tsts = ilObject::_getObjectsDataForType($type, true);
$tpl->setCurrentBlock("test_selection");
$tpl->setVariable("TEST", 0);
$tpl->setVariable("TEST_SELECT", $this->lng->txt("all_tsts"));
$tpl->parseCurrentBlock();
foreach($tsts as $tst)
{
$tpl->setCurrentBlock("test_selection");
$tpl->setVariable("TEST", $tst["id"]);
$tpl->setVariable("TEST_SELECT", $tst["title"]." [".$tst["id"]."]");
$tpl->parseCurrentBlock();
}
}
Here is the call graph for this function:| ilObjUserTrackingGUI::$conditions |
Constructor public.
Definition at line 46 of file class.ilObjUserTrackingGUI.php.
| ilObjUserTrackingGUI::$ctrl = null |
Definition at line 51 of file class.ilObjUserTrackingGUI.php.
| ilObjUserTrackingGUI::$ilErr = null |
Definition at line 49 of file class.ilObjUserTrackingGUI.php.
Referenced by ilObjUserTrackingGUI(), and settingsObject().
| ilObjUserTrackingGUI::$lng = null |
Reimplemented from ilObjectGUI.
Definition at line 50 of file class.ilObjUserTrackingGUI.php.
Referenced by confirmDeletionDataObject(), ilObjUserTrackingGUI(), manageDataObject(), outputTrackingDataObject(), and trackingDataQueryFormObject().
| ilObjUserTrackingGUI::$tpl = null |
Reimplemented from ilObjectGUI.
Definition at line 48 of file class.ilObjUserTrackingGUI.php.
Referenced by confirmDeletionDataObject(), ilObjUserTrackingGUI(), manageDataObject(), outputTrackingDataObject(), and trackingDataQueryFormObject().
1.7.1