You are here

function flexslider_example_generate_content in Flex Slider 8.2

Same name and namespace in other branches
  1. 7.2 flexslider_example/flexslider_example.module \flexslider_example_generate_content()

Generate the sample content.

1 call to flexslider_example_generate_content()
flexslider_example_install in flexslider_example/flexslider_example.install
Implements hook_install().

File

flexslider_example/flexslider_example.install, line 55
Install tasks for flexslider_example.

Code

function flexslider_example_generate_content() {
  $dir = drupal_get_path('module', 'flexslider') . '/assets/images';
  $images = \Drupal::service('file_system')
    ->scanDirectory($dir, '/flexslider-sample/');
  foreach ($images as $image) {
    $filename = $image->filename;
    $file_temp = file_get_contents($image->uri);
    $file_temp = file_save_data($file_temp, 'public://' . $filename, FileSystemInterface::EXISTS_RENAME);

    // Create node object with attached file.
    $node = Node::create([
      'type' => 'flexslider_example',
      'title' => ucfirst(str_replace('-', ' ', $image->name)),
      'promote' => NodeInterface::NOT_PROMOTED,
      'created' => \Drupal::time()
        ->getRequestTime(),
      'changed' => \Drupal::time()
        ->getRequestTime(),
      'uid' => 1,
      'field_flexslider_example_image' => [
        'target_id' => $file_temp
          ->id(),
      ],
    ]);
    try {
      $result = $node
        ->save();
      if ($result == SAVED_NEW) {
        $saved = 'Created';
      }
      elseif ($result == SAVED_UPDATED) {
        $saved = 'Updated';
      }
      else {
        throw new Exception(t('Unknown value [@result] was returned', [
          '@result' => $result,
        ]));
      }
      \Drupal::logger('flexslider')
        ->info(t('@saved flexslider_example node @nid', [
        '@saved' => $saved,
        '@nid' => $node
          ->id(),
      ]), []);
    } catch (Exception $e) {
      \Drupal::logger('flexslider')
        ->error(t('Node create failure: @msg', [
        '@msg' => $e
          ->getMessage(),
      ]), []);
    }
  }
}