You are here

function elasticsearch_connector_search_api_elasticsearch_connector_edit_lock in Elasticsearch Connector 7.5

Same name and namespace in other branches
  1. 7 modules/elasticsearch_connector_search_api/elasticsearch_connector_search_api.module \elasticsearch_connector_search_api_elasticsearch_connector_edit_lock()
  2. 7.2 modules/elasticsearch_connector_search_api/elasticsearch_connector_search_api.module \elasticsearch_connector_search_api_elasticsearch_connector_edit_lock()

Implemens hook_elasticsearch_connector_edit_lock().

File

modules/elasticsearch_connector_search_api/elasticsearch_connector_search_api.module, line 439
Provides a elasticsearch-based service class for the Search API.

Code

function elasticsearch_connector_search_api_elasticsearch_connector_edit_lock($type, $cluster, $index = NULL) {
  if ('cluster' == $type) {
    $servers = search_api_server_load_multiple(FALSE);
    foreach ($servers as $id => $server) {
      if ('search_api_elasticsearch_connector' == $server->class) {
        $server_cluster = $server->options['cluster'];
        if (empty($server_cluster)) {
          $server_cluster = elasticsearch_connector_get_default_connector();
        }
        if ($server_cluster == $cluster->cluster_id) {
          return TRUE;
        }
      }
    }
  }
  elseif ('index' == $type) {
    $indexes = search_api_index_load_multiple(FALSE);
    foreach ($indexes as $id => $search_api_index) {
      if (!empty($search_api_index->options['index_name']['index']) && $search_api_index->options['index_name']['index'] == $index) {
        return TRUE;
      }
    }
  }
  return FALSE;
}