ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjFileListGUI Class Reference

Class ilObjFileListGUI. More...

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

Public Member Functions

 ilObjFileListGUI ()
 constructor More...
 
 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
 ilObjectListGUI ()
 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 ()
 
 enablePayment ($a_status)
 En/disable payment. More...
 
 getPaymentStatus ()
 
 enableLink ($a_status)
 En/disable link. More...
 
 getLinkStatus ()
 
 enablePath ($a_path)
 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="", $a_context=self::CONTEXT_REPOSITORY)
 inititialize new item (is called by getItemHTML()) More...
 
 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 ($a_item='')
 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 ($a_item='')
 insert properties More...
 
 insertNoticeProperties ()
 
 insertPayment ()
 insert payment information More...
 
 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)
 
 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="", $a_context=self::CONTEXT_REPOSITORY)
 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_SHOP = 3
 
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 ()
 
 insertPaymentCommand ($has_extension_prices=false)
 
 parseConditions ($toggle_id, $conditions, $obligatory=true)
 
 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
 
- Static Protected Attributes inherited from ilObjectListGUI
static $cnt_notes = array()
 
static $cnt_tags = array()
 
static $comments_activation = array()
 
static $preload_done = false
 

Detailed Description

Member Function Documentation

◆ getCommandFrame()

ilObjFileListGUI::getCommandFrame (   $a_cmd)

Get command target frame.

Parameters
string$a_cmdcommand
Returns
string command target frame

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

References ilFrameTargetInfo\_getFrame(), ilPaymentObject\_hasAccess(), ilPaymentObject\_isBuyable(), and ilObjFileAccess\_isFileInline().

55  {
56  if(IS_PAYMENT_ENABLED)
57  {
58  include_once 'Services/Payment/classes/class.ilPaymentObject.php';
59  if(ilPaymentObject::_isBuyable($this->ref_id) &&
60  !ilPaymentObject::_hasAccess($this->ref_id))
61  {
62  return '';
63  }
64  }
65  $frame = "";
66  switch($a_cmd)
67  {
68  // BEGIN WebDAV: View inline objects in a blank window
69  case 'sendfile' :
70  require_once('Modules/File/classes/class.ilObjFileAccess.php');
71  if (ilObjFileAccess::_isFileInline($this->title))
72  {
73  $frame = '_blank';
74  }
75  break;
76  // END WebDAV View inline objects in a blank window
77 
78  case "":
79  $frame = ilFrameTargetInfo::_getFrame("RepositoryContent");
80  break;
81 
82  default:
83  }
84 
85  return $frame;
86  }
static _isFileInline($a_file_name)
Returns true, if the specified file shall be displayed inline in the browser.
static _isBuyable($a_ref_id, $a_subtype='')
static _getFrame($a_class, $a_type='')
Get content frame name.
static _hasAccess($a_ref_id, $a_transaction=0, $a_subtype='')
+ 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

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

References ilUtil\getImagePath().

209  {
210  switch ($a_cmd)
211  {
212  case "versions":
213  return ilUtil::getImagePath("cmd_versions_s.png");
214 
215  default:
216  return "";
217  }
218  }
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:

◆ getCommandLink()

ilObjFileListGUI::getCommandLink (   $a_cmd)

Get command link url.

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

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

References ilObjFileAccess\_getPermanentDownloadLink().

Referenced by getProperties().

227  {
228  // overwritten to always return the permanent download link
229 
230  // only create permalink for repository
231  if ($a_cmd == "sendfile" && $this->context == self::CONTEXT_REPOSITORY)
232  {
233  // return the perma link for downloads
234  return ilObjFileAccess::_getPermanentDownloadLink($this->ref_id);
235  }
236 
237  return parent::getCommandLink($a_cmd);
238  }
static _getPermanentDownloadLink($ref_id)
Gets the permanent download link for the file.
+ 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'.

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

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

97  {
98  include_once('Modules/File/classes/class.ilObjFileAccess.php');
99 
100  return ilObjFileAccess::_isFileInline($this->title) ? $this->type.'_inline' : $this->type;
101  }
static _isFileInline($a_file_name)
Returns true, if the specified file shall be displayed inline in the browser.
+ 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

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

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

127  {
128  global $lng, $ilUser;
129 
130  // BEGIN WebDAV: Get parent properties
131  $props = parent::getProperties();
132  // END WebDAV: Get parent properties
133 
134  // to do: implement extra smaller file info object
135  include_once("./Modules/File/classes/class.ilObjFileAccess.php");
136 
137  // Display a warning if a file is not a hidden Unix file, and
138  // the filename extension is missing
139  if (! preg_match('/^\\.|\\.[a-zA-Z0-9]+$/', $this->title))
140  {
141  $props[] = array("alert" => false, "property" => $lng->txt("filename_interoperability"),
142  "value" => $lng->txt("filename_extension_missing"),
143  'propertyNameVisible' => false);
144  }
145 
146  // BEGIN WebDAV: Only display relevant information.
147  $props[] = array("alert" => false, "property" => $lng->txt("type"),
148  "value" => ilObjFileAccess::_getFileExtension($this->title),
149  'propertyNameVisible' => false
150  );
151 
152  $fileData = ilObjFileAccess::getListGUIData($this->obj_id);
153  if(is_array($fileData))
154  {
155  $props[] = array("alert" => false, "property" => $lng->txt("size"),
156  "value" => ilFormat::formatSize($fileData['size'], 'short'),
157  'propertyNameVisible' => false);
158  $version = $fileData['version'];
159  if ($version > 1)
160  {
161  // add versions link
162  if (parent::checkCommandAccess("write", "versions", $this->ref_id, $this->type))
163  {
164  $link = $this->getCommandLink("versions");
165  $value = "<a href=\"$link\">".$lng->txt("version").": $version</a>";
166  }
167  else
168  {
169  $value = $lng->txt("version").": $version";
170  }
171  $props[] = array("alert" => false, "property" => $lng->txt("version"),
172  "value" => $value,
173  "propertyNameVisible" => false);
174  }
175 
176  // #6040
177  if($fileData["date"])
178  {
179  $props[] = array("alert" => false, "property" => $lng->txt("last_update"),
180  "value" => ilDatePresentation::formatDate(new ilDateTime($fileData["date"],IL_CAL_DATETIME)),
181  'propertyNameVisible' => false);
182  }
183  }
184  // END WebDAV: Only display relevant information.
185 
186  return $props;
187  }
const IL_CAL_DATETIME
static _getFileExtension($a_file_name)
Gets the file extension of the specified file name.
static formatDate(ilDateTime $date)
Format a date public.
Date and time handling
global $ilUser
Definition: imgupload.php:15
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:40
getCommandLink($a_cmd)
Get command link url.
static getListGUIData($a_obj_id)
+ Here is the call graph for this function:

◆ getTitle()

ilObjFileListGUI::getTitle ( )

getTitle overwritten in class.ilObjLinkResourceList.php

Returns
string title

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

111  {
112  // Remove filename extension from title
113  return preg_replace('/\\.[a-z0-9]+\\z/i','', $this->title);
114  }

◆ ilObjFileListGUI()

ilObjFileListGUI::ilObjFileListGUI ( )

constructor

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

References ilObjectListGUI\ilObjectListGUI().

23  {
24  $this->ilObjectListGUI();
25  }
ilObjectListGUI()
constructor
+ Here is the call graph for this function:

◆ init()

ilObjFileListGUI::init ( )

initialisation

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

References ilObjFileAccess\_getCommands().

31  {
32  $this->delete_enabled = true;
33  $this->cut_enabled = true;
34  $this->copy_enabled = true;
35  $this->subscribe_enabled = true;
36  $this->link_enabled = true;
37  $this->payment_enabled = true;
38  $this->info_screen_enabled = true;
39  $this->type = "file";
40  $this->gui_class_name = "ilobjfilegui";
41 
42  // general commands array
43  include_once('./Modules/File/classes/class.ilObjFileAccess.php');
44  $this->commands = ilObjFileAccess::_getCommands();
45  }
_getCommands()
get commands
+ Here is the call graph for this function:

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