function advanced_text_formatter_field_formatter_view in Advanced Text Formatter 7
Implements hook_field_formatter_view().
File
- ./
advanced_text_formatter.module, line 335 - Advanced Text Formatter
Code
function advanced_text_formatter_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
switch ($display['type']) {
case 'advanced_text':
$settings = $display['settings'];
$token_data = array(
$entity_type => $entity,
);
foreach ($items as $delta => $item) {
if ($settings['use_summary'] && !empty($item['summary'])) {
$output = $item['summary'];
}
else {
$output = $item['value'];
}
if ($settings['token_replace']) {
$output = token_replace($output, $token_data);
}
switch ($settings['filter']) {
case 'drupal':
$output = check_markup($output, $settings['format'], $langcode);
break;
case 'php':
$output = filter_xss($output, $settings['allowed_html']);
if ($settings['autop']) {
$output = _filter_autop($output);
}
break;
case 'input':
$output = check_markup($output, $item['format'], $langcode);
break;
}
if ($settings['trim_length'] > 0) {
$options = array(
'word_boundary' => $settings['word_boundary'],
'max_length' => $settings['trim_length'],
'ellipsis' => $settings['ellipsis'],
);
$output = advanced_text_formatter_trim_text($output, $options);
}
$element[$delta] = array(
'#markup' => $output,
);
}
break;
}
return $element;
}