From 6a3fb874999e37c440b2727ed7be09c27f6e0e2f Mon Sep 17 00:00:00 2001 From: Jeavon Leopold Date: Thu, 20 Mar 2014 12:42:05 +0000 Subject: [PATCH 1/3] GetCropUrl to not use .Url property but get directly from cropper JSON --- src/Umbraco.Web/ImageCropperTemplateExtensions.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs index 01bc044478..5dea93d9a8 100644 --- a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs @@ -58,8 +58,15 @@ namespace Umbraco.Web imageCropperValue = mediaItem.GetPropertyValue(propertyAlias); } - return mediaItem.Url != null - ? GetCropUrl(mediaItem.Url, width, height, quality, imageCropMode, imageCropAnchor, imageCropperValue, cropAlias, furtherOptions) + //get the raw value (this will be json) + var urlValue = mediaItem.GetPropertyValue(propertyAlias); + + mediaItemUrl = urlValue.DetectIsJson() + ? urlValue.SerializeToCropDataSet().Src + : urlValue; + + return mediaItemUrl != null + ? GetCropUrl(mediaItemUrl, width, height, quality, imageCropMode, imageCropAnchor, imageCropperValue, cropAlias, furtherOptions) : string.Empty; } From 2d2f57a71bdb7c6e5809890736dbfed5c3b4f8d2 Mon Sep 17 00:00:00 2001 From: Jeavon Leopold Date: Thu, 20 Mar 2014 13:22:45 +0000 Subject: [PATCH 2/3] GetCropUrl - needed to get the url from within the json within the check for a crop otherwise a exception can occur --- src/Umbraco.Web/ImageCropperTemplateExtensions.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs index 5dea93d9a8..163200dae2 100644 --- a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs @@ -56,15 +56,15 @@ namespace Umbraco.Web if (mediaItem.HasPropertyAndValueAndCrop(propertyAlias, cropAlias)) { imageCropperValue = mediaItem.GetPropertyValue(propertyAlias); + + //get the raw value (this will be json) + var urlValue = mediaItem.GetPropertyValue(propertyAlias); + + mediaItemUrl = urlValue.DetectIsJson() + ? urlValue.SerializeToCropDataSet().Src + : urlValue; } - //get the raw value (this will be json) - var urlValue = mediaItem.GetPropertyValue(propertyAlias); - - mediaItemUrl = urlValue.DetectIsJson() - ? urlValue.SerializeToCropDataSet().Src - : urlValue; - return mediaItemUrl != null ? GetCropUrl(mediaItemUrl, width, height, quality, imageCropMode, imageCropAnchor, imageCropperValue, cropAlias, furtherOptions) : string.Empty; From 5c5827e319e9f666e1edfc835672f87c21a4615f Mon Sep 17 00:00:00 2001 From: Jeavon Leopold Date: Thu, 20 Mar 2014 14:31:21 +0000 Subject: [PATCH 3/3] If cropper property editor not in use on umbracoFile then we can use mediaItem.Url --- src/Umbraco.Web/ImageCropperTemplateExtensions.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs index 163200dae2..c28913271f 100644 --- a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs @@ -51,7 +51,7 @@ namespace Umbraco.Web { string imageCropperValue = null; - string mediaItemUrl = null; + string mediaItemUrl; if (mediaItem.HasPropertyAndValueAndCrop(propertyAlias, cropAlias)) { @@ -64,6 +64,10 @@ namespace Umbraco.Web ? urlValue.SerializeToCropDataSet().Src : urlValue; } + else + { + mediaItemUrl = mediaItem.Url; + } return mediaItemUrl != null ? GetCropUrl(mediaItemUrl, width, height, quality, imageCropMode, imageCropAnchor, imageCropperValue, cropAlias, furtherOptions)