diff --git a/entity.module b/entity.module index 2af9f47..a657245 100644 --- a/entity.module +++ b/entity.module @@ -1384,6 +1384,9 @@ function _entity_info_add_metadata(&$entity_info) { $entity_info['node']['form callback'] = 'entity_metadata_form_node'; $entity_info['user']['form callback'] = 'entity_metadata_form_user'; + // URI callbacks. + $entity_info['file']['uri callback'] = 'entity_metadata_uri_file'; + // View callbacks. $entity_info['node']['view callback'] = 'entity_metadata_view_node'; $entity_info['user']['view callback'] = 'entity_metadata_view_single'; diff --git a/modules/callbacks.inc b/modules/callbacks.inc index 5203028..ce08fb3 100644 --- a/modules/callbacks.inc +++ b/modules/callbacks.inc @@ -946,3 +946,13 @@ function entity_metadata_field_query($entity_type, $property, $value, $limit) { $result = $query->execute(); return !empty($result[$entity_type]) ? array_keys($result[$entity_type]) : array(); } + +/** + * Callback so that entity_uri() can generate a uri for file entities. + */ +function entity_metadata_uri_file($file) { + return array( + 'path' => file_create_url($file->uri), + ); +} +