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

Class ilObjFileListGUI. More...

+ Inheritance diagram for ilObjFileListGUI:
+ Collaboration diagram for ilObjFileListGUI:

Public Member Functions

 init ()
 initialisation More...
 
 getCommandFrame ($a_cmd)
 Get command target frame. More...
 
 getIconImageType ()
 Returns the icon image type. More...
 
 getTitle ()
 getTitle overwritten in class.ilObjLinkResourceList.php More...
 
 getProperties ()
 Get item properties. More...
 
 getCommandImage ($a_cmd)
 Get command link url. More...
 
 getCommandLink ($a_cmd)
 Get command link url. 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 ... commands 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)
 @access public @params boolean $a_bold_title set the item title bold More...
 
 isTitleBold ()
 @access 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

◆ getCommandFrame()

ilObjFileListGUI::getCommandFrame (   $a_cmd)

Get command target frame.

Parameters
string$a_cmdcommand
Returns
string command target frame

Reimplemented from ilObjectListGUI.

Definition at line 44 of file class.ilObjFileListGUI.php.

45 {
46 $frame = "";
47 switch($a_cmd)
48 {
49 // BEGIN WebDAV: View inline objects in a blank window
50 case 'sendfile' :
51 require_once('Modules/File/classes/class.ilObjFileAccess.php');
52 if (ilObjFileAccess::_isFileInline($this->title))
53 {
54 $frame = '_blank';
55 }
56 break;
57 // END WebDAV View inline objects in a blank window
58
59 case "":
60 $frame = ilFrameTargetInfo::_getFrame("RepositoryContent");
61 break;
62
63 default:
64 }
65
66 return $frame;
67 }
static _getFrame($a_class, $a_type='')
Get content frame name.
static _isFileInline($a_file_name)
Returns true, if the specified file shall be displayed inline in the browser.

References ilFrameTargetInfo\_getFrame(), and ilObjFileAccess\_isFileInline().

+ Here is the call graph for this function:

◆ getCommandImage()

ilObjFileListGUI::getCommandImage (   $a_cmd)

Get command link url.

Parameters
int$a_ref_idreference id
string$a_cmdcommand Get command icon image

Reimplemented from ilObjectListGUI.

Definition at line 189 of file class.ilObjFileListGUI.php.

190 {
191 switch ($a_cmd)
192 {
193 default:
194 return "";
195 }
196 }

◆ getCommandLink()

ilObjFileListGUI::getCommandLink (   $a_cmd)

Get command link url.

Parameters
string$a_cmdThe command to get the link for.
Returns
string The command link.

Reimplemented from ilObjectListGUI.

Definition at line 204 of file class.ilObjFileListGUI.php.

205 {
206 // overwritten to always return the permanent download link
207
208 // only create permalink for repository
209 if ($a_cmd == "sendfile" && $this->context == self::CONTEXT_REPOSITORY)
210 {
211 // return the perma link for downloads
212 return ilObjFileAccess::_getPermanentDownloadLink($this->ref_id);
213 }
214
215 return parent::getCommandLink($a_cmd);
216 }
static _getPermanentDownloadLink($ref_id)
Gets the permanent download link for the file.

References ilObjFileAccess\_getPermanentDownloadLink().

Referenced by getProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIconImageType()

ilObjFileListGUI::getIconImageType ( )

Returns the icon image type.

For most objects, this is same as the object type, e.g. 'cat','fold'. We can return here other values, to express a specific state of an object, e.g. 'crs_offline", and/or to express a specific kind of object, e.g. 'file_inline'.

Reimplemented from ilObjectListGUI.

Definition at line 77 of file class.ilObjFileListGUI.php.

78 {
79 include_once('Modules/File/classes/class.ilObjFileAccess.php');
80
81 return ilObjFileAccess::_isFileInline($this->title) ? $this->type.'_inline' : $this->type;
82 }

References ilObjectListGUI\$type, and ilObjFileAccess\_isFileInline().

+ Here is the call graph for this function:

◆ getProperties()

ilObjFileListGUI::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

Reimplemented from ilObjectListGUI.

Definition at line 107 of file class.ilObjFileListGUI.php.

108 {
109 global $lng, $ilUser;
110
111 // BEGIN WebDAV: Get parent properties
112 $props = parent::getProperties();
113 // END WebDAV: Get parent properties
114
115 // to do: implement extra smaller file info object
116 include_once("./Modules/File/classes/class.ilObjFileAccess.php");
117
118 // Display a warning if a file is not a hidden Unix file, and
119 // the filename extension is missing
120 if (! preg_match('/^\\.|\\.[a-zA-Z0-9]+$/', $this->title))
121 {
122 $props[] = array("alert" => false, "property" => $lng->txt("filename_interoperability"),
123 "value" => $lng->txt("filename_extension_missing"),
124 'propertyNameVisible' => false);
125 }
126
127 // BEGIN WebDAV: Only display relevant information.
128 $props[] = array("alert" => false, "property" => $lng->txt("type"),
129 "value" => ilObjFileAccess::_getFileExtension($this->title),
130 'propertyNameVisible' => false
131 );
132
133 $fileData = ilObjFileAccess::getListGUIData($this->obj_id);
134 if(is_array($fileData))
135 {
136 $props[] = array("alert" => false, "property" => $lng->txt("size"),
137 "value" => ilUtil::formatSize($fileData['size'], 'short'),
138 'propertyNameVisible' => false);
139 $version = $fileData['version'];
140 if ($version > 1)
141 {
142 // add versions link
143 if (parent::checkCommandAccess("write", "versions", $this->ref_id, $this->type))
144 {
145 $link = $this->getCommandLink("versions");
146 $value = "<a href=\"$link\">".$lng->txt("version").": $version</a>";
147 }
148 else
149 {
150 $value = $lng->txt("version").": $version";
151 }
152 $props[] = array("alert" => false, "property" => $lng->txt("version"),
153 "value" => $value,
154 "propertyNameVisible" => false);
155 }
156
157 // #6040
158 if($fileData["date"])
159 {
160 $props[] = array("alert" => false, "property" => $lng->txt("last_update"),
161 "value" => ilDatePresentation::formatDate(new ilDateTime($fileData["date"],IL_CAL_DATETIME)),
162 'propertyNameVisible' => false);
163 }
164 }
165 // END WebDAV: Only display relevant information.
166
167 return $props;
168 }
const IL_CAL_DATETIME
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static _getFileExtension($a_file_name)
Gets the file extension of the specified file name.
static getListGUIData($a_obj_id)
getCommandLink($a_cmd)
Get command link url.
static formatSize($size, $a_mode='short', $a_lng=null)
Returns the specified file size value in a human friendly form.
global $lng
Definition: privfeed.php:17
$ilUser
Definition: imgupload.php:18

References $ilUser, $lng, $version, ilObjFileAccess\_getFileExtension(), ilDatePresentation\formatDate(), ilUtil\formatSize(), getCommandLink(), ilObjFileAccess\getListGUIData(), and IL_CAL_DATETIME.

+ Here is the call graph for this function:

◆ getTitle()

ilObjFileListGUI::getTitle ( )

getTitle overwritten in class.ilObjLinkResourceList.php

Returns
string title

Reimplemented from ilObjectListGUI.

Definition at line 91 of file class.ilObjFileListGUI.php.

92 {
93 // Remove filename extension from title
94 return preg_replace('/\\.[a-z0-9]+\\z/i','', $this->title);
95 }

◆ init()

ilObjFileListGUI::init ( )

initialisation

Reimplemented from ilObjectListGUI.

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

22 {
23 $this->delete_enabled = true;
24 $this->cut_enabled = true;
25 $this->copy_enabled = true;
26 $this->subscribe_enabled = true;
27 $this->link_enabled = true;
28 $this->info_screen_enabled = true;
29 $this->type = "file";
30 $this->gui_class_name = "ilobjfilegui";
31
32 // general commands array
33 include_once('./Modules/File/classes/class.ilObjFileAccess.php');
34 $this->commands = ilObjFileAccess::_getCommands();
35 }
static _getCommands()
get commands

References ilObjFileAccess\_getCommands().

+ Here is the call graph for this function:

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