See Release Notes
Long Term Support Release
Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401] [Versions 400 and 401] [Versions 401 and 402] [Versions 401 and 403]
Base for all file browsing classes.
Copyright: | 2008 Petr Skoda (http://skodak.org) |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 455 lines (14 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
file_info:: (28 methods):
__construct()
get_params()
build_search_files_sql()
get_non_empty_children()
count_non_empty_children()
get_params_rawencoded()
get_url()
is_readable()
is_writable()
is_empty_area()
get_filesize()
get_mimetype()
get_timecreated()
get_timemodified()
get_license()
get_author()
get_source()
get_sortorder()
is_external_file()
get_status()
get_readable_fullname()
create_directory()
create_file_from_string()
create_file_from_pathname()
create_file_from_storedfile()
delete()
copy_to_storage()
copy_to_pathname()
__construct($browser, $context) X-Ref |
Constructor param: file_browser $browser file_browser instance param: stdClass $context |
get_params() X-Ref |
Returns list of standard virtual file/directory identification. The difference from stored_file parameters is that null values are allowed in all fields return: array with keys contextid, component, filearea, itemid, filepath and filename |
build_search_files_sql($extensions, $prefix = null) X-Ref |
Builds SQL sub query (WHERE clause) for selecting files with the specified extensions If $extensions == '*' (any file), the result is array('', array()) otherwise the result is something like array('AND filename ...', array(...)) param: string|array $extensions - either '*' or array of lowercase extensions, i.e. array('.gif','.jpg') param: string $prefix prefix for DB table files in the query (empty by default) return: array of two elements: $sql - sql where clause and $params - array of parameters |
get_non_empty_children($extensions = '*') X-Ref |
Returns list of children which are either files matching the specified extensions or folders that contain at least one such file. It is recommended to overwrite this function so it uses a proper SQL query and does not create unnecessary file_info objects (might require a lot of time and memory usage on big sites). param: string|array $extensions, either '*' or array of lowercase extensions, i.e. array('.gif','.jpg') return: array of file_info instances |
count_non_empty_children($extensions = '*', $limit = 1) X-Ref |
Returns the number of children which are either files matching the specified extensions or folders containing at least one such file. We usually don't need the exact number of non empty children if it is >=2 (see param $limit) This function is used by repository_local to evaluate if the folder is empty. But it also can be used to check if folder has only one subfolder because in some cases this subfolder can be skipped. It is strongly recommended to overwrite this function so it uses a proper SQL query and does not create file_info objects (later might require a lot of time and memory usage on big sites). param: string|array $extensions, for example '*' or array('.gif','.jpg') param: int $limit stop counting after at least $limit non-empty children are found return: int |
get_params_rawencoded() X-Ref |
Returns array of url encoded params. return: array with numeric keys |
get_url($forcedownload=false, $https=false) X-Ref |
Returns file download url param: bool $forcedownload whether or not force download param: bool $https whether or not force https return: string url |
is_readable() X-Ref |
Whether or not I can read content of this file or enter directory return: bool |
is_writable() X-Ref |
Whether or not new files or directories can be added return: bool |
is_empty_area() X-Ref |
Is this info area and is it "empty"? Are there any files in subfolders? This is used mostly in repositories to reduce the number of empty folders. This method may be very slow, use with care. return: bool |
get_filesize() X-Ref |
Returns file size in bytes, null for directories return: int bytes or null if not known |
get_mimetype() X-Ref |
Returns mimetype return: string mimetype or null if not known |
get_timecreated() X-Ref |
Returns time created unix timestamp if known return: int timestamp or null |
get_timemodified() X-Ref |
Returns time modified unix timestamp if known return: int timestamp or null |
get_license() X-Ref |
Returns the license type of the file return: string license short name or null |
get_author() X-Ref |
Returns the author name of the file return: string author name or null |
get_source() X-Ref |
Returns the source of the file return: string a source url or null |
get_sortorder() X-Ref |
Returns the sort order of the file return: int |
is_external_file() X-Ref |
Whether or not this is a external resource return: bool |
get_status() X-Ref |
Returns file status flag. return: int 0 means file OK, anything else is a problem and file can not be used |
get_readable_fullname() X-Ref |
Returns the localised human-readable name of the file together with virtual path return: string |
create_directory($newdirname, $userid = NULL) X-Ref |
Create new directory, may throw exception - make sure params are valid. param: string $newdirname name of new directory param: int $userid id of author, default $USER->id return: file_info new directory |
create_file_from_string($newfilename, $content, $userid = NULL) X-Ref |
Create new file from string - make sure params are valid. param: string $newfilename name of new file param: string $content of file param: int $userid id of author, default $USER->id return: file_info new file |
create_file_from_pathname($newfilename, $pathname, $userid = NULL) X-Ref |
Create new file from pathname - make sure params are valid. param: string $newfilename name of new file param: string $pathname location of file param: int $userid id of author, default $USER->id return: file_info new file |
create_file_from_storedfile($newfilename, $fid, $userid = NULL) X-Ref |
Create new file from stored file - make sure params are valid. param: string $newfilename name of new file param: int|stored_file $fid id or stored_file of file param: int $userid id of author, default $USER->id return: file_info new file |
delete() X-Ref |
Delete file, make sure file is deletable first. return: bool success |
copy_to_storage($filerecord) X-Ref |
Copy content of this file to local storage, overriding current file if needed. param: array|stdClass $filerecord contains contextid, component, filearea, return: bool success |
copy_to_pathname($pathname) X-Ref |
Copy content of this file to local storage, overriding current file if needed. param: string $pathname real local full file name return: boolean success |