Exemple #1
0
        public string GetPreviewText(IResource res, int lines)
        {
            IPreviewTextProvider provider = (IPreviewTextProvider)_previewTextProviders [res.Type];

            if (provider != null)
            {
                string previewText = provider.GetPreviewText(res, lines);
                if (previewText == null)
                {
                    return("");
                }
                return(previewText);
            }
            if (res.HasProp(Core.Props.LongBody))
            {
                string longBody = res.GetPropText(Core.Props.LongBody).Trim();
                if (res.HasProp(Core.Props.LongBodyIsHTML))
                {
                    if (longBody.Length > 1024)
                    {
                        longBody = longBody.Substring(0, 1024) + "...";    // we won't fit more text in 2 lines, anyway
                    }
                    longBody = HtmlTools.StripHTML(longBody);
                    longBody = HtmlTools.SafeHtmlDecode(longBody).Trim();
                }
                longBody = longBody.Replace('\t', ' ');

                return(CleanPreviewText(longBody, lines));
            }
            return("");
        }
Exemple #2
0
 public void RegisterPreviewTextProvider(string resourceType, IPreviewTextProvider provider)
 {
     _previewTextProviders[resourceType] = provider;
 }