function datereminder_alter_node_form in Date Reminder 6
Same name and namespace in other branches
- 6.2 includes/node_form.inc \datereminder_alter_node_form()
- 7 includes/node_form.inc \datereminder_alter_node_form()
Implements hook_alter_node_form().
Add reminder information when a node with reminders is displayed.
Parameters
array &$form: The form to be altered.
array $form_state: Current form state.
string $form_id: Form id, in case there are more than one.
No return value. The form is updated.
1 call to datereminder_alter_node_form()
- datereminder_form_alter in ./
datereminder.module - Implements hook_form_alter().
File
- includes/
node_form.inc, line 22 - Functions that support node type edit forms.
Code
function datereminder_alter_node_form(&$form, &$form_state, $form_id) {
module_load_include('inc', 'datereminder', 'includes/defines');
// Get type of node that we're editing.
$type = $form['type']['#value'];
$enabled = _datereminder_type_enabled($type);
switch ($enabled) {
case DATEREMINDER_TYPE_ON:
$dflt = DATEREMINDER_TYPE_ON;
break;
case DATEREMINDER_TYPE_ALLOWED:
$dflt = DATEREMINDER_TYPE_RETAIN;
break;
default:
return;
}
// Node is not saved but previewed (nid is empty).
if (isset($form['#node']->build_mode) && $form['#node']->build_mode == NODE_BUILD_PREVIEW) {
$node = $form['#node'];
}
elseif (!empty($form['nid']['#value'])) {
$node = node_load($form['nid']['#value']);
}
else {
$node = NULL;
}
if ($node != NULL && isset($node->datereminder_enabled)) {
$dflt = $node->datereminder_enabled;
}
$form['reminder'] = array(
'#type' => 'fieldset',
'#title' => t('Reminder settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#weight' => 40,
);
$radios[DATEREMINDER_TYPE_DISABLED] = t('Disable and discard existing reminders');
$radios[DATEREMINDER_TYPE_RETAIN] = t('Disable, but keep existing reminders');
$radios[DATEREMINDER_TYPE_ON] = t('Enable');
$form['reminder']['datereminder_enabled'] = array(
'#type' => 'radios',
'#options' => $radios,
'#default_value' => $dflt,
'#description' => t('If enabled, users can sign up to get reminders before this event'),
);
$form['#submit'][] = '_datereminder_form_submit_node';
$form['#validate'][] = '_datereminder_form_validate_node';
}