You are here

search_api_solr_admin.module in Search API Solr 4.x

File

modules/search_api_solr_admin/search_api_solr_admin.module
View source
<?php

use Drupal\Core\Form\FormStateInterface;

/**
 * Implements hook_form_FORM_alter.
 */
function search_api_solr_admin_form_search_api_server_status_alter(&$form, FormStateInterface $form_state, $form_id) {

  /** @var \Drupal\search_api\ServerInterface $server */
  $server = $form['#server'];

  /** @var \Drupal\search_api_solr\SolrBackendInterface $backend */
  $backend = $server
    ->getBackend();
  if ($backend
    ->getSolrConnector()
    ->isCloud()) {
    $form['actions']['delete_collection'] = [
      '#type' => 'submit',
      '#value' => t('Delete collection'),
      '#button_type' => 'danger',
      '#submit' => [
        'search_api_solr_admin_form_search_api_server_status_submit_delete_collection',
      ],
    ];
  }
}
function search_api_solr_admin_form_search_api_server_status_submit_delete_collection(&$form, FormStateInterface $form_state) {

  // Redirect to the "delete collection" form.

  /** @var \Drupal\search_api\ServerInterface $server */
  $server = $form['#server'];
  $form_state
    ->setRedirect('search_api_solr_admin.solr_delete_collection_form', [
    'search_api_server' => $server
      ->id(),
  ]);
}