annotate core/modules/layout_builder/layout_builder.post_update.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents
children 129ea1e6d783
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 /**
Chris@14 4 * @file
Chris@14 5 * Post update functions for Layout Builder.
Chris@14 6 */
Chris@14 7
Chris@14 8 /**
Chris@14 9 * Rebuild plugin dependencies for all entity view displays.
Chris@14 10 */
Chris@14 11 function layout_builder_post_update_rebuild_plugin_dependencies(&$sandbox = NULL) {
Chris@14 12 $storage = \Drupal::entityTypeManager()->getStorage('entity_view_display');
Chris@14 13 if (!isset($sandbox['ids'])) {
Chris@14 14 $sandbox['ids'] = $storage->getQuery()->accessCheck(FALSE)->execute();
Chris@14 15 $sandbox['count'] = count($sandbox['ids']);
Chris@14 16 }
Chris@14 17
Chris@14 18 for ($i = 0; $i < 10 && count($sandbox['ids']); $i++) {
Chris@14 19 $id = array_shift($sandbox['ids']);
Chris@14 20 if ($display = $storage->load($id)) {
Chris@14 21 $display->save();
Chris@14 22 }
Chris@14 23 }
Chris@14 24
Chris@14 25 $sandbox['#finished'] = empty($sandbox['ids']) ? 1 : ($sandbox['count'] - count($sandbox['ids'])) / $sandbox['count'];
Chris@14 26 }