ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilObjCourseListGUI Class Reference

Class ilObjCourseListGUI. More...

+ Inheritance diagram for ilObjCourseListGUI:
+ Collaboration diagram for ilObjCourseListGUI:

Public Member Functions

 init ()
 
 initItem (int $ref_id, int $obj_id, string $type, string $title="", string $description="")
 
 getProperties ()
 
 checkCommandAccess (string $permission, string $cmd, int $ref_id, string $type, ?int $obj_id=null)
 
- Public Member Functions inherited from ilObjectListGUI
 setContainerObject (object $container_obj)
 
 getContainerObject ()
 
 init ()
 initialisation More...
 
 enableProperties (bool $status)
 
 getPropertiesStatus ()
 
 enablePreconditions (bool $status)
 
 getPreconditionsStatus ()
 
 enableNoticeProperties (bool $status)
 
 getNoticePropertiesStatus ()
 
 enableDescription (bool $status)
 
 getDescriptionStatus ()
 
 enableSearchFragments (bool $status)
 
 getSearchFragmentStatus ()
 
 enableLinkedPath (bool $status)
 
 setRelevance (int $rel)
 
 getRelevance ()
 
 enableIcon (bool $status)
 
 getIconStatus ()
 
 enableCheckbox (bool $status)
 
 getCheckboxStatus ()
 
 enableExpand (bool $status)
 
 getExpandStatus ()
 
 setExpanded (bool $status)
 
 isExpanded ()
 
 setPositionInputField (string $field_index, string $position_value)
 
 enableDelete (bool $status)
 
 getDeleteStatus ()
 
 enableCut (bool $status)
 
 getCutStatus ()
 
 enableCopy (bool $status)
 
 getCopyStatus ()
 
 enableSubscribe (bool $status)
 
 getSubscribeStatus ()
 
 enableLink (bool $status)
 
 getLinkStatus ()
 
 enablePath (bool $path, int $start_node=0, ?\ilPathGUI $path_gui=null)
 
 getPathStatus ()
 
 enableCommands (bool $status, bool $std_only=false)
 
 getCommandsStatus ()
 
 enableInfoScreen (bool $info_screen)
 
 getInfoScreenStatus ()
 
 addSubItemHTML (string $html)
 Add HTML for sub item (used for sessions) More...
 
 enableProgressInfo (bool $status)
 
 getProgressInfoStatus ()
 
 enableSubstitutions (bool $status)
 
 getSubstitutionStatus ()
 
 enableItemDetailLinks (bool $status)
 enable item detail links E.g Direct links to chapters or pages More...
 
 getItemDetailLinkStatus ()
 get item detail link status More...
 
 setItemDetailLinks (array $detail_links, string $intro_txt='')
 set items detail links More...
 
 insertItemDetailLinks ()
 
 setTitle (string $title)
 
 getTitle ()
 getTitle overwritten in class.ilObjLinkResourceList.php More...
 
 setDescription (string $description)
 
 getDescription ()
 getDescription overwritten in class.ilObjLinkResourceList.php More...
 
 setSearchFragment (string $text)
 
 getSearchFragment ()
 
 setSeparateCommands (bool $val)
 
 getSeparateCommands ()
 
 getCommandId ()
 get command id Normally the ref id. More...
 
 setAdditionalInformation (?string $val)
 
 getAdditionalInformation ()
 
 setDetailsLevel (int $level)
 Details level Currently used in Search which shows only limited properties of forums Currently used for Sessions (switch between minimal and extended view for each session) More...
 
 getDetailsLevel ()
 
 enableRepositoryTransfer (bool $value)
 Enable copy/move to repository (from personal workspace) More...
 
 restrictToGoto (bool $value)
 Restrict all actions/links to goto. More...
 
 getDefaultCommand ()
 
 checkCommandAccess (string $permission, string $cmd, int $ref_id, string $type, ?int $obj_id=null)
 
 initItem (int $ref_id, int $obj_id, string $type, string $title='', string $description='')
 initialize new item (is called by getItemHTML()) More...
 
 setConditionTarget (int $ref_id, int $obj_id, string $target_type)
 
 resetConditionTarget ()
 
 disableTitleLink (bool $status)
 
 setDefaultCommandParameters (array $params)
 
 createDefaultCommand (array $command)
 Get default command link Overwritten for e.g categories,courses => they return a goto link If search engine visibility is enabled these object type return a goto_CLIENT_ID_cat_99.html link. More...
 
 getCommandLink (string $cmd)
 Get command link url. More...
 
 getCommandFrame (string $cmd)
 Get command target frame. More...
 
 getCommandImage (string $cmd)
 Get command icon image. More...
 
 getProperties ()
 Get item properties. More...
 
 addCustomProperty (string $property='', string $value='', bool $alert=false, bool $newline=false)
 
 getCustomProperties (array $prop)
 
 getAlertProperties ()
 
 getNoticeProperties ()
 
 addCustomCommand (string $link, string $lang_var, string $frame='', string $onclick='')
 
 addCustomCommandButton (Button $button, ?Modal $triggeredModal=null)
 
 forceVisibleOnly (bool $stat)
 
 isVisibleOnlyForced ()
 
 getCommands ()
 get all current commands for a specific ref id (in the permission context of the current user) More...
 
 getIconImageType ()
 Returns the icon image type. More...
 
 insertTitle ()
 
 insertSubstitutions ()
 
 insertDescription ()
 
 insertSearchFragment ()
 Insert highlighted search fragment. More...
 
 setMode (string $mode)
 set output mode More...
 
 getMode ()
 get output mode More...
 
 setConditionDepth (int $depth)
 set depth for precondition output (stops at level 5) More...
 
 isMode (string $mode)
 check current output mode More...
 
 determineProperties ()
 
 insertProperties ()
 
 insertNoticeProperties ()
 
 insertPreconditions ()
 insert all missing preconditions More...
 
 insertCommand (string $href, string $text, string $frame='', string $img='', string $cmd='', string $onclick='')
 insert command button More...
 
 insertDeleteCommand ()
 
 insertLinkCommand ()
 
 insertCutCommand (bool $to_repository=false)
 
 insertCopyCommand (bool $to_repository=false)
 
 insertPasteCommand ()
 
 insertSubscribeCommand ()
 
 insertInfoScreenCommand ()
 
 insertCommonSocialCommands (bool $header_actions=false)
 Insert common social commands (comments, notes, tagging) More...
 
 insertTimingsCommand ()
 ks, 23 OCT 2023: This function is badly named and it already was before the changes made today. More...
 
 enableComments (bool $value, bool $enable_comments_settings=true)
 
 enableNotes (bool $value)
 
 enableTags (bool $value)
 
 enableRating (bool $value, ?string $text=null, bool $categories=false, ?array $ctrl_path=null, bool $force_rate_parent=false)
 
 enableMultiDownload (bool $value)
 Toggles whether multiple objects can be downloaded at once or not. More...
 
 insertMultiDownloadCommand ()
 
 enableDownloadCheckbox (int $ref_id)
 
 getDownloadCheckboxState ()
 
 setHeaderSubObject (?string $type, ?int $id)
 
 addHeaderIcon (string $id, string $img, ?string $tooltip=null, ?string $onclick=null, ?string $status_text=null, ?string $href=null)
 
 addHeaderIconHTML (string $id, string $html)
 
 addHeaderGlyph (string $id, ILIAS\UI\Component\Symbol\Glyph\Glyph $glyph, $onclick=null)
 
 setAjaxHash (string $hash)
 
 getHeaderAction (?ilGlobalTemplateInterface $main_tpl=null)
 
 appendRepositoryFrameParameter (string $link)
 workaround: all links into the repository (from outside) must tell repository to set up the frameset More...
 
 modifySAHSlaunch (string $link, string $target)
 workaround: SAHS in new javavasript-created window or iframe More...
 
 insertPath ()
 
 insertProgressInfo ()
 
 insertIconsAndCheckboxes ()
 
 getTypeIcon ()
 Get object type specific type icon. More...
 
 insertSubItems ()
 
 insertPositionField ()
 
 adminCommandsIncluded ()
 returns whether any admin commands (link, delete, cut) are included in the output More...
 
 storeAccessCache ()
 
 getListItemHTML (int $ref_id, int $obj_id, string $title, string $description)
 Get all item information (title, commands, description) in HTML. More...
 
 setParentRefId (int $ref_id)
 Set current parent ref id to enable unique js-ids (sessions, etc.) More...
 
 getUniqueItemId (bool $as_div=false)
 Get unique item identifier (for js-actions) More...
 
 getCommandsHTML (string $title='')
 Get commands HTML (must be called after get list item html) More...
 
 isSideBlock ()
 Returns whether current item is a block in a side column or not. More...
 
 setBoldTitle (bool $bold_title)
 
 isTitleBold ()
 
 enableTimings (bool $status)
 enable timings link More...
 
 getAsListItem (int $ref_id, int $obj_id, string $type, string $title, string $description)
 Get list item ui object. More...
 
 getAsCard (int $ref_id, int $obj_id, string $type, string $title, string $description)
 Get card object. More...
 
 checkInfoPageOnAsynchronousRendering ()
 
 insertLPCommand ()
 insert learning progress command More...
 

Protected Member Functions

 getCertificatePreloader ()
 
- Protected Member Functions inherited from ilObjectListGUI
 enableLearningProgress (bool $enabled)
 
 enableLPSettingsCommand (bool $enabled)
 
 buildGotoLink ()
 
 parseConditions (int $toggle_id, array $conditions, bool $obligatory=true)
 
 modifyTitleLink (string $default_link)
 
 resetCustomData ()
 reset properties and commands More...
 
 isCommentsActivated (string $type, int $ref_id, int $obj_id, bool $header_actions, bool $check_write_access=true)
 Check comments status against comments settings and context. More...
 

Private Attributes

ilCertificateObjectsForUserPreloader $certificatePreloader = null
 

Additional Inherited Members

- Static Public Member Functions inherited from ilObjectListGUI
static prepareJsLinks (string $redraw_url, string $notes_url, string $tags_url, ?ilGlobalTemplateInterface $tpl=null)
 Insert js/ajax links into template. More...
 
static preloadCommonProperties (array $obj_ids, int $context)
 
- Data Fields inherited from ilObjectListGUI
const IL_LIST_AS_TRIGGER = 'trigger'
 
const IL_LIST_FULL = 'full'
 
const DETAILS_MINIMAL = 10
 
const DETAILS_SEARCH = 20
 
const DETAILS_ALL = 30
 
const CONTEXT_REPOSITORY = 1
 
const CONTEXT_WORKSPACE = 2
 
const CONTEXT_WORKSPACE_SHARING = 4
 
const CONTEXT_PERSONAL_DESKTOP = 5
 
const CONTEXT_SEARCH = 6
 
const DOWNLOAD_CHECKBOX_NONE = 0
 
const DOWNLOAD_CHECKBOX_ENABLED = 1
 
const DOWNLOAD_CHECKBOX_DISABLED = 2
 
- Protected Attributes inherited from ilObjectListGUI
bool $force_rate_parent = false
 
array $access_cache
 
ilAccessHandler $access
 
ilObjUser $user
 
ilObjectDIC $object_dic
 
ilObjectProperties $object_properties
 
ilObjectDefinition $obj_definition
 
ilTree $tree
 
ilSetting $settings
 
HTTPServices $http
 
UIServices $ui
 
ilGlobalTemplateInterface $main_tpl
 
ilRbacSystem $rbacsystem
 
ilCtrlInterface $ctrl
 
ilLanguage $lng
 
string $mode
 
bool $path_enabled
 
int $context
 
ILIAS HTTP Wrapper RequestWrapper $request_wrapper
 
ILIAS Refinery Factory $refinery
 
bool $static_link_enabled = false
 
bool $delete_enabled = false
 
bool $cut_enabled = false
 
bool $subscribe_enabled = false
 
bool $link_enabled = false
 
bool $copy_enabled = true
 
bool $progress_enabled = false
 
bool $notice_properties_enabled = true
 
bool $info_screen_enabled = false
 
string $type
 
string $gui_class_name = ''
 
array $commands = []
 
ilLDAPRoleGroupMapping $ldap_mapping
 
ilFavouritesManager $fav_manager
 
int $requested_ref_id
 
string $requested_cmd
 
string $requested_base_class
 
ClipboardManager $clipboard
 
bool $description_enabled = true
 
bool $preconditions_enabled = true
 
bool $properties_enabled = true
 
bool $commands_enabled = true
 
array $cust_prop = []
 
array $cust_commands = []
 
array $cust_modals = []
 
int $condition_depth = 0
 
bool $std_cmd_only = false
 
array $sub_item_html = []
 
bool $multi_download_enabled = false
 
int $download_checkbox_state = self::DOWNLOAD_CHECKBOX_NONE
 
int $obj_id
 
int $ref_id
 
int $sub_obj_id
 
string $sub_obj_type
 
ilAdvancedMDSubstitution $substitutions = null
 
bool $substitutions_enabled = false
 
bool $icons_enabled = false
 
bool $checkboxes_enabled = false
 
bool $position_enabled = false
 
bool $item_detail_links_enabled = false
 
array $item_detail_links = []
 
string $item_detail_links_intro = ''
 
bool $search_fragments_enabled = false
 
string $search_fragment = ''
 
bool $path_linked = false
 
int $relevance = 0
 
bool $expand_enabled = false
 
bool $is_expanded = true
 
bool $bold_title = false
 
int $details_level = self::DETAILS_ALL
 
int $reference_ref_id = 0
 
int $reference_obj_id = null
 
bool $separate_commands = false
 
bool $search_fragment_enabled = false
 
string $additional_information = ''
 
bool $repository_transfer_enabled = false
 
bool $shared = false
 
bool $restrict_to_goto = false
 
bool $comments_enabled = false
 
bool $comments_settings_enabled = false
 
bool $notes_enabled = false
 
bool $tags_enabled = false
 
bool $rating_enabled = false
 
bool $rating_categories_enabled = false
 
string $rating_text = null
 
array $rating_ctrl_path = null
 
bool $timings_enabled = true
 
bool $force_visible_only = false
 
array $prevent_duplicate_commands = []
 
int $parent_ref_id
 
string $title_link = ''
 
bool $title_link_disabled = false
 
bool $lp_cmd_enabled = false
 
bool $lp_settings_cmd_enabled = true
 
array $current_actions = []
 
ilPathGUI $path_gui = null
 
array $default_command_params = []
 
array $header_icons = []
 
object $container_obj = null
 
ilTemplate $tpl
 
string $position_value
 
int $path_start_node
 
array $default_command = []
 
bool $adm_commands_included
 
bool $prevent_access_caching
 
array $condition_target
 
array $notice_prop = []
 
string $ajax_hash
 
ilListItemAccessCache $acache
 
string $position_field_index = ''
 
string $title = ''
 
string $description = ''
 
ilWorkspaceAccessHandler $ws_access
 
- Static Protected Attributes inherited from ilObjectListGUI
static array $cnt_notes = []
 
static array $cnt_tags = []
 
static array $tags = []
 
static array $comments_activation = []
 
static bool $preload_done = false
 
static int $js_unique_id = 0
 
static string $tpl_file_name = 'tpl.container_list_item.html'
 
static string $tpl_component = 'components/ILIAS/Container'
 

Detailed Description

Member Function Documentation

◆ checkCommandAccess()

ilObjCourseListGUI::checkCommandAccess ( string  $permission,
string  $cmd,
int  $ref_id,
string  $type,
?int  $obj_id = null 
)

Definition at line 168 of file class.ilObjCourseListGUI.php.

References ilObjectListGUI\$obj_id.

174  : bool {
175  // Only check cmd access for cmd 'register' and 'unregister'
176  if ($cmd != 'view' && $cmd != 'leave' && $cmd != 'join' && $cmd !== 'leaveWaitList') {
177  $cmd = '';
178  }
179 
180  if ($permission == 'crs_linked') {
181  return
182  parent::checkCommandAccess('read', $cmd, $ref_id, $type, $obj_id) ||
183  parent::checkCommandAccess('join', $cmd, $ref_id, $type, $obj_id);
184  }
185  return parent::checkCommandAccess($permission, $cmd, $ref_id, $type, $obj_id);
186  }

◆ getCertificatePreloader()

ilObjCourseListGUI::getCertificatePreloader ( )
protected

Definition at line 68 of file class.ilObjCourseListGUI.php.

References $certificatePreloader, and null.

Referenced by getProperties().

69  {
70  if (null === $this->certificatePreloader) {
71  $repository = new ilUserCertificateRepository();
72  $this->certificatePreloader = new ilCertificateObjectsForUserPreloader($repository);
73  }
75  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
ilCertificateObjectsForUserPreloader $certificatePreloader
+ Here is the caller graph for this function:

◆ getProperties()

ilObjCourseListGUI::getProperties ( )

Definition at line 80 of file class.ilObjCourseListGUI.php.

References $DIC, ilObjectListGUI\$obj_id, ilCourseParticipant\_getInstanceByObjId(), ilWaitingList\_isOnList(), ilParticipants\_isSubscriber(), ilObjCourseAccess\getBookingInfoRepo(), getCertificatePreloader(), ILIAS\Repository\lng(), ilObjCourseAccess\lookupPeriodInfo(), ilObjCourseAccess\lookupRegistrationInfo(), and ILIAS\Repository\user().

80  : array
81  {
82  global $DIC;
83 
84  $props = parent::getProperties();
85 
86  // blocked
87  $members = ilCourseParticipant::_getInstanceByObjId($this->obj_id, $this->user->getId());
88  if ($members->isBlocked() && $members->isAssigned()) {
89  $props[] = array("alert" => true,
90  "property" => $this->lng->txt("member_status"),
91  "value" => $this->lng->txt("crs_status_blocked")
92  );
93  }
94 
95  // pending subscription
96  if (ilCourseParticipants::_isSubscriber($this->obj_id, $this->user->getId())) {
97  $props[] = array("alert" => true,
98  "property" => $this->lng->txt("member_status"),
99  "value" => $this->lng->txt("crs_status_pending")
100  );
101  }
102 
103  $info = ilObjCourseAccess::lookupRegistrationInfo($this->obj_id);
104  if (isset($info['reg_info_list_prop'])) {
105  $props[] = array(
106  'alert' => false,
107  'newline' => true,
108  'property' => $info['reg_info_list_prop']['property'],
109  'value' => $info['reg_info_list_prop']['value']
110  );
111  }
112  if (isset($info['reg_info_list_prop_limit'])) {
113  $props[] = array(
114  'alert' => false,
115  'newline' => false,
116  'property' => $info['reg_info_list_prop_limit']['property'],
117  'propertyNameVisible' => (bool) strlen($info['reg_info_list_prop_limit']['property']),
118  'value' => $info['reg_info_list_prop_limit']['value']
119  );
120  }
121 
122  // waiting list
123  if (ilCourseWaitingList::_isOnList($this->user->getId(), $this->obj_id)) {
124  $props[] = array(
125  "alert" => true,
126  "property" => $this->lng->txt('member_status'),
127  "value" => $this->lng->txt('on_waiting_list')
128  );
129  }
130 
131  // course period
132  $info = ilObjCourseAccess::lookupPeriodInfo($this->obj_id);
133  if (is_array($info)) {
134  $props[] = array(
135  'alert' => false,
136  'newline' => true,
137  'property' => $info['property'] ?? "",
138  'value' => $info['value'] ?? ""
139  );
140  }
141 
142  // check for certificates
143  $hasCertificate = $this->getCertificatePreloader()->isPreloaded($this->user->getId(), $this->obj_id);
144  if ($hasCertificate) {
145  $this->lng->loadLanguageModule('certificate');
146  $cmd_link = "ilias.php?baseClass=ilRepositoryGUI&ref_id=" . $this->ref_id . "&cmd=deliverCertificate";
147  $props[] = [
148  'alert' => false,
149  'property' => $this->lng->txt('certificate'),
150  'value' => $DIC->ui()->renderer()->render(
151  $DIC->ui()->factory()->link()->standard($this->lng->txt('download_certificate'), $cmd_link)
152  )
153  ];
154  }
155 
156  // booking information
158  if (!$repo instanceof \ILIAS\BookingManager\Reservations\ReservationDBRepository) {
159  $repo = $DIC->bookingManager()->internal()->repo()->reservationWithContextObjCache([$this->obj_id]);
160  }
161  $book_info = new ilBookingInfoListItemPropertiesAdapter($repo);
162  return $book_info->appendProperties($this->obj_id, $props);
163  }
static lookupRegistrationInfo(int $a_obj_id)
Interface Observer Contains several chained tasks and infos about them.
static _getInstanceByObjId(int $a_obj_id, int $a_usr_id)
static _isSubscriber(int $a_obj_id, int $a_usr_id)
global $DIC
Definition: shib_login.php:22
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static lookupPeriodInfo(int $a_obj_id)
static _isOnList(int $a_usr_id, int $a_obj_id)
+ Here is the call graph for this function:

◆ init()

ilObjCourseListGUI::init ( )

Definition at line 34 of file class.ilObjCourseListGUI.php.

References ilObjCourseAccess\_getCommands(), and ilAdvancedMDSubstitution\_getInstanceByObjectType().

34  : void
35  {
36  $this->static_link_enabled = true;
37  $this->delete_enabled = true;
38  $this->cut_enabled = true;
39  $this->copy_enabled = true;
40  $this->subscribe_enabled = true;
41  $this->link_enabled = false;
42  $this->info_screen_enabled = true;
43  $this->type = "crs";
44  $this->gui_class_name = "ilobjcoursegui";
45 
46  $this->substitutions = ilAdvancedMDSubstitution::_getInstanceByObjectType($this->type);
47  if ($this->substitutions->isActive()) {
48  $this->substitutions_enabled = true;
49  }
50 
51  // general commands array
52  $this->commands = ilObjCourseAccess::_getCommands();
53  }
static _getInstanceByObjectType(string $a_type)
+ Here is the call graph for this function:

◆ initItem()

ilObjCourseListGUI::initItem ( int  $ref_id,
int  $obj_id,
string  $type,
string  $title = "",
string  $description = "" 
)

Field Documentation

◆ $certificatePreloader

ilCertificateObjectsForUserPreloader ilObjCourseListGUI::$certificatePreloader = null
private

Definition at line 29 of file class.ilObjCourseListGUI.php.

Referenced by getCertificatePreloader().


The documentation for this class was generated from the following file: