Update to Drupal 8.1.9. For more information, see https://www.drupal.org/project/drupal/releases/8.1.9
This commit is contained in:
parent
f9f23cdf38
commit
09b113657a
125 changed files with 2307 additions and 385 deletions
|
@ -23,7 +23,7 @@ class Schema extends DatabaseSchema {
|
|||
* This is collected by DatabaseConnection_pgsql->queryTableInformation(),
|
||||
* by introspecting the database.
|
||||
*
|
||||
* @see DatabaseConnection_pgsql->queryTableInformation()
|
||||
* @see \Drupal\Core\Database\Driver\pgsql\Schema::queryTableInformation()
|
||||
* @var array
|
||||
*/
|
||||
protected $tableInformation = array();
|
||||
|
|
|
@ -51,10 +51,23 @@ class FormattedDateDiff implements RenderableInterface, CacheableDependencyInter
|
|||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getCacheMaxAge() {
|
||||
return $this->maxAge;
|
||||
}
|
||||
|
||||
/**
|
||||
* The maximum age for which this object may be cached.
|
||||
*
|
||||
* @return int
|
||||
* The maximum time in seconds that this object may be cached.
|
||||
*
|
||||
* @deprecated in Drupal 8.1.9 and will be removed before Drupal 9.0.0. Use
|
||||
* \Drupal\Core\Datetime\FormattedDateDiff::getCacheMaxAge() instead.
|
||||
*/
|
||||
public function getMaxAge() {
|
||||
return $this->maxAge;
|
||||
return $this->getCacheMaxAge();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -297,7 +297,7 @@ class EntityAutocomplete extends Textfield {
|
|||
$multiples[] = $name . ' (' . $id . ')';
|
||||
}
|
||||
$params['@id'] = $id;
|
||||
$form_state->setError($element, t('Multiple entities match this reference; "%multiple". Specify the one you want by appending the id in parentheses, like "@value (@id)".', array('%multiple' => implode('", "', $multiples))));
|
||||
$form_state->setError($element, t('Multiple entities match this reference; "%multiple". Specify the one you want by appending the id in parentheses, like "@value (@id)".', array('%multiple' => implode('", "', $multiples)) + $params));
|
||||
}
|
||||
else {
|
||||
// Take the one and only matching entity.
|
||||
|
|
|
@ -17,13 +17,26 @@ class EntityAccessCheck implements AccessInterface {
|
|||
* Checks access to the entity operation on the given route.
|
||||
*
|
||||
* The value of the '_entity_access' key must be in the pattern
|
||||
* 'entity_type.operation.' The entity type must match the {entity_type}
|
||||
* parameter in the route pattern. This will check a node for 'update' access:
|
||||
* 'entity_slug_name.operation.' For example, this will check a node for
|
||||
* 'update' access:
|
||||
* @code
|
||||
* pattern: '/foo/{node}/bar'
|
||||
* requirements:
|
||||
* _entity_access: 'node.update'
|
||||
* @endcode
|
||||
* And this will check a dynamic entity type:
|
||||
* @code
|
||||
* example.route:
|
||||
* path: foo/{entity_type}/{example}
|
||||
* requirements:
|
||||
* _entity_access: example.update
|
||||
* options:
|
||||
* parameters:
|
||||
* example:
|
||||
* type: entity:{entity_type}
|
||||
* @endcode
|
||||
* @see \Drupal\Core\ParamConverter\EntityConverter
|
||||
*
|
||||
* Available operations are 'view', 'update', 'create', and 'delete'.
|
||||
*
|
||||
* @param \Symfony\Component\Routing\Route $route
|
||||
|
|
|
@ -31,7 +31,6 @@ interface QueryInterface extends AlterableInterface {
|
|||
* ->condition('greetings', 'merhaba', '=', 'tr')
|
||||
* ->condition('greetings.value', 'siema', '=', 'pl')
|
||||
* ->execute();
|
||||
* $entity_ids = $query->execute();
|
||||
* @endcode
|
||||
*
|
||||
* @param $field
|
||||
|
|
|
@ -1543,6 +1543,7 @@ class SqlContentEntityStorage extends ContentEntityStorageBase implements SqlEnt
|
|||
$item_query = $this->database->select($table_name, 't', array('fetch' => \PDO::FETCH_ASSOC))
|
||||
->fields('t')
|
||||
->condition('entity_id', $row['entity_id'])
|
||||
->condition('deleted', 1)
|
||||
->orderBy('delta');
|
||||
|
||||
foreach ($item_query->execute() as $item_row) {
|
||||
|
@ -1581,10 +1582,12 @@ class SqlContentEntityStorage extends ContentEntityStorageBase implements SqlEnt
|
|||
$revision_id = $this->entityType->isRevisionable() ? $entity->getRevisionId() : $entity->id();
|
||||
$this->database->delete($table_name)
|
||||
->condition('revision_id', $revision_id)
|
||||
->condition('deleted', 1)
|
||||
->execute();
|
||||
if ($this->entityType->isRevisionable()) {
|
||||
$this->database->delete($revision_name)
|
||||
->condition('revision_id', $revision_id)
|
||||
->condition('deleted', 1)
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
|
@ -1684,6 +1687,12 @@ class SqlContentEntityStorage extends ContentEntityStorageBase implements SqlEnt
|
|||
* Whether the field has been already deleted.
|
||||
*/
|
||||
protected function storageDefinitionIsDeleted(FieldStorageDefinitionInterface $storage_definition) {
|
||||
// Configurable fields are marked for deletion.
|
||||
if ($storage_definition instanceOf FieldStorageConfigInterface) {
|
||||
return $storage_definition->isDeleted();
|
||||
}
|
||||
// For non configurable fields check whether they are still in the last
|
||||
// installed schema repository.
|
||||
return !array_key_exists($storage_definition->getName(), $this->entityManager->getLastInstalledFieldStorageDefinitions($this->entityTypeId));
|
||||
}
|
||||
|
||||
|
|
|
@ -1252,21 +1252,6 @@ function hook_ENTITY_TYPE_revision_delete(Drupal\Core\Entity\EntityInterface $en
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Alter or execute an Drupal\Core\Entity\Query\EntityQueryInterface.
|
||||
*
|
||||
* @param \Drupal\Core\Entity\Query\QueryInterface $query
|
||||
* Note the $query->altered attribute which is TRUE in case the query has
|
||||
* already been altered once. This happens with cloned queries.
|
||||
* If there is a pager, then such a cloned query will be executed to count
|
||||
* all elements. This query can be detected by checking for
|
||||
* ($query->pager && $query->count), allowing the driver to return 0 from
|
||||
* the count query and disable the pager.
|
||||
*/
|
||||
function hook_entity_query_alter(\Drupal\Core\Entity\Query\QueryInterface $query) {
|
||||
// @todo: code example.
|
||||
}
|
||||
|
||||
/**
|
||||
* Act on entities being assembled before rendering.
|
||||
*
|
||||
|
@ -1860,7 +1845,8 @@ function hook_entity_operation_alter(array &$operations, \Drupal\Core\Entity\Ent
|
|||
*
|
||||
* @param string $operation
|
||||
* The operation to be performed. See
|
||||
* \Drupal\Core\Access\AccessibleInterface::access() for possible values.
|
||||
* \Drupal\Core\Entity\EntityAccessControlHandlerInterface::fieldAccess()
|
||||
* for possible values.
|
||||
* @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
|
||||
* The field definition.
|
||||
* @param \Drupal\Core\Session\AccountInterface $account
|
||||
|
@ -1871,6 +1857,8 @@ function hook_entity_operation_alter(array &$operations, \Drupal\Core\Entity\Ent
|
|||
*
|
||||
* @return \Drupal\Core\Access\AccessResultInterface
|
||||
* The access result.
|
||||
*
|
||||
* @see \Drupal\Core\Entity\EntityAccessControlHandlerInterface::fieldAccess()
|
||||
*/
|
||||
function hook_entity_field_access($operation, \Drupal\Core\Field\FieldDefinitionInterface $field_definition, \Drupal\Core\Session\AccountInterface $account, \Drupal\Core\Field\FieldItemListInterface $items = NULL) {
|
||||
if ($field_definition->getName() == 'field_of_interest' && $operation == 'edit') {
|
||||
|
|
|
@ -157,12 +157,6 @@ function hook_archiver_info_alter(&$info) {
|
|||
* will always be passed the full path to the root of the site that should
|
||||
* be used to restrict where file transfer operations can occur (the $jail)
|
||||
* and an array of settings values returned by the settings form.
|
||||
* - 'file': Required. The include file containing the FileTransfer class.
|
||||
* This should be a separate .inc file, not just the .module file, so that
|
||||
* the minimum possible code is loaded when authorize.php is running.
|
||||
* - 'file path': Optional. The directory (relative to the Drupal root)
|
||||
* where the include file lives. If not defined, defaults to the base
|
||||
* directory of the module implementing the hook.
|
||||
* - 'weight': Optional. Integer weight used for sorting connection types on
|
||||
* the authorize.php form.
|
||||
*
|
||||
|
|
|
@ -41,7 +41,7 @@ abstract class ConfigFormBase extends FormBase {
|
|||
'#button_type' => 'primary',
|
||||
);
|
||||
|
||||
// By default, render the form using theme_system_config_form().
|
||||
// By default, render the form using system-config-form.html.twig.
|
||||
$form['#theme'] = 'system_config_form';
|
||||
|
||||
return $form;
|
||||
|
|
|
@ -172,7 +172,7 @@ class ProjectInfo {
|
|||
* @return
|
||||
* Array of .info.yml file data we need for the update manager.
|
||||
*
|
||||
* @see \Drupal\Core\Utility\ProjectInfo->processInfoList()
|
||||
* @see \Drupal\Core\Utility\ProjectInfo::processInfoList()
|
||||
*/
|
||||
function filterProjectInfo($info, $additional_whitelist = array()) {
|
||||
$whitelist = array(
|
||||
|
|
Reference in a new issue