function elasticsearch_connector_search_api_form_alter in Elasticsearch Connector 7.2
Same name and namespace in other branches
- 7.5 modules/elasticsearch_connector_search_api/elasticsearch_connector_search_api.module \elasticsearch_connector_search_api_form_alter()
- 7 modules/elasticsearch_connector_search_api/elasticsearch_connector_search_api.module \elasticsearch_connector_search_api_form_alter()
Implements hook_form_alter().
File
- modules/
elasticsearch_connector_search_api/ elasticsearch_connector_search_api.module, line 93 - Provides a elasticsearch-based service class for the Search API.
Code
function elasticsearch_connector_search_api_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'search_api_admin_add_index') {
elasticsearch_connector_search_api_attach_ajax_callback($form);
if (isset($form_state['values']) && !empty($form_state['values'])) {
$add_options = elasticsearch_connector_search_api_elasticsearch_server_enabled($form_state['values']['server']);
if ($add_options != FALSE) {
elasticsearch_connector_search_api_return_form_options($form, $form_state, array(), 'add');
}
}
}
elseif ($form_id == 'search_api_admin_index_edit') {
$default_values = $form_state['index']->options;
elasticsearch_connector_search_api_attach_ajax_callback($form);
if (!isset($form_state['values'])) {
if (isset($form_state['build_info']['args']) && !empty($form_state['build_info']['args'])) {
$index_obj = reset($form_state['build_info']['args']);
$add_options = elasticsearch_connector_search_api_elasticsearch_server_enabled($index_obj->server);
if ($add_options != FALSE) {
elasticsearch_connector_search_api_return_form_options($form, $form_state, $default_values, 'edit');
}
}
}
else {
$add_options = elasticsearch_connector_search_api_elasticsearch_server_enabled($form_state['values']['server']);
if ($add_options != FALSE) {
elasticsearch_connector_search_api_return_form_options($form, $form_state, $default_values, 'edit');
}
}
}
if ('search_api_admin_index_workflow' == $form_id) {
// Remove all processors from the form for this server.
if (elasticsearch_connector_search_api_elasticsearch_server_enabled($form_state['index']->server)) {
foreach (element_children($form['processors']['status']) as $key) {
if (strpos($key, 'search_api_elasticsearch') === FALSE) {
$form['processors']['status'][$key]['#default'] = 0;
$form['processors']['status'][$key]['#value'] = 0;
$form['processors']['status'][$key]['#disabled'] = TRUE;
}
}
}
}
}