Example #1
0
        /// <summary>
        /// Creates an Image Rendition if the name of the Image Rendition doesn't already exist.
        /// </summary>
        /// <param name="web">SharePoint Web</param>
        /// <param name="imageRenditionName">The display name of the Image Rendition</param>
        /// <param name="imageRenditionWidth">The width of the Image Rendition</param>
        /// <param name="imageRenditionHeight">The height of the Image Rendition</param>
        public static void CreatePublishingImageRendition(this Web web, string imageRenditionName, int imageRenditionWidth, int imageRenditionHeight)
        {
            List <string>         imageRenditionNames     = new List <string>();
            List <ImageRendition> existingImageRenditions = SiteImageRenditions.GetRenditions(web.Context) as List <ImageRendition>;

            web.Context.ExecuteQueryRetry();
            foreach (ImageRendition existingImageRendition in existingImageRenditions)
            {
                imageRenditionNames.Add(existingImageRendition.Name);
            }
            if (!imageRenditionNames.Contains(imageRenditionName))
            {
                Log.Info(Constants.LOGGING_SOURCE, CoreResources.WebExtensions_CreatePublishingImageRendition, imageRenditionName, imageRenditionWidth, imageRenditionHeight);
                ImageRendition newImageRendition = new ImageRendition();
                newImageRendition.Name   = imageRenditionName;
                newImageRendition.Width  = imageRenditionWidth;
                newImageRendition.Height = imageRenditionHeight;
                existingImageRenditions.Add(newImageRendition);
                SiteImageRenditions.SetRenditions(web.Context, existingImageRenditions);
                web.Context.ExecuteQueryRetry();
            }
            else
            {
                Log.Info(Constants.LOGGING_SOURCE, CoreResources.WebExtensions_CreatePublishingImageRendition_Error, imageRenditionName);
            }
        }
        /// <summary>
        /// Updates image renditions configured in settings.xml pnp:ImageRenditions for the site configured in app.config.
        /// Deletes existing image renditions with the same name and different attributes first.
        /// </summary>
        /// <param name="clientContext"></param>
        private static void CreateImageRenditions(ClientContext clientContext)
        {
            var imageRenditions = SiteImageRenditions.GetRenditions(clientContext);

            clientContext.ExecuteQueryRetry();

            foreach (var node in _Branding.GetDescendants(_NameSpace + "ImageRenditions", _NameSpace + "ImageRendition"))
            {
                ImageRendition rendition = new ImageRendition()
                {
                    Name   = node.GetAttributeValue(_TokenParser, "Name"),
                    Width  = node.GetAttributeValue <int>(_TokenParser, "Width"),
                    Height = node.GetAttributeValue <int>(_TokenParser, "Height")
                };

                var existing = imageRenditions.FirstOrDefault(i => i.Name.Equals(rendition.Name, StringComparison.OrdinalIgnoreCase));
                if (existing != null && (existing.Width != rendition.Width || existing.Height != rendition.Height))
                {
                    imageRenditions.Remove(existing);
                    imageRenditions.Add(rendition);
                }
                else if (existing == null)
                {
                    imageRenditions.Add(rendition);
                }
            }

            SiteImageRenditions.SetRenditions(clientContext, imageRenditions);

            clientContext.ExecuteQueryRetry();
        }
        private static ImageRendition SetImageRenditionProperties(ImageRenditionInfo imageRenditionInfo)
        {
            var imageRendition = new ImageRendition();

            imageRendition.Name   = imageRenditionInfo.Name;
            imageRendition.Height = imageRenditionInfo.Height;
            imageRendition.Width  = imageRenditionInfo.Width;

            return(imageRendition);
        }
        private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost,
                                                  ImageRenditionDefinition imageRenditionModel)
        {
            var renditions       = SiteImageRenditions.GetRenditions(siteModelHost.HostSite);
            var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = currentRendition,
                ObjectType       = typeof(ImageRendition),
                ObjectDefinition = imageRenditionModel,
                ModelHost        = modelHost
            });

            if (currentRendition == null)
            {
                currentRendition = new ImageRendition
                {
                    Name   = imageRenditionModel.Name,
                    Width  = imageRenditionModel.Width,
                    Height = imageRenditionModel.Height
                };

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model            = null,
                    EventType        = ModelEventType.OnProvisioned,
                    Object           = currentRendition,
                    ObjectType       = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost        = modelHost
                });

                renditions.Add(currentRendition);
                renditions.Update();
            }
            else
            {
                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model            = null,
                    EventType        = ModelEventType.OnProvisioned,
                    Object           = currentRendition,
                    ObjectType       = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost        = modelHost
                });
            }
        }
        private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost,
            ImageRenditionDefinition imageRenditionModel)
        {
            var renditions = SiteImageRenditions.GetRenditions(siteModelHost.HostSite);
            var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = currentRendition,
                ObjectType = typeof(ImageRendition),
                ObjectDefinition = imageRenditionModel,
                ModelHost = modelHost
            });

            if (currentRendition == null)
            {
                currentRendition = new ImageRendition
                {
                    Name = imageRenditionModel.Name,
                    Width = imageRenditionModel.Width,
                    Height = imageRenditionModel.Height
                };

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model = null,
                    EventType = ModelEventType.OnProvisioned,
                    Object = currentRendition,
                    ObjectType = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost = modelHost
                });

                renditions.Add(currentRendition);
                renditions.Update();
            }
            else
            {
                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model = null,
                    EventType = ModelEventType.OnProvisioned,
                    Object = currentRendition,
                    ObjectType = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost = modelHost
                });
            }
        }
Example #6
0
        public void MarkForRedaction(ImageRendition rendition)
        {
            List <ImageRendition> list = null;

            _redactions.TryGetValue(rendition.StreamID, out list);
            if (list == null)
            {
                list = new List <ImageRendition>();
                _redactions[rendition.StreamID] = list;
            }
            list.Add(rendition);
            _redactionSet.Add(rendition);
        }
Example #7
0
        public void RetinaImageBase_PreRender(object sender, EventArgs e)
        {
            float scale = getDevicePixelRatio(Page);

            m_scales = GetScales();
            m_scales.Sort();

            ImageRendition r = new ImageRendition("", 0.0f);

            foreach (ImageRendition f in m_scales)
            {
                if (r.Scale > 0.0f && f.Scale > scale && r.Scale >= scale)
                {
                    break;
                }
                r = f;
            }

            base.ImageUrl = r.ImageUrl;
        }
Example #8
0
 public ImageRenditionPipeBind(ImageRendition item)
 {
     _item = item;
 }
Example #9
0
 public ImageRenditionPipeBind()
 {
     _item = null;
     _id   = null;
 }
        private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost,
            ImageRenditionDefinition imageRenditionModel)
        {
            var context = siteModelHost.HostSite.Context;
            var renditions = SiteImageRenditions.GetRenditions(siteModelHost.HostSite.Context);
            context.ExecuteQueryWithTrace();

            var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = currentRendition,
                ObjectType = typeof(ImageRendition),
                ObjectDefinition = imageRenditionModel,
                ModelHost = modelHost
            });

            if (currentRendition == null)
            {
                TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing new Image Rendition");

                var newRendition = new ImageRendition
                 {
                     Name = imageRenditionModel.Name,
                     Width = imageRenditionModel.Width,
                     Height = imageRenditionModel.Height
                 };

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model = null,
                    EventType = ModelEventType.OnProvisioned,
                    Object = newRendition,
                    ObjectType = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost = modelHost
                });

                renditions.Add(newRendition);
                SiteImageRenditions.SetRenditions(context, renditions);

                context.ExecuteQueryWithTrace();
            }
            else
            {
                TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing existing Image Rendition");

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model = null,
                    EventType = ModelEventType.OnProvisioned,
                    Object = currentRendition,
                    ObjectType = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost = modelHost
                });
            }
        }
Example #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ImageRenditionInfo"/> class.
 /// </summary>
 /// <param name="imageRendition">The image rendition.</param>
 public ImageRenditionInfo(ImageRendition imageRendition)
 {
     this.Name = imageRendition.Name;
     this.Width = imageRendition.Width;
     this.Height = imageRendition.Height;
 }
Example #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ImageRenditionInfo"/> class.
 /// </summary>
 /// <param name="imageRendition">The image rendition.</param>
 public ImageRenditionInfo(ImageRendition imageRendition)
 {
     this.Name   = imageRendition.Name;
     this.Width  = imageRendition.Width;
     this.Height = imageRendition.Height;
 }
        private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost,
                                                  ImageRenditionDefinition imageRenditionModel)
        {
            var context    = siteModelHost.HostSite.Context;
            var renditions = SiteImageRenditions.GetRenditions(siteModelHost.HostSite.Context);

            context.ExecuteQueryWithTrace();

            var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = currentRendition,
                ObjectType       = typeof(ImageRendition),
                ObjectDefinition = imageRenditionModel,
                ModelHost        = modelHost
            });

            if (currentRendition == null)
            {
                TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing new Image Rendition");

                var newRendition = new ImageRendition
                {
                    Name   = imageRenditionModel.Name,
                    Width  = imageRenditionModel.Width,
                    Height = imageRenditionModel.Height
                };

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model            = null,
                    EventType        = ModelEventType.OnProvisioned,
                    Object           = newRendition,
                    ObjectType       = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost        = modelHost
                });

                renditions.Add(newRendition);
                SiteImageRenditions.SetRenditions(context, renditions);

                context.ExecuteQueryWithTrace();
            }
            else
            {
                TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing existing Image Rendition");

                InvokeOnModelEvent(this, new ModelEventArgs
                {
                    CurrentModelNode = null,
                    Model            = null,
                    EventType        = ModelEventType.OnProvisioned,
                    Object           = currentRendition,
                    ObjectType       = typeof(ImageRendition),
                    ObjectDefinition = imageRenditionModel,
                    ModelHost        = modelHost
                });
            }
        }
        private static ImageRendition SetImageRenditionProperties(ImageRenditionInfo imageRenditionInfo)
        {
            var imageRendition = new ImageRendition();
            imageRendition.Name = imageRenditionInfo.Name;
            imageRendition.Height = imageRenditionInfo.Height;
            imageRendition.Width = imageRenditionInfo.Width;

            return imageRendition;
        }