Version
class Version implements ObjectInterface (View source)
Represents a version of a file.
Traits
Constants
UT_REPLACE_FILE |
Update type: file replaced. |
UT_TITLE |
Update type: title updated. |
UT_DESCRIPTION |
Update type: description updated. |
UT_TAGS |
Update type: tags modified. |
UT_EXTENDED_ATTRIBUTE |
Update type: extended attributes changed. |
UT_CONTENTS |
Update type: contents changed. |
UT_RENAME |
Update type: file version renamed. |
Properties
protected File | $file | The associated File instance. |
|
protected int | $fvID | The progressive file version identifier. |
|
protected string | $fvFilename | The name of the file. |
|
protected string | $fvPrefix | The path prefix used to store the file in the file system. |
|
protected DateTime | $fvDateAdded | The date/time when the file version has been added. |
|
protected DateTime | $fvActivateDateTime | The date/time when the file version has been approved. |
|
protected bool | $fvIsApproved | Is this version the approved one for the associated file? |
|
protected int | $fvAuthorUID | The ID of the user that created the file version. |
|
protected int | $fvApproverUID | The ID of the user that approved the file version. |
|
protected int | $fvSize | The size (in bytes) of the file version. |
|
protected string|null | $fvTitle | The title of the file version. |
|
protected string|null | $fvDescription | The description of the file version. |
|
protected string|null | $fvExtension | The extension of the file version. |
|
protected string|null | $fvTags | The tags assigned to the file version (separated by a newline character - '\n'). |
|
protected int | $fvType | The type of the file version. |
|
protected bool | $fvHasListingThumbnail | Does this file version has a thumbnail to be used for file listing? |
|
protected bool | $fvHasDetailThumbnail | Does this file version has a thumbnail to be used used for details? |
|
int|null deprecated | $fvGenericType | ||
private ImageInterface|false|null | $imagineImage | The currently loaded Image instance. |
Methods
No description
No description
Sets the attribute of a user info object to the specified value, and saves it in the database.
Initialize the instance.
Normalize the tags separator, remove empty tags.
Get the ID of the associated file instance.
Get the ID of the associated file instance.
No description
Set the progressive file version identifier.
Get the progressive file version identifier.
Rename the file.
Update the filename and the path prefix of the file.
Set the name of the file.
Get the name of the file.
Get the path prefix used to store the file in the file system.
Get the date/time when the file version has been added.
Get the date/time when the file version has been activated (or NULL if the file version is not approved).
Mark this file version as approved (and disapprove all the other versions of the file).
Mark this file version as not approved.
Is this version the approved one for the associated file?
Get the ID of the user that created the file version.
Get the username of the user that created the file version (or "Unknown").
Get the ID of the user that approved the file version.
Get the username of the user that approved the file version (or "Unknown").
Get the file size of the file (in bytes).
Get the formatted file size.
Update the title of the file.
Get the title of the file version.
Update the description of the file.
Get the description of the file version.
Get the extension of the file version.
Update the tags associated to the file.
Get the tags assigned to the file version (as a list of strings).
Get the tags assigned to the file version (one tag per line - lines are separated by '\n').
Get the mime type of the file if known.
Get the type of the file.
Get the name of the file type.
Get the localized name of the file type.
Get the localized name of the generic category type.
Log updates to files.
Get an array containing human-readable descriptions of everything that happened to this file version.
Get the path to the file relative to the webroot (may not exist).
Get an URL that points to the file on disk (if not available, you'll get the result of the getDownloadURL method).
Get File Storage Location Configuration object of this file.
If the file storage location of this file has public URL or not.
Get an URL that can be used to download the file.
Get an URL that can be used to download the file (it will force the download of all file types, even if the browser can display them).
Get a Response instance that will force the browser to download the file, even if the browser can display it.
Get a Response instance that will allow the browser to download a file and possibly display it. This is specifically useful when the file is in a storage location outside of the webroot and therefore cannot be directly accessed.
Get a Response instance with configurable content disposition
Check if there is a viewer for the type of the file.
Check if there is an editor for the type of the file.
Duplicate the underlying file and assign its new position to this instance.
Delete this version of the file.
Get an abstract object to work with the actual file resource (note: this is NOT a concrete5 File object).
Update the contents of the file.
Get the contents of the file.
Rescan all the attributes of this file version.
Get the list of attributes associated to this file version.
Get an \Imagine\Image\ImageInterface representing the image.
Does the \Imagine\Image\ImageInterface instance have already been loaded?
Unload the loaded Image instance.
Create missing thumbnails (or re-create all the thumbnails).
Import an existing file as a thumbnail type version.
Get the list of all the thumbnails.
Get the HTML that renders the thumbnail for the details (a generic type icon if the thumbnail does not exist).
Get the HTML that renders the thumbnail for the file listing (a generic type icon if the thumbnail does not exist).
Move the thumbnail of a specific thumbnail type version to a new storage location.
Copy the thumbnail of a specific thumbnail type version from another file version (useful for instance when duplicating a file).
Get a representation of this Version instance that's easily serializable.
Save the instance changes.
Details
CategoryInterface
getObjectAttributeCategory()
No description
AttributeValueInterface|null
getAttributeValueObject(AttributeKeyInterface|string $ak, bool $createIfNotExists = false)
No description
getAttribute($ak, $mode = false)
No description
Value
getAttributeValue($ak)
No description
clearAttribute($ak, bool $doReindexImmediately = true)
No description
Value
setAttribute($ak, mixed $value, bool $doReindexImmediately = true)
Sets the attribute of a user info object to the specified value, and saves it in the database.
__construct()
Initialize the instance.
static Version
add(File $file, string $filename, string $prefix, array $data = [])
Add a new file version.
You should call refreshAttributes in order to update the size, extension, type and other attributes.
static string
cleanTags(string $tagsStr)
Normalize the tags separator, remove empty tags.
setFile(File $file)
Set the associated File instance.
File
getFile()
Get the associated File instance.
int
getFileID()
Get the ID of the associated file instance.
string
getFileUUID()
Get the ID of the associated file instance.
bool
hasFileUUID()
No description
setFileVersionID(int $fvID)
Set the progressive file version identifier.
int
getFileVersionID()
Get the progressive file version identifier.
rename(string $filename)
Rename the file.
updateFile(string $filename, string $prefix)
Update the filename and the path prefix of the file.
setFilename(string $filename)
Set the name of the file.
string
getFileName()
Get the name of the file.
string
getPrefix()
Get the path prefix used to store the file in the file system.
DateTime
getDateAdded()
Get the date/time when the file version has been added.
DateTime|null
getActivateDateTime()
Get the date/time when the file version has been activated (or NULL if the file version is not approved).
approve()
Mark this file version as approved (and disapprove all the other versions of the file).
The currently logged in user (if any) will be stored as the approver.
deny()
Mark this file version as not approved.
bool
isApproved()
Is this version the approved one for the associated file?
int
getAuthorUserID()
Get the ID of the user that created the file version.
string
getAuthorName()
Get the username of the user that created the file version (or "Unknown").
int
getApproverUserID()
Get the ID of the user that approved the file version.
string
getApproverName()
Get the username of the user that approved the file version (or "Unknown").
int
getFullSize()
Get the file size of the file (in bytes).
string
getSize()
Get the formatted file size.
updateTitle(string $title)
Update the title of the file.
null|string
getTitle()
Get the title of the file version.
updateDescription(string $descr)
Update the description of the file.
null|string
getDescription()
Get the description of the file version.
null|string
getExtension()
Get the extension of the file version.
updateTags(string $tags)
Update the tags associated to the file.
string[]
getTagsList()
Get the tags assigned to the file version (as a list of strings).
null|string
getTags()
Get the tags assigned to the file version (one tag per line - lines are separated by '\n').
string|false
getMimeType()
Get the mime type of the file if known.
Type
getTypeObject()
Get the type of the file.
string
getType()
Get the name of the file type.
string
getDisplayType()
Get the localized name of the file type.
string
getGenericTypeText($includeExtension = false)
Get the localized name of the generic category type.
logVersionUpdate(int $updateTypeID, int $updateTypeAttributeID = 0)
Log updates to files.
string[]
getVersionLogComments()
Get an array containing human-readable descriptions of everything that happened to this file version.
string|null
getRelativePath()
Get the path to the file relative to the webroot (may not exist).
Return NULL if the file storage location is invalid. If the storage location does not support relative paths, you'll get the URL to the file (or the download URL if the file is not directly accessible).
string|null
getURL()
Get an URL that points to the file on disk (if not available, you'll get the result of the getDownloadURL method).
Return NULL if the file storage location is invalid. If the file is not directly accessible, you'll get the download URL.
protected ConfigurationInterface|null
getFileStorageLocationConfiguration()
Get File Storage Location Configuration object of this file.
bool
hasPublicURL()
If the file storage location of this file has public URL or not.
URLInterface
getDownloadURL()
Get an URL that can be used to download the file.
This passes through the download_file single page.
URLInterface
getForceDownloadURL()
Get an URL that can be used to download the file (it will force the download of all file types, even if the browser can display them).
Response
buildForceDownloadResponse()
Get a Response instance that will force the browser to download the file, even if the browser can display it.
Response
buildNonpublicURLDownloadResponse()
Get a Response instance that will allow the browser to download a file and possibly display it. This is specifically useful when the file is in a storage location outside of the webroot and therefore cannot be directly accessed.
private Response
buildDownloadResponse($contentDisposition)
Get a Response instance with configurable content disposition
bool
canView()
Check if there is a viewer for the type of the file.
bool
canEdit()
Check if there is an editor for the type of the file.
Version
duplicate()
Create a new (unapproved) copy of this file version.
The new Version instance will have the current user as the author (if available), and a new version ID.
duplicateUnderlyingFile()
Duplicate the underlying file and assign its new position to this instance.
delete(bool $deleteFilesAndThumbnails = false)
Delete this version of the file.
File
getFileResource()
Get an abstract object to work with the actual file resource (note: this is NOT a concrete5 File object).
updateContents(string $contents, bool $rescanThumbnails = true)
Update the contents of the file.
string|null
getFileContents()
Get the contents of the file.
null|int
refreshAttributes(bool $rescanThumbnails = true)
Rescan all the attributes of this file version.
This will run any type-based import routines, and store those attributes, generate thumbnails, etc...
FileValue[]
getAttributes()
Get the list of attributes associated to this file version.
ImageInterface|null
getImagineImage()
Get an \Imagine\Image\ImageInterface representing the image.
bool
hasImagineImage()
Does the \Imagine\Image\ImageInterface instance have already been loaded?
releaseImagineImage()
Unload the loaded Image instance.
bool
refreshThumbnails(bool $deleteExistingThumbnails)
Create missing thumbnails (or re-create all the thumbnails).
generateThumbnail(Version $type)
Generate a thumbnail for a specific thumbnail type version.
importThumbnail(Version $version, string $path)
Import an existing file as a thumbnail type version.
string|null
getThumbnailURL(Version|string $type)
Get the URL of a thumbnail type.
If the thumbnail is smaller than the image (or if the file does not satisfy the Conditional Thumbnail criterias) you'll get the URL of the image itself.
Please remark that the path is resolved using the default core path resolver: avoid using this method when you have access to the resolver instance.
Thumbnail[]
getThumbnails()
Get the list of all the thumbnails.
string
getDetailThumbnailImage()
Get the HTML that renders the thumbnail for the details (a generic type icon if the thumbnail does not exist).
Return the thumbnail for an image or a generic type icon for a file.
string
getListingThumbnailImage()
Get the HTML that renders the thumbnail for the file listing (a generic type icon if the thumbnail does not exist).
deleteThumbnail(Version|string $type)
Delete the thumbnail for a specific thumbnail type version.
updateThumbnailStorageLocation(Version|string $type, StorageLocation $location)
Move the thumbnail of a specific thumbnail type version to a new storage location.
duplicateUnderlyingThumbnailFiles(Version|string $type, Version $source)
Copy the thumbnail of a specific thumbnail type version from another file version (useful for instance when duplicating a file).
stdClass
getJSONObject()
Get a representation of this Version instance that's easily serializable.
forceDownload()
deprecated
deprecated
No description
bool
hasThumbnail(int $level)
deprecated
deprecated
No description
bool
rescanThumbnails()
deprecated
deprecated
No description
protected
save(bool $flush = true)
Save the instance changes.