|
Elgg
Version 2.3
|
Go to the source code of this file.
Namespaces | |
| Elgg\Core | |
| Activate a plugin or plugins. | |
Functions | |
| row_to_elggmetadata ($row) | |
| Convert a database row to a new \ElggMetadata. More... | |
| elgg_get_metadata_from_id ($id) | |
| Get a specific metadata object by its id. More... | |
| elgg_delete_metadata_by_id ($id) | |
| Deletes metadata using its ID. More... | |
| create_metadata ($entity_guid, $name, $value, $value_type='', $owner_guid=0, $access_id=null, $allow_multiple=false) | |
| Create a new metadata object, or update an existing one. More... | |
| update_metadata ($id, $name, $value, $value_type, $owner_guid, $access_id) | |
| Update a specific piece of metadata. More... | |
| create_metadata_from_array ($entity_guid, array $name_and_values, $value_type, $owner_guid, $access_id=null, $allow_multiple=false) | |
| This function creates metadata from an associative array of "key => value" pairs. More... | |
| elgg_get_metadata (array $options=array()) | |
| Returns metadata. More... | |
| elgg_delete_metadata (array $options) | |
| Deletes metadata based on $options. More... | |
| elgg_disable_metadata (array $options) | |
| Disables metadata based on $options. More... | |
| elgg_enable_metadata (array $options) | |
| Enables metadata based on $options. More... | |
| elgg_get_entities_from_metadata (array $options=array()) | |
| \ElggEntities interfaces More... | |
| elgg_list_entities_from_metadata ($options) | |
| Returns a list of entities filtered by provided metadata. More... | |
| _elgg_get_entity_metadata_where_sql ($e_table, $n_table, $names=null, $values=null, $pairs=null, $pair_operator='AND', $case_sensitive=true, $order_by_metadata=null, $owner_guids=null) | |
| Returns metadata name and value SQL where for entities. More... | |
| metadata_array_to_values ($array) | |
| Takes a metadata array (which has all kinds of properties) and turns it into a simple array of strings. More... | |
| get_metadata_url ($id) | |
| Get the URL for this metadata. More... | |
| register_metadata_as_independent ($type, $subtype=' *') | |
| Mark entities with a particular type and subtype as having access permissions that can be changed independently from their parent entity. More... | |
| is_metadata_independent ($type, $subtype) | |
| Determines whether entities of a given type and subtype should not change their metadata in line with their parent entity. More... | |
| metadata_update ($event, $object_type, $object) | |
| When an entity is updated, resets the access ID on all of its child metadata. More... | |
| _elgg_invalidate_metadata_cache ($action, array $options) | |
| Invalidate the metadata cache based on options passed to various *_metadata functions. More... | |
| _elgg_metadata_test ($hook, $type, $value, $params) | |
| Metadata unit test. More... | |
Variables | |
| return | function (\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) |
| _elgg_get_entity_metadata_where_sql | ( | $e_table, | |
| $n_table, | |||
$names = null, |
|||
$values = null, |
|||
$pairs = null, |
|||
$pair_operator = 'AND', |
|||
$case_sensitive = true, |
|||
$order_by_metadata = null, |
|||
$owner_guids = null |
|||
| ) |
Returns metadata name and value SQL where for entities.
NB: $names and $values are not paired. Use $pairs for this. Pairs default to '=' operand.
This function is reused for annotations because the tables are exactly the same.
| string | $e_table | Entities table name |
| string | $n_table | Normalized metastrings table name (Where entities, values, and names are joined. annotations / metadata) |
| array | null | $names | Array of names |
| array | null | $values | Array of values |
| array | null | $pairs | Array of names / values / operands |
| string | $pair_operator | ("AND" or "OR") Operator to use to join the where clauses for pairs |
| bool | $case_sensitive | Case sensitive metadata names? |
| array | null | $order_by_metadata | Array of names / direction |
| array | null | $owner_guids | Array of owner GUIDs |
Definition at line 317 of file metadata.php.
| _elgg_invalidate_metadata_cache | ( | $action, | |
| array | $options | ||
| ) |
Invalidate the metadata cache based on options passed to various *_metadata functions.
| string | $action | Action performed on metadata. "delete", "disable", or "enable" |
| array | $options | Options passed to elgg_(delete|disable|enable)_metadata |
Definition at line 406 of file metadata.php.
| _elgg_metadata_test | ( | $hook, | |
| $type, | |||
| $value, | |||
| $params | |||
| ) |
Metadata unit test.
| string | $hook | unit_test |
| string | $type | system |
| mixed | $value | Array of other tests |
| mixed | $params | Params |
Call a function whenever an entity is updated
Definition at line 421 of file metadata.php.
| create_metadata | ( | $entity_guid, | |
| $name, | |||
| $value, | |||
$value_type = '', |
|||
$owner_guid = 0, |
|||
$access_id = null, |
|||
$allow_multiple = false |
|||
| ) |
Create a new metadata object, or update an existing one.
Metadata can be an array by setting allow_multiple to true, but it is an indexed array with no control over the indexing.
| int | $entity_guid | The entity to attach the metadata to |
| string | $name | Name of the metadata |
| string | $value | Value of the metadata |
| string | $value_type | 'text', 'integer', or '' for automatic detection |
| int | $owner_guid | GUID of entity that owns the metadata. Default is logged in user. |
| int | $access_id | Access level of the metadata (deprecated). Default in 2.x is ACCESS_PRIVATE, but use ACCESS_PUBLIC for compatibility with Elgg 3.0 |
| bool | $allow_multiple | Allow multiple values for one key. Default is false |
Definition at line 66 of file metadata.php.
| create_metadata_from_array | ( | $entity_guid, | |
| array | $name_and_values, | ||
| $value_type, | |||
| $owner_guid, | |||
$access_id = null, |
|||
$allow_multiple = false |
|||
| ) |
This function creates metadata from an associative array of "key => value" pairs.
To achieve an array for a single key, pass in the same key multiple times with allow_multiple set to true. This creates an indexed array. It does not support associative arrays and there is no guarantee on the ordering in the array.
| int | $entity_guid | The entity to attach the metadata to |
| array | $name_and_values | Associative array - a value can be a string, number, bool |
| string | $value_type | 'text', 'integer', or '' for automatic detection |
| int | $owner_guid | GUID of entity that owns the metadata |
| int | $access_id | Access level of the metadata (deprecated). Default in 2.x is ACCESS_PRIVATE, but use ACCESS_PUBLIC for compatibility with Elgg 3.0 |
| bool | $allow_multiple | Allow multiple values for one key. Default is false |
Definition at line 120 of file metadata.php.
| elgg_delete_metadata | ( | array | $options | ) |
Deletes metadata based on $options.
| array | $options | An options array. elgg_get_metadata() |
Definition at line 179 of file metadata.php.
| elgg_delete_metadata_by_id | ( | $id | ) |
Deletes metadata using its ID.
| int | $id | The metadata ID to delete. |
Definition at line 45 of file metadata.php.
| elgg_disable_metadata | ( | array | $options | ) |
Disables metadata based on $options.
| array | $options | An options array. elgg_get_metadata() |
Definition at line 192 of file metadata.php.
| elgg_enable_metadata | ( | array | $options | ) |
Enables metadata based on $options.
| array | $options | An options array. elgg_get_metadata() |
Definition at line 208 of file metadata.php.
| elgg_get_entities_from_metadata | ( | array | $options = array() | ) |
\ElggEntities interfaces
Returns entities based upon metadata. Also accepts all options available to elgg_get_entities(). Supports the singular option shortcut.
When in doubt, use name_value_pairs.
To ask for entities that do not have a metadata value, use a custom where clause like this:
$options['wheres'][] = "NOT EXISTS (
SELECT 1 FROM {$dbprefix}metadata md
WHERE md.entity_guid = e.guid
AND md.name_id = $name_metastring_id
AND md.value_id = $value_metastring_id)";
Note the metadata name and value has been denormalized in the above example.
| array | $options | Array in format: metadata_names => null|ARR metadata names
metadata_values => null|ARR metadata values
metadata_name_value_pairs => null|ARR (
name => 'name',
value => 'value',
'operand' => '=',
'case_sensitive' => true
)
Currently if multiple values are sent via
an array (value => array('value1', 'value2')
the pair's operand will be forced to "IN".
If passing "IN" as the operand and a string as the value,
the value must be a properly quoted and escaped string.
metadata_name_value_pairs_operator => null|STR The operator to use for combining
(name = value) OPERATOR (name = value); default AND
metadata_case_sensitive => BOOL Overall Case sensitive
order_by_metadata => null|ARR array( 'name' => 'metadata_text1', 'direction' => ASC|DESC, 'as' => text|integer ) Also supports array('name' => 'metadata_text1') |
metadata_owner_guids => null|ARR guids for metadata owners
Definition at line 276 of file metadata.php.
| elgg_get_metadata | ( | array | $options = array() | ) |
Returns metadata.
Accepts all elgg_get_entities() options for entity restraints.
| array | $options | Array in format: |
metadata_names => null|ARR metadata names metadata_values => null|ARR metadata values metadata_ids => null|ARR metadata ids metadata_case_sensitive => BOOL Overall Case sensitive metadata_owner_guids => null|ARR guids for metadata owners metadata_created_time_lower => INT Lower limit for created time. metadata_created_time_upper => INT Upper limit for created time. metadata_calculation => STR Perform the MySQL function on the metadata values returned. The "metadata_calculation" option causes this function to return the result of performing a mathematical calculation on all metadata that match the query instead of returning \ElggMetadata objects.
Definition at line 164 of file metadata.php.
| elgg_get_metadata_from_id | ( | $id | ) |
Get a specific metadata object by its id.
If you want multiple metadata objects, use elgg_get_metadata().
| int | $id | The id of the metadata object being retrieved. |
Definition at line 35 of file metadata.php.
| elgg_list_entities_from_metadata | ( | $options | ) |
Returns a list of entities filtered by provided metadata.
| array | $options | Options array |
Definition at line 290 of file metadata.php.
| get_metadata_url | ( | $id | ) |
Get the URL for this metadata.
By default this links to the export handler in the current view.
| int | $id | Metadata ID |
Definition at line 353 of file metadata.php.
| is_metadata_independent | ( | $type, | |
| $subtype | |||
| ) |
Determines whether entities of a given type and subtype should not change their metadata in line with their parent entity.
| string | $type | The type - object, user, etc |
| string | $subtype | The entity subtype |
Definition at line 379 of file metadata.php.
| metadata_array_to_values | ( | $array | ) |
Takes a metadata array (which has all kinds of properties) and turns it into a simple array of strings.
| array | $array | Metadata array |
Definition at line 332 of file metadata.php.
| metadata_update | ( | $event, | |
| $object_type, | |||
| $object | |||
| ) |
When an entity is updated, resets the access ID on all of its child metadata.
| string | $event | The name of the event |
| string | $object_type | The type of object |
| \ElggEntity | $object | The entity itself |
Definition at line 393 of file metadata.php.
| register_metadata_as_independent | ( | $type, | |
$subtype = '*' |
|||
| ) |
Mark entities with a particular type and subtype as having access permissions that can be changed independently from their parent entity.
| string | $type | The type - object, user, etc |
| string | $subtype | The subtype; all subtypes by default |
Definition at line 366 of file metadata.php.
| row_to_elggmetadata | ( | $row | ) |
Convert a database row to a new \ElggMetadata.
| \stdClass | $row | An object from the database |
Definition at line 18 of file metadata.php.
| update_metadata | ( | $id, | |
| $name, | |||
| $value, | |||
| $value_type, | |||
| $owner_guid, | |||
| $access_id | |||
| ) |
Update a specific piece of metadata.
| int | $id | ID of the metadata to update |
| string | $name | Metadata name |
| string | $value | Metadata value |
| string | $value_type | Value type |
| int | $owner_guid | Owner guid |
| int | $access_id | Access level of the metadata (deprecated). Use ACCESS_PUBLIC for compatibility with Elgg 3.0 |
Definition at line 93 of file metadata.php.
| return function(\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) | ( | \Elgg\EventsService | $events, |
| \Elgg\HooksRegistrationService | $hooks | ||
| ) |
Definition at line 428 of file metadata.php.