Пример #1
0
        public void Process(RenderFieldArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            string fieldTypeKey = args.FieldTypeKey;

            if (fieldTypeKey != "youtubevideo")
            {
                return;
            }

            args.DisableWebEditContentEditing = true;
            YouTubeVideoField video = args.GetField();

            if (Context.PageMode.IsPageEditorEditing)
            {
                YouTubeVideoField.ThumbnailSize size;
                Enum.TryParse(args.Parameters["Size"], out size); // default is Small

                args.Result.FirstPart = YouTubeVideoField.FormatValueForPageEditorDisplay(video.Value, size);
            }
            else
            {
                byte autoHide = GetByteOrDefault(args.Parameters["autohide"], 2);
                bool autoPlay = GetBoolOrDefault(args.Parameters["autoplay"]);
                byte controls = GetByteOrDefault(args.Parameters["controls"], 1);
                bool loop     = GetBoolOrDefault(args.Parameters["loop"]);
                bool rel      = GetBoolOrDefault(args.Parameters["rel"]);
                bool showinfo = GetBoolOrDefault(args.Parameters["showinfo"]);
                int  start    = GetIntOrDefault(args.Parameters["start"]);

                args.Result.FirstPart = video.FormatValueForNormalDisplay(video.Value, autoHide, autoPlay, controls, loop, rel, showinfo, start);
            }
        }
        public void Process(RenderFieldArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            string fieldTypeKey = args.FieldTypeKey;

            if (fieldTypeKey != "youtubevideo")
            {
                return;
            }

            args.DisableWebEditContentEditing = true;

            if (!Context.PageMode.IsPageEditorEditing)
            {
                return;
            }

            YouTubeVideoField video = args.GetField();

            YouTubeVideoField.ThumbnailSize size;
            Enum.TryParse(args.Parameters["Size"], out size); // default is Small

            args.Result.FirstPart = YouTubeVideoField.FormatValueForPageEditorDisplay(video.Value, size);
        }
        public void Process(RenderFieldArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            string fieldTypeKey = args.FieldTypeKey;
            if (fieldTypeKey != "youtubevideo") return;

            args.DisableWebEditContentEditing = true;
            YouTubeVideoField video = args.GetField();

            if (Context.PageMode.IsPageEditorEditing)
            {
                YouTubeVideoField.ThumbnailSize size;
                Enum.TryParse(args.Parameters["Size"], out size); // default is Small                

                args.Result.FirstPart = YouTubeVideoField.FormatValueForPageEditorDisplay(video.Value, size);
            }
            else
            {
                byte autoHide = GetByteOrDefault(args.Parameters["autohide"], 2);
                bool autoPlay = GetBoolOrDefault(args.Parameters["autoplay"]);
                byte controls = GetByteOrDefault(args.Parameters["controls"], 1);
                bool loop = GetBoolOrDefault(args.Parameters["loop"]);
                bool rel = GetBoolOrDefault(args.Parameters["rel"]);
                bool showinfo = GetBoolOrDefault(args.Parameters["showinfo"]);
                int start = GetIntOrDefault(args.Parameters["start"]);

                args.Result.FirstPart = video.FormatValueForNormalDisplay(video.Value, autoHide, autoPlay, controls, loop, rel, showinfo, start);
            }

        }
        public virtual string ReplaceRTETokens(RenderFieldArgs args, string text)
        {
            StringBuilder sb = new StringBuilder(text);

            var current = args.GetField().ID;

            if (!TrackTokens(args.Item, current, args.Item.Language, args.Item.Version.Number, text))
            {
                return(text);
            }
            foreach (
                var location in
                TokenLocations[args.Item.ID.ToString() + current + args.Item.Language.Name + args.Item.Version.Number].Item2)
            {
                if (location.Item1 + location.Item2 > text.Length && !args.WebEditParameters.ContainsKey("reseted"))
                {
                    ResetTokenLocations(args.Item.ID, current, args.Item.Language, args.Item.Version.Number);
                    args.WebEditParameters["reseted"] = "1";
                    return(ReplaceRTETokens(args, text));
                }
                try
                {
                    string token = sb.ToString(location.Item1, location.Item2);
                    if (Regex.IsMatch(token, TokenRegex))
                    {
                        try
                        {
                            var value = ParseTokenValueFromTokenIdentifier(token, args.Item);
                            sb.Replace(token, value, location.Item1, location.Item2);
                        }
                        catch
                        {
                            // error rendering token - still replace the raw value, but do it with an empty string
                            sb.Replace(token, string.Empty, location.Item1, location.Item2);
                            throw;
                        }
                    }
                    else if (!args.WebEditParameters.ContainsKey("reseted"))
                    {
                        ResetTokenLocations(args.Item.ID, current, args.Item.Language, args.Item.Version.Number);
                        args.WebEditParameters["reseted"] = "1";
                        return(ReplaceRTETokens(args, text));
                    }
                }
                catch (Exception e)
                {
                    Log.Error("unable to expand tokens for item " + args.Item.ID, e, this);
                }
            }
            return(sb.ToString());
        }
        public void Process(RenderFieldArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            string fieldTypeKey = args.FieldTypeKey;
            if (fieldTypeKey != "youtubevideo") return;

            args.DisableWebEditContentEditing = true;

            if (!Context.PageMode.IsPageEditorEditing) return;

            YouTubeVideoField video = args.GetField();

            YouTubeVideoField.ThumbnailSize size;
            Enum.TryParse(args.Parameters["Size"], out size); // default is Small

            args.Result.FirstPart = YouTubeVideoField.FormatValueForPageEditorDisplay(video.Value, size);
        }