You are here

function rules_admin_form_add_rule_submit in Rules 6

1 string reference to 'rules_admin_form_add_rule_submit'
rules_admin_form_clone in rules_admin/rules_admin.rule_forms.inc
Clones a rule

File

rules_admin/rules_admin.rule_forms.inc, line 84

Code

function rules_admin_form_add_rule_submit($form_id, &$form_state) {
  $rule = isset($form_state['proxy']) ? $form_state['proxy']
    ->get_rule() : array(
    '#type' => 'rule',
  );
  foreach (array(
    'set',
    'label',
    'active',
    'weight',
  ) as $key) {
    $rule['#' . $key] = $form_state['values'][$key];
  }
  $rule['#categories'] = array_filter(array_map('trim', explode(',', $form_state['values']['categories'])));
  $rule['#status'] = 'custom';

  // Get the name of the rule.
  $rule_name = 'rules_' . $form_state['values']['name'];
  rules_item_save('rules', $rule_name, $rule);
  rules_clear_cache();
  drupal_set_message(t("The rule %label has been added. You can start adding some conditions or actions now.", array(
    '%label' => $rule['#label'],
  )));
  $form_state['redirect'] = RULES_ADMIN_RULE_PATH . '/' . $rule_name;
}