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;
 
   67                return $this->details();
 
   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");
 
  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");
 
  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();
 
An exception for terminatinating execution or to throw for unit testing.
LP collection of repository objects.
executeCommand()
execute command
__initDetails($a_details_id)
__construct($a_mode, $a_ref_id, $a_user_id=0)
TableGUI class for learning progress.
static checkPermission($a_permission, $a_ref_id, $a_user_id=null)
wrapper for rbac access checks
const LP_CONTEXT_ORG_UNIT
const LP_CONTEXT_REPOSITORY
__appendUserInfo(&$info, $a_user)
const LP_CONTEXT_USER_FOLDER
__showObjectDetails(&$info, $item_id=0, $add_section=true)
show details about current object.
__appendLPDetails(&$info, $item_id, $user_id)
static _checkAccessToUserLearningProgress($ref_id, $usr_id)
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static getInstance($a_obj_id)
static _lookupObjectId($a_ref_id)
lookup object id
static _getAllReferences($a_id)
get all reference ids of object