function datereminder_settings_form in Date Reminder 6.2
Same name and namespace in other branches
- 6 includes/admin.settings.inc \datereminder_settings_form()
- 7 datereminder.admin.inc \datereminder_settings_form()
Build form to set datereminder adminstrative settings.
Return value
array The form for settings.
1 string reference to 'datereminder_settings_form'
- _datereminder_menu in includes/
admin.settings.inc - Implements hook_menu().
File
- includes/
admin.settings.inc, line 112 - Forms for administrative settings.
Code
function datereminder_settings_form() {
module_load_include('inc', 'datereminder', 'includes/defines');
$form = array();
$form['datereminder_cron_frequency'] = array(
'#type' => 'textfield',
'#title' => t('Cron frequency in minutes'),
'#size' => 5,
'#default_value' => variable_get('datereminder_cron_frequency', DATEREMINDER_CRON_FREQUENCY),
'#description' => t('How often does cron run, in minutes? This affects when reminders are sent. Reminders will be sent for anything due before the next expected cron run.'),
);
$form['datereminder_max_reminders'] = array(
'#type' => 'textfield',
'#title' => t('Max reminders'),
'#size' => 3,
'#default_value' => variable_get('datereminder_max_reminders', DATEREMINDER_MAX_REMINDERS),
'#description' => t('Maximum number of reminders a user can request for one node'),
);
$form['datereminder_min_add'] = array(
'#type' => 'textfield',
'#title' => t('Add this many at once'),
'#size' => 2,
'#default_value' => variable_get('datereminder_min_add', 1),
'#description' => t('Allow user to add this many reminders at once'),
);
$form['datereminder_retain_expired'] = array(
'#type' => 'textfield',
'#title' => t('Days to retain reminder'),
'#description' => t('How long after last occurence to keep record of reminders'),
'#size' => 3,
'#default_value' => variable_get('datereminder_retain_expired', 14),
);
$form['datereminder_as_tab'] = array(
'#type' => 'select',
'#description' => t('Where should reminders appear when viewing a node?'),
'#default_value' => variable_get('datereminder_as_tab', FALSE),
'#title' => t('Reminder display'),
'#options' => array(
FALSE => t('Inline in node'),
TRUE => t('As a separate tab'),
),
);
module_load_include('inc', 'datereminder', 'includes/datereminder_form');
$leads = _datereminder_leadtime_list();
$boxes = array();
foreach ($leads as $l => $lbl) {
$boxes["_l_{$l}"] = array(
'#type' => 'checkbox',
'#title' => check_plain($lbl),
'#default_value' => TRUE,
);
}
$form['datereminder_leadtime_list'] = array(
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#title' => t('Specify allowed lead times'),
'#description' => t('Check to retain'),
);
$form['datereminder_leadtime_list'] += $boxes;
$nval = array(
'#type' => 'fieldset',
'#collapsible' => FALSE,
'#title' => t('Add new lead time'),
'#description' => t('Enter new lead time to add to the list'),
);
$nval['_added'] = array(
'#type' => 'textfield',
'#size' => 5,
);
$nval['_units'] = array(
'#type' => 'select',
'#description' => t('Select units'),
'#options' => array(
1 => t('Seconds'),
60 => t('Minutes'),
3600 => t('Hours'),
86400 => t('Days'),
604800 => t('Weeks'),
),
'#default_value' => 3600,
);
$form['datereminder_leadtime_list'][] = $nval;
$form = system_settings_form($form);
// Note: We do this *after* calling system_settings_form() so that
// menu_rebuild() is called after the normal system
// processing is done. (This is because datereminder_menu generates
// different menus depending on datereminder_as_tab.
$form['#submit'][] = 'menu_rebuild';
return $form;
}