ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilObjCourseListGUI Class Reference

Class ilObjCourseListGUI. More...

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

Public Member Functions

 init ()
 initialisation More...
 
 initItem ($a_ref_id, $a_obj_id, $a_title="", $a_description="")
 inititialize new item More...
 
 getProperties ()
 Get item properties. More...
 
 checkCommandAccess ($a_permission, $a_cmd, $a_ref_id, $a_type, $a_obj_id="")
 Workaround for course titles (linked if join or read permission is granted) More...
 
- Public Member Functions inherited from ilObjectListGUI
 __construct ($a_context=self::CONTEXT_REPOSITORY)
 constructor More...
 
 setContainerObject ($container_obj)
 set the container object (e.g categorygui) Used for link, delete ... More...
 
 getContainerObject ()
 get container object More...
 
 init ()
 initialisation More...
 
 enableProperties ($a_status)
 En/disable properties. More...
 
 getPropertiesStatus ()
 
 enablePreconditions ($a_status)
 En/disable preconditions. More...
 
 getNoticePropertiesStatus ()
 
 enableNoticeProperties ($a_status)
 En/disable notices. More...
 
 getPreconditionsStatus ()
 
 enableDescription ($a_status)
 En/disable description. More...
 
 getDescriptionStatus ()
 
 getSearchFragmentStatus ()
 Show hide search result fragments. More...
 
 enableSearchFragments ($a_status)
 En/disable description. More...
 
 enableLinkedPath ($a_status)
 Enable linked path. More...
 
 enabledRelevance ()
 enabled relevance More...
 
 enableRelevance ($a_status)
 enable relevance More...
 
 setRelevance ($a_rel)
 set relevance More...
 
 getRelevance ()
 get relevance More...
 
 enableIcon ($a_status)
 En/Dis-able icons. More...
 
 getIconStatus ()
 Are icons enabled? More...
 
 enableCheckbox ($a_status)
 En/Dis-able checkboxes. More...
 
 getCheckboxStatus ()
 Are checkboxes enabled? More...
 
 enableExpand ($a_status)
 En/Dis-able expand/collapse link. More...
 
 getExpandStatus ()
 Is expand/collapse enabled. More...
 
 setExpanded ($a_status)
 
 isExpanded ()
 
 setPositionInputField ($a_field_index, $a_position_value)
 Set position input field. More...
 
 enableDelete ($a_status)
 En/disable delete. More...
 
 getDeleteStatus ()
 
 enableCut ($a_status)
 En/disable cut. More...
 
 getCutStatus ()
 
 enableCopy ($a_status)
 En/disable copy. More...
 
 getCopyStatus ()
 
 enableSubscribe ($a_status)
 En/disable subscribe. More...
 
 getSubscribeStatus ()
 
 enableLink ($a_status)
 En/disable link. More...
 
 getLinkStatus ()
 
 enablePath ($a_path, $a_start_node=null)
 En/disable path. More...
 
 getPathStatus ()
 
 enableCommands ($a_status, $a_std_only=false)
 En/disable commands. More...
 
 getCommandsStatus ()
 
 enableInfoScreen ($a_info_screen)
 En/disable path. More...
 
 addSubItemHTML ($a_html)
 Add HTML for subitem (used for sessions) More...
 
 getInfoScreenStatus ()
 
 enableProgressInfo ($a_status)
 enable progress info More...
 
 getProgressInfoStatus ()
 get progress info status More...
 
 enableSubstitutions ($a_status)
 Enable substitutions. More...
 
 getSubstitutionStatus ()
 Get substitution status. More...
 
 enableItemDetailLinks ($a_status)
 enable item detail links E.g Direct links to chapters or pages More...
 
 getItemDetailLinkStatus ()
 get item detail link status More...
 
 setItemDetailLinks ($a_detail_links, $a_intro_txt='')
 set items detail links More...
 
 insertItemDetailLinks ()
 insert item detail links More...
 
 setTitle ($a_title)
 
 getTitle ()
 getTitle overwritten in class.ilObjLinkResourceList.php More...
 
 setDescription ($a_description)
 
 getDescription ()
 getDescription overwritten in class.ilObjLinkResourceList.php More...
 
 setSearchFragment ($a_text)
 set search fragment More...
 
 getSearchFragment ()
 get search fragment More...
 
 setSeparateCommands ($a_val)
 Set separate commands. More...
 
 getSeparateCommands ()
 Get separate commands. More...
 
 getCommandId ()
 get command id Normally the ref id. More...
 
 setAdditionalInformation ($a_val)
 Set additional information. More...
 
 getAdditionalInformation ()
 Get additional information. More...
 
 setDetailsLevel ($a_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 ()
 Get current details level. More...
 
 enableRepositoryTransfer ($a_value)
 Enable copy/move to repository (from personal workspace) More...
 
 restrictToGoto ($a_value)
 Restrict all actions/links to goto. More...
 
 checkCommandAccess ($a_permission, $a_cmd, $a_ref_id, $a_type, $a_obj_id="")
 
 initItem ($a_ref_id, $a_obj_id, $a_title="", $a_description="")
 inititialize new item (is called by getItemHTML()) More...
 
 setConditionTarget ($a_ref_id, $a_obj_id, $a_target_type)
 
 resetConditionTarget ()
 
 disableTitleLink ($a_status)
 
 setDefaultCommandParameters (array $a_params)
 
 createDefaultCommand ($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 ($a_cmd)
 Get command link url. More...
 
 getCommandFrame ($a_cmd)
 Get command target frame. More...
 
 getCommandImage ($a_cmd)
 Get command icon image. More...
 
 getProperties ()
 Get item properties. More...
 
 addCustomProperty ($a_property="", $a_value="", $a_alert=false, $a_newline=false)
 add custom property More...
 
 getCustomProperties ($a_prop)
 get custom properties More...
 
 getAlertProperties ()
 get all alert properties More...
 
 getNoticeProperties ()
 get notice properties More...
 
 addCustomCommand ($a_link, $a_lang_var, $a_frame="", $onclick="")
 add a custom command More...
 
 forceVisibleOnly ($a_stat)
 Force visible access only. More...
 
 isVisibleOnlyForced ()
 Force unreadable. More...
 
 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 ()
 insert item title More...
 
 insertSubstitutions ()
 Insert substitutions. More...
 
 insertDescription ()
 insert item description More...
 
 insertSearchFragment ()
 Insert highlighted search fragment. More...
 
 insertRelevance ()
 insert relevance More...
 
 setMode ($a_mode)
 set output mode More...
 
 getMode ()
 get output mode More...
 
 setConditionDepth ($a_depth)
 set depth for precondition output (stops at level 5) More...
 
 isMode ($a_mode)
 check current output mode More...
 
 insertProperties ()
 insert properties More...
 
 insertNoticeProperties ()
 
 insertPreconditions ()
 insert all missing preconditions More...
 
 insertCommand ($a_href, $a_text, $a_frame="", $a_img="", $a_cmd="", $a_onclick="")
 insert command button More...
 
 insertDeleteCommand ()
 insert cut command More...
 
 insertLinkCommand ()
 insert link command More...
 
 insertCutCommand ($a_to_repository=false)
 insert cut command More...
 
 insertCopyCommand ($a_to_repository=false)
 Insert copy command. More...
 
 insertPasteCommand ()
 Insert paste command. More...
 
 insertSubscribeCommand ()
 insert subscribe command More...
 
 insertInfoScreenCommand ()
 insert info screen command More...
 
 insertCommonSocialCommands ($a_header_actions=false)
 Insert common social commands (comments, notes, tagging) More...
 
 insertTimingsCommand ()
 insert edit timings command More...
 
 insertCommands ($a_use_asynch=false, $a_get_asynch_commands=false, $a_asynch_url="", $a_header_actions=false)
 insert all commands into html code More...
 
 enableComments ($a_value, $a_enable_comments_settings=true)
 Toogle comments action status. More...
 
 enableNotes ($a_value)
 Toogle notes action status. More...
 
 enableTags ($a_value)
 Toogle tags action status. More...
 
 enableRating ($a_value, $a_text=null, $a_categories=false, array $a_ctrl_path=null)
 Toogle rating action status. More...
 
 enableMultiDownload ($a_value)
 Toggles whether multiple objects can be downloaded at once or not. More...
 
 insertMultiDownloadCommand ()
 
 enableDownloadCheckbox ($a_ref_id, $a_value)
 
 getDownloadCheckboxState ()
 
 setHeaderSubObject ($a_type, $a_id)
 Set sub object identifier. More...
 
 addHeaderIcon ($a_id, $a_img, $a_tooltip=null, $a_onclick=null, $a_status_text=null, $a_href=null)
 
 addHeaderIconHTML ($a_id, $a_html)
 
 addHeaderGlyph ($a_id, $a_glyph, $a_onclick=null)
 
 setAjaxHash ($a_hash)
 
 getHeaderAction ()
 Get header action. More...
 
 appendRepositoryFrameParameter ($a_link)
 workaround: all links into the repository (from outside) must tell repository to setup the frameset More...
 
 modifySAHSlaunch ($a_link, $wtarget)
 workaround: SAHS in new javavasript-created window or iframe More...
 
 insertPath ()
 insert path More...
 
 insertProgressInfo ()
 insert progress info More...
 
 insertIconsAndCheckboxes ()
 Insert icons and checkboxes. More...
 
 insertSubItems ()
 Insert subitems. More...
 
 insertPositionField ()
 Insert field for positioning. More...
 
 adminCommandsIncluded ()
 returns whether any admin commands (link, delete, cut) are included in the output More...
 
 storeAccessCache ()
 Store access cache. More...
 
 getListItemHTML ($a_ref_id, $a_obj_id, $a_title, $a_description, $a_use_asynch=false, $a_get_asynch_commands=false, $a_asynch_url="")
 Get all item information (title, commands, description) in HTML. More...
 
 setParentRefId ($a_ref_id)
 Set current parent ref id to enable unique js-ids (sessions, etc.) More...
 
 getCommandsHTML ()
 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 ($a_bold_title)
 public boolean $a_bold_title set the item title bold More...
 
 isTitleBold ()
 public More...
 
 enableTimings ($a_status)
 enable timings link More...
 
 isFileUploadAllowed ()
 Gets a value indicating whether file uploads to this object are allowed or not. More...
 
 insertFileUpload ()
 Inserts a file upload component. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ilObjectListGUI
static prepareJsLinks ($a_redraw_url, $a_notes_url, $a_tags_url, $a_tpl=null)
 Insert js/ajax links into template. More...
 
static preloadCommonProperties ($a_obj_ids, $a_context)
 Preload common properties. More...
 
- Data Fields inherited from ilObjectListGUI
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
 
 $ctrl
 
 $description_enabled = true
 
 $preconditions_enabled = true
 
 $properties_enabled = true
 
 $notice_properties_enabled = true
 
 $commands_enabled = true
 
 $cust_prop = array()
 
 $cust_commands = array()
 
 $info_screen_enabled = false
 
 $condition_depth = 0
 
 $std_cmd_only = false
 
 $sub_item_html = array()
 
 $multi_download_enabled = false
 
 $download_checkbox_state = self::DOWNLOAD_CHECKBOX_NONE
 
- Protected Member Functions inherited from ilObjectListGUI
 buildGotoLink ()
 
 parseConditions ($toggle_id, $conditions, $obligatory=true)
 
 modifyTitleLink ($a_default_link)
 
 resetCustomData ()
 reset properties and commands More...
 
 getUniqueItemId ($a_as_div=false)
 Get unique item identifier (for js-actions) More...
 
 isCommentsActivated ($a_type, $a_ref_id, $a_obj_id, $a_header_actions, $a_check_write_access=true)
 Check comments status against comments settings and context. More...
 
- Protected Attributes inherited from ilObjectListGUI
 $obj_id
 
 $ref_id
 
 $type
 
 $sub_obj_id
 
 $sub_obj_type
 
 $substitutions = null
 
 $substitutions_enabled = false
 
 $icons_enabled = false
 
 $checkboxes_enabled = false
 
 $position_enabled = false
 
 $progress_enabled = false
 
 $item_detail_links_enabled = false
 
 $item_detail_links = array()
 
 $item_detail_links_intro = ''
 
 $search_fragments_enabled = false
 
 $search_fragment = ''
 
 $path_linked = false
 
 $enabled_relevance = false
 
 $relevance = 0
 
 $expand_enabled = false
 
 $is_expanded = true
 
 $bold_title = false
 
 $copy_enabled = true
 
 $details_level = self::DETAILS_ALL
 
 $reference_ref_id = false
 
 $separate_commands = false
 
 $search_fragment_enabled = false
 
 $additional_information = false
 
 $static_link_enabled = false
 
 $repository_transfer_enabled = false
 
 $shared = false
 
 $restrict_to_goto = false
 
 $comments_enabled = false
 
 $comments_settings_enabled = false
 
 $notes_enabled = false
 
 $tags_enabled = false
 
 $rating_enabled = false
 
 $rating_categories_enabled = false
 
 $rating_text = false
 
 $rating_ctrl_path = false
 
 $timings_enabled = true
 
 $force_visible_only = false
 
 $prevent_duplicate_commands = array()
 
 $parent_ref_id
 
 $context
 
 $title_link = ''
 
 $title_link_disabled = false
 
 $ui
 
- Static Protected Attributes inherited from ilObjectListGUI
static $cnt_notes = array()
 
static $cnt_tags = array()
 
static $tags = array()
 
static $comments_activation = array()
 
static $preload_done = false
 
static $js_unique_id = 0
 
static $tpl_file_name = "tpl.container_list_item.html"
 
static $tpl_component = "Services/Container"
 

Detailed Description

Member Function Documentation

◆ checkCommandAccess()

ilObjCourseListGUI::checkCommandAccess (   $a_permission,
  $a_cmd,
  $a_ref_id,
  $a_type,
  $a_obj_id = "" 
)

Workaround for course titles (linked if join or read permission is granted)

Parameters
type$a_permission
type$a_cmd
type$a_ref_id
type$a_type
type$a_obj_id
Returns
type

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

References $a_type.

172  {
173  // Only check cmd access for cmd 'register' and 'unregister'
174  if($a_cmd != 'view' and $a_cmd != 'leave' and $a_cmd != 'join')
175  {
176  $a_cmd = '';
177  }
178 
179  if($a_permission == 'crs_linked')
180  {
181  return
182  parent::checkCommandAccess('read', $a_cmd, $a_ref_id, $a_type, $a_obj_id) ||
183  parent::checkCommandAccess('join', $a_cmd, $a_ref_id, $a_type, $a_obj_id);
184  }
185  return parent::checkCommandAccess($a_permission, $a_cmd, $a_ref_id, $a_type, $a_obj_id);
186  }
$a_type
Definition: workflow.php:93

◆ getProperties()

ilObjCourseListGUI::getProperties ( )

Get item properties.

Returns
array array of property arrays: "alert" (boolean) => display as an alert property (usually in red) "property" (string) => property name "value" (string) => property value

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

References $ilUser, $info, $lng, ilObjectListGUI\$obj_id, ilCourseParticipant\_getInstanceByObjId(), ilCourseCertificateAdapter\_hasUserCertificate(), ilObjCourseAccess\_isOffline(), ilWaitingList\_isOnList(), ilParticipants\_isSubscriber(), array, ilObjCourseAccess\lookupPeriodInfo(), and ilObjCourseAccess\lookupRegistrationInfo().

70  {
71  global $lng, $ilUser;
72 
73  $props = parent::getProperties();
74 
75  // offline
76  include_once 'Modules/Course/classes/class.ilObjCourseAccess.php';
77  if(ilObjCourseAccess::_isOffline($this->obj_id))
78  {
79  $showRegistrationInfo = false;
80  $props[] = array("alert" => true, "property" => $lng->txt("status"),
81  "value" => $lng->txt("offline"));
82  }
83 
84  // blocked
85  include_once 'Modules/Course/classes/class.ilCourseParticipant.php';
86  $members = ilCourseParticipant::_getInstanceByObjId($this->obj_id,$ilUser->getId());
87  if($members->isBlocked($ilUser->getId()) and $members->isAssigned($ilUser->getId()))
88  {
89  $props[] = array("alert" => true, "property" => $lng->txt("member_status"),
90  "value" => $lng->txt("crs_status_blocked"));
91  }
92 
93  // pending subscription
94  include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
95  if (ilCourseParticipants::_isSubscriber($this->obj_id,$ilUser->getId()))
96  {
97  $props[] = array("alert" => true, "property" => $lng->txt("member_status"),
98  "value" => $lng->txt("crs_status_pending"));
99  }
100 
101  include_once './Modules/Course/classes/class.ilObjCourseAccess.php';
103  if($info['reg_info_list_prop'])
104  {
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($info['reg_info_list_prop_limit'])
113  {
114 
115  $props[] = array(
116  'alert' => false,
117  'newline' => false,
118  'property' => $info['reg_info_list_prop_limit']['property'],
119  'propertyNameVisible' => strlen($info['reg_info_list_prop_limit']['property']) ? true : false,
120  'value' => $info['reg_info_list_prop_limit']['value']
121  );
122  }
123 
124  // waiting list
125  include_once './Modules/Course/classes/class.ilCourseWaitingList.php';
126  if(ilCourseWaitingList::_isOnList($ilUser->getId(),$this->obj_id))
127  {
128  $props[] = array(
129  "alert" => true,
130  "property" => $lng->txt('member_status'),
131  "value" => $lng->txt('on_waiting_list')
132  );
133  }
134 
135  // course period
137  if(is_array($info))
138  {
139  $props[] = array(
140  'alert' => false,
141  'newline' => true,
142  'property' => $info['property'],
143  'value' => $info['value']
144  );
145  }
146 
147  // check for certificates
148  include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
150  {
151  $lng->loadLanguageModule('certificate');
152  $cmd_link = "ilias.php?baseClass=ilRepositoryGUI&ref_id=".$this->ref_id.
153  "&cmd=deliverCertificate";
154  $props[] = array("alert" => false, "property" => $lng->txt("passed"),
155  "value" => '<a href="' . $cmd_link . '">' . $lng->txt("download_certificate") . '</a>');
156  }
157 
158  return $props;
159  }
static lookupPeriodInfo($a_obj_id)
Lookup course period info.
static _isSubscriber($a_obj_id, $a_usr_id)
check if user is subscriber
$info
Definition: example_052.php:80
static _isOffline($a_obj_id)
Type-specific implementation of general status.
static _hasUserCertificate($a_usr_id, $a_obj_id)
Check if user has certificate for course.
static lookupRegistrationInfo($a_obj_id)
Lookup registration info ilDB $ilDB ilObjUser $ilUser ilLanguage $lng.
$ilUser
Definition: imgupload.php:18
static _getInstanceByObjId($a_obj_id, $a_usr_id)
Get singleton instance.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
Create styles array
The data for the language used.
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ init()

ilObjCourseListGUI::init ( )

initialisation

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

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

22  {
23  $this->static_link_enabled = true;
24  $this->delete_enabled = true;
25  $this->cut_enabled = true;
26  $this->copy_enabled = true;
27  $this->subscribe_enabled = true;
28  $this->link_enabled = false;
29  $this->info_screen_enabled = true;
30  $this->type = "crs";
31  $this->gui_class_name = "ilobjcoursegui";
32 
33  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDSubstitution.php');
34  $this->substitutions = ilAdvancedMDSubstitution::_getInstanceByObjectType($this->type);
35  if($this->substitutions->isActive())
36  {
37  $this->substitutions_enabled = true;
38  }
39 
40  // general commands array
41  include_once('Modules/Course/classes/class.ilObjCourseAccess.php');
42  $this->commands = ilObjCourseAccess::_getCommands();
43  }
static _getInstanceByObjectType($a_type)
Singleton: use this method to get an instance.
static _getCommands()
get commands
+ Here is the call graph for this function:

◆ initItem()

ilObjCourseListGUI::initItem (   $a_ref_id,
  $a_obj_id,
  $a_title = "",
  $a_description = "" 
)

inititialize new item

Parameters
int$a_ref_idreference id
int$a_obj_idobject id
string$a_titletitle
string$a_descriptiondescription

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

References ilConditionHandler\_checkAllConditionsOfTarget().

54  {
55  parent::initItem($a_ref_id, $a_obj_id, $a_title, $a_description);
56 
57  $this->conditions_ok = ilConditionHandler::_checkAllConditionsOfTarget($a_ref_id,$this->obj_id);
58  }
static _checkAllConditionsOfTarget($a_target_ref_id, $a_target_id, $a_target_type="", $a_usr_id=0)
checks wether all conditions of a target object are fulfilled
+ Here is the call graph for this function:

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