You are here

function editor_note_field_formatter_settings_summary in Editor Notes 7

Implements hook_field_formatter_settings_summary().

Displays summary of enabled settings for the field on Manage Display page. Essential for proper work of hook_field_formatter_settings_form() because it adds ajax-powered button that opens formatter_settings_form.

Note that button is present only if this hook returns non empty value.

See also

field_ui_display_overview_form()

File

./editor_note.module, line 926
Main functionality for Editor Notes module.

Code

function editor_note_field_formatter_settings_summary($field, $instance, $view_mode) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $summary = array();
  if ($display['type'] == 'editor_note_field_formatter') {
    $display_mode_raw = isset($settings['notes_display_mode']) ? $settings['notes_display_mode'] : 'per_revision';
    $display_mode = $display_mode_raw == 'per_revision' ? t('display list of notes per entity revision') : t('display list of notes per entity');
    $order = $settings['order'] == 'DESC' ? t('display recently updated notes first') : t('display recently updated notes last');
    $summary[] = t('Display mode: @display_mode.', array(
      '@display_mode' => $display_mode,
    ));
    $summary[] = t('Display a specified number of items: @limit.', array(
      '@limit' => $display['settings']['limit'],
    ));
    $summary[] = t('Notes Ordering: !order.', array(
      '!order' => $order,
    ));
    if ($display['settings']['limit'] > 0) {
      $summary[] = t('Enable pagination: !enabled.', array(
        '!enabled' => $settings['pager']['enabled'] ? 'true' : 'false',
      ));
      $summary[] = t('Pagination below notes table: !pager.', array(
        '!pager' => $settings['pager']['pager_below'] ? 'true' : 'false',
      ));
    }
  }
  return !empty($summary) ? implode('<br />', $summary) : '';
}