Elgg  Version 3.0
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ElggEntity Class Reference
Inheritance diagram for ElggEntity:
ElggData Locatable Elgg\EntityIcon Elgg\Collections\CollectionItemInterface ElggGroup ElggObject ElggSite ElggUser Represents 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...
 
 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...
 

Static Public Attributes

static $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

 $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

static $integer_attr_names
 

Detailed Description

Definition at line 44 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 137 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 179 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 294 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
See also
::setMetadata()

Definition at line 229 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
See also
::removeRelationship()
::deleteRelationships()

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 823 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 2086 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 1104 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|null

Definition at line 1086 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
See also
elgg_set_ignore_access()

Definition at line 1040 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.
See also
elgg_set_ignore_access()

Definition at line 1025 of file ElggEntity.php.

ElggEntity::canEditMetadata (   $metadata = null,
  $user_guid = 0 
)

Can a user edit metadata on this entity?

If no specific metadata is passed, it returns whether the user can edit any metadata on the entity.

Parameters
\ElggMetadata$metadataThe piece of metadata to specifically check or null for any metadata
int$user_guidThe user GUID, optionally (default: logged in user)
Returns
bool
See also
elgg_set_ignore_access()

Definition at line 1057 of file ElggEntity.php.

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

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
See also
elgg_set_ignore_access()

Definition at line 1071 of file ElggEntity.php.

ElggEntity::countAnnotations (   $name = "")

Count annotations.

Parameters
string$nameThe type of annotation.
Returns
int

Definition at line 876 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 930 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 1006 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 1355 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 1795 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 1969 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 700 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 1276 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 475 of file ElggEntity.php.

ElggEntity::deleteOwnedAccessCollections ( )

Remove all access collections owned by this entity.

Returns
bool
Since
1.11

Definition at line 2000 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 730 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
See also
::addRelationship()
::removeRelationship()

Definition at line 539 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.Youcanignorethedisabledfieldbyusing@linkaccess_show_hidden_entities().@noteInternal:Disablinganentitysetsthe'enabled'columnto'no'.@paramstring$reasonOptionalreason@parambool$recursiveRecursivelydisableallcontainedentities?@returnbool@see\ElggEntity::enable()

Definition at line 1618 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 753 of file ElggEntity.php.

ElggEntity::disableCaching ( )

Disable runtime caching for entity.

Returns
void

Definition at line 2044 of file ElggEntity.php.

ElggEntity::enable (   $recursive = true)

Enable the entity.

Warning
Disabled entities can't be loaded unless access_show_hidden_entities(true) has been called.
Parameters
bool$recursiveRecursively enable all entities disabled with the entity?
See also
access_show_hiden_entities()
Returns
bool

Definition at line 1716 of file ElggEntity.php.

ElggEntity::enableAnnotations (   $name = '')

Enables annotations for this entity, optionally based on name.

Warning
Before calling this, you must use access_show_hidden_entities()
Parameters
string$nameAn options name of annotations to enable.
Returns
bool
Since
1.8

Definition at line 774 of file ElggEntity.php.

ElggEntity::enableCaching ( )

Enable runtime caching for entity.

Returns
void

Definition at line 2057 of file ElggEntity.php.

ElggEntity::getAccessID ( )

Returns the access_id.

Returns
int The access ID

Definition at line 1113 of file ElggEntity.php.

ElggEntity::getAllMetadata ( )

Get all entity metadata.

Returns
array

Definition at line 338 of file ElggEntity.php.

ElggEntity::getAllPrivateSettings ( )

Returns all private settings.

Returns
array
Exceptions
DatabaseException

Definition at line 639 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 853 of file ElggEntity.php.

ElggEntity::getAnnotationsAvg (   $name)

Get the average of an integer type annotation.

Parameters
string$nameAnnotation name
Returns
int

Definition at line 887 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 920 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 909 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 898 of file ElggEntity.php.

ElggEntity::getContainerEntity ( )

Get the container entity for this object.

Returns
Since
1.8.0

Definition at line 1189 of file ElggEntity.php.

ElggEntity::getContainerGUID ( )

Gets the container GUID for this entity.

Returns
int

Definition at line 1179 of file ElggEntity.php.

ElggEntity::getDisplayName ( )

Get the entity's display name.

Returns
string The title or name of this entity.

Definition at line 307 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 993 of file ElggEntity.php.

ElggEntity::getGUID ( )

Returns the guid.

Returns
int|null GUID

Definition at line 1122 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 1266 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 1288 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 1314 of file ElggEntity.php.

ElggEntity::getLatitude ( )

Return the entity's latitude.

Returns
float

Implements Locatable.

Definition at line 1888 of file ElggEntity.php.

ElggEntity::getLocation ( )

Gets the 'location' metadata for the entity.

Returns
string The location

Implements Locatable.

Definition at line 1853 of file ElggEntity.php.

ElggEntity::getLongitude ( )

Return the entity's longitude.

Returns
float

Implements Locatable.

Definition at line 1898 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 328 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 1923 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 278 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 971 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 957 of file ElggEntity.php.

ElggEntity::getOwnerEntity ( )

Gets the that owns this entity.

Returns
The owning entity

Definition at line 1159 of file ElggEntity.php.

ElggEntity::getOwnerGUID ( )

Get the guid of the entity's owner.

Returns
int The owner GUID

Definition at line 1150 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
Exceptions
DatabaseException

Definition at line 625 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 1141 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 1912 of file ElggEntity.php.

ElggEntity::getTags (   $tag_names = null)

Returns tags for this entity.

Warning
Tags must be registered by elgg_register_tag_metadata_name().
Parameters
array$tag_namesOptionally restrict by tag metadata names.
Returns
array

Definition at line 1936 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 1198 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 1131 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

Definition at line 1210 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 510 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 1299 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 153 of file ElggEntity.php.

ElggEntity::invalidateCache ( )

Invalidate cache for entity.

Returns
void

Definition at line 2113 of file ElggEntity.php.

ElggEntity::isCacheable ( )

Is entity cacheable in the runtime cache.

Returns
bool

Definition at line 2067 of file ElggEntity.php.

ElggEntity::isEnabled ( )

Is this entity enabled?

Returns
boolean Whether this entity is enabled.

Definition at line 1774 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 1555 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 1831 of file ElggEntity.php.

ElggEntity::refresh ( stdClass  $row)

Load new data from database into existing entity.

Overwrites data but does not change values not included in the latest data.

Definition at line 1595 of file ElggEntity.php.

ElggEntity::removeAllPrivateSettings ( )

Removes all private settings.

Returns
bool
Exceptions
DatabaseException

Definition at line 670 of file ElggEntity.php.

ElggEntity::removeAllRelatedRiverItems ( )

Removes all river items related to this entity.

Returns
void

Definition at line 684 of file ElggEntity.php.

ElggEntity::removePrivateSetting (   $name)

Removes private setting.

Parameters
string$nameName of the private setting
Returns
bool
Exceptions
DatabaseException

Definition at line 655 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
See also
::addRelationship()
::deleteRelationships()

Definition at line 571 of file ElggEntity.php.

ElggEntity::save ( )

Save an entity.

Returns
bool|int

Definition at line 1323 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 1254 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 1242 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 1230 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 1170 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 317 of file ElggEntity.php.

ElggEntity::setLatLong (   $lat,
  $long 
)

Set latitude and longitude metadata tags for a given entity.

Parameters
float$latLatitude
float$longLongitude
Returns
void

Implements Locatable.

Definition at line 1877 of file ElggEntity.php.

ElggEntity::setLocation (   $location)

Sets the 'location' metadata for the entity.

Parameters
string$locationString representation of the location
Returns
void

Implements Locatable.

Definition at line 1864 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
Exceptions
InvalidArgumentException

Definition at line 366 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
Exceptions
DatabaseException

Definition at line 589 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 443 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 522 of file ElggEntity.php.

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

Export an entity.

Parameters
array$paramsParams to pass to the hook
Returns

Definition at line 1817 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 1494 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 2029 of file ElggEntity.php.

Member Data Documentation

ElggEntity::$_cached_metadata
protected

Definition at line 121 of file ElggEntity.php.

ElggEntity::$_is_cacheable = true
protected

Definition at line 109 of file ElggEntity.php.

ElggEntity::$integer_attr_names
staticprotected
Initial value:
= [
'guid',
'owner_guid',
'container_guid',
'access_id',
'time_created',
'time_updated',
'last_action',
]

Definition at line 62 of file ElggEntity.php.

ElggEntity::$orig_attributes = []
protected

Definition at line 104 of file ElggEntity.php.

ElggEntity::$primary_attr_names
static
Initial value:
= [
'guid',
'type',
'subtype',
'owner_guid',
'container_guid',
'access_id',
'time_created',
'time_updated',
'last_action',
'enabled',
]

Definition at line 49 of file ElggEntity.php.

ElggEntity::$temp_annotations = []
protected

Definition at line 84 of file ElggEntity.php.

ElggEntity::$temp_metadata = []
protected

Definition at line 77 of file ElggEntity.php.

ElggEntity::$temp_private_settings = []
protected

Definition at line 91 of file ElggEntity.php.

ElggEntity::$volatile = []
protected

Definition at line 98 of file ElggEntity.php.


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