You are here

function video_players_admin_settings in Video 7.2

Same name and namespace in other branches
  1. 6.5 video.admin.inc \video_players_admin_settings()
  2. 6.4 video.admin.inc \video_players_admin_settings()
  3. 7 modules/video_ui/video.admin.inc \video_players_admin_settings()

Video player admin settings

1 string reference to 'video_players_admin_settings'
video_ui_menu in modules/video_ui/video_ui.module
Implements hook_menu().

File

modules/video_ui/video.admin.inc, line 243
Provides the administration settings for the Video Drupal module.

Code

function video_players_admin_settings() {
  $form = array(
    '#submit' => array(
      'video_players_admin_settings_submit',
    ),
  );
  $form['extensions'] = array(
    '#type' => 'fieldset',
    '#title' => t('Video extensions'),
    '#description' => t('Here you can map specific players to each video extension type.') . ' ' . t('This player will be selected when you choose the !formatter formatter for a Video field.', array(
      '!formatter' => t('Video player'),
    )),
  );

  // lets get all our supported extensions and players.
  $extensions = video_utility::getVideoExtensionPlayers();
  $players = video_utility::getVideoPlayers();
  $flv_players = video_video_flv_players();
  $html5_players = video_video_html5_players();
  foreach ($extensions as $ext => $player) {
    $form['extensions']['video_extension_' . $ext] = array(
      '#type' => 'select',
      '#title' => t('Extension:') . '  ' . $ext,
      '#default_value' => variable_get('video_extension_' . $ext, $player),
      '#options' => $players,
      '#required' => TRUE,
    );

    // For Flash
    if (!empty($flv_players)) {
      $value = variable_get('video_extension_' . $ext . '_flash_player', '');
      if (empty($value) || !isset($flv_players[$value])) {
        $value = key($flv_players);
      }
      $form['extensions']['video_extension_' . $ext . '_flash_player'] = array(
        '#type' => 'radios',
        '#title' => t('Flash player for @extension', array(
          '@extension' => $ext,
        )),
        '#options' => $flv_players,
        '#default_value' => $value,
        '#required' => TRUE,
        '#states' => array(
          'visible' => array(
            ':input[id=edit-video-extension-' . $ext . ']' => array(
              'value' => 'video_play_flv',
            ),
          ),
        ),
      );
    }
    else {
      $form['extensions']['video_extension_' . $ext . '_flash_player']['type'] = array(
        '#type' => 'markup',
        '#markup' => t('No Flash players detected.<br />You need to install !flowplayer or !jwplayer.', array(
          '!flowplayer' => l(t('Flowplayer API'), 'http://www.drupal.org/project/flowplayer'),
          '!jwplayer' => l(t('JW Player'), 'http://www.drupal.org/project/jw_player'),
        )),
        '#states' => array(
          'visible' => array(
            ':input[id=edit-video-extension-' . $ext . ']' => array(
              'value' => 'video_play_flv',
            ),
          ),
        ),
      );
    }

    // for HTML5
    if (!empty($html5_players)) {
      $value = variable_get('video_extension_' . $ext . '_html5_player', '');
      if (empty($value) || !isset($html5_players[$value])) {
        $value = key($html5_players);
      }
      $form['extensions']['video_extension_' . $ext . '_html5_player'] = array(
        '#type' => 'radios',
        '#title' => t('HTML5 player for @extension', array(
          '@extension' => $ext,
        )),
        '#options' => $html5_players,
        '#markup' => t('Additional HTML5 players module.<br />You can install !videojs.', array(
          '!videojs' => l(t('Video.js'), 'http://drupal.org/project/videojs'),
        )),
        '#default_value' => $value,
        '#required' => TRUE,
        '#states' => array(
          'visible' => array(
            ':input[id=edit-video-extension-' . $ext . ']' => array(
              'value' => 'video_play_html5',
            ),
          ),
        ),
      );
    }
  }

  // Miscellaneous player settings
  $form['playersettings'] = array(
    '#type' => 'fieldset',
    '#title' => t('Player settings'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  if (module_exists('jw_player')) {
    $presets = array();
    foreach (jw_player_preset_load() as $preset => $item) {
      $presets[$preset] = $item['preset_name'];
    }
    $form['playersettings']['video_jwplayer_preset'] = array(
      '#type' => 'select',
      '#title' => t('JW Player preset'),
      '#options' => $presets,
      '#default_value' => variable_get('video_jwplayer_preset', NULL),
      '#empty_value' => '',
    );
  }
  if (count(element_children($form['playersettings'])) == 0) {
    unset($form['playersettings']);
  }
  return system_settings_form($form);
}