function block_post_update_fix_negate_in_conditions
Fix invalid 'negate' values in block visibility conditions.
File
-
core/
modules/ block/ block.post_update.php, line 82
Code
function block_post_update_fix_negate_in_conditions() {
$block_storage = \Drupal::entityTypeManager()->getStorage('block');
/** @var \Drupal\block\BlockInterface[] $blocks */
$blocks = $block_storage->loadMultiple();
foreach ($blocks as $block) {
$block_needs_saving = FALSE;
// Check each visibility condition for an invalid negate value, and fix it.
foreach ($block->getVisibilityConditions() as $condition_id => $condition) {
$configuration = $condition->getConfiguration();
if (array_key_exists('negate', $configuration) && !is_bool($configuration['negate'])) {
$configuration['negate'] = (bool) $configuration['negate'];
$condition->setConfiguration($configuration);
$block_needs_saving = TRUE;
}
}
if ($block_needs_saving) {
$block->save();
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.