| 
    Elgg
    Version 1.12
    
   | 
 
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=ACCESS_PRIVATE, $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=ACCESS_PRIVATE, $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 296 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 385 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 400 of file metadata.php.
| create_metadata | ( | $entity_guid, | |
| $name, | |||
| $value, | |||
$value_type = '',  | 
        |||
$owner_guid = 0,  | 
        |||
$access_id = ACCESS_PRIVATE,  | 
        |||
$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 | Default is ACCESS_PRIVATE | 
| bool | $allow_multiple | Allow multiple values for one key. Default is false | 
Definition at line 65 of file metadata.php.
| create_metadata_from_array | ( | $entity_guid, | |
| array | $name_and_values, | ||
| $value_type, | |||
| $owner_guid, | |||
$access_id = ACCESS_PRIVATE,  | 
        |||
$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 | Default is ACCESS_PRIVATE | 
| bool | $allow_multiple | Allow multiple values for one key. Default is false | 
Definition at line 105 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 158 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 171 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 187 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 255 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 143 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 269 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 332 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 358 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 311 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 372 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 345 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 ID | 
Definition at line 84 of file metadata.php.
| return function(\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) | ( | \Elgg\EventsService | $events, | 
| \Elgg\HooksRegistrationService | $hooks | ||
| ) | 
Definition at line 407 of file metadata.php.