コード例 #1
0
        private static string ParsePreview(int portalId, string template, string message, int moduleId)
        {
            //TODO: Legacy Attachments Functionality - Probably can remove.
            if (message.Contains("[IMAGE:"))
            {
                var          strHost = Common.Globals.AddHTTP(Common.Globals.GetDomainName(HttpContext.Current.Request)) + "/";
                const string pattern = "([IMAGE:(.+?)])";
                foreach (Match match in Regex.Matches(message, pattern))
                {
                    var sImage = "<img src=\"" + strHost + "DesktopModules/ActiveForums/viewer.aspx?portalid=" + portalId + "&moduleid=" + moduleId + "&attachid=" + match.Groups[2].Value + "\" border=\"0\" />";
                    message = message.Replace(match.Value, sImage);
                }
            }

            //TODO: Legacy Attachments Functionality - Probably can remove.
            if (message.Contains("&#91;THUMBNAIL:"))
            {
                var          strHost = Common.Globals.AddHTTP(Common.Globals.GetDomainName(HttpContext.Current.Request)) + "/";
                const string pattern = "(&#91;THUMBNAIL:(.+?)&#93;)";
                foreach (Match match in Regex.Matches(message, pattern))
                {
                    var thumbId  = match.Groups[2].Value.Split(':')[0];
                    var parentId = match.Groups[2].Value.Split(':')[1];
                    var sImage   = "<a href=\"" + strHost + "DesktopModules/ActiveForums/viewer.aspx?portalid=" + portalId + "&moduleid=" + moduleId + "&attachid=" + parentId + "\" target=\"_blank\"><img src=\"" + strHost + "DesktopModules/ActiveForums/viewer.aspx?portalid=" + portalId + "&moduleid=" + moduleId + "&attachid=" + thumbId + "\" border=\"0\" /></a>";
                    message = message.Replace(match.Value, sImage);
                }
            }

            template = template.Replace("[BODY]", message);
            if (Regex.IsMatch(template, "<CODE([^>]*)>", RegexOptions.IgnoreCase))
            {
                if (Regex.IsMatch(message, "<CODE([^>]*)>", RegexOptions.IgnoreCase))
                {
                    foreach (Match m in Regex.Matches(message, "<CODE([^>]*)>(.*?)</CODE>", RegexOptions.IgnoreCase))
                    {
                        message = message.Replace(m.Value, m.Value.Replace("<br>", System.Environment.NewLine));
                    }
                }
                var objCode = new CodeParser();
                template = CodeParser.ParseCode(Utilities.HTMLDecode(template));
            }
            return(template);
        }