function _quicktabs_form in Quick Tabs 7.2
Same name and namespace in other branches
- 5 quicktabs.module \_quicktabs_form()
- 6.3 includes/admin.inc \_quicktabs_form()
- 6 quicktabs.module \_quicktabs_form()
- 6.2 includes/admin.inc \_quicktabs_form()
- 7.3 quicktabs.admin.inc \_quicktabs_form()
1 call to _quicktabs_form()
- quicktabs_form in includes/
admin.inc - Build the quicktab creation and edit form.
File
- includes/
admin.inc, line 318 - Provides the Quick Tabs' administrative interface.
Code
function _quicktabs_form(array $tab) {
$form['#tree'] = TRUE;
$delta = $tab['delta'];
$form['weight'] = array(
'#type' => 'weight',
'#default_value' => isset($tab['weight']) ? $tab['weight'] : $delta - 100,
'#delta' => 100,
);
$form['title'] = array(
'#type' => 'textfield',
'#size' => '10',
'#default_value' => isset($tab['title']) ? $tab['title'] : '',
);
if (module_exists('block')) {
$tabtypes['block'] = t('Block');
$form['block']['bid'] = array(
'#type' => 'select',
'#options' => quicktabs_get_blocks(),
'#default_value' => isset($tab['bid']) ? $tab['bid'] : '',
'#title' => t('Select a block'),
);
$form['block']['hide_title'] = array(
'#type' => 'checkbox',
'#title' => t('Hide the title of this block'),
'#default_value' => isset($tab['hide_title']) ? $tab['hide_title'] : 1,
);
}
if (module_exists('views')) {
$views = quicktabs_get_views();
$views_keys = array_keys($views);
$tabtypes['view'] = t('View!translate_as_list_of_content', array(
'!translate_as_list_of_content' => '',
));
$selected_view = isset($tab['vid']) ? $tab['vid'] : (isset($views_keys[0]) ? $views_keys[0] : '');
$form['view']['vid'] = array(
'#type' => 'select',
'#options' => $views,
'#default_value' => $selected_view,
'#title' => t('Select a view'),
'#ajax' => array(
'callback' => 'quicktabs_ajax_callback',
'wrapper' => 'quicktab-tabs',
'method' => 'replace',
'effect' => 'fade',
),
);
$form['view']['display'] = array(
'#type' => 'select',
'#title' => 'display',
'#options' => _quicktabs_get_views_displays($selected_view),
'#default_value' => isset($tab['display']) ? $tab['display'] : '',
);
$form['view']['args'] = array(
'#type' => 'textfield',
'#title' => 'arguments',
'#size' => '40',
'#required' => FALSE,
'#default_value' => isset($tab['args']) ? $tab['args'] : '',
'#description' => t('Additional arguments to send to the view as if they were part of the URL in the form of arg1/arg2/arg3. You may use %0, %1, ..., %N to grab arguments from the URL.'),
);
}
$tabtypes['node'] = t('Node');
$form['node']['nid'] = array(
'#type' => 'textfield',
'#title' => t('Node'),
'#description' => t('The node ID of the node.'),
'#maxlength' => 10,
'#size' => 20,
'#default_value' => isset($tab['nid']) ? $tab['nid'] : '',
);
$form['node']['teaser'] = array(
'#type' => 'checkbox',
'#title' => t('Teaser view'),
'#default_value' => isset($tab['teaser']) ? $tab['teaser'] : 0,
);
$form['node']['hide_title'] = array(
'#type' => 'checkbox',
'#title' => t('Hide the title of this node'),
'#default_value' => isset($tab['hide_title']) ? $tab['hide_title'] : 1,
);
$tabtypes['qtabs'] = t('QTab');
$form['qtabs']['machine_name'] = array(
'#type' => 'textfield',
'#title' => t('Quicktab'),
'#description' => t('The quicktab machine name.') . ' ' . t('Different styles may not work when putting an ajax quicktab inside ajax quicktab.'),
'#maxlength' => 10,
'#size' => 20,
'#default_value' => isset($tab['machine_name']) ? $tab['machine_name'] : '',
);
$form['type'] = array(
'#type' => 'radios',
'#options' => $tabtypes,
'#default_value' => isset($tab['type']) ? $tab['type'] : key($tabtypes),
);
$form['remove'] = array(
'#type' => 'submit',
'#prefix' => '<div>',
'#suffix' => '<label for="edit-remove">' . t('Delete') . '</label></div>',
'#value' => 'remove_' . $delta,
'#attributes' => array(
'class' => array(
'delete-tab',
),
'title' => t('Click here to delete this tab.'),
),
'#submit' => array(
'qt_remove_tab_submit',
),
'#ajax' => array(
'callback' => 'quicktabs_ajax_callback',
'wrapper' => 'quicktab-tabs',
'method' => 'replace',
'effect' => 'fade',
),
'#limit_validation_errors' => array(),
);
return $form;
}