function weight_form_node_type_form_alter in Weight 7.2
Implements hook_form_FORM_ID_alter().
File
- ./
weight.module, line 238
Code
function weight_form_node_type_form_alter(&$form, &$form_state) {
if (!empty($form_state['values']['weight_range'])) {
$range = $form_state['values']['weight_range'];
}
else {
if ($form['#node_type']->type) {
if (isset($settings['range'])) {
$range = $settings['range'];
}
}
if (!isset($range)) {
$range = 20;
}
}
$form['weight_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Weight Settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#group' => 'additional_settings',
'#access' => user_access('assign node weight'),
);
$form['weight_settings']['weight_enabled'] = array(
'#type' => 'radios',
'#title' => t('Enable'),
'#description' => t('Enable weight for this content type?'),
'#options' => array(
t('No'),
t('Yes'),
),
'#default_value' => isset($settings['enabled']) ? $settings['enabled'] : 0,
);
$form['weight_settings']['weight_range'] = array(
'#type' => 'radios',
'#title' => t('Weight Range'),
'#description' => t('This will be the range available when selecting a weight.'),
'#options' => array(
10 => '± 10',
20 => '± 20',
50 => '± 50',
100 => '± 100',
),
'#default_value' => $range,
'#ajax' => array(
'callback' => 'weight_range_callback',
'wrapper' => 'weight-default',
'method' => 'replace',
),
);
$form['weight_settings']['weight_menu'] = array(
'#type' => 'radios',
'#title' => t('Use Menu Weight'),
'#description' => t('Use the menu weight of the node, if it has one.'),
'#options' => array(
t('No'),
t('Yes'),
),
'#default_value' => isset($settings['menu_weight']) ? $settings['menu_weight'] : 0,
);
$form['weight_settings']['weight_default'] = array(
'#type' => 'select',
'#title' => t('Default Weight'),
'#description' => t('This weight will be applied to nodes if none is selected.'),
'#options' => _weight_get_options($range),
'#default_value' => isset($settings['default']) ? $settings['default'] : 0,
'#prefix' => '<div id="weight-default">',
'#suffix' => '</div>',
);
$form['weight_settings']['sync_translations'] = array(
'#type' => 'radios',
'#title' => t('Sync translations'),
'#description' => t('When changing the weight of a node, also update it\'s translations.'),
'#options' => array(
t('No'),
t('Yes'),
),
'#default_value' => isset($settings['sync_translations']) ? $settings['sync_translations'] : 0,
);
$form['weight_settings']['clear_all'] = array(
'#type' => 'checkbox',
'#title' => t('Clear all weights'),
'#description' => t('If selected, all weights for nodes of this type will be cleared.'),
);
$form['additional_settings']['#attached']['js'][] = drupal_get_path('module', 'weight') . '/weight.js';
$form['#submit'][] = 'weight_node_type_form_submit';
}