function datereminder_settings_form in Date Reminder 7
Same name and namespace in other branches
- 6.2 includes/admin.settings.inc \datereminder_settings_form()
- 6 includes/admin.settings.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 ./
datereminder.admin.inc - Implements hook_menu().
File
- ./
datereminder.admin.inc, line 113 - 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_display_loc'] = array(
'#type' => 'radios',
'#description' => t('Where should reminders appear when viewing a node?'),
'#default_value' => variable_get('datereminder_display_loc', DATEREMINDER_IN_NODE),
'#title' => t('Reminder display'),
'#options' => array(
DATEREMINDER_IN_NODE => t('Fieldset within the node'),
DATEREMINDER_AS_TAB => t('As a tab'),
DATEREMINDER_AS_BLOCK => t('Fieldset in a separate %block block.', array(
'%block' => t('Reminder request'),
)),
),
);
$form['datereminder_fieldset_collapsed'] = array(
'#type' => 'checkbox',
'#description' => t('Fieldset in node should initially be collapsed'),
'#default_value' => variable_get('datereminder_fieldset_collapsed', 1),
'#title' => t('Field initially collapsed'),
);
$form['datereminder_anonymous_link'] = array(
'#type' => 'checkbox',
'#description' => t('If displayed in node or block, give anonymous user a prompt to log in'),
'#default_value' => variable_get('datereminder_anonymous_link', false),
'#title' => t('Prompt anonymous user to log in.'),
);
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);
$form['#submit'][] = 'datereminder_settings_form_submit';
return $form;
}