You are here

function _quicktabs_form in Quick Tabs 6

Same name and namespace in other branches
  1. 5 quicktabs.module \_quicktabs_form()
  2. 6.3 includes/admin.inc \_quicktabs_form()
  3. 6.2 includes/admin.inc \_quicktabs_form()
  4. 7.3 quicktabs.admin.inc \_quicktabs_form()
  5. 7.2 includes/admin.inc \_quicktabs_form()

build the form elements for each tab

1 call to _quicktabs_form()
quicktabs_form in ./quicktabs.module
build the Quick Tabs creation and edit form

File

./quicktabs.module, line 229

Code

function _quicktabs_form($delta, $weight = -10, $title = '', $type = 'block', $bid = 0, $hide_title = 1, $vid = 'default', $args = NULL, $display = 'default') {
  $form = array(
    '#tree' => TRUE,
  );
  $blocks = quicktabs_get_blocks();

  // We'll manually set the #parents property of these fields so that
  // their values appear in the $form_state['values']['tabs'] array.
  $form['tabweight'] = array(
    '#type' => 'weight',
    '#default_value' => $weight,
    '#parents' => array(
      'tabs',
      $delta,
      'tabweight',
    ),
  );
  $form['tabtext'] = array(
    '#type' => 'textfield',
    '#size' => '10',
    '#title' => t('Tab @n', array(
      '@n' => $delta + 1,
    )),
    '#default_value' => $title,
    '#parents' => array(
      'tabs',
      $delta,
      'tabtext',
    ),
  );
  if (module_exists('views')) {
    $views = quicktabs_get_views();
    $form['type_options'] = array(
      '#type' => 'value',
      '#value' => array(
        'block' => 'block',
        'view' => 'view',
      ),
    );
    $form['tabtype'] = array(
      '#type' => 'radios',
      '#options' => $form['type_options']['#value'],
      '#title' => t('Tab Content'),
      '#default_value' => $type,
      '#parents' => array(
        'tabs',
        $delta,
        'tabtype',
      ),
    );
    $views_keys = array_keys($views);
    $selected_view = $vid ? $vid == 'default' ? $views_keys[0] : ($type == 'block' ? $views_keys[0] : $vid) : $views_keys[0];
    $form['vid'] = array(
      '#type' => 'select',
      '#options' => $views,
      '#default_value' => $selected_view,
      '#title' => t('Select a view'),
      '#parents' => array(
        'tabs',
        $delta,
        'vid',
      ),
      '#ahah' => array(
        'path' => 'quicktabs/ahah/',
        'wrapper' => 'quicktabs-tabs',
        'method' => 'replace',
        'event' => 'change',
      ),
    );
    $form['args'] = array(
      '#type' => 'textfield',
      '#title' => 'arguments',
      '#size' => '10',
      '#required' => false,
      '#default_value' => $args,
      '#description' => t('Provide a comma separated list of arguments to pass to the view.'),
      '#parents' => array(
        'tabs',
        $delta,
        'args',
      ),
    );
    $form['display'] = array(
      '#type' => 'select',
      '#title' => 'display',
      '#options' => _quicktabs_get_views_displays($selected_view),
      '#default_value' => $display,
      '#description' => t('Choose a display for your view.'),
      '#parents' => array(
        'tabs',
        $delta,
        'display',
      ),
    );
    $form['get_displays'] = array(
      '#type' => 'submit',
      '#value' => 'vdisp_' . $delta,
      '#parents' => array(
        'tabs',
        $delta,
        'get_displays',
      ),
      '#submit' => array(
        'qt_get_displays_submit',
      ),
    );
  }
  else {
    $form['tabtype'] = array(
      '#type' => 'hidden',
      '#title' => t('Type for tab @n', array(
        '@n' => $delta + 1,
      )),
      '#value' => $type,
      '#parents' => array(
        'tabs',
        $delta,
        'tabtype',
      ),
    );
  }
  $form['bid'] = array(
    '#type' => 'select',
    '#options' => $blocks,
    '#default_value' => $bid,
    '#title' => t('Select a block'),
    '#parents' => array(
      'tabs',
      $delta,
      'bid',
    ),
  );
  $form['hide_title'] = array(
    '#type' => 'checkbox',
    '#title' => t('Hide the title of this block'),
    '#default_value' => $hide_title,
    '#parents' => array(
      'tabs',
      $delta,
      'hide_title',
    ),
  );
  return $form;
}