You are here

function picture_field_formatter_settings_picture_sizes_formatter_form in Picture 7.2

Helper function.

See also

picture_field_formatter_settings_form()

File

./picture.module, line 648
Picture formatter.

Code

function picture_field_formatter_settings_picture_sizes_formatter_form($field, $instance, $settings) {
  $element = array();
  if ($instance['entity_type'] == 'file') {
    if (empty($settings['sizes'])) {
      $settings['sizes'] = '(min-width: 0px)';
    }
    $styles = array_filter($settings['image_styles']);
    if (empty($styles)) {
      $settings['image_styles'][PICTURE_EMPTY_IMAGE] = PICTURE_EMPTY_IMAGE;
    }
  }
  $element['sizes'] = array(
    '#title' => t('Sizes'),
    '#type' => 'textfield',
    '#maxlength' => 1024,
    '#description' => t('The value of the sizes attribute. See !link for more information.', array(
      '!link' => l(t('the spec'), 'http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content.html#introduction-3:viewport-based-selection-2'),
    )),
    '#default_value' => $settings['sizes'],
    '#required' => TRUE,
  );
  $image_styles = image_style_options(FALSE);
  $image_styles[PICTURE_EMPTY_IMAGE] = t('Empty image');
  $image_styles[PICTURE_ORIGINAL_IMAGE] = t('Original image');
  $element['image_styles'] = array(
    '#title' => t('Image styles'),
    '#type' => 'checkboxes',
    '#default_value' => $settings['image_styles'],
    '#options' => $image_styles,
    '#required' => TRUE,
  );
  $element['fallback_image_style'] = array(
    '#title' => t('Fallback image style'),
    '#type' => 'select',
    '#default_value' => $settings['fallback_image_style'] ? $settings['fallback_image_style'] : PICTURE_EMPTY_IMAGE,
    '#options' => $image_styles + array(
      PICTURE_EMPTY_IMAGE => t('Empty image'),
      PICTURE_ORIGINAL_IMAGE => t('Original image'),
    ),
    '#required' => TRUE,
  );
  $link_types = picture_link_types($instance);
  unset($link_types['colorbox']);
  $element['image_link'] = array(
    '#title' => t('Link image to'),
    '#type' => 'select',
    '#default_value' => $settings['image_link'],
    '#empty_option' => t('Nothing'),
    '#options' => $link_types,
    '#attributes' => array(
      'class' => array(
        'picture-image-link',
      ),
    ),
  );
  $element['lazyload_data_attributes'] = array(
    '#title' => t('Lazyload using data attributes'),
    '#type' => 'select',
    '#default_value' => $settings['lazyload_data_attributes'],
    '#options' => array(
      0 => t('No'),
      1 => t('Yes'),
    ),
  );
  $element['lazyload_class'] = array(
    '#title' => t('Lazyload class'),
    '#type' => 'textfield',
    '#default_value' => $settings['lazyload_class'],
  );
  return $element;
}