You are here

public function ContentModelUpdater::convertMedia in Panopoly 8.2

Batch execution callback for converting media entities to new types.

Parameters

array|\ArrayAccess $context: The batch operation context.

Return value

float Indicates the progress of the batch.

File

modules/panopoly/panopoly_media/src/Update/ContentModelUpdater.php, line 93

Class

ContentModelUpdater
Applies changes to media content model from schema versions 8204 to 8205.

Namespace

Drupal\panopoly_media\Update

Code

public function convertMedia(&$context) {

  // First time through, populate the media IDs.
  if (!isset($context['sandbox']['media_ids'])) {
    $context['sandbox']['media_ids'] = \Drupal::database()
      ->select('media', 'm')
      ->fields('m', [
      'mid',
    ])
      ->execute()
      ->fetchCol();
    $context['sandbox']['media_count'] = count($context['sandbox']['media_ids']);
  }
  if (!$context['sandbox']['media_count']) {
    return 1;
  }
  $count = 0;
  while ($count < 25 && ($id = array_shift($context['sandbox']['media_ids']))) {
    $this
      ->convertMediaEntity($id);
  }
  return 1 - count($context['sandbox']['media_ids']) / $context['sandbox']['media_count'];
}