function MediaDevelGenerate::generateMedia

Same name and namespace in other branches
  1. 4.x devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php \Drupal\devel_generate\Plugin\DevelGenerate\MediaDevelGenerate::generateMedia()

Method for creating media when number of elements is less than 50.

Parameters

array $values: Array of values submitted through a form.

Throws

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException Thrown if the storage handler couldn't be loaded.

\Drupal\Component\Plugin\Exception\PluginNotFoundException Thrown if the entity type doesn't exist.

\Drupal\Core\Entity\EntityStorageException Thrown if the bundle does not exist or was needed but not specified.

1 call to MediaDevelGenerate::generateMedia()
MediaDevelGenerate::generateElements in devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php
Business logic relating with each DevelGenerate plugin.

File

devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php, line 237

Class

MediaDevelGenerate
Provides a plugin that generates media entities.

Namespace

Drupal\devel_generate\Plugin\DevelGenerate

Code

protected function generateMedia(array $values) : void {
  if (!empty($values['kill']) && $values['media_types']) {
    $this->mediaKill($values);
  }
  if (!empty($values['media_types'])) {
    // Generate media items.
    $this->preGenerate($values);
    $start = time();
    for ($i = 1; $i <= $values['num']; ++$i) {
      $this->createMediaItem($values);
      if (isset($values['feedback']) && $i % $values['feedback'] == 0) {
        $now = time();
        $this->messenger
          ->addStatus(dt('Completed !feedback media items (!rate media/min)', [
          '!feedback' => $values['feedback'],
          '!rate' => $values['feedback'] * 60 / ($now - $start),
        ]));
        $start = $now;
      }
    }
  }
  $this->setMessage($this->formatPlural($values['num'], '1 media item created.', 'Finished creating @count media items.'));
}