function rules_admin_form_rule_settings in Rules 6
Returns the form for the settings of a rule
Parameters
$is_set: When adding a new rule for a rule set, TRUE.
3 calls to rules_admin_form_rule_settings()
- rules_admin_form_add_rule in rules_admin/
rules_admin.rule_forms.inc - Returns the add rule form
- rules_admin_form_clone in rules_admin/
rules_admin.rule_forms.inc - Clones a rule
- rules_admin_form_edit_rule in rules_admin/
rules_admin.rule_forms.inc - Returns the form for editing a rule
File
- rules_admin/
rules_admin.rule_forms.inc, line 108
Code
function rules_admin_form_rule_settings($rule, $is_set = FALSE, $changable_name = TRUE) {
$form['settings'] = array(
'#type' => 'fieldset',
'#title' => t('Rule settings'),
'#collapsible' => TRUE,
);
$form['settings']['label'] = array(
'#title' => t('Label'),
'#type' => 'textfield',
'#description' => t('Choose an appropriate label for this rule.'),
'#default_value' => isset($rule['#label']) ? $rule['#label'] : '',
'#required' => TRUE,
);
$form['settings']['name'] = array(
'#title' => t('Machine readable name'),
'#type' => 'textfield',
'#description' => t('Specify a unique name containing only alphanumeric characters, and underscores.'),
'#default_value' => isset($rule['#name']) ? $rule['#name'] : '',
'#disabled' => !$changable_name,
'#required' => TRUE,
);
// Only set the value if name isn't changable.
if (!$changable_name) {
$form['settings']['name']['#value'] = $rule['#name'];
}
$form['settings']['set'] = array(
'#type' => 'select',
'#default_value' => isset($rule['#set']) ? $rule['#set'] : '',
'#required' => TRUE,
);
if ($is_set) {
$form['settings']['set'] += array(
'#title' => t('Rule set'),
'#options' => rules_admin_get_grouped_labels(rules_admin_get_compatible_sets($rule, rules_get_configured_items('rule_sets'))),
'#description' => t('Select to which rule set this rule should belong.'),
);
}
else {
$form['settings']['set'] += array(
'#title' => t('Event'),
'#options' => rules_admin_get_grouped_labels(rules_admin_get_compatible_sets($rule, rules_get_event_sets())),
'#description' => t('Select the event on which you want to evaluate this rule.'),
);
}
$form['settings']['categories'] = array(
'#type' => 'textfield',
'#title' => t('Categories'),
'#default_value' => isset($rule['#categories']) ? implode(', ', $rule['#categories']) : '',
'#description' => t('A comma-separated list of terms describing this rule. Example: funny, bungee jumping.'),
'#autocomplete_path' => RULES_ADMIN_PATH . '/autocomplete',
);
$form['settings']['active'] = array(
'#title' => t('This rule is active and should be evaluated when the associated event occurs.'),
'#type' => 'checkbox',
'#default_value' => isset($rule['#active']) ? $rule['#active'] : 1,
);
$form['settings']['weight'] = array(
'#title' => t('Weight'),
'#type' => 'weight',
'#description' => t('Adjust the weight to customize the evaluation order of rules.'),
'#default_value' => isset($rule['#weight']) ? $rule['#weight'] : 0,
);
$form['settings']['button'] = array(
'#type' => 'submit',
'#weight' => 10,
'#value' => t('Save changes'),
);
return $form;
}