[ Index ] |
PHP Cross Reference of Unnamed Project |
[Source view] [Print] [Project Stats]
Core file storage class definition.
Copyright: | 2008 Petr Skoda {@link http://skodak.org} |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 2709 lines (110 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
file_storage:: (59 methods):
__construct()
get_pathname_hash()
file_exists()
file_exists_by_hash()
get_file_instance()
get_converted_document()
is_format_supported_by_unoconv()
can_convert_documents()
send_test_pdf()
test_unoconv_path()
create_converted_document()
get_file_preview()
get_unused_filename()
get_unused_dirname()
create_file_preview()
create_imagefile_preview()
get_file_by_id()
get_file_by_hash()
get_file()
is_area_empty()
get_external_files()
get_area_files()
get_area_tree()
sort_area_tree()
get_directory_files()
delete_area_files()
delete_area_files_select()
delete_component_files()
move_area_files_to_new_context()
create_directory()
create_file_from_storedfile()
create_file_from_url()
create_file_from_pathname()
create_file_from_string()
create_file_from_reference()
convert_image()
add_file_to_pool()
add_string_to_pool()
xsendfile()
content_exists()
path_from_hash()
trash_path_from_hash()
try_content_recovery()
deleted_file_cleanup()
pack_reference()
unpack_reference()
search_server_files()
search_references()
search_references_count()
get_references_by_storedfile()
get_references_count_by_storedfile()
update_references_to_storedfile()
import_external_file()
mimetype()
cron()
instance_sql_fields()
get_or_create_referencefileid()
get_referencefileid()
update_references()
Class: file_storage - X-Ref
File storage class used for low level access to stored files.__construct($filedir, $trashdir, $tempdir, $dirpermissions, $filepermissions) X-Ref |
Constructor - do not use directly use {@link get_file_storage()} call instead. param: string $filedir full path to pool directory param: string $trashdir temporary storage of deleted area param: string $tempdir temporary storage of various files param: int $dirpermissions new directory permissions param: int $filepermissions new file permissions |
get_pathname_hash($contextid, $component, $filearea, $itemid, $filepath, $filename) X-Ref |
Calculates sha1 hash of unique full path name information. This hash is a unique file identifier - it is used to improve performance and overcome db index size limits. param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID param: string $filepath file path param: string $filename file name return: string sha1 hash |
file_exists($contextid, $component, $filearea, $itemid, $filepath, $filename) X-Ref |
Does this file exist? param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID param: string $filepath file path param: string $filename file name return: bool |
file_exists_by_hash($pathnamehash) X-Ref |
Whether or not the file exist param: string $pathnamehash path name hash return: bool |
get_file_instance(stdClass $filerecord) X-Ref |
Create instance of file class from database record. param: stdClass $filerecord record from the files table left join files_reference table return: stored_file instance of file abstraction class |
get_converted_document(stored_file $file, $format) X-Ref |
Get converted document. Get an alternate version of the specified document, if it is possible to convert. param: stored_file $file the file we want to preview param: string $format The desired format - e.g. 'pdf'. Formats are specified by file extension. return: stored_file|bool false if unable to create the conversion, stored file otherwise |
is_format_supported_by_unoconv($format) X-Ref |
Verify the format is supported. param: string $format The desired format - e.g. 'pdf'. Formats are specified by file extension. return: bool - True if the format is supported for input. |
can_convert_documents() X-Ref |
Check if the installed version of unoconv is supported. return: bool true if the present version is supported, false otherwise. |
send_test_pdf() X-Ref |
If the test pdf has been generated correctly and send it direct to the browser. |
test_unoconv_path() X-Ref |
Check if unoconv configured path is correct and working. return: \stdClass an object with the test status and the UNOCONVPATH_ constant message. |
create_converted_document(stored_file $file, $format) X-Ref |
Perform a file format conversion on the specified document. param: stored_file $file the file we want to preview param: string $format The desired format - e.g. 'pdf'. Formats are specified by file extension. return: stored_file|bool false if unable to create the conversion, stored file otherwise |
get_file_preview(stored_file $file, $mode) X-Ref |
Returns an image file that represent the given stored file as a preview At the moment, only GIF, JPEG and PNG files are supported to have previews. In the future, the support for other mimetypes can be added, too (eg. generate an image preview of PDF, text documents etc). param: stored_file $file the file we want to preview param: string $mode preview mode, eg. 'thumb' return: stored_file|bool false if unable to create the preview, stored file otherwise |
get_unused_filename($contextid, $component, $filearea, $itemid, $filepath, $filename) X-Ref |
Return an available file name. This will return the next available file name in the area, adding/incrementing a suffix of the file, ie: file.txt > file (1).txt > file (2).txt > etc... If the file name passed is available without modification, it is returned as is. param: int $contextid context ID. param: string $component component. param: string $filearea file area. param: int $itemid area item ID. param: string $filepath the file path. param: string $filename the file name. return: string available file name. |
get_unused_dirname($contextid, $component, $filearea, $itemid, $suggestedpath) X-Ref |
Return an available directory name. This will return the next available directory name in the area, adding/incrementing a suffix of the last portion of path, ie: /path/ > /path (1)/ > /path (2)/ > etc... If the file path passed is available without modification, it is returned as is. param: int $contextid context ID. param: string $component component. param: string $filearea file area. param: int $itemid area item ID. param: string $suggestedpath the suggested file path. return: string available file path |
create_file_preview(stored_file $file, $mode) X-Ref |
Generates a preview image for the stored file param: stored_file $file the file we want to preview param: string $mode preview mode, eg. 'thumb' return: stored_file|bool the newly created preview file or false |
create_imagefile_preview(stored_file $file, $mode) X-Ref |
Generates a preview for the stored image file param: stored_file $file the image we want to preview param: string $mode preview mode, eg. 'thumb' return: string|bool false if a problem occurs, the thumbnail image data otherwise |
get_file_by_id($fileid) X-Ref |
Fetch file using local file id. Please do not rely on file ids, it is usually easier to use pathname hashes instead. param: int $fileid file ID return: stored_file|bool stored_file instance if exists, false if not |
get_file_by_hash($pathnamehash) X-Ref |
Fetch file using local file full pathname hash param: string $pathnamehash path name hash return: stored_file|bool stored_file instance if exists, false if not |
get_file($contextid, $component, $filearea, $itemid, $filepath, $filename) X-Ref |
Fetch locally stored file. param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID param: string $filepath file path param: string $filename file name return: stored_file|bool stored_file instance if exists, false if not |
is_area_empty($contextid, $component, $filearea, $itemid = false, $ignoredirs = true) X-Ref |
Are there any files (or directories) param: int $contextid context ID param: string $component component param: string $filearea file area param: bool|int $itemid item id or false if all items param: bool $ignoredirs whether or not ignore directories return: bool empty |
get_external_files($repositoryid, $sort = '') X-Ref |
Returns all files belonging to given repository param: int $repositoryid param: string $sort A fragment of SQL to use for sorting |
get_area_files($contextid, $component, $filearea, $itemid = false, $sort = "itemid, filepath, filename", $includedirs = true) X-Ref |
Returns all area files (optionally limited by itemid) param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID or all files if not specified param: string $sort A fragment of SQL to use for sorting param: bool $includedirs whether or not include directories return: stored_file[] array of stored_files indexed by pathanmehash |
get_area_tree($contextid, $component, $filearea, $itemid) X-Ref |
Returns array based tree structure of area files param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID return: array each dir represented by dirname, subdirs, files and dirfile array elements |
sort_area_tree($tree) X-Ref |
Sorts the result of {@link file_storage::get_area_tree()}. param: array $tree Array of results provided by {@link file_storage::get_area_tree()} return: array of sorted results |
get_directory_files($contextid, $component, $filearea, $itemid, $filepath, $recursive = false, $includedirs = true, $sort = "filepath, filename") X-Ref |
Returns all files and optionally directories param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID param: int $filepath directory path param: bool $recursive include all subdirectories param: bool $includedirs include files and directories param: string $sort A fragment of SQL to use for sorting return: array of stored_files indexed by pathanmehash |
delete_area_files($contextid, $component = false, $filearea = false, $itemid = false) X-Ref |
Delete all area files (optionally limited by itemid). param: int $contextid context ID param: string $component component param: string $filearea file area or all areas in context if not specified param: int $itemid item ID or all files if not specified return: bool success |
delete_area_files_select($contextid, $component,$filearea, $itemidstest, array $params = null) X-Ref |
Delete all the files from certain areas where itemid is limited by an arbitrary bit of SQL. param: int $contextid the id of the context the files belong to. Must be given. param: string $component the owning component. Must be given. param: string $filearea the file area name. Must be given. param: string $itemidstest an SQL fragment that the itemid must match. Used param: array $params any query params used by $itemidstest. |
delete_component_files($component) X-Ref |
Delete all files associated with the given component. param: string $component the component owning the file |
move_area_files_to_new_context($oldcontextid, $newcontextid, $component, $filearea, $itemid = false) X-Ref |
Move all the files in a file area from one context to another. param: int $oldcontextid the context the files are being moved from. param: int $newcontextid the context the files are being moved to. param: string $component the plugin that these files belong to. param: string $filearea the name of the file area. param: int $itemid file item ID return: int the number of files moved, for information. |
create_directory($contextid, $component, $filearea, $itemid, $filepath, $userid = null) X-Ref |
Recursively creates directory. param: int $contextid context ID param: string $component component param: string $filearea file area param: int $itemid item ID param: string $filepath file path param: int $userid the user ID return: bool success |
create_file_from_storedfile($filerecord, $fileorid) X-Ref |
Add new local file based on existing local file. param: stdClass|array $filerecord object or array describing changes param: stored_file|int $fileorid id or stored_file instance of the existing local file return: stored_file instance of newly created file |
create_file_from_url($filerecord, $url, array $options = null, $usetempfile = false) X-Ref |
Add new local file. param: stdClass|array $filerecord object or array describing file param: string $url the URL to the file param: array $options {@link download_file_content()} options param: bool $usetempfile use temporary file for download, may prevent out of memory problems return: stored_file |
create_file_from_pathname($filerecord, $pathname) X-Ref |
Add new local file. param: stdClass|array $filerecord object or array describing file param: string $pathname path to file or content of file return: stored_file |
create_file_from_string($filerecord, $content) X-Ref |
Add new local file. param: stdClass|array $filerecord object or array describing file param: string $content content of file return: stored_file |
create_file_from_reference($filerecord, $repositoryid, $reference, $options = array() X-Ref |
Create a new alias/shortcut file from file reference information param: stdClass|array $filerecord object or array describing the new file param: int $repositoryid the id of the repository that provides the original file param: string $reference the information required by the repository to locate the original file param: array $options options for creating the new file return: stored_file |
convert_image($filerecord, $fid, $newwidth = null, $newheight = null, $keepaspectratio = true, $quality = null) X-Ref |
Creates new image file from existing. param: stdClass|array $filerecord object or array describing new file param: int|stored_file $fid file id or stored file object param: int $newwidth in pixels param: int $newheight in pixels param: bool $keepaspectratio whether or not keep aspect ratio param: int $quality depending on image type 0-100 for jpeg, 0-9 (0 means no compression) for png return: stored_file |
add_file_to_pool($pathname, $contenthash = NULL) X-Ref |
Add file content to sha1 pool. param: string $pathname path to file param: string $contenthash sha1 hash of content if known (performance only) return: array (contenthash, filesize, newfile) |
add_string_to_pool($content) X-Ref |
Add string content to sha1 pool. param: string $content file content - binary string return: array (contenthash, filesize, newfile) |
xsendfile($contenthash) X-Ref |
Serve file content using X-Sendfile header. Please make sure that all headers are already sent and the all access control checks passed. param: string $contenthash sah1 hash of the file content to be served return: bool success |
content_exists($contenthash) X-Ref |
Content exists param: string $contenthash return: bool |
path_from_hash($contenthash) X-Ref |
Return path to file with given hash. NOTE: must not be public, files in pool must not be modified param: string $contenthash content hash return: string expected file location |
trash_path_from_hash($contenthash) X-Ref |
Return path to file with given hash. NOTE: must not be public, files in pool must not be modified param: string $contenthash content hash return: string expected file location |
try_content_recovery($file) X-Ref |
Tries to recover missing content of file from trash. param: stored_file $file stored_file instance return: bool success |
deleted_file_cleanup($contenthash) X-Ref |
Marks pool file as candidate for deleting. DO NOT call directly - reserved for core!! param: string $contenthash |
pack_reference($params) X-Ref |
When user referring to a moodle file, we build the reference field param: array $params return: string |
unpack_reference($str, $cleanparams = false) X-Ref |
Unpack reference field param: string $str param: bool $cleanparams if set to true, array elements will be passed through {@link clean_param()} return: array |
search_server_files($query, $from = 0, $limit = 20, $count = false) X-Ref |
Search through the server files. The query parameter will be used in conjuction with the SQL directive LIKE, so include '%' in it if you need to. This search will always ignore user files and directories. Note that the search is case insensitive. This query can quickly become inefficient so use it sparignly. param: string $query The string used with SQL LIKE. param: integer $from The offset to start the search at. param: integer $limit The maximum number of results. param: boolean $count When true this methods returns the number of results availabe, return: int|array Integer when count, otherwise array of stored_file objects. |
search_references($reference) X-Ref |
Returns all aliases that refer to some stored_file via the given reference All repositories that provide access to a stored_file are expected to use {@link self::pack_reference()}. This method can't be used if the given reference does not use this format or if you are looking for references to an external file (for example it can't be used to search for all aliases that refer to a given Dropbox or Box.net file). Aliases in user draft areas are excluded from the returned list. param: string $reference identification of the referenced file return: array of stored_file indexed by its pathnamehash |
search_references_count($reference) X-Ref |
Returns the number of aliases that refer to some stored_file via the given reference All repositories that provide access to a stored_file are expected to use {@link self::pack_reference()}. This method can't be used if the given reference does not use this format or if you are looking for references to an external file (for example it can't be used to count aliases that refer to a given Dropbox or Box.net file). Aliases in user draft areas are not counted. param: string $reference identification of the referenced file return: int |
get_references_by_storedfile(stored_file $storedfile) X-Ref |
Returns all aliases that link to the given stored_file Aliases in user draft areas are excluded from the returned list. param: stored_file $storedfile return: array of stored_file |
get_references_count_by_storedfile(stored_file $storedfile) X-Ref |
Returns the number of aliases that link to the given stored_file Aliases in user draft areas are not counted. param: stored_file $storedfile return: int |
update_references_to_storedfile(stored_file $storedfile) X-Ref |
Updates all files that are referencing this file with the new contenthash and filesize param: stored_file $storedfile |
import_external_file(stored_file $storedfile, $maxbytes = 0) X-Ref |
Convert file alias to local file param: stored_file $storedfile a stored_file instances param: int $maxbytes throw an exception if file size is bigger than $maxbytes (0 means no limit) return: stored_file stored_file |
mimetype($pathname, $filename = null) X-Ref |
Return mimetype by given file pathname If file has a known extension, we return the mimetype based on extension. Otherwise (when possible) we try to get the mimetype from file contents. param: string $pathname full path to the file param: string $filename correct file name with extension, if omitted will be taken from $path return: string |
cron() X-Ref |
Cron cleanup job. |
instance_sql_fields($filesprefix, $filesreferenceprefix) X-Ref |
Get the sql formated fields for a file instance to be created from a {files} and {files_refernece} join. param: string $filesprefix the table prefix for the {files} table param: string $filesreferenceprefix the table prefix for the {files_reference} table return: string the sql to go after a SELECT |
get_or_create_referencefileid($repositoryid, $reference, $lastsync = null, $lifetime = null) X-Ref |
Returns the id of the record in {files_reference} that matches the passed repositoryid and reference If the record already exists, its id is returned. If there is no such record yet, new one is created (using the lastsync provided, too) and its id is returned. param: int $repositoryid param: string $reference param: int $lastsync param: int $lifetime argument not used any more return: int |
get_referencefileid($repositoryid, $reference, $strictness) X-Ref |
Returns the id of the record in {files_reference} that matches the passed parameters Depending on the required strictness, false can be returned. The behaviour is consistent with standard DML methods. param: int $repositoryid param: string $reference param: int $strictness either {@link IGNORE_MISSING}, {@link IGNORE_MULTIPLE} or {@link MUST_EXIST} return: int|bool |
update_references($referencefileid, $lastsync, $lifetime, $contenthash, $filesize, $status, $timemodified = null) X-Ref |
Updates a reference to the external resource and all files that use it This function is called after synchronisation of an external file and updates the contenthash, filesize and status of all files that reference this external file as well as time last synchronised. param: int $referencefileid param: int $lastsync param: int $lifetime argument not used any more, liefetime is returned by repository param: string $contenthash param: int $filesize param: int $status 0 if ok or 666 if source is missing param: int $timemodified last time modified of the source, if known |
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |