function media_filter_parse_from_fields in D7 Media 7
Parse file references from an entity's text fields and return them as an array.
1 call to media_filter_parse_from_fields()
- media_entity_field_count_files in includes/
media.filter.inc - Utility function to get the file count in this entity
File
- includes/
media.filter.inc, line 105 - Functions related to the WYSIWYG editor and the media input filter.
Code
function media_filter_parse_from_fields($entity_type, $entity) {
$file_references = array();
foreach (_media_filter_fields_with_text_filtering($entity_type, $entity) as $field_name) {
if ($field_items = field_get_items($entity_type, $entity, $field_name)) {
foreach ($field_items as $field_item) {
preg_match_all(MEDIA_TOKEN_REGEX, $field_item['value'], $matches);
foreach ($matches[0] as $tag) {
$tag = str_replace(array(
'[[',
']]',
), '', $tag);
$tag_info = drupal_json_decode($tag);
if (isset($tag_info['fid']) && $tag_info['type'] == 'media') {
$file_references[] = $tag_info;
}
}
preg_match_all(MEDIA_TOKEN_REGEX_ALT, $field_item['value'], $matches_alt);
foreach ($matches_alt[0] as $tag) {
$tag = urldecode($tag);
$tag_info = drupal_json_decode($tag);
if (isset($tag_info['fid']) && $tag_info['type'] == 'media') {
$file_references[] = $tag_info;
}
}
}
}
}
return $file_references;
}