You are here

function cloud_zoom_field_formatter_settings_form in Cloud Zoom 8

Same name and namespace in other branches
  1. 7 cloud_zoom.module \cloud_zoom_field_formatter_settings_form()

Implements hook_field_formatter_settings_form().

File

./cloud_zoom.module, line 365
This module integrates the Cloud Zoom JQuery library from: http://www.professorcloud.com/mainsite/cloud-zoom.htm

Code

function cloud_zoom_field_formatter_settings_form($field, $instance, $view_mode) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $form = array();

  // Get a list of all style names for our form options.
  $options = array(
    t('None (original image)'),
  );
  foreach (image_styles() as $id => $style) {
    $options[$id] = $id;
  }
  $cloud_zoom_settings = cloud_zoom_settings_info();
  foreach ($cloud_zoom_settings as $key => $form_element) {
    if ($form_element['form_type'] == 'fieldset') {
      $form[$key] = array(
        '#type' => $form_element['form_type'],
        '#title' => $form_element['title'],
        '#description' => $form_element['description'],
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
      );
    }
    else {
      $default_value = empty($form_element['fieldset']) ? $settings[$key] : $settings[$form_element['fieldset']][$key];
      $form_settings = array(
        '#type' => $form_element['form_type'],
        '#title' => $form_element['title'],
        '#default_value' => $default_value,
        '#description' => $form_element['description'],
      );

      // Get the right option for select list.
      if ($form_element['form_type'] == 'select') {
        if (isset($form_element['options'])) {
          $form_settings['#options'] = $form_element['options'];
        }
        else {
          $form_settings['#options'] = $options;
        }
      }

      // Add element to fieldset or to main form.
      if (!empty($form_element['fieldset'])) {
        $form[$form_element['fieldset']][$key] = $form_settings;
      }
      else {
        $form[$key] = $form_settings;
      }
    }
  }
  return $form;
}