コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
 }
コード例 #5
0
 /// <summary>
 /// Gets a media URL.
 /// </summary>
 public static string GetMediaUrl(MediaItem item, CustomMediaUrlOptions options)
 {
     return(Provider.GetMediaUrl(item, options));
 }