class ServerController in Search API 8
Provides block routines for search server-specific routes.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\search_api\Controller\ServerController
Expanded class hierarchy of ServerController
File
- src/
Controller/ ServerController.php, line 14
Namespace
Drupal\search_api\ControllerView source
class ServerController extends ControllerBase {
/**
* The messenger.
*
* @var \Drupal\Core\Messenger\MessengerInterface|null
*/
protected $messenger;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
/** @var static $controller */
$controller = parent::create($container);
$controller
->setMessenger($container
->get('messenger'));
return $controller;
}
/**
* Retrieves the messenger.
*
* @return \Drupal\Core\Messenger\MessengerInterface
* The messenger.
*/
public function getMessenger() {
return $this->messenger ?: \Drupal::service('messenger');
}
/**
* Sets the messenger.
*
* @param \Drupal\Core\Messenger\MessengerInterface $messenger
* The new messenger.
*
* @return $this
*/
public function setMessenger(MessengerInterface $messenger) {
$this->messenger = $messenger;
return $this;
}
/**
* Displays information about a search server.
*
* @param \Drupal\search_api\ServerInterface $search_api_server
* The server to display.
*
* @return array
* An array suitable for drupal_render().
*/
public function page(ServerInterface $search_api_server) {
// Build the search server information.
$render = [
'view' => [
'#theme' => 'search_api_server',
'#server' => $search_api_server,
],
'#attached' => [
'library' => [
'search_api/drupal.search_api.admin_css',
],
],
];
// Check if the server is enabled.
if ($search_api_server
->status()) {
// Attach the server status form.
$render['form'] = $this
->formBuilder()
->getForm('Drupal\\search_api\\Form\\ServerStatusForm', $search_api_server);
}
return $render;
}
/**
* Returns the page title for a server's "View" tab.
*
* @param \Drupal\search_api\ServerInterface $search_api_server
* The server that is displayed.
*
* @return string
* The page title.
*/
public function pageTitle(ServerInterface $search_api_server) {
return new FormattableMarkup('@title', [
'@title' => $search_api_server
->label(),
]);
}
/**
* Enables a search server without a confirmation form.
*
* @param \Drupal\search_api\ServerInterface $search_api_server
* The server to be enabled.
*
* @return \Symfony\Component\HttpFoundation\Response
* The response to send to the browser.
*/
public function serverBypassEnable(ServerInterface $search_api_server) {
$search_api_server
->setStatus(TRUE)
->save();
// Notify the user about the status change.
$this
->getMessenger()
->addStatus($this
->t('The search server %name has been enabled.', [
'%name' => $search_api_server
->label(),
]));
// Redirect to the server's "View" page.
$url = $search_api_server
->toUrl('canonical');
return $this
->redirect($url
->getRouteName(), $url
->getRouteParameters());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
ServerController:: |
protected | property |
The messenger. Overrides MessengerTrait:: |
|
ServerController:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
ServerController:: |
public | function | Retrieves the messenger. | |
ServerController:: |
public | function | Displays information about a search server. | |
ServerController:: |
public | function | Returns the page title for a server's "View" tab. | |
ServerController:: |
public | function | Enables a search server without a confirmation form. | |
ServerController:: |
public | function |
Sets the messenger. Overrides MessengerTrait:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |