class DbUpdateController extends ControllerBase (View source)

Controller routines for database update routes.

Traits

Wrapper methods for the logger factory service.

Provides a trait for the messenger service.

Wrapper methods for the Redirect Destination.

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Properties

protected LoggerChannelFactoryInterface $loggerFactory

The logger channel factory service.

from  LoggerChannelTrait
protected MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected RedirectDestinationInterface $redirectDestination

The redirect destination service.

from  RedirectDestinationTrait
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected EntityTypeManagerInterface $entityTypeManager

The entity type manager.

from  ControllerBase
protected EntityFormBuilderInterface $entityFormBuilder

The entity form builder.

from  ControllerBase
protected LanguageManagerInterface $languageManager

The language manager.

from  ControllerBase
protected ConfigFactoryInterface $configFactory

The configuration factory.

from  ControllerBase
protected KeyValueStoreInterface $keyValue

The key-value storage.

from  ControllerBase
protected AccountInterface $currentUser

The current user service.

from  ControllerBase
protected StateInterface $stateService

The state service.

from  ControllerBase
protected ModuleHandlerInterface $moduleHandler

The module handler.

protected FormBuilderInterface $formBuilder

The form builder.

from  ControllerBase
protected KeyValueExpirableFactoryInterface $keyValueExpirableFactory

The keyvalue expirable factory.

protected CacheBackendInterface $cache

A cache backend interface.

protected StateInterface $state

The state service.

protected AccountInterface $account

The current user.

protected BareHtmlPageRendererInterface $bareHtmlPageRenderer

The bare HTML page renderer.

protected string $root

The app root.

protected UpdateRegistry $postUpdateRegistry

The post update registry.

Methods

LoggerInterface
getLogger(string $channel)

Gets the logger for a specific channel.

$this
setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)

Injects the logger channel factory.

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

array
getDestinationArray()

Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.

getRedirectDestination()

Returns the redirect destination service.

$this
setRedirectDestination(RedirectDestinationInterface $redirect_destination)

Sets the redirect destination service.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

static 
create(ContainerInterface $container)

Instantiates a new instance of this class.

entityTypeManager()

Retrieves the entity type manager.

entityFormBuilder()

Retrieves the entity form builder.

cache(string $bin = 'default')

Returns the requested cache bin.

config(string $name)

Retrieves a configuration object.

keyValue(string $collection)

Returns a key/value storage collection.

state()

Returns the state storage service.

moduleHandler()

Returns the module handler.

formBuilder()

Returns the form builder service.

currentUser()

Returns the current user.

languageManager()

Returns the language manager service.

RedirectResponse
redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)

Returns a redirect response object for the specified route.

__construct(string $root, KeyValueExpirableFactoryInterface $key_value_expirable_factory, CacheBackendInterface $cache, StateInterface $state, ModuleHandlerInterface $module_handler, AccountInterface $account, BareHtmlPageRendererInterface $bare_html_page_renderer, UpdateRegistry $post_update_registry)

Constructs a new UpdateController.

Response
handle(string $op, Request $request)

Returns a database update page.

array
info(Request $request)

Returns the info database update page.

array
selection(Request $request)

Renders a list of available database updates.

array
results(Request $request)

Displays results of the update script with any accompanying errors.

array
requirements($severity, array $requirements, Request $request)

Renders a list of requirement errors or warnings.

array
updateTasksList(string $active = NULL)

Provides the update task list render array.

triggerBatch(Request $request)

Starts the database update batch process.

static 
batchFinished($success, array $results, array $operations)

Finishes the update process and stores the results for eventual display.

array
helpfulLinks(Request $request)

Provides links to the homepage and administration pages.

array
getModuleUpdates()

Retrieves module updates.

Details

protected LoggerInterface getLogger(string $channel)

Gets the logger for a specific channel.

Require the use of injected services: https://www.drupal.org/node/2733703

Parameters

string $channel

The name of the channel. Can be any string, but the general practice is to use the name of the subsystem calling this.

Return Value

LoggerInterface

The logger for the given channel.

$this setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)

Injects the logger channel factory.

Parameters

LoggerChannelFactoryInterface $logger_factory

The logger channel factory service.

Return Value

$this

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

protected array getDestinationArray()

Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.

Return Value

array

An associative array containing the key:

  • destination: The value of the current request's 'destination' query parameter, if present. This can be either a relative or absolute URL. However, for security, redirection to external URLs is not performed. If the query parameter isn't present, then the URL of the current request is returned.

See also

RedirectDestinationInterface::getAsArray

protected RedirectDestinationInterface getRedirectDestination()

Returns the redirect destination service.

Return Value

RedirectDestinationInterface

The redirect destination helper.

$this setRedirectDestination(RedirectDestinationInterface $redirect_destination)

Sets the redirect destination service.

Parameters

RedirectDestinationInterface $redirect_destination

The redirect destination service.

Return Value

$this

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

static create(ContainerInterface $container)

Instantiates a new instance of this class.

This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.

Parameters

ContainerInterface $container

The service container this instance should use.

protected EntityTypeManagerInterface entityTypeManager()

Retrieves the entity type manager.

Return Value

EntityTypeManagerInterface

The entity type manager.

protected EntityFormBuilderInterface entityFormBuilder()

Retrieves the entity form builder.

Return Value

EntityFormBuilderInterface

The entity form builder.

protected CacheBackendInterface cache(string $bin = 'default')

Returns the requested cache bin.

Parameters

string $bin

(optional) The cache bin for which the cache object should be returned, defaults to 'default'.

Return Value

CacheBackendInterface

The cache object associated with the specified bin.

protected Config config(string $name)

Retrieves a configuration object.

This is the main entry point to the configuration API. Calling

Parameters

string $name

The name of the configuration object to retrieve. The name corresponds to a configuration file. For @code \Drupal::config('book.admin') @endcode, the config object returned will contain the contents of book.admin configuration file.

Return Value

Config

A configuration object.

protected KeyValueStoreInterface keyValue(string $collection)

Returns a key/value storage collection.

Parameters

string $collection

Name of the key/value collection to return.

Return Value

KeyValueStoreInterface

protected StateInterface state()

Returns the state storage service.

Use this to store machine-generated data, local to a specific environment that does not need deploying and does not need human editing; for example, the last time cron was run. Data which needs to be edited by humans and needs to be the same across development, production, etc. environments (for example, the system maintenance message) should use config() instead.

Return Value

StateInterface

protected ModuleHandlerInterface moduleHandler()

Returns the module handler.

Return Value

ModuleHandlerInterface

protected FormBuilderInterface formBuilder()

Returns the form builder service.

Return Value

FormBuilderInterface

protected AccountInterface currentUser()

Returns the current user.

Return Value

AccountInterface

The current user.

protected LanguageManagerInterface languageManager()

Returns the language manager service.

Return Value

LanguageManagerInterface

The language manager.

protected RedirectResponse redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)

Returns a redirect response object for the specified route.

Parameters

string $route_name

The name of the route to which to redirect.

array $route_parameters

(optional) Parameters for the route.

array $options

(optional) An associative array of additional options.

int $status

(optional) The HTTP redirect status code for the redirect. The default is 302 Found.

Return Value

RedirectResponse

A redirect response object that may be returned by the controller.

__construct(string $root, KeyValueExpirableFactoryInterface $key_value_expirable_factory, CacheBackendInterface $cache, StateInterface $state, ModuleHandlerInterface $module_handler, AccountInterface $account, BareHtmlPageRendererInterface $bare_html_page_renderer, UpdateRegistry $post_update_registry)

Constructs a new UpdateController.

Parameters

string $root

The app root.

KeyValueExpirableFactoryInterface $key_value_expirable_factory

The keyvalue expirable factory.

CacheBackendInterface $cache

A cache backend interface.

StateInterface $state

The state service.

ModuleHandlerInterface $module_handler

The module handler.

AccountInterface $account

The current user.

BareHtmlPageRendererInterface $bare_html_page_renderer

The bare HTML page renderer.

UpdateRegistry $post_update_registry

The post update registry.

Response handle(string $op, Request $request)

Returns a database update page.

Parameters

string $op

The update operation to perform. Can be any of the below:

  • info
  • selection
  • run
  • results
Request $request

The current request object.

Return Value

Response

A response object object.

protected array info(Request $request)

Returns the info database update page.

Parameters

Request $request

The current request.

Return Value

array

A render array.

protected array selection(Request $request)

Renders a list of available database updates.

Parameters

Request $request

The current request.

Return Value

array

A render array.

protected array results(Request $request)

Displays results of the update script with any accompanying errors.

Parameters

Request $request

The current request.

Return Value

array

A render array.

array requirements($severity, array $requirements, Request $request)

Renders a list of requirement errors or warnings.

Parameters

$severity

The severity of the message, as per RFC 3164.

array $requirements

The array of requirement values.

Request $request

The current request.

Return Value

array

A render array.

protected array updateTasksList(string $active = NULL)

Provides the update task list render array.

Parameters

string $active

The active task. Can be one of 'requirements', 'info', 'selection', 'run', 'results'.

Return Value

array

A render array.

protected triggerBatch(Request $request)

Starts the database update batch process.

Parameters

Request $request

The current request object.

static batchFinished($success, array $results, array $operations)

Finishes the update process and stores the results for eventual display.

After the updates run, all caches are flushed. The update results are stored into the session (for example, to be displayed on the update results page in update.php). Additionally, if the site was off-line, now that the update process is completed, the site is set back online.

Parameters

$success

Indicate that the batch API tasks were all completed successfully.

array $results

An array of all the results that were updated in update_do_one().

array $operations

A list of all the operations that had not been completed by the batch API.

Provides links to the homepage and administration pages.

Parameters

Request $request

The current request.

Return Value

array

An array of links.

protected array getModuleUpdates()

Retrieves module updates.

Return Value

array

The module updates that can be performed.