You are here

function jw_player_field_formatter_settings_form in JW Player 7

Same name and namespace in other branches
  1. 7.2 jw_player.module \jw_player_field_formatter_settings_form()

Implements hook_field_formatter_settings_form().

File

./jw_player.module, line 74
Adds a theme function which allows theme developers to use the JW Player.

Code

function jw_player_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $element = array();
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];

  // Formatter types.
  switch ($display['type']) {
    case 'jw_player':
      $presets = jw_player_preset_load();

      // If there are presets prompt the user to select one or create another.
      // If no, prompt to create a preset.
      if (!empty($presets)) {
        foreach (jw_player_preset_load() as $preset => $item) {
          $options[$preset] = $item['preset_name'];
        }
        $element['jwplayer_preset'] = array(
          '#title' => t('Select preset'),
          '#type' => 'select',
          '#default_value' => $settings['jwplayer_preset'] ? $settings['jwplayer_preset'] : FALSE,
          '#options' => $options,
        );
        $element['links'] = array(
          '#theme' => 'links',
          '#links' => array(
            array(
              'title' => t('Create new preset'),
              'href' => 'admin/config/media/jw_player/add',
            ),
            array(
              'title' => t('Manage presets'),
              'href' => 'admin/config/media/jw_player',
            ),
          ),
        );
      }
      else {
        $element['no_preset_message'] = array(
          '#markup' => '<div class="messages warning">' . t('No presets are available. You must to <a href="@create">create a preset</a> to proceed.', array(
            '@create' => url('admin/config/media/jw_player/add'),
          )) . '</div>',
        );
      }
      break;
    default:
      break;
  }
  return $element;
}