You are here

function sarnia_schema_rule_form_submit in Sarnia 7

Form submit handler for sarnia schema rule administration.

File

./sarnia.rules.inc, line 351

Code

function sarnia_schema_rule_form_submit($form, &$form_state) {
  $changes = FALSE;
  foreach ($form_state['values']['rules'] as $values) {

    // The "this server only" checkbox will return either a server name or 0.
    if (!$values['search_api_server']) {
      $values['search_api_server'] = '';
    }

    // If the "delete" checkbox was checked, delete the rule.
    if (!empty($values['delete'])) {

      // delete rule
      db_delete('sarnia_solr_service_schema')
        ->condition('id', $values['id'])
        ->execute();
      drupal_set_message(t('Rule %rule has been deleted.', array(
        '%rule' => $values['id'],
      )));
    }
    elseif (_sarnia_schema_rule_is_changed($values['rule'], $values)) {
      $changes = TRUE;
      if (!empty($values['id'])) {
        drupal_write_record('sarnia_solr_service_schema', $values, 'id');
      }
      else {
        drupal_write_record('sarnia_solr_service_schema', $values);
      }
    }
  }
  if ($changes) {
    drupal_set_message(t('Your changes have been saved.'));
  }
}