Elgg  Version 4.3
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ElggEntity Class Reference
Inheritance diagram for ElggEntity:
ElggData Elgg\EntityIcon Elgg\Collections\CollectionItemInterface ElggGroup ElggObject ElggSite ElggUser Represents ElggAdminNotice ElggComment ElggFile ElggPlugin ElggUpgrade ElggWidget ElggIcon ElggTempFile

Public Member Functions

 __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...
 
 addRelationship ($guid_two, $relationship)
 Add a relationship between this an another entity. More...
 
 hasRelationship (int $guid_two, string $relationship)
 Check if this entity has a relationship with another entity. More...
 
 getRelationship (int $guid_two, string $relationship)
 Return the relationship if this entity has a relationship with another entity. 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...
 
 removeRelationship ($guid_two, $relationship)
 Remove a relationship. More...
 
 removeAllRelationships (string $relationship=null, bool $inverse_relationship=false)
 Remove all relationships to or from this entity. More...
 
 deleteRelationships ($relationship=null)
 Remove all relationships to and from this entity. 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...
 
 hasAccess (int $user_guid=0)
 Check if the given user has access to this entity. More...
 
 canEdit ($user_guid=0)
 Can a user edit this entity? More...
 
 canDelete ($user_guid=0)
 Can a user delete this entity? More...
 
 canWriteToContainer ($user_guid=0, $type= '', $subtype= '')
 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...
 
 setSubtype (string $subtype)
 Set the subtype of the entity. 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 ()
 
 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...
 
 setLatLong (float $lat, float $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...
 
 hasCapability (string $capability)
 Checks a specific capability is enabled for the entity type/subtype. 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 ()
 Called during serialization. More...
 
 __unserialize (array $data)
 Called during unserialization. More...
 

Public Attributes

const PRIMARY_ATTR_NAMES
 

Protected Member Functions

 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...
 

Protected Attributes

const INTEGER_ATTR_NAMES
 
 $temp_metadata = []
 
 $temp_annotations = []
 
 $temp_private_settings = []
 
 $volatile = []
 
 $orig_attributes = []
 
 $_is_cacheable = true
 
 $_cached_metadata
 
- Protected Attributes inherited from ElggData
 $attributes = []
 
 $valid = false
 

Detailed Description

Definition at line 46 of file ElggEntity.php.

Constructor & Destructor Documentation

ElggEntity::__construct ( stdClass  $row = null)

Create a new entity.

Plugin developers should only use the constructor to create a new entity. To retrieve entities, use get_entity() and the elgg_get_entities* functions.

If no arguments are passed, it creates a new entity. If a database result is passed as a instance, it instantiates that entity.

Parameters
stdClass$rowDatabase row result. Default is null to create a new object.
Exceptions
IOExceptionIf cannot load remaining data from db

Definition at line 141 of file ElggEntity.php.

Member Function Documentation

ElggEntity::__clone ( )

Clone an entity.

Resets the guid so that the entity can be saved as a distinct entity from the original. Creation time will be set when this new entity is saved. The owner and container guids come from the original entity. The clone method copies metadata but does not copy annotations or private settings.

Returns
void

Definition at line 183 of file ElggEntity.php.

ElggEntity::__get (   $name)

Get an attribute or metadata value.

If the name matches an attribute, the attribute is returned. If metadata does not exist with that name, a null is returned.

This only returns an array if there are multiple values for a particular $name key.

Parameters
string$nameName of the attribute or metadata
Returns
mixed

Definition at line 305 of file ElggEntity.php.

ElggEntity::__set (   $name,
  $value 
)

Set an attribute or metadata value for this entity.

Anything that is not an attribute is saved as metadata.

Be advised that metadata values are cast to integer or string. You can save booleans, but they will be stored and returned as integers.

Parameters
string$nameName of the attribute or metadata
mixed$valueThe value to be set
Returns
void
Exceptions

Definition at line 235 of file ElggEntity.php.

ElggEntity::addRelationship (   $guid_two,
  $relationship 
)

Add a relationship between this an another entity.

Read the relationship like "This entity is a $relationship of $guid_two."

Parameters
int$guid_twoGUID of the target entity of the relationship
string$relationshipThe type of relationship
Returns
bool
Exceptions

Definition at line 557 of file ElggEntity.php.

ElggEntity::annotate (   $name,
  $value,
  $access_id = ACCESS_PRIVATE,
  $owner_guid = 0,
  $value_type = "" 
)

Adds an annotation to an entity.

Warning
By default, annotations are private.
Annotating an unsaved entity more than once with the same name will only save the last annotation.
Parameters
string$nameAnnotation name
mixed$valueAnnotation value
int$access_idAccess ID
int$owner_guidGUID of the annotation owner
string$value_typeThe type of annotation value
Returns
bool|int Returns int if an annotation is saved

Definition at line 909 of file ElggEntity.php.

ElggEntity::cache (   $persist = true)

Cache the entity in a session and persisted caches.

Parameters
bool$persistStore in persistent cache
Returns
void

Definition at line 2101 of file ElggEntity.php.

ElggEntity::canAnnotate (   $user_guid = 0,
  $annotation_name = '' 
)

Can a user annotate an entity?

Can be overridden by registering for the plugin hook [permissions_check:annotate:<name>, <entity type>="">] or [permissions_check:annotate, <entity type>="">]. The hooks are called in that order.

If you want logged out users to annotate an object, do not call canAnnotate(). It's easier than using the plugin hook.

Parameters
int$user_guidUser guid (default is logged in user)
string$annotation_nameThe name of the annotation (default is unspecified)
Returns
bool

Definition at line 1164 of file ElggEntity.php.

ElggEntity::canComment (   $user_guid = 0,
  $default = null 
)

Can a user comment on an entity?

Can be overridden by registering for the permissions_check:comment, <entity type>=""> plugin hook.

Parameters
int$user_guidUser guid (default is logged in user)
bool$defaultDefault permission
Returns
bool

Definition at line 1146 of file ElggEntity.php.

ElggEntity::canDelete (   $user_guid = 0)

Can a user delete this entity?

Can be overridden by registering for the permissions_check:delete plugin hook.

Parameters
int$user_guidThe user GUID, optionally (default: logged in user)
Returns
bool Whether this entity is deletable by the given user.
Since
1.11

Definition at line 1113 of file ElggEntity.php.

ElggEntity::canEdit (   $user_guid = 0)

Can a user edit this entity?

Can be overridden by registering for the permissions_check plugin hook.

Parameters
int$user_guidThe user GUID, optionally (default: logged in user)
Returns
bool Whether this entity is editable by the given user.

Definition at line 1099 of file ElggEntity.php.

ElggEntity::canWriteToContainer (   $user_guid = 0,
  $type = '',
  $subtype = '' 
)

Can a user add an entity to this container.

Parameters
int$user_guidThe GUID of the user creating the entity (0 for logged in user).
string$typeThe type of entity we're looking to write
string$subtypeThe subtype of the entity we're looking to write
Returns
bool
Exceptions

Definition at line 1127 of file ElggEntity.php.

ElggEntity::countAnnotations (   $name = "")

Count annotations.

Parameters
string$nameThe type of annotation.
Returns
int

Definition at line 971 of file ElggEntity.php.

ElggEntity::countComments ( )

Count the number of comments attached to this entity.

Returns
int Number of comments
Since
1.8.0

Definition at line 1025 of file ElggEntity.php.

ElggEntity::countEntitiesFromRelationship (   $relationship,
  $inverse_relationship = false 
)

Gets the number of entities from a specific relationship type.

Parameters
string$relationshipRelationship type (eg "friends")
bool$inverse_relationshipInvert relationship
Returns
int

Definition at line 612 of file ElggEntity.php.

ElggEntity::create ( )
protected

Create a new entry in the entities table.

Saves the base information in the entities table for the entity. Saving the type-specific information is handled in the calling class method.

Returns
int|false The new entity's GUID or false on failure
Exceptions
InvalidParameterExceptionIf the entity's type has not been set.
IOExceptionIf the new row fails to write to the DB.

Definition at line 1438 of file ElggEntity.php.

ElggEntity::delete (   $recursive = true)

Deletes the entity.

Removes the entity and its metadata, annotations, relationships, river entries, and private data.

Optionally can remove entities contained and owned by this entity.

Warning
If deleting recursively, this bypasses ownership of items contained by the entity. That means that if the container_guid = $this->guid, the item will be deleted regardless of who owns it.
Parameters
bool$recursiveIf true (default) then all entities which are owned or contained by $this will also be deleted.
Returns
bool

Definition at line 1838 of file ElggEntity.php.

ElggEntity::deleteAccessCollectionMemberships ( )

Remove the membership of all access collections for this entity (if the entity is a user)

Returns
bool
Since
1.11

Definition at line 1984 of file ElggEntity.php.

ElggEntity::deleteAnnotations (   $name = null)

Deletes all annotations on this object (annotations.entity_guid = $this->guid).

If you pass a name, only annotations matching that name will be deleted.

Warning
Calling this with no or empty arguments will clear all annotations on the entity.
Parameters
null | string$nameThe annotations name to remove.
Returns
bool
Since
1.8

Definition at line 792 of file ElggEntity.php.

ElggEntity::deleteIcon (   $type = 'icon')

Removes all icon files and metadata for the passed type of icon.

Parameters
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
Returns
bool

Implements Elgg\EntityIcon.

Definition at line 1354 of file ElggEntity.php.

ElggEntity::deleteMetadata (   $name = null)

Deletes all metadata on this object (metadata.entity_guid = $this->guid).

If you pass a name, only metadata matching that name will be deleted.

Warning
Calling this with no $name will clear all metadata on the entity.
Parameters
null | string$nameThe name of the metadata to remove.
Returns
bool|null
Since
1.8

Definition at line 495 of file ElggEntity.php.

ElggEntity::deleteOwnedAccessCollections ( )

Remove all access collections owned by this entity.

Returns
bool
Since
1.11

Definition at line 2015 of file ElggEntity.php.

ElggEntity::deleteOwnedAnnotations (   $name = null)

Deletes all annotations owned by this object (annotations.owner_guid = $this->guid).

If you pass a name, only annotations matching that name will be deleted.

Parameters
null | string$nameThe name of annotations to delete.
Returns
bool
Since
1.8

Definition at line 822 of file ElggEntity.php.

ElggEntity::deleteRelationships (   $relationship = null)

Remove all relationships to and from this entity.

If you pass a relationship name, only relationships matching that name will be deleted.

Warning
Calling this with no $relationship will clear all relationships for this entity.
Parameters
null | string$relationshipThe name of the relationship to remove
Returns
bool

Definition at line 662 of file ElggEntity.php.

ElggEntity::disable (   $reason = "",
  $recursive = true 
)

Disable this entity.

Disabled entities are not returned by getter functions. To enable an entity, use ElggEntity::enable().Recursivelydisablinganentitywilldisableallentitiesownedorcontainedbytheparententity.@noteInternal:Disablinganentitysetsthe'enabled'columnto'no'.@paramstring$reasonOptionalreason@parambool$recursiveRecursivelydisableallcontainedentities?@returnbool@see\ElggEntity::enable()

Definition at line 1683 of file ElggEntity.php.

ElggEntity::disableAnnotations (   $name = '')

Disables annotations for this entity, optionally based on name.

Parameters
string$nameAn options name of annotations to disable.
Returns
bool
Since
1.8

Definition at line 841 of file ElggEntity.php.

ElggEntity::disableCaching ( )

Disable runtime caching for entity.

Returns
void

Definition at line 2059 of file ElggEntity.php.

ElggEntity::enable (   $recursive = true)

Enable the entity.

Parameters
bool$recursiveRecursively enable all entities disabled with the entity?
See also
access_show_hiden_entities()
Returns
bool

Definition at line 1766 of file ElggEntity.php.

ElggEntity::enableAnnotations (   $name = '')

Enables annotations for this entity, optionally based on name.

Parameters
string$nameAn options name of annotations to enable.
Returns
bool
Since
1.8

Definition at line 860 of file ElggEntity.php.

ElggEntity::enableCaching ( )

Enable runtime caching for entity.

Returns
void

Definition at line 2072 of file ElggEntity.php.

ElggEntity::getAccessID ( )

Returns the access_id.

Returns
int The access ID

Definition at line 1173 of file ElggEntity.php.

ElggEntity::getAllMetadata ( )

Get all entity metadata.

Returns
array

Definition at line 349 of file ElggEntity.php.

ElggEntity::getAllPrivateSettings ( )

Returns all private settings.

Returns
array

Definition at line 733 of file ElggEntity.php.

ElggEntity::getAnnotations ( array  $options = [])

Gets an array of annotations.

To retrieve annotations on an unsaved entity, pass array('name' => [annotation name]) as the options array.

Parameters
array$optionsArray of options for elgg_get_annotations() except guid.
Returns
[]|mixed
See also
elgg_get_annotations()

Definition at line 948 of file ElggEntity.php.

ElggEntity::getAnnotationsAvg (   $name)

Get the average of an integer type annotation.

Parameters
string$nameAnnotation name
Returns
int

Definition at line 982 of file ElggEntity.php.

ElggEntity::getAnnotationsMax (   $name)

Get the maximum of integer type annotations of a given name.

Parameters
string$nameAnnotation name
Returns
int

Definition at line 1015 of file ElggEntity.php.

ElggEntity::getAnnotationsMin (   $name)

Get the minimum of integer type annotations of given name.

Parameters
string$nameAnnotation name
Returns
int

Definition at line 1004 of file ElggEntity.php.

ElggEntity::getAnnotationsSum (   $name)

Get the sum of integer type annotations of a given name.

Parameters
string$nameAnnotation name
Returns
int

Definition at line 993 of file ElggEntity.php.

ElggEntity::getContainerEntity ( )

Get the container entity for this object.

Returns
Since
1.8.0

Definition at line 1267 of file ElggEntity.php.

ElggEntity::getContainerGUID ( )

Gets the container GUID for this entity.

Returns
int

Definition at line 1257 of file ElggEntity.php.

ElggEntity::getDisplayName ( )

Get the entity's display name.

Returns
string The title or name of this entity.
Examples:
/root/Elgg/engine/lib/views.php.

Definition at line 318 of file ElggEntity.php.

ElggEntity::getEntitiesFromRelationship ( array  $options = [])

Gets an array of entities with a relationship to this entity.

Parameters
array$optionsOptions array. See elgg_get_entities() for a list of options. 'relationship_guid' is set to this entity
Returns
[]|int|mixed
See also
elgg_get_entities()

Definition at line 599 of file ElggEntity.php.

ElggEntity::getGUID ( )

Returns the guid.

Returns
int|null GUID

Definition at line 1183 of file ElggEntity.php.

ElggEntity::getIcon (   $size,
  $type = 'icon' 
)

Returns entity icon as an ElggIcon object The icon file may or may not exist on filestore.

Parameters
string$sizeSize of the icon
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
Returns

Implements Elgg\EntityIcon.

Definition at line 1344 of file ElggEntity.php.

ElggEntity::getIconLastChange (   $size,
  $type = 'icon' 
)

Returns the timestamp of when the icon was changed.

Parameters
string$sizeThe size of the icon
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
Returns
int|null A unix timestamp of when the icon was last changed, or null if not set.

Implements Elgg\EntityIcon.

Definition at line 1366 of file ElggEntity.php.

ElggEntity::getIconURL (   $params = [])

Get the URL for this entity's icon.

Plugins can register for the 'entity:icon:url', <type> plugin hook to customize the icon for an entity.

Parameters
mixed$paramsA string defining the size of the icon (e.g. tiny, small, medium, large) or an array of parameters including 'size'
Returns
string The URL
Since
1.8.0

Implements Elgg\EntityIcon.

Definition at line 1392 of file ElggEntity.php.

ElggEntity::getLatitude ( )

Return the entity's latitude.

Returns
float

Definition at line 1905 of file ElggEntity.php.

ElggEntity::getLongitude ( )

Return the entity's longitude.

Returns
float

Definition at line 1914 of file ElggEntity.php.

ElggEntity::getMetadata (   $name)

Return the value of a piece of metadata.

Parameters
string$nameName
Returns
mixed The value, or null if not found.

Definition at line 339 of file ElggEntity.php.

ElggEntity::getObjectFromID (   $id)

For a given ID, return the object associated with it.

This is used by the system log. It can be called on any Loggable object.

Parameters
int$idGUID.
Returns
|false

Definition at line 1939 of file ElggEntity.php.

ElggEntity::getOriginalAttributes ( )

Get the original values of attribute(s) that have been modified since the entity was persisted.

Returns
array

Definition at line 289 of file ElggEntity.php.

ElggEntity::getOwnedAccessCollection (   $subtype)

Returns the first ACL owned by the entity with a given subtype.

Parameters
string$subtypesubtype of the ACL
Returns
|false
Since
3.0

Definition at line 1064 of file ElggEntity.php.

ElggEntity::getOwnedAccessCollections (   $options = [])

Returns the ACLs owned by the entity.

Parameters
array$optionsadditional options to get the access collections with
Returns
[]
See also
elgg_get_access_collections()
Since
3.0

Definition at line 1050 of file ElggEntity.php.

ElggEntity::getOwnerEntity ( )

Gets the that owns this entity.

Returns
The owning entity

Definition at line 1237 of file ElggEntity.php.

ElggEntity::getOwnerGUID ( )

Get the guid of the entity's owner.

Returns
int The owner GUID

Definition at line 1228 of file ElggEntity.php.

ElggEntity::getPrivateSetting (   $name)

Returns a private setting value.

Warning
Private settings are always returned as strings Make sure you can your values back to expected type
Parameters
string$nameName of the private setting
Returns
string|null

Definition at line 720 of file ElggEntity.php.

ElggEntity::getRelationship ( int  $guid_two,
string  $relationship 
)

Return the relationship if this entity has a relationship with another entity.

Parameters
int$guid_twoGUID of the target entity of the relationship
string$relationshipThe type of relationship
Returns
|null
Since
4.3

Definition at line 585 of file ElggEntity.php.

ElggEntity::getSubtype ( )

Get the entity subtype.

Returns
string The entity subtype
Examples:
/root/Elgg/engine/lib/views.php.

Definition at line 1219 of file ElggEntity.php.

ElggEntity::getSystemLogID ( )

Return an identification for the object for storage in the system log.

This id must be an integer.

Returns
int

Definition at line 1928 of file ElggEntity.php.

ElggEntity::getTags (   $tag_names = null)

Returns tags for this entity.

Parameters
array$tag_namesOptionally restrict by tag metadata names. Defaults to metadata with the name 'tags'.
Returns
array

Definition at line 1950 of file ElggEntity.php.

ElggEntity::getTimeUpdated ( )

Returns the UNIX epoch time that this entity was last updated.

Returns
int UNIX epoch time

Definition at line 1276 of file ElggEntity.php.

ElggEntity::getType ( )

Returns the entity type.

Returns
string The entity type
Examples:
/root/Elgg/engine/lib/views.php.

Definition at line 1192 of file ElggEntity.php.

ElggEntity::getURL ( )

Gets the URL for this entity.

Plugins can register for the 'entity:url', <type> plugin hook to customize the url for an entity.

Returns
string The URL of the entity
Examples:
/root/Elgg/engine/lib/views.php.

Definition at line 1288 of file ElggEntity.php.

ElggEntity::getVolatileData (   $name)

Get a piece of volatile (non-persisted) data on this entity.

Parameters
string$nameThe name of the volatile data
Returns
mixed The value or null if not found.

Definition at line 530 of file ElggEntity.php.

ElggEntity::hasAccess ( int  $user_guid = 0)

Check if the given user has access to this entity.

Parameters
int$user_guidthe GUID of the user to check access for (default: logged in user_guid)
Returns
bool
Since
4.3

Definition at line 1084 of file ElggEntity.php.

ElggEntity::hasCapability ( string  $capability)

Checks a specific capability is enabled for the entity type/subtype.

Parameters
string$capabilitycapability to check
Returns
bool
Since
4.1
Examples:
/root/Elgg/engine/lib/views.php.

Definition at line 2153 of file ElggEntity.php.

ElggEntity::hasIcon (   $size,
  $type = 'icon' 
)

Returns if the entity has an icon of the passed type.

Parameters
string$sizeThe size of the icon
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
Returns
bool

Implements Elgg\EntityIcon.

Definition at line 1377 of file ElggEntity.php.

ElggEntity::hasRelationship ( int  $guid_two,
string  $relationship 
)

Check if this entity has a relationship with another entity.

Read the relationship like "This entity is a $relationship of $guid_two."

Parameters
int$guid_twoGUID of the target entity of the relationship
string$relationshipThe type of relationship
Returns
bool
Since
4.3

Definition at line 572 of file ElggEntity.php.

ElggEntity::initializeAttributes ( )
protected

Initialize the attributes array.

This is vital to distinguish between metadata and base parameters.

Returns
void

Definition at line 157 of file ElggEntity.php.

ElggEntity::invalidateCache ( )

Invalidate cache for entity.

Returns
void

Definition at line 2128 of file ElggEntity.php.

ElggEntity::isCacheable ( )

Is entity cacheable in the runtime cache.

Returns
bool

Definition at line 2082 of file ElggEntity.php.

ElggEntity::isEnabled ( )

Is this entity enabled?

Returns
boolean Whether this entity is enabled.

Definition at line 1817 of file ElggEntity.php.

ElggEntity::load ( stdClass  $row)
protected

Loads attributes from the entities table into the object.

Parameters
stdClass$rowObject of properties from database row(s)
Returns
bool

Definition at line 1639 of file ElggEntity.php.

ElggEntity::prepareObject ( \Elgg\Export\Entity  $object)
protected

Prepare an object copy for toObject()

Parameters
\Elgg\Export\Entity$objectObject representation of the entity
Returns

Definition at line 1874 of file ElggEntity.php.

ElggEntity::removeAllPrivateSettings ( )

Removes all private settings.

Returns
bool

Definition at line 762 of file ElggEntity.php.

ElggEntity::removeAllRelatedRiverItems ( )

Removes all river items related to this entity.

Returns
void

Definition at line 776 of file ElggEntity.php.

ElggEntity::removeAllRelationships ( string  $relationship = null,
bool  $inverse_relationship = false 
)

Remove all relationships to or from this entity.

If you pass a relationship name, only relationships matching that name will be deleted.

Warning
Calling this with no $relationship will clear all relationships with this entity.
Parameters
string | null$relationship(optional) The name of the relationship to remove
bool$inverse_relationship(optional) Inverse the relationship
Returns
bool
Since
4.3

Definition at line 645 of file ElggEntity.php.

ElggEntity::removePrivateSetting (   $name)

Removes private setting.

Parameters
string$nameName of the private setting
Returns
bool

Definition at line 748 of file ElggEntity.php.

ElggEntity::removeRelationship (   $guid_two,
  $relationship 
)

Remove a relationship.

Parameters
int$guid_twoGUID of the target entity of the relationship
string$relationshipThe type of relationship
Returns
bool

Definition at line 628 of file ElggEntity.php.

ElggEntity::save ( )

Definition at line 1399 of file ElggEntity.php.

ElggEntity::saveIconFromElggFile ( \ElggFile  $file,
  $type = 'icon',
array  $coords = [] 
)

Saves icons using a file located in the data store as the source.

Parameters
string$fileAn ElggFile instance
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
array$coordsAn array of cropping coordinates x1, y1, x2, y2
Returns
bool

Implements Elgg\EntityIcon.

Definition at line 1332 of file ElggEntity.php.

ElggEntity::saveIconFromLocalFile (   $filename,
  $type = 'icon',
array  $coords = [] 
)

Saves icons using a local file as the source.

Parameters
string$filenameThe full path to the local file
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
array$coordsAn array of cropping coordinates x1, y1, x2, y2
Returns
bool

Implements Elgg\EntityIcon.

Definition at line 1320 of file ElggEntity.php.

ElggEntity::saveIconFromUploadedFile (   $input_name,
  $type = 'icon',
array  $coords = [] 
)

Saves icons using an uploaded file as the source.

Parameters
string$input_nameForm input name
string$typeThe name of the icon. e.g., 'icon', 'cover_photo'
array$coordsAn array of cropping coordinates x1, y1, x2, y2
Returns
bool

Implements Elgg\EntityIcon.

Definition at line 1308 of file ElggEntity.php.

ElggEntity::setContainerGUID (   $container_guid)

Set the container for this object.

Parameters
int$container_guidThe ID of the container.
Returns
int

Definition at line 1248 of file ElggEntity.php.

ElggEntity::setDisplayName (   $display_name)

Sets the title or name of this entity.

Parameters
string$display_nameThe title or name of this entity.
Returns
void

Definition at line 328 of file ElggEntity.php.

ElggEntity::setLatLong ( float  $lat,
float  $long 
)

Set latitude and longitude metadata tags for a given entity.

Parameters
float$latLatitude
float$longLongitude
Returns
void

Definition at line 1895 of file ElggEntity.php.

ElggEntity::setMetadata (   $name,
  $value,
  $value_type = '',
  $multiple = false 
)

Set metadata on this entity.

Plugin developers usually want to use the magic set method ($entity->name = 'value'). Use this method if you want to explicitly set the owner or access of the metadata. You cannot set the owner/access before the entity has been saved.

Parameters
string$nameName of the metadata
mixed$valueValue of the metadata (doesn't support assoc arrays)
string$value_type'text', 'integer', or '' for automatic detection
bool$multipleAllow multiple values for a single name. Does not support associative arrays.
Returns
bool

Definition at line 376 of file ElggEntity.php.

ElggEntity::setPrivateSetting (   $name,
  $value 
)

Adds a private setting to this entity.

Warning
Private settings are stored as strings Unlike metadata and annotations there is no reverse casting when you retrieve the setting When saving integers, they will be cast to strings Booleans will be cast to '0' and '1'
Parameters
string$nameName of private setting
mixed$valueValue of private setting
Returns
bool

Definition at line 682 of file ElggEntity.php.

ElggEntity::setSubtype ( string  $subtype)

Set the subtype of the entity.

Parameters
string$subtypethe new type
Returns
void
See also
self::initializeAttributes()

Definition at line 1205 of file ElggEntity.php.

ElggEntity::setTempMetadata (   $name,
  $value,
  $multiple = false 
)
protected

Set temp metadata on this entity.

Parameters
string$nameName of the metadata
mixed$valueValue of the metadata (doesn't support assoc arrays)
bool$multipleAllow multiple values for a single name. Does not support associative arrays.
Returns
bool

Definition at line 463 of file ElggEntity.php.

ElggEntity::setVolatileData (   $name,
  $value 
)

Set a piece of volatile (non-persisted) data on this entity.

Parameters
string$nameName
mixed$valueValue
Returns
void

Definition at line 542 of file ElggEntity.php.

ElggEntity::toObject ( array  $params = [])

Export an entity.

Parameters
array$paramsParams to pass to the hook
Returns

Definition at line 1860 of file ElggEntity.php.

ElggEntity::update ( )
protected

Update the entity in the database.

Returns
bool Whether the update was successful.
Exceptions
InvalidParameterException

Definition at line 1578 of file ElggEntity.php.

ElggEntity::updateLastAction (   $posted = null)

Update the last_action column in the entities table.

Warning
This is different to time_updated. Time_updated is automatically set, while last_action is only set when explicitly called.
Parameters
int$postedTimestamp of last action
Returns
int|false

Definition at line 2044 of file ElggEntity.php.

Member Data Documentation

ElggEntity::$_cached_metadata
protected

Definition at line 125 of file ElggEntity.php.

ElggEntity::$_is_cacheable = true
protected

Definition at line 113 of file ElggEntity.php.

ElggEntity::$orig_attributes = []
protected

Definition at line 108 of file ElggEntity.php.

ElggEntity::$temp_annotations = []
protected

Definition at line 88 of file ElggEntity.php.

ElggEntity::$temp_metadata = []
protected

Definition at line 81 of file ElggEntity.php.

ElggEntity::$temp_private_settings = []
protected

Definition at line 95 of file ElggEntity.php.

ElggEntity::$volatile = []
protected

Definition at line 102 of file ElggEntity.php.

const ElggEntity::INTEGER_ATTR_NAMES
protected
Initial value:
= [
'guid',
'owner_guid',
'container_guid',
'access_id',
'time_created',
'time_updated',
'last_action',
]

Definition at line 66 of file ElggEntity.php.

const ElggEntity::PRIMARY_ATTR_NAMES
Initial value:
= [
'guid',
'type',
'subtype',
'owner_guid',
'container_guid',
'access_id',
'time_created',
'time_updated',
'last_action',
'enabled',
]

Definition at line 50 of file ElggEntity.php.


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