images_styles_gen.module 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. use Drupal\image\Entity\ImageStyle;
  3. use Drupal\Core\Entity\EntityInterface;
  4. use Drupal\file\FileInterface;
  5. // /**
  6. // * Implements hook_entity_insert().
  7. // * Generate all image styles once an Image is uploaded.
  8. // */
  9. // function images_styles_gen_entity_insert(EntityInterface $entity) {
  10. // /** @var \Drupal\file\Entity\File $entity */
  11. // if ($entity instanceof FileInterface) {
  12. // $image = \Drupal::service('image.factory')->get($entity->getFileUri());
  13. // /** @var \Drupal\Core\Image\Image $image */
  14. // if ($image->isValid()) {
  15. // $styles = ImageStyle::loadMultiple();
  16. // $image_uri = $entity->getFileUri();
  17. // /** @var \Drupal\image\Entity\ImageStyle $style */
  18. // foreach ($styles as $style) {
  19. // $destination = $style->buildUri($image_uri);
  20. // $style->createDerivative($image_uri, $destination);
  21. // }
  22. // }
  23. // }
  24. // }
  25. /**
  26. * Implements hook_entity_insert().
  27. * Queue generation of all image styles once an Image is uploaded.
  28. */
  29. // function images_styles_gen_entity_insert(EntityInterface $entity) {
  30. // // TODO: IS THIS EVEN WORKING ????
  31. // /** @var \Drupal\file\Entity\File $entity */
  32. // if ($entity instanceof FileInterface) {
  33. // $image = \Drupal::service('image.factory')->get($entity->getFileUri());
  34. // /** @var \Drupal\Core\Image\Image $image */
  35. // if ($image->isValid()) {
  36. // $queue = \Drupal::queue('img_styles_gen');
  37. // $item = new \stdClass();
  38. // $item->fid = $entity->id();
  39. // $queue->createItem($item);
  40. // // $data = ['entity' => $entity];
  41. // // $queue->createItem($data);
  42. // }
  43. // }
  44. // }
  45. // function images_styles_gen_cron_DISABLED(){
  46. // $file_storage = \Drupal::entityTypeManager()->getStorage('file');
  47. // $query = $file_storage->getQuery()
  48. // ->condition('filemime', 'image/%', 'LIKE')
  49. // ->accessCheck(TRUE);
  50. // $results = $query->execute();
  51. //
  52. // // $styles_storage = \Drupal::entityTypeManager()->getStorage('image_style');
  53. // // $styles = $styles_storage->loadMultiple();
  54. //
  55. // /** @var QueueFactory $queue_factory */
  56. // $queue_factory = \Drupal::service('queue');
  57. // /** @var QueueInterface $queue */
  58. // $queue = $queue_factory->get('img_styles_gen');
  59. //
  60. // foreach ($results as $fid) {
  61. // $item = new \stdClass();
  62. // $item->fid = $fid;
  63. // $queue->createItem($item);
  64. //
  65. // // $queue->createItem(["fid" => $fid]);
  66. //
  67. //
  68. // // /** @var \Drupal\file\FileInterface|null $file*/
  69. // // $file_entity = \Drupal::entityTypeManager()->getStorage('file')->load($fid);
  70. // // $image = \Drupal::service('image.factory')->get($file_entity->getFileUri());
  71. // //
  72. // // if ($image->isValid()) {
  73. // // $image_uri = $file_entity->getFileUri();
  74. // // /** @var \Drupal\image\Entity\ImageStyle $style */
  75. // // foreach ($styles as $style) {
  76. // // $destination = $style->buildUri($image_uri);
  77. // // // if destination exists skip
  78. // // if (file_exists($destination)) continue; // skip existing files
  79. // //
  80. // // $data = [
  81. // // 'style' => $style,
  82. // // 'image_uri' => $image_uri,
  83. // // 'destination' => $destination
  84. // // ];
  85. // // $queue->createItem($data);
  86. // // \Drupal::logger('images_styles_gen')->notice("created queue from $image_uri to $destination");
  87. // // }
  88. //
  89. // // }
  90. // }
  91. // }