Elgg  Version 3.0
Public Member Functions | Protected Member Functions | List of all members
ElggFile Class Reference
Inheritance diagram for ElggFile:
ElggObject ElggEntity ElggData Locatable Elgg\EntityIcon Elgg\Collections\CollectionItemInterface ElggIcon ElggTempFile

Public Member Functions

 setFilename ($name)
 Set the filename of this file. More...
 
 getFilename ()
 Return the filename. More...
 
 getFilenameOnFilestore ()
 Return the filename of this file as it is/will be stored on the filestore, which may be different to the filename. More...
 
 getFilestoreSize ($prefix= '', $container_guid=0)
 Return the size of the filestore associated with this file. More...
 
 getMimeType ()
 Get the mime type of the file. More...
 
 setMimeType ($mimetype)
 Set the mime type of the file. More...
 
 detectMimeType ($file=null, $default=null)
 Detects mime types based on filename or actual file. More...
 
 getSimpleType ()
 Get the simple type of the file. More...
 
 setDescription ($description)
 Set the optional file description. More...
 
 open ($mode)
 Open the file with the given mode. More...
 
 write ($data)
 Write data. More...
 
 read ($length, $offset=0)
 Read data. More...
 
 grabFile ()
 Gets the full contents of this file. More...
 
 close ()
 Close the file and commit changes. More...
 
 delete ($follow_symlinks=true)
 Delete this file. More...
 
 seek ($position)
 Seek a position in the file. More...
 
 tell ()
 Return the current position of the file. More...
 
 setModifiedTime ()
 Updates modification time of the file and clears stats cache for the file. More...
 
 getModifiedTime ()
 Returns file modification time. More...
 
 getSize ()
 Return the size of the file in bytes. More...
 
 eof ()
 Return a boolean value whether the file handle is at the end of the file. More...
 
 exists ()
 Returns if the file exists. More...
 
 transfer ($owner_guid, $filename=null)
 Transfer a file to a new owner and sets a new filename, copies file contents to a new location. More...
 
 acceptUploadedFile (UploadedFile $upload)
 Writes contents of the uploaded file to an instance of ElggFile. More...
 
 __sleep ()
 Get property names to serialize. More...
 
 canDownload ($user_guid=0, $default=true)
 Checks the download permissions for the file. More...
 
 getDownloadURL ($use_cookie=true, $expires= '+2 hours')
 Returns file's download URL. More...
 
 getInlineURL ($use_cookie=false, $expires= '')
 Returns file's URL for inline display Suitable for displaying cacheable resources, such as user avatars. More...
 
- Public Member Functions inherited from ElggObject
 getType ()
 {} More...
 
 getDisplayName ()
 {} More...
 
 setDisplayName ($display_name)
 {} More...
 
 canComment ($user_guid=0, $default=null)
 Can a user comment on this object? More...
 
- Public Member Functions inherited from ElggEntity
 __construct (stdClass $row=null)
 Create a new entity. More...
 
 __clone ()
 Clone an entity. More...
 
 __set ($name, $value)
 Set an attribute or metadata value for this entity. More...
 
 getOriginalAttributes ()
 Get the original values of attribute(s) that have been modified since the entity was persisted. More...
 
 __get ($name)
 Get an attribute or metadata value. More...
 
 getDisplayName ()
 Get the entity's display name. More...
 
 setDisplayName ($display_name)
 Sets the title or name of this entity. More...
 
 getMetadata ($name)
 Return the value of a piece of metadata. More...
 
 getAllMetadata ()
 Get all entity metadata. More...
 
 setMetadata ($name, $value, $value_type= '', $multiple=false)
 Set metadata on this entity. More...
 
 deleteMetadata ($name=null)
 Deletes all metadata on this object (metadata.entity_guid = $this->guid). More...
 
 getVolatileData ($name)
 Get a piece of volatile (non-persisted) data on this entity. More...
 
 setVolatileData ($name, $value)
 Set a piece of volatile (non-persisted) data on this entity. More...
 
 deleteRelationships ($relationship=null)
 Remove all relationships to and from this entity. More...
 
 addRelationship ($guid_two, $relationship)
 Add a relationship between this an another entity. More...
 
 removeRelationship ($guid_two, $relationship)
 Remove a relationship. More...
 
 setPrivateSetting ($name, $value)
 Adds a private setting to this entity. More...
 
 getPrivateSetting ($name)
 Returns a private setting value. More...
 
 getAllPrivateSettings ()
 Returns all private settings. More...
 
 removePrivateSetting ($name)
 Removes private setting. More...
 
 removeAllPrivateSettings ()
 Removes all private settings. More...
 
 removeAllRelatedRiverItems ()
 Removes all river items related to this entity. More...
 
 deleteAnnotations ($name=null)
 Deletes all annotations on this object (annotations.entity_guid = $this->guid). More...
 
 deleteOwnedAnnotations ($name=null)
 Deletes all annotations owned by this object (annotations.owner_guid = $this->guid). More...
 
 disableAnnotations ($name= '')
 Disables annotations for this entity, optionally based on name. More...
 
 enableAnnotations ($name= '')
 Enables annotations for this entity, optionally based on name. More...
 
 annotate ($name, $value, $access_id=ACCESS_PRIVATE, $owner_guid=0, $value_type="")
 Adds an annotation to an entity. More...
 
 getAnnotations (array $options=[])
 Gets an array of annotations. More...
 
 countAnnotations ($name="")
 Count annotations. More...
 
 getAnnotationsAvg ($name)
 Get the average of an integer type annotation. More...
 
 getAnnotationsSum ($name)
 Get the sum of integer type annotations of a given name. More...
 
 getAnnotationsMin ($name)
 Get the minimum of integer type annotations of given name. More...
 
 getAnnotationsMax ($name)
 Get the maximum of integer type annotations of a given name. More...
 
 countComments ()
 Count the number of comments attached to this entity. More...
 
 getOwnedAccessCollections ($options=[])
 Returns the ACLs owned by the entity. More...
 
 getOwnedAccessCollection ($subtype)
 Returns the first ACL owned by the entity with a given subtype. More...
 
 getEntitiesFromRelationship (array $options=[])
 Gets an array of entities with a relationship to this entity. More...
 
 countEntitiesFromRelationship ($relationship, $inverse_relationship=false)
 Gets the number of entities from a specific relationship type. More...
 
 canEdit ($user_guid=0)
 Can a user edit this entity? More...
 
 canDelete ($user_guid=0)
 Can a user delete this entity? More...
 
 canEditMetadata ($metadata=null, $user_guid=0)
 Can a user edit metadata on this entity? More...
 
 canWriteToContainer ($user_guid=0, $type= 'all', $subtype= 'all')
 Can a user add an entity to this container. More...
 
 canComment ($user_guid=0, $default=null)
 Can a user comment on an entity? More...
 
 canAnnotate ($user_guid=0, $annotation_name= '')
 Can a user annotate an entity? More...
 
 getAccessID ()
 Returns the access_id. More...
 
 getGUID ()
 Returns the guid. More...
 
 getType ()
 Returns the entity type. More...
 
 getSubtype ()
 Get the entity subtype. More...
 
 getOwnerGUID ()
 Get the guid of the entity's owner. More...
 
 getOwnerEntity ()
 Gets the that owns this entity. More...
 
 setContainerGUID ($container_guid)
 Set the container for this object. More...
 
 getContainerGUID ()
 Gets the container GUID for this entity. More...
 
 getContainerEntity ()
 Get the container entity for this object. More...
 
 getTimeUpdated ()
 Returns the UNIX epoch time that this entity was last updated. More...
 
 getURL ()
 Gets the URL for this entity. More...
 
 saveIconFromUploadedFile ($input_name, $type= 'icon', array $coords=[])
 Saves icons using an uploaded file as the source. More...
 
 saveIconFromLocalFile ($filename, $type= 'icon', array $coords=[])
 Saves icons using a local file as the source. More...
 
 saveIconFromElggFile (\ElggFile $file, $type= 'icon', array $coords=[])
 Saves icons using a file located in the data store as the source. More...
 
 getIcon ($size, $type= 'icon')
 Returns entity icon as an ElggIcon object The icon file may or may not exist on filestore. More...
 
 deleteIcon ($type= 'icon')
 Removes all icon files and metadata for the passed type of icon. More...
 
 getIconLastChange ($size, $type= 'icon')
 Returns the timestamp of when the icon was changed. More...
 
 hasIcon ($size, $type= 'icon')
 Returns if the entity has an icon of the passed type. More...
 
 getIconURL ($params=[])
 Get the URL for this entity's icon. More...
 
 save ()
 Save an entity. More...
 
 refresh (stdClass $row)
 Load new data from database into existing entity. More...
 
 disable ($reason="", $recursive=true)
 Disable this entity. More...
 
 enable ($recursive=true)
 Enable the entity. More...
 
 isEnabled ()
 Is this entity enabled? More...
 
 delete ($recursive=true)
 Deletes the entity. More...
 
 toObject (array $params=[])
 Export an entity. More...
 
 getLocation ()
 Gets the 'location' metadata for the entity. More...
 
 setLocation ($location)
 Sets the 'location' metadata for the entity. More...
 
 setLatLong ($lat, $long)
 Set latitude and longitude metadata tags for a given entity. More...
 
 getLatitude ()
 Return the entity's latitude. More...
 
 getLongitude ()
 Return the entity's longitude. More...
 
 getSystemLogID ()
 Return an identification for the object for storage in the system log. More...
 
 getObjectFromID ($id)
 For a given ID, return the object associated with it. More...
 
 getTags ($tag_names=null)
 Returns tags for this entity. More...
 
 deleteAccessCollectionMemberships ()
 Remove the membership of all access collections for this entity (if the entity is a user) More...
 
 deleteOwnedAccessCollections ()
 Remove all access collections owned by this entity. More...
 
 updateLastAction ($posted=null)
 Update the last_action column in the entities table. More...
 
 disableCaching ()
 Disable runtime caching for entity. More...
 
 enableCaching ()
 Enable runtime caching for entity. More...
 
 isCacheable ()
 Is entity cacheable in the runtime cache. More...
 
 cache ($persist=true)
 Cache the entity in a session and persisted caches. More...
 
 invalidateCache ()
 Invalidate cache for entity. More...
 
- Public Member Functions inherited from ElggData
 __isset ($name)
 Test if property is set either as an attribute or metadata. More...
 
 __unset ($name)
 Unset a property from metadata or attribute. More...
 
 getURL ()
 Get a URL for this object. More...
 
 save ()
 Save this data to the appropriate database table. More...
 
 delete ()
 Delete this data. More...
 
 getTimeCreated ()
 Returns the UNIX epoch time that this entity was created. More...
 
 toObject (array $params=[])
 Get a plain old object copy for public consumption. More...
 
 rewind ()
 Iterator interface. More...
 
 current ()
 Iterator interface. More...
 
 key ()
 Iterator interface. More...
 
 next ()
 Iterator interface. More...
 
 valid ()
 Iterator interface. More...
 
 offsetSet ($key, $value)
 Array access interface. More...
 
 offsetGet ($key)
 Array access interface. More...
 
 offsetUnset ($key)
 Array access interface. More...
 
 offsetExists ($offset)
 Array access interface. More...
 
 getId ()
 {Get unique item identifier within a collection.
Returns
string|int
} More...
 
 getPriority ()
 {Get priority (weight) of the item within a collection.
Returns
int
} More...
 
 serialize ()
 {} More...
 
 unserialize ($serialized)
 {} More...
 

Protected Member Functions

 initializeAttributes ()
 Set subtype to 'file'. More...
 
 getFilestore ()
 Return the system filestore based on dataroot. More...
 
- Protected Member Functions inherited from ElggObject
 prepareObject (\Elgg\Export\Entity $object)
 {} More...
 
- Protected Member Functions inherited from ElggEntity
 initializeAttributes ()
 Initialize the attributes array. More...
 
 setTempMetadata ($name, $value, $multiple=false)
 Set temp metadata on this entity. More...
 
 create ()
 Create a new entry in the entities table. More...
 
 update ()
 Update the entity in the database. More...
 
 load (stdClass $row)
 Loads attributes from the entities table into the object. More...
 
 prepareObject (\Elgg\Export\Entity $object)
 Prepare an object copy for toObject() More...
 
- Protected Member Functions inherited from ElggData
 initializeAttributes ()
 Initialize the attributes array. More...
 
 getDatabase ()
 Provides a pointer to the database object. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ElggEntity
static $primary_attr_names
 
- Protected Attributes inherited from ElggEntity
 $temp_metadata = []
 
 $temp_annotations = []
 
 $temp_private_settings = []
 
 $volatile = []
 
 $orig_attributes = []
 
 $_is_cacheable = true
 
 $_cached_metadata
 
- Protected Attributes inherited from ElggData
 $attributes = []
 The main attributes of an entity. More...
 
 $valid = false
 
- Static Protected Attributes inherited from ElggEntity
static $integer_attr_names
 

Detailed Description

Definition at line 32 of file ElggFile.php.

Member Function Documentation

ElggFile::__sleep ( )

Get property names to serialize.

Returns
string[]

Definition at line 469 of file ElggFile.php.

ElggFile::acceptUploadedFile ( UploadedFile  $upload)

Writes contents of the uploaded file to an instance of ElggFile.

Note
Note that this function moves the file and populates properties, but does not call ElggFile::save().
This method will automatically assign a filename on filestore based on the upload time and filename. By default, the file will be written to /file directory on owner's filestore. You can change this directory, by setting 'filestore_prefix' property of the ElggFile instance before calling this method.
Parameters
UploadedFile$uploadUploaded file object
Returns
bool

Definition at line 410 of file ElggFile.php.

ElggFile::canDownload (   $user_guid = 0,
  $default = true 
)

Checks the download permissions for the file.

Parameters
int$user_guidGUID of the user (defaults to logged in user)
bool$defaultDefault permission
Returns
bool

Definition at line 484 of file ElggFile.php.

ElggFile::close ( )

Close the file and commit changes.

Returns
bool

Definition at line 255 of file ElggFile.php.

ElggFile::delete (   $follow_symlinks = true)

Delete this file.

Parameters
bool$follow_symlinksIf true, will also delete the target file if the current file is a symlink
Returns
bool

Definition at line 271 of file ElggFile.php.

ElggFile::detectMimeType (   $file = null,
  $default = null 
)

Detects mime types based on filename or actual file.

Note
This method can be called both dynamically and statically
Parameters
mixed$fileThe full path of the file to check. For uploaded files, use tmp_name.
mixed$defaultA default. Useful to pass what the browser thinks it is.
Since
1.7.12
Returns
mixed Detected type on success, false on failure.

Definition at line 133 of file ElggFile.php.

ElggFile::eof ( )

Return a boolean value whether the file handle is at the end of the file.

Returns
bool

Definition at line 340 of file ElggFile.php.

ElggFile::exists ( )

Returns if the file exists.

Returns
bool

Definition at line 349 of file ElggFile.php.

ElggFile::getDownloadURL (   $use_cookie = true,
  $expires = '+2 hours' 
)

Returns file's download URL.

Note
This does not work for files with custom filestores.
Parameters
bool$use_cookieLimit URL validity to current session only
string$expiresURL expiration, as a string suitable for strtotime()
Returns
string

Definition at line 498 of file ElggFile.php.

ElggFile::getFilename ( )

Return the filename.

Returns
string

Definition at line 67 of file ElggFile.php.

ElggFile::getFilenameOnFilestore ( )

Return the filename of this file as it is/will be stored on the filestore, which may be different to the filename.

Returns
string

Definition at line 77 of file ElggFile.php.

ElggFile::getFilestore ( )
protected

Return the system filestore based on dataroot.

Returns

Definition at line 358 of file ElggFile.php.

ElggFile::getFilestoreSize (   $prefix = '',
  $container_guid = 0 
)

Return the size of the filestore associated with this file.

Parameters
string$prefixStorage prefix
int$container_guidThe container GUID of the checked filestore
Returns
int

Definition at line 89 of file ElggFile.php.

ElggFile::getInlineURL (   $use_cookie = false,
  $expires = '' 
)

Returns file's URL for inline display Suitable for displaying cacheable resources, such as user avatars.

Note
This does not work for files with custom filestores.
Parameters
bool$use_cookieLimit URL validity to current session only
string$expiresURL expiration, as a string suitable for strtotime()
Returns
string

Definition at line 525 of file ElggFile.php.

ElggFile::getMimeType ( )

Get the mime type of the file.

Returns mimetype metadata value if set, otherwise attempts to detect it.

Returns
string|false

Definition at line 103 of file ElggFile.php.

ElggFile::getModifiedTime ( )

Returns file modification time.

Returns
int

Definition at line 321 of file ElggFile.php.

ElggFile::getSimpleType ( )

Get the simple type of the file.

Returns simpletype metadata value if set, otherwise parses it from mimetype

See also
elgg_get_file_simple_type()
Returns
string 'document', 'audio', 'video', or 'general' if the MIME type was unrecognized

Definition at line 166 of file ElggFile.php.

ElggFile::getSize ( )

Return the size of the file in bytes.

Returns
int
Since
1.9

Definition at line 331 of file ElggFile.php.

ElggFile::grabFile ( )

Gets the full contents of this file.

Returns
false|string The file contents.

Definition at line 246 of file ElggFile.php.

ElggFile::initializeAttributes ( )
protected

Set subtype to 'file'.

Returns
void

Definition at line 45 of file ElggFile.php.

ElggFile::open (   $mode)

Open the file with the given mode.

Parameters
string$modeEither read/write/append
Returns
false|resource File handler
Exceptions
IOException
InvalidParameterException

Definition at line 195 of file ElggFile.php.

ElggFile::read (   $length,
  $offset = 0 
)

Read data.

Parameters
int$lengthAmount to read.
int$offsetThe offset to start from.
Returns
mixed Data or false

Definition at line 237 of file ElggFile.php.

ElggFile::seek (   $position)

Seek a position in the file.

Parameters
int$positionPosition in bytes
Returns
void

Definition at line 288 of file ElggFile.php.

ElggFile::setDescription (   $description)

Set the optional file description.

Parameters
string$descriptionThe description.
Returns
bool

Definition at line 181 of file ElggFile.php.

ElggFile::setFilename (   $name)

Set the filename of this file.

Parameters
string$nameThe filename.
Returns
void

Definition at line 58 of file ElggFile.php.

ElggFile::setMimeType (   $mimetype)

Set the mime type of the file.

Parameters
string$mimetypeThe mimetype
Returns
string

Definition at line 117 of file ElggFile.php.

ElggFile::setModifiedTime ( )

Updates modification time of the file and clears stats cache for the file.

Returns
bool

Definition at line 306 of file ElggFile.php.

ElggFile::tell ( )

Return the current position of the file.

Returns
int The file position

Definition at line 298 of file ElggFile.php.

ElggFile::transfer (   $owner_guid,
  $filename = null 
)

Transfer a file to a new owner and sets a new filename, copies file contents to a new location.

This is an alternative to using rename() which fails to move files to a non-existent directory under new owner's filestore directory

Parameters
int$owner_guidNew owner's guid
string$filenameNew filename (uses old filename if not set)
Returns
bool

Definition at line 373 of file ElggFile.php.

ElggFile::write (   $data)

Write data.

Parameters
string$dataThe data
Returns
false|int

Definition at line 225 of file ElggFile.php.


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