17 include_once
'./Services/Tracking/classes/class.ilLearningProgressBaseGUI.php';
18 include_once
'./Services/Tracking/classes/class.ilLPStatusWrapper.php';
19 require_once
'./Modules/OrgUnit/classes/class.ilObjOrgUnitAccess.php';
30 parent::ilLearningProgressBaseGUI($a_mode,$a_ref_id,$a_user_id);
35 $this->ctrl->saveParameter($this,
'details_id',
$_REQUEST[
'details_id']);
46 $this->ctrl->setReturn($this,
"show");
47 $this->ctrl->saveParameter($this,
'user_id',$this->
getUserId());
48 switch($this->ctrl->getNextClass())
50 case 'illpprogresstablegui':
51 include_once
'./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php';
53 $this->ctrl->setReturn($this,
'show');
54 $this->ctrl->forwardCommand($table_gui);
67 global $ilObjDataCache;
72 case self::LP_CONTEXT_REPOSITORY:
74 return $this->details();
76 case self::LP_CONTEXT_USER_FOLDER:
77 case self::LP_CONTEXT_ORG_UNIT:
89 global $ilToolbar,
$ilCtrl,$rbacsystem, $ilAccess;
97 if((
int)
$_GET[
'crs_id'])
99 $this->ctrl->setParameter($this,
'details_id',(
int) $_GET[
'crs_id']);
101 $ilToolbar->addButton($this->lng->txt(
'trac_view_crs'),
102 $this->ctrl->getLinkTarget($this,
'details'));
104 elseif($this->
getMode() == self::LP_CONTEXT_PERSONAL_DESKTOP or
105 $this->
getMode() == self::LP_CONTEXT_ADMINISTRATION or
106 $this->
getMode() == self::LP_CONTEXT_USER_FOLDER)
108 $ilToolbar->addButton($this->lng->txt(
'trac_view_list'),
109 $this->ctrl->getLinkTarget($this,
'show'));
112 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lp_progress_container.html',
'Services/Tracking');
114 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
116 $info->setFormAction($ilCtrl->getFormAction($this));
118 $this->
__appendLPDetails($info,$this->details_obj_id,$this->tracked_user->getId());
122 $this->tpl->setVariable(
"LM_INFO",$info->getHTML());
124 include_once
'./Services/Object/classes/class.ilObjectLP.php';
126 $collection = $olp->getCollectionInstance();
130 foreach($collection->getItems() as $item_id)
135 if ($ilAccess->checkAccessOfUser($this->tracked_user->getId(),
'visible',
'', $item_id)) {
136 $obj_ids[$obj_id] = array( $item_id );
141 $obj_ids[] = $item_id;
150 $personal_only = !$rbacsystem->checkAccess(
'read_learning_progress',$this->
getRefId());
152 include_once(
"./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php");
153 $lp_table =
new ilLPProgressTableGUI($this,
"details", $this->tracked_user, $obj_ids,
true, $this->details_mode, $personal_only, $this->details_obj_id, $this->details_id);
154 $this->tpl->setVariable(
"LP_OBJECTS", $lp_table->getHTML());
164 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lp_list_progress.html',
'Services/Tracking');
167 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
169 $info->setFormAction($ilCtrl->getFormAction($this));
173 $this->tpl->setCurrentBlock(
"info_user");
174 $this->tpl->setVariable(
"USER_INFO",$info->getHTML());
175 $this->tpl->parseCurrentBlock();
178 include_once(
"./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php");
180 $this->tpl->setVariable(
"LP_OBJECTS", $lp_table->getHTML());
187 global
$ilUser,$rbacreview,$rbacsystem;
191 $a_usr_id =
$_POST[
'user_id'];
192 $this->ctrl->setParameter($this,
'user_id',
$_POST[
'user_id']);
205 if($this->mode == self::LP_CONTEXT_USER_FOLDER && $rbacsystem->checkAccess(
'read',$this->ref_id))
216 if(!$rbacreview->isAssigned($ilUser->getId(),SYSTEM_ROLE_ID))
226 global $ilObjDataCache;
236 $this->details_id = $a_details_id;
237 $this->details_obj_id = $ilObjDataCache->lookupObjId($this->details_id);
238 $this->details_type = $ilObjDataCache->lookupType($this->details_obj_id);
240 include_once
'Services/Object/classes/class.ilObjectLP.php';
242 $this->details_mode = $olp->getCurrentMode();
ilLPListOfProgressGUI($a_mode, $a_ref_id, $a_user_id=0)
__appendLPDetails(&$info, $item_id, $user_id)
TableGUI class for learning progress.
static _getAllReferences($a_id)
get all reference ids of object
__showObjectDetails(&$info, $item_id=0, $add_section=true)
show details about current object.
__initDetails($a_details_id)
static _lookupObjectId($a_ref_id)
lookup object id
LP collection of repository objects.
& executeCommand()
execute command
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
__appendUserInfo(&$info, $a_user)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
static getInstance($a_obj_id)
static _checkAccessToUserLearningProgress($ref_id, $usr_id)