You are here

function getdirections_fields_field_formatter_settings_summary in Get Directions 7.3

Implements hook_field_formatter_settings_summary(). Returns a short summary for the current formatter settings of an instance.

If an empty result is returned, the formatter is assumed to have no configurable settings, and no UI will be provided to display a settings form.

The field structure.

Parameters

$instance: The instance structure.

$view_mode: The view mode for which a settings summary is requested.

Return value

A string containing a short summary of the formatter settings.

File

modules/getdirections_fields/getdirections_fields.module, line 247
Provides Field module integration for Getdirections

Code

function getdirections_fields_field_formatter_settings_summary($field, $instance, $view_mode) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $summary = array();
  switch ($display['type']) {
    case 'getdirections_fields_default':
      $default_settings = getdirections_fields_field_formatter_settings();

      // we only show the differences from the defaults
      $summary[] = t('Map Formatter settings');

      // default
      foreach ($default_settings['default'] as $k => $v) {
        if (is_array($v)) {
          foreach ($v as $k1 => $v1) {
            if (isset($settings['default'][$k][$k1]) && $settings['default'][$k][$k1] !== $v1) {
              $summary[] = preg_replace("/_/", " ", $k1) . ': ' . ($settings['default'][$k][$k1] == 0 ? t('No') : ($settings['default'][$k][$k1] == 1 ? t('Yes') : $settings['default'][$k][$k1]));
            }
          }
        }
        else {
          if (isset($settings['default'][$k]) && $settings['default'][$k] !== $v) {
            $summary[] = preg_replace("/_/", " ", $k) . ': ' . ($settings['default'][$k] == 0 ? t('No') : ($settings['default'][$k] == 1 ? t('Yes') : $settings['default'][$k]));
          }
        }
      }

      // misc
      foreach ($default_settings['misc'] as $k => $v) {
        if (isset($settings['misc'][$k]) && $settings['misc'][$k] !== $v) {
          $summary[] = preg_replace("/_/", " ", $k) . ': ' . ($settings['misc'][$k] == '0' ? t('No') : ($settings['misc'][$k] == '1' ? t('Yes') : $settings['misc'][$k]));
        }
      }
      $summary[] = t('Direction: %d', array(
        '%d' => $default_settings['direction_options'][$settings['direction_opt']],
      ));
      break;
    case 'getdirections_fields_link':
      $default_settings = getdirections_fields_link_formatter_settings();
      $summary[] = t('Link Formatter settings');
      $summary[] = t('Text: %t', array(
        '%t' => $settings['text'],
      ));
      $summary[] = t('Option: %o', array(
        '%o' => $default_settings['text_options'][$settings['text_opt']],
      ));
      $summary[] = t('Direction: %d', array(
        '%d' => $default_settings['direction_options'][$settings['direction_opt']],
      ));
      break;
  }
  return implode('<br />', $summary);
}