diff --git a/system/src/Grav/Common/Page/Markdown/Excerpts.php b/system/src/Grav/Common/Page/Markdown/Excerpts.php index 63c4826ae..03b8c4dd9 100644 --- a/system/src/Grav/Common/Page/Markdown/Excerpts.php +++ b/system/src/Grav/Common/Page/Markdown/Excerpts.php @@ -266,11 +266,6 @@ class Excerpts ); } - $config = $this->getConfig(); - if (!empty($config['images']['auto_fix_orientation'])) { - $actions[] = ['method' => 'fixOrientation', 'params' => '']; - } - $defaults = $config['images']['defaults'] ?? []; if (count($defaults)) { foreach ($defaults as $method => $params) { diff --git a/system/src/Grav/Common/Page/Medium/ImageMedium.php b/system/src/Grav/Common/Page/Medium/ImageMedium.php index a1da2b100..177e8b290 100644 --- a/system/src/Grav/Common/Page/Medium/ImageMedium.php +++ b/system/src/Grav/Common/Page/Medium/ImageMedium.php @@ -24,6 +24,8 @@ class ImageMedium extends Medium implements ImageMediaInterface, ImageManipulate use ImageMediaTrait; use ImageLoadingTrait; + protected static $orientationFixed; + /** * Construct. * @@ -89,6 +91,7 @@ class ImageMedium extends Medium implements ImageMediaInterface, ImageManipulate $this->medium_querystring = []; $this->filter(); $this->clearAlternatives(); + static::$orientationFixed = null; } $this->format = 'guess'; @@ -276,6 +279,16 @@ class ImageMedium extends Medium implements ImageMediaInterface, ImageManipulate $this->image(); } + // Fix orientation if enabled + if (!isset(static::$orientationFixed)) { + if (Grav::instance()['config']->get('system.images.auto_fix_orientation', false)) { + $this->image->fixOrientation(); + static::$orientationFixed = true; + } else { + static::$orientationFixed = false; + } + } + try { $this->image->{$method}(...$args);