You are here

function elasticsearch_connector_edit_cluster_submit in Elasticsearch Connector 7.5

Same name and namespace in other branches
  1. 7 elasticsearch_connector.admin.inc \elasticsearch_connector_edit_cluster_submit()
  2. 7.2 elasticsearch_connector.admin.inc \elasticsearch_connector_edit_cluster_submit()

Handle the cluster add/edit submissions.

_state

Parameters

array $form:

1 string reference to 'elasticsearch_connector_edit_cluster_submit'
elasticsearch_connector_edit_cluster in ./elasticsearch_connector.admin.inc
Add/edit Elasticsearch clusters.

File

./elasticsearch_connector.admin.inc, line 702
Created on Dec 23, 2013

Code

function elasticsearch_connector_edit_cluster_submit($form, &$form_state) {
  $cluster = $form_state['values']['cluster'];
  if (!$cluster) {
    $cluster = new stdClass();
  }

  // Save specific form values.
  $cluster->name = $form_state['values']['name'];
  $cluster->cluster_id = $form_state['values']['cluster_id'];
  $cluster->url = $form_state['values']['url'];
  $cluster->status = $form_state['values']['status'];
  $cluster->options = array();

  // Handle all options automatic if we add more in future.
  foreach ($form_state['values']['options'] as $option_name => $option_value) {
    $cluster->options[$option_name] = $option_value;
  }

  // Set default connection if selected or there is no default yet.
  $default = elasticsearch_connector_get_default_connector();
  if ($form_state['values']['default'] == 1 || empty($default)) {
    elasticsearch_connector_set_default_connector($cluster->cluster_id);
  }

  // Save the cluster.
  elasticsearch_connector_cluster_save($cluster);

  // Set a message for the user.
  if (empty($form_state['values']['cluster'])) {
    $message = t('The cluster has been created.');
  }
  else {
    $message = t('The cluster has been updated.');
  }
  drupal_set_message(filter_xss($message));

  // Redirect to the cluster listing page.
  $form_state['redirect'] = elasticsearch_connector_main_settings_path() . '/clusters';
}