You are here

function elasticsearch_watchdog_filter_delete_confirm_submit in Elasticsearch Connector 7.2

Same name and namespace in other branches
  1. 7 modules/elasticsearch_watchdog/elasticsearch_watchdog.admin.inc \elasticsearch_watchdog_filter_delete_confirm_submit()

Form submission handler for confirm_form

Parameters

[type] $form [description]:

[type] $form_state [description]:

Return value

[type] [description]

File

modules/elasticsearch_watchdog/elasticsearch_watchdog.admin.inc, line 798
Created on Jan 06, 2014

Code

function elasticsearch_watchdog_filter_delete_confirm_submit($form, &$form_state) {
  if ($form_state['values']['confirm']) {
    if (empty($_SESSION['elasticsearch_watchdog_overview_filter'])) {
      drupal_set_message(t('No filter is present. Nothing was deleted.'));
    }
    else {
      $client_id = elasticsearch_watchdog_get_cluster_id();
      $index = elasticsearch_watchdog_get_index_name();
      $type = elasticsearch_watchdog_get_type_name_for_view();
      if (!empty($client_id)) {
        $client = elasticsearch_connector_get_client_by_id($client_id);
        if ($client) {
          try {
            $deleteParams = array();
            $deleteParams['index'] = $index;
            $deleteParams['type'] = $type;

            // Get the filter.
            $filter = elasticsearch_watchdog_build_filter_query();
            if (!empty($filter)) {
              $deleteParams['body']['query']['filtered'] = $filter;
            }
            $retDelete = $client
              ->deleteByQuery($deleteParams);

            // Reset the filters cause when deleting a document the filters are not there anymore.
            $_SESSION['elasticsearch_watchdog_overview_filter'] = array();
            drupal_set_message(t('Selected Elasticsearch logs have been deleted.'));
          } catch (Exception $e) {
            drupal_set_message($e
              ->getMessage(), 'error');
          }
        }
      }
    }
  }
  $form_state['redirect'] = 'admin/reports/elasticlog';
}