Browse Source

hardened error checking

main
astanley 7 months ago
parent
commit
fd59c24a90
  1. 17
      src/Plugin/Action/GenerateImageMediaDimensions.php

17
src/Plugin/Action/GenerateImageMediaDimensions.php

@ -66,19 +66,22 @@ final class GenerateImageMediaDimensions extends ActionBase implements Container
* Action execution. * Action execution.
*/ */
public function execute(ContentEntityInterface $entity = NULL): void { public function execute(ContentEntityInterface $entity = NULL): void {
$height = $entity->get('field_height')->getValue()[0]['value']; $height = $entity->get('field_height')->value;
$width = $entity->get('field_width')->getValue()[0]['value']; $width = $entity->get('field_width')->value;
$field = $entity->hasField('field_media_file') ? 'field_media_file' : 'field_media_image'; $field = $entity->hasField('field_media_file') ? 'field_media_file' : 'field_media_image';
if (!$width || !$height) { if (!$width || !$height) {
if ($entity->hasField($field) && !$entity->get($field)->isEmpty()) { if ($entity->hasField($field) && !$entity->get($field)->isEmpty()) {
$file = $entity->get($field)->entity; $file = $entity->get($field)->entity;
$realpath = $this->fileSystem->realpath($file->getFileUri()); $realpath = $this->fileSystem->realpath($file->getFileUri());
$dimensions = getimagesize($realpath); if ($realpath) {
if ($dimensions) { $dimensions = getimagesize($realpath);
$entity->set('field_height', $dimensions[1]); if ($dimensions) {
$entity->set('field_width', $dimensions[0]); $entity->set('field_height', $dimensions[1]);
$entity->save(); $entity->set('field_width', $dimensions[0]);
$entity->save();
}
} }
} }
} }
} }

Loading…
Cancel
Save