From 484a34cd92e2cbfb0122b9ed15227aaf14eaf7b0 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Mon, 21 Dec 2015 13:55:29 +0100 Subject: [PATCH 1/3] Fix orientation for images added via twig --- system/src/Grav/Common/Page/Medium/ImageMedium.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/system/src/Grav/Common/Page/Medium/ImageMedium.php b/system/src/Grav/Common/Page/Medium/ImageMedium.php index 3db039643..6da85af45 100644 --- a/system/src/Grav/Common/Page/Medium/ImageMedium.php +++ b/system/src/Grav/Common/Page/Medium/ImageMedium.php @@ -41,7 +41,8 @@ class ImageMedium extends Medium public static $magic_actions = [ 'resize', 'forceResize', 'cropResize', 'crop', 'zoomCrop', 'negate', 'brightness', 'contrast', 'grayscale', 'emboss', - 'smooth', 'sharp', 'edge', 'colorize', 'sepia', 'enableProgressive' + 'smooth', 'sharp', 'edge', 'colorize', 'sepia', 'enableProgressive', + 'fixOrientation' ]; /** @@ -260,6 +261,7 @@ class ImageMedium extends Medium if ($this->image) { $this->image(); $this->image->clearOperations(); // Clear previously applied operations + $this->fixOrientation(); $this->filter(); } @@ -469,6 +471,7 @@ class ImageMedium extends Medium ->setPrettyName(basename($this->get('basename'))); $this->filter(); + $this->fixOrientation(); return $this; } From 4581077dcd08b613476b58f13316de8d7c54d555 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Mon, 21 Dec 2015 19:10:19 +0100 Subject: [PATCH 2/3] Fix for images orientation in page content --- system/src/Grav/Common/Markdown/ParsedownGravTrait.php | 5 +++++ system/src/Grav/Common/Page/Medium/ImageMedium.php | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php index 460cf7490..21143636a 100644 --- a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php +++ b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php @@ -278,6 +278,8 @@ trait ParsedownGravTrait return $carry; }, []); + $actions['fixOrientation'] = true; + // valid attributes supported $valid_attributes = ['rel', 'target', 'id', 'class', 'classes']; @@ -301,6 +303,9 @@ trait ParsedownGravTrait } + $url['query']= http_build_query($actions, null, '&', PHP_QUERY_RFC3986); + } else { + $actions['fixOrientation'] = true; $url['query']= http_build_query($actions, null, '&', PHP_QUERY_RFC3986); } diff --git a/system/src/Grav/Common/Page/Medium/ImageMedium.php b/system/src/Grav/Common/Page/Medium/ImageMedium.php index 6da85af45..cc9e77717 100644 --- a/system/src/Grav/Common/Page/Medium/ImageMedium.php +++ b/system/src/Grav/Common/Page/Medium/ImageMedium.php @@ -41,8 +41,7 @@ class ImageMedium extends Medium public static $magic_actions = [ 'resize', 'forceResize', 'cropResize', 'crop', 'zoomCrop', 'negate', 'brightness', 'contrast', 'grayscale', 'emboss', - 'smooth', 'sharp', 'edge', 'colorize', 'sepia', 'enableProgressive', - 'fixOrientation' + 'smooth', 'sharp', 'edge', 'colorize', 'sepia', 'enableProgressive', 'fixOrientation' ]; /** @@ -261,7 +260,6 @@ class ImageMedium extends Medium if ($this->image) { $this->image(); $this->image->clearOperations(); // Clear previously applied operations - $this->fixOrientation(); $this->filter(); } @@ -471,7 +469,6 @@ class ImageMedium extends Medium ->setPrettyName(basename($this->get('basename'))); $this->filter(); - $this->fixOrientation(); return $this; } From b2c7e22634fcff63bbd9e2225b19de20d73ed01a Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Mon, 21 Dec 2015 19:18:51 +0100 Subject: [PATCH 3/3] Cleanup --- .../Grav/Common/Markdown/ParsedownGravTrait.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php index 21143636a..a51f20b52 100644 --- a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php +++ b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php @@ -267,7 +267,8 @@ trait ParsedownGravTrait // if this is a link if (isset($excerpt['element']['attributes']['href'])) { $url = parse_url(htmlspecialchars_decode($excerpt['element']['attributes']['href'])); - + $actions = []; + // if there is a query, then parse it and build action calls if (isset($url['query'])) { $actions = array_reduce(explode('&', $url['query']), function ($carry, $item) { @@ -278,8 +279,6 @@ trait ParsedownGravTrait return $carry; }, []); - $actions['fixOrientation'] = true; - // valid attributes supported $valid_attributes = ['rel', 'target', 'id', 'class', 'classes']; @@ -301,14 +300,11 @@ trait ParsedownGravTrait } } } - - - $url['query']= http_build_query($actions, null, '&', PHP_QUERY_RFC3986); - } else { - $actions['fixOrientation'] = true; - $url['query']= http_build_query($actions, null, '&', PHP_QUERY_RFC3986); } + $actions['fixOrientation'] = true; + $url['query']= http_build_query($actions, null, '&', PHP_QUERY_RFC3986); + // if no query elements left, unset query if (empty($url['query'])) { unset ($url['query']);