function widgets_form_alter in Widgets 6
Implementation of hook_form_alter().
File
- ./
widgets.module, line 75 - Implementaion of module hooks for Widgets module.
Code
function widgets_form_alter(&$form, $form_state, $form_id) {
// Widgets node settings.
if (preg_match('/_node_form$/', $form_id) && !$form['#programmed']) {
// Check if widgets are enabled for this node type.
if (variable_get("widgets_enabled_{$form['type']['#value']}", 0)) {
module_load_include('inc', 'widgets');
widgets_add_multiselect('edit-selected-widgets');
// Alter node form.
$form['widgets'] = array(
'#type' => 'fieldset',
'#title' => t('Widgets'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
// Get widgets and selected widgets.
$options = widgets_get_widgets();
$selected = widgets_get_selected($form['nid']['#value']);
$form['widgets']['disable_widgets'] = array(
'#type' => 'checkbox',
'#title' => t('Disable widgets'),
'#default_value' => $form['#node']->disable_widgets,
'#description' => t('Check this option if you dont want any widgets to display on this page.'),
);
$form['widgets']['default_widgets'] = array(
'#type' => 'checkbox',
'#title' => t('Use default widgets'),
'#default_value' => $form['#node']->default_widgets,
'#description' => t('Check this option if you want to use the default widgets as defined for this node type.'),
);
$defaults = variable_get("widgets_default_{$form['type']['#value']}", array());
if (empty($defaults)) {
unset($form['widgets']['default_widgets']['#default_value']);
$form['widgets']['default_widgets']['#disabled'] = TRUE;
$form['widgets']['default_widgets']['#description'] = t('No default widgets have been defined for this node type.');
}
$form['widgets']['selected_widgets'] = array(
'#type' => 'select',
'#title' => t('Available widgets'),
'#default_value' => $selected,
'#options' => $options,
'#description' => t('Select widgets for this node. Drag and drop selected widgets to set the display order.'),
'#multiple' => TRUE,
'#attributes' => array(
'class' => 'multiselect-widget',
),
);
}
}
}