You are here

function videojs_settings_form in Video.js (HTML5 Video Player) 6.2

Same name and namespace in other branches
  1. 6 includes/videojs.admin.inc \videojs_settings_form()
  2. 7.3 includes/videojs.admin.inc \videojs_settings_form()
  3. 7 includes/videojs.admin.inc \videojs_settings_form()
  4. 7.2 includes/videojs.admin.inc \videojs_settings_form()

Menu callback; Provides the Video.js settings form.

1 string reference to 'videojs_settings_form'
videojs_menu in ./videojs.module
Implementation of hook_menu().

File

includes/videojs.admin.inc, line 10
Administrative pages for the Video.js module.

Code

function videojs_settings_form() {
  $form = array();
  $form['videojs_directory'] = array(
    '#type' => 'textfield',
    '#title' => t('Video.js file directory'),
    '#default_value' => variable_get('videojs_directory', NULL),
    '#description' => t('Specify the path that contains the Video.js library. The video.js file should be in the root of this directory.'),
  );
  if (module_exists('libraries')) {
    $form['videojs_directory']['#description'] .= ' ' . t('Leave empty to detect the directory using the Libraries API.');
  }
  else {

    // Enter the default path if the libraries module is not preset.
    if (empty($form['videojs_directory']['#default_value'])) {
      $form['videojs_directory']['#default_value'] = 'sites/all/libraries/video-js';
    }
    $form['videojs_directory']['#required'] = TRUE;
  }
  $form['options'] = array(
    '#type' => 'fieldset',
    '#title' => t('Video.js options'),
    '#collapsible' => FALSE,
  );
  $form['options']['videojs_autoplay'] = array(
    '#type' => 'checkbox',
    '#title' => t('Auto-play files on page load'),
    '#description' => t('Use caution when combining this option with multiple players on the same page.'),
    '#default_value' => variable_get('videojs_autoplay', FALSE),
  );
  $form['options']['videojs_width'] = array(
    '#type' => 'textfield',
    '#title' => t('Player width'),
    '#default_value' => variable_get('videojs_width', 640),
  );
  $form['options']['videojs_height'] = array(
    '#type' => 'textfield',
    '#title' => t('Player height'),
    '#default_value' => variable_get('videojs_height', 264),
  );
  $form['thumbnails'] = array(
    '#type' => 'fieldset',
    '#title' => t('Video.js thumbnails'),
    '#collapsible' => FALSE,
    '#description' => t('Thumbnail settings for Video.js widget'),
  );
  foreach (_videojs_settings_thumbnail_fields() as $node_type => $value) {
    $form['thumbnails']['videojs_' . $node_type] = array(
      '#type' => 'select',
      '#title' => t('@fieldname in @contenttype', array(
        '@fieldname' => $value['video_js_field'],
        '@contenttype' => $value['description'],
      )),
      '#default_value' => variable_get('videojs_' . $node_type, module_exists('video') ? 'video_module' : $value['filefields'][0]),
      '#options' => module_exists('video') ? array(
        'video_module' => t('Video module'),
      ) + $value['filefields'] : $value['filefields'],
    );
  }
  $form = system_settings_form($form);
  $form['#validate'][] = 'videojs_settings_form_validate';
  array_unshift($form['#submit'], 'videojs_settings_form_submit');
  return $form;
}