23 public function __construct($a_mode, $a_ref_id, $a_user_id = 0)
25 parent::__construct($a_mode, $a_ref_id, $a_user_id);
30 $this->ctrl->saveParameter($this,
'details_id', $_REQUEST[
'details_id']);
41 $this->ctrl->setReturn($this,
"show");
42 $this->ctrl->saveParameter($this,
'user_id', $this->
getUserId());
43 switch ($this->ctrl->getNextClass()) {
44 case 'illpprogresstablegui':
45 include_once
'./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php';
47 $this->ctrl->setReturn($this,
'show');
48 $this->ctrl->forwardCommand($table_gui);
61 global $ilObjDataCache;
65 case self::LP_CONTEXT_REPOSITORY:
67 return $this->details();
69 case self::LP_CONTEXT_USER_FOLDER:
70 case self::LP_CONTEXT_ORG_UNIT:
80 public function details()
82 global $ilToolbar,
$ilCtrl,$rbacsystem, $ilAccess;
90 if ((
int)
$_GET[
'crs_id']) {
91 $this->ctrl->setParameter($this,
'details_id', (
int) $_GET[
'crs_id']);
93 $ilToolbar->addButton(
94 $this->lng->txt(
'trac_view_crs'),
95 $this->ctrl->getLinkTarget($this,
'details')
97 } elseif ($this->
getMode() == self::LP_CONTEXT_PERSONAL_DESKTOP or
98 $this->
getMode() == self::LP_CONTEXT_ADMINISTRATION or
99 $this->
getMode() == self::LP_CONTEXT_USER_FOLDER) {
100 $ilToolbar->addButton(
101 $this->lng->txt(
'trac_view_list'),
102 $this->ctrl->getLinkTarget($this,
'show')
106 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lp_progress_container.html',
'Services/Tracking');
108 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
110 $info->setFormAction($ilCtrl->getFormAction($this));
116 $this->tpl->setVariable(
"LM_INFO",
$info->getHTML());
118 include_once
'./Services/Object/classes/class.ilObjectLP.php';
120 $collection = $olp->getCollectionInstance();
123 foreach ($collection->getItems() as $item_id) {
126 if ($ilAccess->checkAccessOfUser($this->tracked_user->getId(),
'visible',
'', $item_id)) {
127 $obj_ids[$obj_id] =
array( $item_id );
130 $obj_ids[] = $item_id;
136 if (count($obj_ids) > 0) {
138 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
141 include_once(
"./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php");
142 $lp_table =
new ilLPProgressTableGUI($this,
"details", $this->tracked_user, $obj_ids,
true, $this->details_mode, $personal_only, $this->details_obj_id, $this->details_id);
143 $this->tpl->setVariable(
"LP_OBJECTS", $lp_table->getHTML());
153 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lp_list_progress.html',
'Services/Tracking');
156 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
158 $info->setFormAction($ilCtrl->getFormAction($this));
161 $this->tpl->setCurrentBlock(
"info_user");
162 $this->tpl->setVariable(
"USER_INFO",
$info->getHTML());
163 $this->tpl->parseCurrentBlock();
166 include_once(
"./Services/Tracking/classes/repository_statistics/class.ilLPProgressTableGUI.php");
168 $this->tpl->setVariable(
"LP_OBJECTS", $lp_table->getHTML());
175 global
$ilUser,$rbacreview,$rbacsystem;
178 $a_usr_id =
$_POST[
'user_id'];
179 $this->ctrl->setParameter($this,
'user_id',
$_POST[
'user_id']);
189 if ($this->mode == self::LP_CONTEXT_USER_FOLDER && $rbacsystem->checkAccess(
'read', $this->ref_id)) {
198 if (!$rbacreview->isAssigned($ilUser->getId(), SYSTEM_ROLE_ID)) {
207 global $ilObjDataCache;
209 if (!$a_details_id) {
215 $this->details_id = $a_details_id;
216 $this->details_obj_id = $ilObjDataCache->lookupObjId($this->details_id);
217 $this->details_type = $ilObjDataCache->lookupType($this->details_obj_id);
219 include_once
'Services/Object/classes/class.ilObjectLP.php';
221 $this->details_mode = $olp->getCurrentMode();
__construct($a_mode, $a_ref_id, $a_user_id=0)
__appendLPDetails(&$info, $item_id, $user_id)
static checkPermission($a_permission, $a_ref_id, $a_user_id=null)
wrapper for rbac access checks
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
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Create styles array
The data for the language used.
__appendUserInfo(&$info, $a_user)
static getInstance($a_obj_id)
static _checkAccessToUserLearningProgress($ref_id, $usr_id)