function rules_admin_form_edit_save in Rules 6
Actually saves the element. Note that this handles also saving newly added elements.
3 string references to 'rules_admin_form_edit_save'
- rules_admin_form_edit_action in rules_admin/
rules_admin.rule_forms.inc - Returns the edit form for an action
- rules_admin_form_edit_condition in rules_admin/
rules_admin.rule_forms.inc - Returns the edit form for a condition
- rules_admin_form_edit_op in rules_admin/
rules_admin.rule_forms.inc - Returns the edit form of a logical operation
File
- rules_admin/
rules_admin.rule_forms.inc, line 628
Code
function rules_admin_form_edit_save($form, &$form_state) {
$element =& $form_state['element'];
//remove empty values
$element = array_filter($element);
if (isset($element['#id']) && $element['#id']) {
//save edited element
$element_ref =& $form_state['proxy']
->get_element($element['#id']);
$element_ref = $element;
unset($element_ref['#id']);
}
else {
$parent_ref =& $form_state['proxy']
->get_element($form_state['parent_id']);
//just add the element to the parent
unset($element['#id']);
$parent_ref = rules_configure($parent_ref, $element);
}
$form_state['proxy']
->save_changes();
$form_state['redirect'] = RULES_ADMIN_RULE_PATH . '/' . $form_state['proxy']
->get_rule_name();
unset($form_state['storage']);
}