123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- <?php
- function row_to_elggmetadata($row) {
- if (!($row instanceof \stdClass)) {
- return $row;
- }
- return new \ElggMetadata($row);
- }
- function elgg_get_metadata_from_id($id) {
- return _elgg_services()->metadataTable->get($id);
- }
- function elgg_delete_metadata_by_id($id) {
- return _elgg_services()->metadataTable->delete($id);
- }
- function create_metadata($entity_guid, $name, $value, $value_type = '', $owner_guid = 0,
- $access_id = ACCESS_PRIVATE, $allow_multiple = false) {
- return _elgg_services()->metadataTable->create($entity_guid, $name, $value,
- $value_type, $owner_guid, $access_id, $allow_multiple);
- }
- function update_metadata($id, $name, $value, $value_type, $owner_guid, $access_id) {
- return _elgg_services()->metadataTable->update($id, $name, $value,
- $value_type, $owner_guid, $access_id);
- }
- function create_metadata_from_array($entity_guid, array $name_and_values, $value_type, $owner_guid,
- $access_id = ACCESS_PRIVATE, $allow_multiple = false) {
- return _elgg_services()->metadataTable->createFromArray($entity_guid, $name_and_values,
- $value_type, $owner_guid, $access_id, $allow_multiple);
- }
- function elgg_get_metadata(array $options = array()) {
- return _elgg_services()->metadataTable->getAll($options);
- }
- function elgg_delete_metadata(array $options) {
- return _elgg_services()->metadataTable->deleteAll($options);
- }
- function elgg_disable_metadata(array $options) {
- return _elgg_services()->metadataTable->disableAll($options);
- }
- function elgg_enable_metadata(array $options) {
- return _elgg_services()->metadataTable->enableAll($options);
- }
- function elgg_get_entities_from_metadata(array $options = array()) {
- return _elgg_services()->metadataTable->getEntities($options);
- }
- function elgg_list_entities_from_metadata($options) {
- return elgg_list_entities($options, 'elgg_get_entities_from_metadata');
- }
- function _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) {
- return _elgg_services()->metadataTable->getEntityMetadataWhereSql($e_table, $n_table, $names,
- $values, $pairs, $pair_operator, $case_sensitive, $order_by_metadata, $owner_guids);
- }
- function metadata_array_to_values($array) {
- $valuearray = array();
- if (is_array($array)) {
- foreach ($array as $element) {
- $valuearray[] = $element->value;
- }
- }
- return $valuearray;
- }
- function get_metadata_url($id) {
- return _elgg_services()->metadataTable->getUrl($id);
- }
- function register_metadata_as_independent($type, $subtype = '*') {
- _elgg_services()->metadataTable->registerMetadataAsIndependent($type, $subtype);
- }
- function is_metadata_independent($type, $subtype) {
- return _elgg_services()->metadataTable->isMetadataIndependent($type, $subtype);
- }
- function metadata_update($event, $object_type, $object) {
- return _elgg_services()->metadataTable->handleUpdate($event, $object_type, $object);
- }
- function _elgg_invalidate_metadata_cache($action, array $options) {
- _elgg_services()->metadataCache->invalidateByOptions($options);
- }
- function _elgg_metadata_test($hook, $type, $value, $params) {
- global $CONFIG;
- $value[] = $CONFIG->path . 'engine/tests/ElggCoreMetadataAPITest.php';
- $value[] = $CONFIG->path . 'engine/tests/ElggCoreMetadataCacheTest.php';
- return $value;
- }
- return function(\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) {
-
- $events->registerHandler('update', 'all', 'metadata_update');
- $hooks->registerHandler('unit_test', 'system', '_elgg_metadata_test');
- };
|