Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Utility class for browsing of stored files.

Copyright: 2008 Petr Skoda (http://skodak.org)
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 698 lines (25 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: file_info_stored  - X-Ref

Represents an actual file or folder - a row in the file table in the tree navigated by {@link file_browser}.

__construct(file_browser $browser, $context, $storedfile, $urlbase, $topvisiblename, $itemidused, $readaccess, $writeaccess, $areaonly)   X-Ref
Constructor

param: file_browser $browser file browser instance
param: stdClass $context context object
param: stored_file|virtual_root_file $storedfile stored_file instance
param: string $urlbase the serving script - usually the $CFG->wwwroot/.'pluginfile.php'
param: string $topvisiblename the human readable name of this area
param: int|bool $itemidused false if itemid  always 0 and not included in URL
param: bool $readaccess allow file reading
param: bool $writeaccess allow file write, delete
param: string $areaonly do not show links to parent context/area

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

get_visible_name()   X-Ref
Returns localised visible name.

return: string

get_readable_fullname()   X-Ref
Returns the localised human-readable name of the file together with virtual path

return: string

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
Whether or not this is an empty area

return: bool

get_filesize()   X-Ref
Returns file size in bytes, null for directories

return: int bytes or null if not known

get_imageinfo()   X-Ref
Returns width, height and mimetype of the stored image, or false

return: array|false

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

is_directory()   X-Ref
Whether or not this is a directory

return: bool

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_children()   X-Ref
Returns list of children.

return: array of file_info instances

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.

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.

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_parent()   X-Ref
Returns parent file_info instance

return: file_info|null file_info instance or null for root

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|null new directory's file_info instance or null if failed

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|null new file's file_info instance or null if failed

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|null new file's file_info instance or null if failed

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 file id or stored_file of file
param: int $userid id of author, default $USER->id
return: file_info|null new file's file_info instance or null if failed

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: bool success