/// <summary> /// Gets the thumbnail options. /// </summary> /// <param name="item">The item.</param> /// <returns></returns> public static CustomMediaUrlOptions GetMediaUrlOptions(MediaItem item) { Assert.ArgumentNotNull(item, "item"); CustomMediaUrlOptions shellOptions = GetShellOptions(); shellOptions.Database = item.Database; shellOptions.DisableBrowserCache = true; shellOptions.UseDefaultIcon = true; shellOptions.BackgroundColor = Color.White; shellOptions.ItemRevision = item.InnerItem[FieldIDs.Revision]; shellOptions.Language = item.InnerItem.Language; return(shellOptions); }
/// <summary> /// Gets the media URL. /// </summary> /// <param name="imageField">The image field.</param> /// <param name="options">The options.</param> /// <returns></returns> public static string GetMediaUrl(ImageField imageField, CustomMediaUrlOptions options) { if (imageField == null) { return(string.Empty); } var mediaItem = imageField.MediaItem; if (mediaItem == null) { return(string.Empty); } string cropRegion = HttpUtility.HtmlEncode(new XmlValue(imageField.Value, "image").GetAttribute("cropregion")); if (!string.IsNullOrEmpty(cropRegion)) { try { options.CropRegion = cropRegion; var coordinates = ConvertToIntArray(cropRegion); if (options.Width + options.Height > (coordinates[2] - coordinates[0] + coordinates[3] + coordinates[1])) { options.Width = coordinates[2] - coordinates[0]; options.Height = coordinates[3] + coordinates[1]; } } catch (Exception ex) { Log.Error(ex.Message, ex, typeof(CustomMediaManager)); } } if (!Settings.Media.RequestProtection.Enabled || imageField.InnerField.Name.StartsWith("__")) { return(GetMediaUrl(mediaItem, options)); } return(HashingUtils.ProtectAssetUrl(GetMediaUrl(mediaItem, options))); }
/// <summary> /// Gets the media URL. /// </summary> /// <param name="imageField">The image field.</param> /// <param name="options">The options.</param> /// <returns></returns> public static string GetMediaUrl(ImageField imageField, CustomMediaUrlOptions options) { if (imageField == null) return string.Empty; var mediaItem = imageField.MediaItem; if (mediaItem == null) return string.Empty; string cropRegion = HttpUtility.HtmlEncode(new XmlValue(imageField.Value, "image").GetAttribute("cropregion")); if (!string.IsNullOrEmpty(cropRegion)) { try { options.CropRegion = cropRegion; var coordinates = ConvertToIntArray(cropRegion); if (options.Width + options.Height > (coordinates[2] - coordinates[0] + coordinates[3] + coordinates[1])) { options.Width = coordinates[2] - coordinates[0]; options.Height = coordinates[3] + coordinates[1]; } } catch (Exception ex) { Log.Error(ex.Message, ex, typeof(CustomMediaManager)); } } if (!Settings.Media.RequestProtection.Enabled || imageField.InnerField.Name.StartsWith("__")) return GetMediaUrl(mediaItem, options); return HashingUtils.ProtectAssetUrl(GetMediaUrl(mediaItem, options)); }
/// <summary> /// Gets a media URL. /// </summary> public static string GetMediaUrl(MediaItem item, CustomMediaUrlOptions options) { return Provider.GetMediaUrl(item, options); }
/// <summary> /// Gets a media URL. /// </summary> public static string GetMediaUrl(MediaItem item, CustomMediaUrlOptions options) { return(Provider.GetMediaUrl(item, options)); }