function media_embed_formatter_options in Media WYSIWYG Embed 7
Returns an option list of suitable formatters.
Parameters
object $file: File object.
array $settings: (optional) Formatter settings.
Return value
array An array of formatter options.
3 calls to media_embed_formatter_options()
- media_embed_formatted in ./
media_embed.module - Returns formatted media item markup.
- media_embed_formatted_callback in ./
media_embed.module - Menu callback for formatted media.
- media_embed_format_selector_form in includes/
media_embed.pages.inc - Form constructor for format selector form.
File
- ./
media_embed.module, line 484
Code
function media_embed_formatter_options($file, $settings = array()) {
$options = array();
$formatters = file_info_formatter_types();
foreach ($formatters as $name => $formatter) {
$mime_types = isset($formatter['mime types']) ? $formatter['mime types'] : array();
$mime_type_match = !$mime_types || file_entity_match_mimetypes($mime_types, $file->filemime);
$callback = isset($formatter['view callback']) ? $formatter['view callback'] : '';
if (empty($formatter['hidden']) && $mime_type_match && function_exists($callback)) {
$display = array(
'type' => $name,
'settings' => media_embed_formatter_settings($formatter, $settings),
);
$langcode = $GLOBALS['language_content']->language;
if ($callback($file, $display, $langcode)) {
$options[$name] = $formatter['label'];
}
}
}
asort($options);
$_file = clone $file;
drupal_alter('media_embed_formatter_options', $options, $_file);
return array_intersect_key($options, $formatters);
}