4include_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   25    public function __construct($a_data, $a_id, $a_call_by_reference)
 
   34        parent::__construct($a_data, $a_id, $a_call_by_reference, 
false);
 
   38        $this->lng->loadLanguageModule(
'trac');
 
   45        $next_class = $this->ctrl->getNextClass();
 
   46        $this->ctrl->setReturn($this, 
"show");
 
   49        switch ($next_class) {
 
   50            case 'ilpermissiongui':
 
   51                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
   53                $ret = &$this->ctrl->forwardCommand($perm_gui);
 
   56            case 'illearningprogressgui':
 
   57                $this->tabs_gui->setTabActive(
'learning_progress');
 
   58                include_once(
"./Services/Tracking/classes/class.ilLearningProgressGUI.php");
 
   60                $ret = &$this->ctrl->forwardCommand($lp_gui);
 
   63            case 'illpobjectstatisticsgui':
 
   64                $this->tabs_gui->setTabActive(
'statistics');
 
   65                include_once(
"./Services/Tracking/classes/object_statistics/class.ilLPObjectStatisticsGUI.php");
 
   67                $ret = &$this->ctrl->forwardCommand($os_gui);
 
   70            case 'ilsessionstatisticsgui':
 
   71                $this->tabs_gui->setTabActive(
'session_statistics');
 
   72                include_once(
"./Services/Authentication/classes/class.ilSessionStatisticsGUI.php");
 
   74                $ret = &$this->ctrl->forwardCommand($sess_gui);
 
   78                $cmd = $this->ctrl->getCmd();
 
   79                if ($cmd == 
"view" || $cmd == 
"") {
 
   97        $this->ctrl->setParameter($this, 
"ref_id", $this->ref_id);
 
   99        $this->tabs_gui->addTarget(
 
  101            $this->ctrl->getLinkTarget($this, 
"settings"),
 
  108                $this->tabs_gui->addTarget(
 
  110                    $this->ctrl->getLinkTargetByClass(
 
  111                        "illpobjectstatisticsgui",
 
  115                    "illpobjectstatisticsgui" 
  120                $this->tabs_gui->addTarget(
 
  122                    $this->ctrl->getLinkTargetByClass(
 
  123                        "illearningprogressgui",
 
  127                    "illearningprogressgui" 
  133                $this->tabs_gui->addTarget(
 
  134                    "session_statistics",
 
  135                    $this->ctrl->getLinkTargetByClass(
 
  136                        "ilsessionstatisticsgui",
 
  140                    "ilsessionstatisticsgui" 
  146            $this->tabs_gui->addTarget(
 
  148                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"),
 
  149                array(
"perm",
"info",
"owner"),
 
  163        $this->tabs_gui->addSubTab(
 
  165            $this->lng->txt(
'settings'),
 
  166            $this->ctrl->getLinkTarget($this, 
'settings')
 
  170            $this->tabs_gui->addSubTab(
 
  172                $this->lng->txt(
'trac_defaults'),
 
  173                $this->ctrl->getLinkTarget($this, 
'editLPDefaults')
 
  177        $this->tabs_gui->setTabActive(
'settings');
 
  178        $this->tabs_gui->setSubTabActive(
'lp_settings');
 
  184        $this->tpl->setContent($a_form->getHTML());
 
  189        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  191        $form->setFormAction($this->ctrl->getFormAction($this));
 
  192        $form->setTitle($this->lng->txt(
'tracking_settings'));
 
  195        $form->addItem($activate);
 
  198        $lp = 
new ilCheckboxInputGUI($this->lng->txt(
'trac_learning_progress'), 
'learning_progress_tracking');
 
  199        if ($this->object->enabledLearningProgress()) {
 
  200            $lp->setChecked(
true);
 
  202        $activate->addSubItem($lp);
 
  214        $learner = 
new ilCheckboxInputGUI($this->lng->txt(
'trac_lp_learner_access'), 
'lp_learner');
 
  215        $learner->setInfo($this->lng->txt(
'trac_lp_learner_access_info'));
 
  216        $learner->setChecked($this->object->hasLearningProgressLearner());
 
  217        $lp->addSubItem($learner);
 
  223        $extdata->addOption(
new ilCheckboxOption($this->lng->txt(
'trac_first_and_last_access'), 
'lp_access'));
 
  224        $extdata->addOption(
new ilCheckboxOption($this->lng->txt(
'trac_read_count'), 
'lp_count'));
 
  225        $extdata->addOption(
new ilCheckboxOption($this->lng->txt(
'trac_spent_seconds'), 
'lp_spent'));
 
  226        $lp->addSubItem($extdata);
 
  228        $ext_value = array();
 
  230            $ext_value[] = 
'lp_access';
 
  233            $ext_value[] = 
'lp_count';
 
  236            $ext_value[] = 
'lp_spent';
 
  238        $extdata->setValue($ext_value);
 
  241        $listgui->setInfo($this->lng->txt(
'trac_lp_list_gui_info'));
 
  242        $listgui->setChecked($this->object->hasLearningProgressListGUI());
 
  243        $lp->addSubItem($listgui);
 
  256        $objstat = 
new ilCheckboxInputGUI($this->lng->txt(
'trac_object_statistics'), 
'object_statistics');
 
  257        if ($this->object->enabledObjectStatistics()) {
 
  258            $objstat->setChecked(
true);
 
  260        $activate->addSubItem($objstat);
 
  263        $sessstat = 
new ilCheckboxInputGUI($this->lng->txt(
'session_statistics'), 
'session_statistics');
 
  264        if ($this->object->enabledSessionStatistics()) {
 
  265            $sessstat->setChecked(
true);
 
  267        $activate->addSubItem($sessstat);
 
  271        $user->setInfo($this->lng->txt(
'trac_anonymized_info'));
 
  272        $user->setChecked(!$this->object->enabledUserRelatedData());
 
  279        $valid->setSuffix($this->lng->txt(
'seconds'));
 
  280        $valid->setInfo($this->lng->txt(
'info_valid_request'));
 
  281        $valid->setValue($this->object->getValidTimeSpan());
 
  283        $valid->setMaxValue(9999);
 
  284        $valid->setRequired(
true);
 
  287        include_once 
"Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
 
  296            $form->addCommandButton(
'saveSettings', $this->lng->txt(
'save'));
 
  298            $lp->setDisabled(
true);
 
  299            $learner->setDisabled(
true);
 
  300            $extdata->setDisabled(
true);
 
  301            $listgui->setDisabled(
true);
 
  302            $objstat->setDisabled(
true);
 
  303            $user->setDisabled(
true);
 
  304            $valid->setDisabled(
true);
 
  318        if (
$form->checkInput()) {
 
  319            $lp_active = 
$form->getInput(
'learning_progress_tracking');
 
  321            $this->
object->enableLearningProgress($lp_active);
 
  324                $ext_data = (array) 
$form->getInput(
"lp_extdata");
 
  326                if (in_array(
'lp_access', $ext_data)) {
 
  329                if (in_array(
'lp_count', $ext_data)) {
 
  332                if (in_array(
'lp_spent', $ext_data)) {
 
  335                $this->
object->setExtendedData(
$code);
 
  338            $this->
object->enableChangeEventTracking(
$form->getInput(
'change_event_tracking'));
 
  339            $this->
object->enableObjectStatistics(
$form->getInput(
'object_statistics'));
 
  340            $this->
object->enableUserRelatedData(!
$form->getInput(
'user_related'));
 
  341            $this->
object->setValidTimeSpan(
$form->getInput(
'valid_request'));
 
  343            $this->
object->setLearningProgressLearner(
$form->getInput(
'lp_learner'));
 
  344            $this->
object->enableSessionStatistics(
$form->getInput(
'session_statistics'));
 
  345            $this->
object->setLearningProgressListGUI(
$form->getInput(
'lp_list'));
 
  346            $this->
object->updateSettings();
 
  348            ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
  349            $this->ctrl->redirect($this, 
"settings");
 
  352        $form->setValuesByPost();
 
  366        $this->tabs_gui->addSubTab(
 
  368            $this->lng->txt(
'settings'),
 
  369            $this->ctrl->getLinkTarget($this, 
'settings')
 
  372        $this->tabs_gui->addSubTab(
 
  374            $this->lng->txt(
'trac_defaults'),
 
  375            $this->ctrl->getLinkTarget($this, 
'editLPDefaults')
 
  378        $this->tabs_gui->setTabActive(
'settings');
 
  379        $this->tabs_gui->setSubTabActive(
'lpdef');
 
  385        $this->tpl->setContent($a_form->getHTML());
 
  394        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  396        $form->setFormAction($this->ctrl->getFormAction($this));
 
  397        $form->setTitle($this->lng->txt(
'trac_defaults'));
 
  398        $form->setDescription($this->lng->txt(
'trac_defaults_info'));
 
  400        include_once 
"Services/Object/classes/class.ilObjectLP.php";
 
  401        include_once 
"Services/Tracking/classes/class.ilLPObjSettings.php";
 
  406                $types[
$type] = array(
 
  408                    "caption" => $this->lng->txt(
"obj_" . 
$type)
 
  413        foreach ($types as $item) {
 
  416            if (
sizeof($modes) > 1) {
 
  418                $form->addItem($def_type);
 
  420                $def_type->setRequired(
true);
 
  424                foreach ($modes as $mode) {
 
  426                        ? $this->lng->txt(
"trac_defaults_inactive")
 
  435            $form->addCommandButton(
'saveLPDefaults', $this->lng->txt(
'save'));
 
  437            foreach ($types as $item) {
 
  438                $form->getItemByPostVar(
"def_" . $item[
"type"])->setDisabled(
true);
 
  454        if (
$form->checkInput()) {
 
  455            include_once 
"Services/Object/classes/class.ilObjectLP.php";
 
  456            include_once 
"Services/Tracking/classes/class.ilLPObjSettings.php";
 
  470            ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"), 
true);
 
  471            $this->ctrl->redirect($this, 
"editLPDefaults");
 
  474        $form->setValuesByPost();
 
  485        switch ($a_form_id) {
 
  489                return array(
'obj_trac' => array(
'editLPDefaults', $fields));
 
An exception for terminatinating execution or to throw for unit testing.
This class represents an option in a checkbox group.
const LP_MODE_DEACTIVATED
static _mode2Text($a_mode)
const LP_CONTEXT_ADMINISTRATION
Class ilObjUserTrackingGUI.
saveSettingsObject()
save user tracking settings
settingsObject($a_form=null)
display tracking settings form
__construct($a_data, $a_id, $a_call_by_reference)
executeCommand()
execute command
editLPDefaultsObject($a_form=null)
getTabs()
get tabs abstract method.
addToExternalSettingsForm($a_form_id)
getAdminTabs()
administration tabs show only permissions and trash folder
static _enabledObjectStatistics()
check wether object statistics is enabled or not
const EXTENDED_DATA_READ_COUNT
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledSessionStatistics()
check wether session statistics is enabled or not
const EXTENDED_DATA_SPENT_SECONDS
const EXTENDED_DATA_LAST_ACCESS
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
prepareOutput($a_show_subobjects=true)
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
static saveTypeDefaults(array $a_data)
static isSupportedObjectType($a_type)
static getTypeClass($a_type)
static getTypeDefault($a_type)
Get current type default.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
Class ilSessionStatisticsGUI.
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
if(isset($_POST['submit'])) $form
foreach($_POST as $key=> $value) $res