function rules_admin_new_variables_form in Rules 6
Returns form elements for new variables
1 call to rules_admin_new_variables_form()
- rules_admin_form_edit_action in rules_admin/
rules_admin.rule_forms.inc - Returns the edit form for an action
File
- rules_admin/
rules_admin.rule_forms.inc, line 692
Code
function rules_admin_new_variables_form(&$form, &$form_state, $element) {
$info = rules_get_element_info($element);
if (isset($info['new variables']) && count($info['new variables'])) {
$form['new'] = array(
'#tree' => TRUE,
);
foreach ($info['new variables'] as $name => $var) {
$form['new'][$name] = array(
'#type' => 'fieldset',
'#title' => t('Variable @label settings', array(
'@label' => $var['label'],
)),
'#collapsible' => TRUE,
);
// Make sure the variable label is in lower case.
$var['label'] = drupal_strtolower(drupal_substr($var['label'], 0, 1)) . drupal_substr($var['label'], 1);
$form['new'][$name]['label'] = array(
'#type' => 'textfield',
'#title' => t('Label'),
'#default_value' => $var['label'],
'#required' => TRUE,
);
$form['new'][$name]['name'] = array(
'#type' => 'textfield',
'#title' => t('Machine readable variable name'),
'#description' => t('Specify a unique name containing only alphanumeric characters, and underscores.'),
'#default_value' => $name,
'#required' => TRUE,
);
// Preserve its old argument map value or initialize the map
$element['#settings'] += array(
'#argument map' => array(),
);
$default_name = array_search($name, $element['#settings']['#argument map']);
$default_name = $default_name === FALSE ? $name : $default_name;
$form['map'][$default_name] = array(
'#type' => 'value',
'#value' => $name,
);
}
$form['submit']['#validate'][] = 'rules_admin_new_variables_form_validate';
}
}