annotate core/modules/layout_builder/layout_builder.post_update.php @ 2:5311817fb629

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