You are here

function draggableviews_book_draggableviews_style_plugin_form_alter in DraggableViews 6.3

Implementing hook_draggableviews_style_plugin_form_alter.

File

modules/draggableviews_book/draggableviews_book.module, line 42
Draggableviews Book module provides Book-support.

Code

function draggableviews_book_draggableviews_style_plugin_form_alter(&$form, $form_state, $style_plugin) {

  // Check for input.
  if (!empty($form_state['input']['style_options'])) {

    // Define the input data as the current data.
    $current = $form_state['input']['style_options'];
  }
  else {

    // Define the already stored data as the current data.
    $current = $style_plugin->options;
  }
  $arguments = array();
  foreach ($style_plugin->view
    ->get_items('argument', $style_plugin->display->id) as $arg_id => $settings) {
    $arguments[$arg_id] = $settings['table'] . '.' . $settings['field'] . ': ' . $arg_id;
  }
  if (empty($arguments)) {
    $arguments = array(
      'none' => t('- None -'),
    );
  }
  $filters = array();
  foreach ($style_plugin->view
    ->get_items('filter', $style_plugin->display->id) as $filter_id => $settings) {
    $filters[$filter_id] = $settings['table'] . '.' . $settings['field'] . ': ' . $filter_id;
  }
  if (empty($filters)) {
    $filters = array(
      'none' => t('- None -'),
    );
  }
  $form['draggableviews_book_header'] = array(
    '#prefix' => '<div style="background: #F6F6F6; border-top: 1px solid #D6DBDE; font-weight: bold; padding: 1em 1em 0;">',
    '#suffix' => '</div>',
    '#value' => t('@display: Style options: Book handler Settings', array(
      '@display' => $style_plugin->display->display_title,
    )),
  );
  $radio_id_none = form_clean_id('edit-default-use-book-none');
  $radio_id_argument = form_clean_id('edit-default-use-book-argument');
  $radio_id_filter = form_clean_id('edit-default-use-book-filter');
  $form['draggableviews_book_radios'] = array(
    '#type' => 'radios',
    '#default_value' => isset($current['draggableviews_book_radios']) ? $current['draggableviews_book_radios'] : 0,
    '#description' => t('Choose where to get the root book id from. The root book id defaults to 0.'),
    '#options' => array(
      t('None'),
      t('Argument'),
      t('Filter'),
    ),
  );
  $form['draggableviews_book_argument'] = array(
    '#type' => 'select',
    '#options' => $arguments,
    '#default_value' => isset($current['draggableviews_book_argument']) ? $current['draggableviews_book_argument'] : key($arguments),
  );
  $form['draggableviews_book_filter'] = array(
    '#type' => 'select',
    '#options' => $filters,
    '#default_value' => isset($current['draggableviews_book_filter']) ? $current['draggableviews_book_filter'] : key($filters),
  );
}