You are here

class SolrFieldTypeController in Search API Solr 4.x

Same name and namespace in other branches
  1. 8.3 src/Controller/SolrFieldTypeController.php \Drupal\search_api_solr\Controller\SolrFieldTypeController
  2. 8.2 src/Controller/SolrFieldTypeController.php \Drupal\search_api_solr\Controller\SolrFieldTypeController

Provides different listings of SolrFieldType.

Hierarchy

Expanded class hierarchy of SolrFieldTypeController

File

src/Controller/SolrFieldTypeController.php, line 12

Namespace

Drupal\search_api_solr\Controller
View source
class SolrFieldTypeController extends AbstractSolrEntityController {

  /**
   * Entity type id.
   *
   * @var string
   */
  protected $entityTypeId = 'solr_field_type';

  /**
   * Provides a zip archive containing a complete Solr configuration.
   *
   * @param \Drupal\search_api\ServerInterface $search_api_server
   *   The Search API server entity.
   *
   * @return array|void
   *   A render array as expected by drupal_render().
   */
  public function getConfigZip(ServerInterface $search_api_server) {
    try {
      $archive_options = new Archive();
      $archive_options
        ->setSendHttpHeaders(TRUE);
      @ob_clean();

      // If you are using nginx as a webserver, it will try to buffer the
      // response. We have to disable this with a custom header.
      // @see https://github.com/maennchen/ZipStream-PHP/wiki/nginx
      header('X-Accel-Buffering: no');
      $zip = $this
        ->getListBuilder($search_api_server)
        ->getConfigZip($archive_options);
      $zip
        ->finish();
      @ob_end_flush();
      exit;
    } catch (\Exception $e) {
      watchdog_exception('search_api', $e);
      $this->messenger
        ->addError($this
        ->t('An error occured during the creation of the config.zip. Look at the logs for details.'));
    }
    return [];
  }

  /**
   * Disables a Solr Entity on this server.
   *
   * @param \Drupal\search_api\ServerInterface $search_api_server
   *   Search API server.
   * @param \Drupal\search_api_solr\SolrConfigInterface $solr_field_type
   *   Solr field type.
   *
   * @return \Symfony\Component\HttpFoundation\RedirectResponse
   *   Redirect response.
   *
   * @throws \Drupal\Core\Entity\EntityStorageException
   */
  public function disableOnServer(ServerInterface $search_api_server, SolrConfigInterface $solr_field_type) {
    return parent::disableOnServer($search_api_server, $solr_field_type);
  }

  /**
   * Enables a Solr Entity on this server.
   *
   * @param \Drupal\search_api\ServerInterface $search_api_server
   *   Search API server.
   * @param \Drupal\search_api_solr\SolrConfigInterface $solr_field_type
   *   Solr field type.
   *
   * @return \Symfony\Component\HttpFoundation\RedirectResponse
   *   Redirect response.
   *
   * @throws \Drupal\Core\Entity\EntityStorageException
   */
  public function enableOnServer(ServerInterface $search_api_server, SolrConfigInterface $solr_field_type) {
    return parent::enableOnServer($search_api_server, $solr_field_type);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AbstractSolrEntityController::$messenger protected property The messenger. Overrides MessengerTrait::$messenger
AbstractSolrEntityController::create public static function Instantiates a new instance of this class. Overrides ControllerBase::create
AbstractSolrEntityController::getListBuilder protected function Gets the list builder.
AbstractSolrEntityController::listing public function Provides the listing page.
AbstractSolrEntityController::__construct public function Constructs a SolrRequestHandlerController object.
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 1
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 2
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 2
ControllerBase::$stateService protected property The state service.
ControllerBase::cache protected function Returns the requested cache bin.
ControllerBase::config protected function Retrieves a configuration object.
ControllerBase::container private function Returns the service container.
ControllerBase::currentUser protected function Returns the current user. 1
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 2
ControllerBase::keyValue protected function Returns a key/value storage collection. 1
ControllerBase::languageManager protected function Returns the language manager service. 1
ControllerBase::moduleHandler protected function Returns the module handler. 2
ControllerBase::redirect protected function Returns a redirect response object for the specified route.
ControllerBase::state protected function Returns the state storage service.
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
SolrFieldTypeController::$entityTypeId protected property Entity type id. Overrides AbstractSolrEntityController::$entityTypeId
SolrFieldTypeController::disableOnServer public function Disables a Solr Entity on this server. Overrides AbstractSolrEntityController::disableOnServer
SolrFieldTypeController::enableOnServer public function Enables a Solr Entity on this server. Overrides AbstractSolrEntityController::enableOnServer
SolrFieldTypeController::getConfigZip public function Provides a zip archive containing a complete Solr configuration.
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.