Public Member Functions | |
ilLPListOfProgressGUI ($a_mode, $a_ref_id) | |
& | executeCommand () |
execute command | |
show () | |
ilLPListOfProgressGUI ($a_mode, $a_ref_id, $a_user_id=0) | |
& | executeCommand () |
execute command | |
show () | |
details () | |
__showDetails () | |
__showContainerList () | |
__renderContainerRow ($parent_id, $item_id, $type, $level) | |
__appendUserInfo (&$info) | |
__showFilter () | |
__showProgressList () | |
__initUser ($a_usr_id=0) | |
__initFilterGUI () | |
__initFilter () | |
__initDetails ($a_details_id) | |
showDetails () | |
hideDetails () | |
__detailsShown ($item_id) | |
Data Fields | |
$tracked_user = null | |
$show_user_info = false | |
$filter_gui = null | |
$details_id = 0 | |
$details_type = '' | |
$details_mode = 0 |
Definition at line 37 of file class.ilLPListOfProgress.php.
ilLPListOfProgressGUI::__appendUserInfo | ( | &$ | info | ) |
Definition at line 334 of file class.ilLPListOfProgressGUI.php.
References ilOnlineTracking::_getOnlineTime(), ilFormat::_secondsToString(), and formatDate().
Referenced by __showContainerList(), __showDetails(), and __showProgressList().
{ if($this->show_user_info) { $info->addSection($this->lng->txt("trac_user_data")); $info->addProperty($this->lng->txt('username'),$this->tracked_user->getLogin()); $info->addProperty($this->lng->txt('name'),$this->tracked_user->getFullname()); $info->addProperty($this->lng->txt('last_login'),ilFormat::formatDate($this->tracked_user->getLastLogin())); $info->addProperty($this->lng->txt('trac_total_online'), ilFormat::_secondsToString(ilOnlineTracking::_getOnlineTime($this->tracked_user->getId()))); } }
ilLPListOfProgressGUI::__detailsShown | ( | $ | item_id | ) |
Definition at line 550 of file class.ilLPListOfProgressGUI.php.
References $_SESSION.
Referenced by __renderContainerRow().
{ return $_SESSION['lp_show_progress'][$this->details_id][$item_id] ? true : false; }
ilLPListOfProgressGUI::__initDetails | ( | $ | a_details_id | ) |
Definition at line 499 of file class.ilLPListOfProgressGUI.php.
References ilObject::_getAllReferences(), ilLPObjSettings::_lookupMode(), and ilLearningProgressBaseGUI::getRefId().
Referenced by ilLPListOfProgressGUI(), and show().
{ global $ilObjDataCache; if(!$a_details_id) { $a_details_id = $this->getRefId(); } if($a_details_id) { $ref_ids = ilObject::_getAllReferences($a_details_id); $this->details_id = $a_details_id; $this->details_obj_id = $ilObjDataCache->lookupObjId($this->details_id); $this->details_type = $ilObjDataCache->lookupType($this->details_obj_id); $this->details_mode = ilLPObjSettings::_lookupMode($this->details_obj_id); } }
ilLPListOfProgressGUI::__initFilter | ( | ) |
Definition at line 486 of file class.ilLPListOfProgressGUI.php.
Referenced by __showProgressList().
{ global $ilUser; include_once './Services/Tracking/classes/class.ilLPFilter.php'; $this->filter = new ilLPFilter($ilUser->getId()); if($this->tracked_user->getId() != $ilUser->getId()) { $this->filter->toggleAnonymizedCheck(true); } }
ilLPListOfProgressGUI::__initFilterGUI | ( | ) |
Definition at line 477 of file class.ilLPListOfProgressGUI.php.
Referenced by ilLPListOfProgressGUI().
{ global $ilUser; include_once './Services/Tracking/classes/class.ilLPFilterGUI.php'; $this->filter_gui = new ilLPFilterGUI($ilUser->getId()); }
ilLPListOfProgressGUI::__initUser | ( | $ | a_usr_id = 0 |
) |
Definition at line 447 of file class.ilLPListOfProgressGUI.php.
References $_POST, $rbacreview, and ilObjectFactory::getInstanceByObjId().
Referenced by ilLPListOfProgressGUI(), and show().
{ global $ilUser,$rbacreview; if($_POST['user_id']) { $a_usr_id = $_POST['user_id']; $this->ctrl->setParameter($this,'user_id',$_POST['user_id']); } if($a_usr_id) { $this->tracked_user = ilObjectFactory::getInstanceByObjId($a_usr_id); } else { $this->tracked_user = $ilUser; } // Check access if(!$rbacreview->isAssigned($ilUser->getId(),SYSTEM_ROLE_ID)) { $this->tracked_user = $ilUser; } $this->show_user_info = ($this->tracked_user->getId() != $ilUser->getId()); return true; }
ilLPListOfProgressGUI::__renderContainerRow | ( | $ | parent_id, | |
$ | item_id, | |||
$ | type, | |||
$ | level | |||
) |
Definition at line 225 of file class.ilLPListOfProgressGUI.php.
References $type, __detailsShown(), ilLearningProgressBaseGUI::__showImageByStatus(), ilLPItemListFactory::_getInstanceByRefId(), ilLPCollectionCache::_getItems(), ilLPObjSettings::_isContainer(), ilTimingCache::_showWarning(), ilFormat::formatUnixTime(), ilUtil::getImagePath(), and ilUtil::switchColor().
Referenced by __showContainerList().
{ global $ilObjDataCache,$ilUser; include_once 'Services/Tracking/classes/ItemList/class.ilLPItemListFactory.php'; include_once 'course/classes/Timings/class.ilTimingCache.php'; $item_list =& ilLPItemListFactory::_getInstanceByRefId($parent_id,$item_id,$type); if($this->has_timings) { $item_list->readTimings(); $item_list->enable('timings'); } $item_list->setCurrentUser($this->tracked_user->getId()); $item_list->readUserInfo(); $item_list->setIndentLevel($level); $item_list->renderContainerProgress(); // Details link if($type != 'sahs_item' and $type != 'objective' and $type != 'event') { if(ilLPObjSettings::_isContainer($item_list->getMode())) { $this->tpl->setCurrentBlock("item_command"); $this->ctrl->setParameter($this,'details_id',$this->details_id); $this->ctrl->setParameter($this,'item_id',$item_id); if($this->__detailsShown($item_id)) { $this->tpl->setVariable('HREF_COMMAND',$this->ctrl->getLinkTarget($this,'hideDetails')); $this->tpl->setVariable("TXT_COMMAND",$this->lng->txt('hide_details')); } else { $this->tpl->setVariable('HREF_COMMAND',$this->ctrl->getLinkTarget($this,'showDetails')); $this->tpl->setVariable("TXT_COMMAND",$this->lng->txt('show_details')); } $this->tpl->parseCurrentBlock(); } #$this->tpl->setCurrentBlock("item_command"); #$this->ctrl->setParameter($this,'details_id',$item_id); #$this->ctrl->setParameter($this,'crs_id',$this->details_id); #$this->tpl->setVariable("HREF_COMMAND",$this->ctrl->getLinkTarget($this,'details')); #$this->tpl->setVariable("TXT_COMMAND",$this->lng->txt('details')); #$this->tpl->parseCurrentBlock(); if($this->has_timings and ilTimingCache::_showWarning($item_id,$this->tracked_user->getId())) { $this->tpl->setCurrentBlock('warning_img'); $this->tpl->setVariable('WARNING_IMG',ilUtil::getImagePath('warning.gif')); $this->tpl->setVariable('WARNING_ALT',$this->lng->txt('trac_editing_time_passed')); $this->tpl->parseCurrentBlock(); } } if($this->has_timings) { $this->tpl->setCurrentBlock('timing'); $this->tpl->setVariable('END_EDITING_TIME',$item_list->getEditingTime() ? ilFormat::formatUnixTime($item_list->getEditingTime()) : ''); $this->tpl->parseCurrentBlock(); } // Status image $this->tpl->setCurrentBlock("container_standard_row"); $this->tpl->setVariable("ITEM_HTML",$item_list->getHTML()); $this->__showImageByStatus($this->tpl,$item_list->getUserStatus()); $this->tpl->setVariable("TBLROW",ilUtil::switchColor($this->container_row_counter++,'tblrow1','tblrow2')); $this->tpl->parseCurrentBlock(); if($type == 'sahs_item' or $type == 'objective' or $type == 'event') { return true; } if(!$this->__detailsShown($item_id)) { return true; } include_once './Services/Tracking/classes/class.ilLPCollectionCache.php'; foreach(ilLPCollectionCache::_getItems($ilObjDataCache->lookupObjId($item_id)) as $child_id) { switch($item_list->getMode()) { case LP_MODE_OBJECTIVES: $this->__renderContainerRow($child_id,'objective',$level + 1); break; case LP_MODE_SCORM: $this->__renderContainerRow($item_id,$child_id,'sahs_item',$level + 1); break; default: $this->__renderContainerRow($item_id, $child_id, $ilObjDataCache->lookupType($ilObjDataCache->lookupObjId($child_id)),$level + 1); break; } } }
ilLPListOfProgressGUI::__showContainerList | ( | ) |
Definition at line 163 of file class.ilLPListOfProgressGUI.php.
References $type, ilLearningProgressBaseGUI::__appendLPDetails(), __appendUserInfo(), ilLearningProgressBaseGUI::__getLegendHTML(), __renderContainerRow(), ilLearningProgressBaseGUI::__showObjectDetails(), ilLPCollectionCache::_getItems(), ilLPEventCollections::_getItems(), ilCourseItems::_hasCollectionTimings(), and ilUtil::getImagePath().
Referenced by details().
{ global $ilObjDataCache; $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.lp_progress_container.html','Services/Tracking'); include_once("classes/class.ilInfoScreenGUI.php"); $info = new ilInfoScreenGUI($this); $this->__appendUserInfo($info); $this->__showObjectDetails($info,$this->details_obj_id); $this->__appendLPDetails($info,$this->details_obj_id,$this->tracked_user->getId()); // Finally set template variable $this->tpl->setVariable("LM_INFO",$info->getHTML()); $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this)); $this->tpl->setVariable("HEADER_IMG",ilUtil::getImagePath('icon_'.$this->details_type.'.gif')); $this->tpl->setVariable("HEADER_ALT",$this->lng->txt('objs_'.$this->details_type)); $this->tpl->setVariable("BLOCK_HEADER_CONTENT",$this->lng->txt('trac_'.$this->details_type.'_relevant_items')); // Show table header $this->tpl->setVariable("HEAD_STATUS",$this->lng->txt('trac_status')); $this->tpl->setVariable("HEAD_OPTIONS",$this->lng->txt('actions')); // Show timings header include_once 'course/classes/class.ilCourseItems.php'; if($this->has_timings = ilCourseItems::_hasCollectionTimings($this->details_id)) { $this->tpl->setVariable('HEAD_TIMING',$this->lng->txt('trac_head_timing')); $this->tpl->setVariable('HEAD_TIME_PASSED',$this->lng->txt('trac_time_passed')); } $this->container_row_counter = 0; // show events include_once './Services/Tracking/classes/class.ilLPEventCollections.php'; foreach(ilLPEventCollections::_getItems($this->details_obj_id) as $event_id) { $this->__renderContainerRow($this->details_id,$event_id,'event',0); } // show items include_once './Services/Tracking/classes/class.ilLPCollectionCache.php'; foreach(ilLPCollectionCache::_getItems($this->details_obj_id) as $item_id) { switch($this->details_mode) { case LP_MODE_SCORM: $type = 'sahs_item'; break; case LP_MODE_OBJECTIVES: $type = 'objective'; break; default: $type = $ilObjDataCache->lookupType($ilObjDataCache->lookupObjId($item_id)); break; } $this->__renderContainerRow($this->details_id,$item_id,$type,0); } $this->tpl->setVariable("LEGEND",$this->__getLegendHTML()); }
ilLPListOfProgressGUI::__showDetails | ( | ) |
Definition at line 146 of file class.ilLPListOfProgressGUI.php.
References ilLearningProgressBaseGUI::__appendLPDetails(), __appendUserInfo(), and ilLearningProgressBaseGUI::__showObjectDetails().
Referenced by details().
{ global $ilObjDataCache; $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.lp_lm_details.html','Services/Tracking'); include_once("classes/class.ilInfoScreenGUI.php"); $info = new ilInfoScreenGUI($this); $this->__appendUserInfo($info); $this->__showObjectDetails($info,$this->details_obj_id); $this->__appendLPDetails($info,$this->details_obj_id,$this->tracked_user->getId()); // Finally set template variable $this->tpl->setVariable("LM_INFO",$info->getHTML()); }
ilLPListOfProgressGUI::__showFilter | ( | ) |
Definition at line 349 of file class.ilLPListOfProgressGUI.php.
Referenced by __showProgressList().
{
$this->tpl->setVariable("FILTER",$this->filter_gui->getHTML());
}
ilLPListOfProgressGUI::__showProgressList | ( | ) |
Definition at line 354 of file class.ilLPListOfProgressGUI.php.
References $counter, ilLearningProgressBaseGUI::$tpl, $type, __appendUserInfo(), ilLearningProgressBaseGUI::__getLegendHTML(), __initFilter(), ilLearningProgressBaseGUI::__showButton(), __showFilter(), ilLearningProgressBaseGUI::__showImageByStatus(), ilLearningProgressBaseGUI::__sort(), ilLPItemListFactory::_getInstance(), ilLearningProgressBaseGUI::activePDF(), ilUtil::getImagePath(), sendInfo(), and ilUtil::switchColor().
Referenced by show().
{ global $ilUser,$ilObjDataCache; include_once './Services/Tracking/classes/ItemList/class.ilLPItemListFactory.php'; $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.lp_list_progress.html','Services/Tracking'); $this->__showFilter(); // User info include_once("classes/class.ilInfoScreenGUI.php"); $info = new ilInfoScreenGUI($this); $this->__appendUserInfo($info); $this->tpl->setVariable("USER_INFO",$info->getHTML()); if($this->activePDF()) { $this->__showButton($this->ctrl->getLinkTargetByClass('ilpdfpresentation','createList'),$this->lng->txt('pdf_export')); } $this->__initFilter(); $tpl = new ilTemplate('tpl.lp_progress_list.html',true,true,'Services/Tracking'); $this->filter->setRequiredPermission('read'); if(!count($objs = $this->filter->getObjects())) { sendInfo($this->lng->txt('trac_filter_no_access')); return true; } // Output filter limit info if($this->filter->limitReached()) { $info = sprintf($this->lng->txt('trac_filter_limit_reached'),$this->filter->getLimit()); $tpl->setVariable("LIMIT_REACHED",$info); } $type = $this->filter->getFilterType(); $tpl->setVariable("HEADER_IMG",ilUtil::getImagePath('icon_'.$type.'.gif')); $tpl->setVariable("HEADER_ALT",$this->lng->txt('objs_'.$type)); $tpl->setVariable("BLOCK_HEADER_CONTENT",$this->lng->txt('objs_'.$type)); // Show table header $tpl->setVariable("HEAD_STATUS",$this->lng->txt('trac_status')); $tpl->setVariable("HEAD_OPTIONS",$this->lng->txt('actions')); // Sort objects by title $sorted_objs = $this->__sort(array_keys($objs),'object_data','title','obj_id'); // Render item list $counter = 0; foreach($sorted_objs as $object_id) { $item_list =& ilLPItemListFactory::_getInstance(0,$object_id,$ilObjDataCache->lookupType($object_id)); $item_list->setCurrentUser($this->tracked_user->getId()); $item_list->readUserInfo(); $item_list->addCheckbox(array('item_id[]',$object_id,false)); $item_list->setCmdClass(get_class($this)); $item_list->addReferences($objs[$object_id]['ref_ids']); $item_list->enable('path'); $item_list->renderSimpleProgress(); // Details link #$tpl->setCurrentBlock("item_command"); #$this->ctrl->setParameter($this,'details_id',$object_id); #$tpl->setVariable("HREF_COMMAND",$this->ctrl->getLinkTarget($this,'details')); #$tpl->setVariable("TXT_COMMAND",$this->lng->txt('details')); #$tpl->parseCurrentBlock(); // Hide link $tpl->setCurrentBlock("item_command"); $this->ctrl->setParameterByClass('illpfiltergui','hide',$object_id); $tpl->setVariable("HREF_COMMAND",$this->ctrl->getLinkTargetByClass('illpfiltergui','hide')); $tpl->setVariable("TXT_COMMAND",$this->lng->txt('trac_hide')); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("container_standard_row"); $tpl->setVariable("ITEM_HTML",$item_list->getHTML()); $this->__showImageByStatus($tpl,$item_list->getUserStatus()); $tpl->setVariable("TBLROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2')); $tpl->parseCurrentBlock(); } // Hide button $tpl->setVariable("DOWNRIGHT",ilUtil::getImagePath('arrow_downright.gif')); $tpl->setVariable("BTN_HIDE_SELECTED",$this->lng->txt('trac_hide')); $tpl->setVariable("FORMACTION",$this->ctrl->getFormActionByClass('illpfiltergui')); $this->tpl->setVariable("LP_OBJECTS",$tpl->get()); $this->tpl->setVariable("LEGEND", $this->__getLegendHTML()); }
ilLPListOfProgressGUI::details | ( | ) |
Definition at line 114 of file class.ilLPListOfProgressGUI.php.
References $_GET, ilLearningProgressBaseGUI::__showButton(), __showContainerList(), __showDetails(), ilLPObjSettings::_isContainer(), ilLearningProgressBaseGUI::activePDF(), and ilLearningProgressBaseGUI::getMode().
Referenced by hideDetails(), show(), and showDetails().
{ // Show back button to crs if called from crs. Otherwise if called from personal desktop or administration // show back to list if((int) $_GET['crs_id']) { $this->ctrl->setParameter($this,'details_id',(int) $_GET['crs_id']); $this->__showButton($this->ctrl->getLinkTarget($this,'details'),$this->lng->txt('trac_view_crs')); } elseif($this->getMode() == LP_MODE_PERSONAL_DESKTOP or $this->getMode() == LP_MODE_ADMINISTRATION or $this->getMode() == LP_MODE_USER_FOLDER) { $this->__showButton($this->ctrl->getLinkTarget($this,'show'),$this->lng->txt('trac_view_list')); } if($this->activePDF()) { $this->__showButton($this->ctrl->getLinkTargetByClass('ilpdfpresentation','createDetails'),$this->lng->txt('pdf_export')); } if(!ilLPObjSettings::_isContainer($this->details_mode)) { return $this->__showDetails(); } else { return $this->__showContainerList(); } }
& ilLPListOfProgressGUI::executeCommand | ( | ) |
execute command
Definition at line 47 of file class.ilLPListOfProgress.php.
References $cmd, and ilLearningProgressBaseGUI::__getDefaultCommand().
{ $this->ctrl->setReturn($this, ""); switch($this->ctrl->getNextClass()) { default: $cmd = $this->__getDefaultCommand(); $this->$cmd(); } return true; }
& ilLPListOfProgressGUI::executeCommand | ( | ) |
execute command
Definition at line 67 of file class.ilLPListOfProgressGUI.php.
References $cmd, ilLearningProgressBaseGUI::__getDefaultCommand(), ilLearningProgressBaseGUI::getMode(), and ilLearningProgressBaseGUI::getUserId().
{ $this->ctrl->setReturn($this, "show"); $this->ctrl->saveParameter($this,'user_id',$this->getUserId()); switch($this->ctrl->getNextClass()) { case 'illpfiltergui': $this->ctrl->forwardCommand($this->filter_gui); break; case 'ilpdfpresentation': include_once './Services/Tracking/classes/class.ilPDFPresentation.php'; $pdf_gui = new ilPDFPresentation($this->getMode(),$this->details_id,$this->getUserId(),$this->tracked_user->getId()); $pdf_gui->setType(LP_ACTIVE_PROGRESS); $this->ctrl->setReturn($this,'show'); $this->ctrl->forwardCommand($pdf_gui); break; default: $cmd = $this->__getDefaultCommand(); $this->$cmd(); } return true; }
ilLPListOfProgressGUI::hideDetails | ( | ) |
ilLPListOfProgressGUI::ilLPListOfProgressGUI | ( | $ | a_mode, | |
$ | a_ref_id | |||
) |
Definition at line 39 of file class.ilLPListOfProgress.php.
References ilLearningProgressBaseGUI::ilLearningProgressBaseGUI().
{ parent::ilLearningProgressBaseGUI($a_mode,$a_ref_id); }
ilLPListOfProgressGUI::ilLPListOfProgressGUI | ( | $ | a_mode, | |
$ | a_ref_id, | |||
$ | a_user_id = 0 | |||
) |
Definition at line 50 of file class.ilLPListOfProgressGUI.php.
References $_GET, $_REQUEST, ilLearningProgressBaseGUI::__checkPDF(), __initDetails(), __initFilterGUI(), __initUser(), and ilLearningProgressBaseGUI::ilLearningProgressBaseGUI().
{ parent::ilLearningProgressBaseGUI($a_mode,$a_ref_id,$a_user_id); $this->__checkPDF(); $this->__initFilterGUI(); $this->__initUser($a_user_id); // Set item id for details $this->__initDetails((int) $_GET['details_id']); $this->ctrl->saveParameter($this,'details_id',$_REQUEST['details_id']); }
ilLPListOfProgressGUI::show | ( | ) |
Definition at line 61 of file class.ilLPListOfProgress.php.
References ilLearningProgressBaseGUI::__setSubTabs().
{ $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.lp_list_progress.html','Services/Tracking'); $this->__setSubTabs(LP_ACTIVE_PROGRESS); }
ilLPListOfProgressGUI::show | ( | ) |
Definition at line 93 of file class.ilLPListOfProgressGUI.php.
References __initDetails(), __initUser(), __showProgressList(), details(), ilLearningProgressBaseGUI::getMode(), ilLearningProgressBaseGUI::getRefId(), and ilLearningProgressBaseGUI::getUserId().
{ global $ilObjDataCache; switch($this->getMode()) { // Show only detail of current repository item if called from repository case LP_MODE_REPOSITORY: $this->__initDetails($this->getRefId()); return $this->details(); case LP_MODE_USER_FOLDER: // if called from user folder obj_id is id of current user $this->__initUser($this->getUserId()); break; } // not called from repository $this->__showProgressList(); }
ilLPListOfProgressGUI::showDetails | ( | ) |
Definition at line 519 of file class.ilLPListOfProgressGUI.php.
References $_GET, $_POST, $_SESSION, $id, and details().
{ if(isset($_GET['item_id'])) { $ids = array($_GET['item_id']); } else { unset($_SESSION['lp_show_progress'][$this->details_id]); $ids = $_POST['item_id'] ? $_POST['item_id'] : array(); } foreach($ids as $id) { $_SESSION['lp_show_progress'][$this->details_id][$id] = true; } $this->details(); return true; }
ilLPListOfProgressGUI::$details_id = 0 |
Definition at line 46 of file class.ilLPListOfProgressGUI.php.
ilLPListOfProgressGUI::$details_mode = 0 |
Definition at line 48 of file class.ilLPListOfProgressGUI.php.
ilLPListOfProgressGUI::$details_type = '' |
Definition at line 47 of file class.ilLPListOfProgressGUI.php.
ilLPListOfProgressGUI::$filter_gui = null |
Definition at line 44 of file class.ilLPListOfProgressGUI.php.
ilLPListOfProgressGUI::$show_user_info = false |
Definition at line 43 of file class.ilLPListOfProgressGUI.php.
ilLPListOfProgressGUI::$tracked_user = null |
Definition at line 42 of file class.ilLPListOfProgressGUI.php.