function rules_forms_action_set_element in Rules 6
Action implementation: Set the default value.
Related topics
File
- rules_forms/
rules_forms.rules.inc, line 257 - Rules integration to provide form support
Code
function rules_forms_action_set_element(&$form, $element, $value) {
$form_element =& _rules_forms_get_element($form, $element);
if (empty($form_element) || !array_key_exists('#default_value', $form_element)) {
return;
}
$lines = explode("\r\n", $value);
// Check if the form element is a CCK field
if (array_key_exists('#field_name', $form_element)) {
$default_value_key = $form_element['#columns'][0];
// Check if multiple default values are allowed
if (isset($form_element['#default_value'][0])) {
// Unset old default values
$form_element['#default_value'] = array();
foreach ($lines as $i => $line) {
$form_element['#default_value'][$i][$default_value_key] = $line;
}
}
else {
$form_element['#default_value'][$default_value_key] = $value;
}
}
else {
if (count($lines) == 1) {
$form_element['#default_value'] = $value;
}
else {
$form_element['#default_value'] = $lines;
}
}
}