コード例 #1
0
        public static ListItem GetListItem(EDiggType type, bool selected)
        {
            var item = new ListItem(GetText(type), GetValue(type));

            if (selected)
            {
                item.Selected = true;
            }
            return(item);
        }
コード例 #2
0
 public static bool Equals(EDiggType type, string typeStr)
 {
     if (string.IsNullOrEmpty(typeStr))
     {
         return(false);
     }
     if (string.Equals(GetValue(type).ToLower(), typeStr.ToLower()))
     {
         return(true);
     }
     return(false);
 }
コード例 #3
0
 public static string GetText(EDiggType type)
 {
     if (type == EDiggType.Good)
     {
         return("仅显示赞同");
     }
     if (type == EDiggType.Bad)
     {
         return("仅显示不赞同");
     }
     if (type == EDiggType.All)
     {
         return("显示全部");
     }
     throw new Exception();
 }
コード例 #4
0
 public static string GetValue(EDiggType type)
 {
     if (type == EDiggType.Good)
     {
         return("Good");
     }
     if (type == EDiggType.Bad)
     {
         return("Bad");
     }
     if (type == EDiggType.All)
     {
         return("All");
     }
     throw new Exception();
 }
コード例 #5
0
 public static bool Equals(string typeStr, EDiggType type)
 {
     return(Equals(type, typeStr));
 }
コード例 #6
0
 public static string GetUrl(string apiUrl, int publishmentSystemId, int relatedIdentity, int updaterId, EDiggType diggType, string goodText, string badText, string theme, bool isDigg, bool isGood)
 {
     apiUrl = PageUtils.Combine(apiUrl, Route);
     apiUrl = apiUrl.Replace("{publishmentSystemId}", publishmentSystemId.ToString());
     return(PageUtils.AddQueryString(apiUrl, new NameValueCollection
     {
         { "relatedIdentity", relatedIdentity.ToString() },
         { "updaterId", updaterId.ToString() },
         { "diggType", EDiggTypeUtils.GetValue(diggType) },
         { "goodText", TranslateUtils.EncryptStringBySecretKey(goodText) },
         { "badText", TranslateUtils.EncryptStringBySecretKey(badText) },
         { "theme", theme },
         { "isDigg", isDigg.ToString() },
         { "isGood", isGood.ToString() }
     }));
 }
コード例 #7
0
        private static string ParseImpl(PageInfo pageInfo, ContextInfo contextInfo, EDiggType diggType, string goodText, string badText, string theme, bool isNumber)
        {
            if (isNumber)
            {
                int count;

                var relatedIdentity = contextInfo.ContentID;
                if (relatedIdentity == 0 || contextInfo.ContextType == EContextType.Channel)
                {
                    relatedIdentity = contextInfo.ChannelID;
                }

                var counts  = BaiRongDataProvider.DiggDao.GetCount(pageInfo.PublishmentSystemId, relatedIdentity);
                var goodNum = counts[0];
                var badNum  = counts[1];

                if (diggType == EDiggType.Good)
                {
                    count = goodNum;
                }
                else if (diggType == EDiggType.Bad)
                {
                    count = badNum;
                }
                else
                {
                    count = goodNum + badNum;
                }

                return(count.ToString());
            }
            else
            {
                var updaterId = pageInfo.UniqueId;
                var ajaxDivId = StlParserUtility.GetAjaxDivId(updaterId);

                pageInfo.AddPageScriptsIfNotExists(ElementName,
                                                   $@"<script language=""javascript"" src=""{SiteFilesAssets.Digg.GetScriptUrl(pageInfo.ApiUrl)}""></script>");

                var builder = new StringBuilder();
                builder.Append(
                    $@"<link rel=""stylesheet"" href=""{SiteFilesAssets.Digg.GetStyleUrl(pageInfo.ApiUrl, theme)}"" type=""text/css"" />");
                builder.Append($@"<div id=""{ajaxDivId}"">");

                var relatedIdentity = contextInfo.ContentID;
                if (relatedIdentity == 0 || contextInfo.ContextType == EContextType.Channel)
                {
                    relatedIdentity = contextInfo.ChannelID;
                }

                var innerPageUrl         = Digg.GetUrl(pageInfo.ApiUrl, pageInfo.PublishmentSystemId, relatedIdentity, updaterId, diggType, goodText, badText, theme, false, false);
                var innerPageUrlWithGood = Digg.GetUrl(pageInfo.ApiUrl, pageInfo.PublishmentSystemId, relatedIdentity, updaterId, diggType, goodText, badText, theme, true, true);
                var innerPageUrlWithBad  = Digg.GetUrl(pageInfo.ApiUrl, pageInfo.PublishmentSystemId, relatedIdentity, updaterId, diggType, goodText, badText, theme, true, false);

                string loadingHtml =
                    $@"<img src=""{SiteFilesAssets.GetUrl(pageInfo.ApiUrl, SiteFilesAssets.FileLoading)}"" />";

                builder.Append(loadingHtml);

                builder.Append("</div>");

                builder.Append($@"
<script type=""text/javascript"" language=""javascript"">
function stlDigg_{updaterId}(url)
{{
    try
    {{
        var cnum=Math.ceil(Math.random()*1000);
        url = url + '&r=' + cnum;

        jQuery.get(url, '', function(data, textStatus){{
            jQuery('#{ajaxDivId}').html(data);
        }});

    }}catch(e){{}}
}}

stlDigg_{updaterId}('{innerPageUrl}');

function stlDiggSet_{updaterId}(isGood)
{{
    if (stlDiggCheck({pageInfo.PublishmentSystemId}, {relatedIdentity})){{
        jQuery('#{ajaxDivId}').html('{loadingHtml}');
        if (isGood)
        {{
            stlDigg_{updaterId}('{innerPageUrlWithGood}');
        }}else{{
            stlDigg_{updaterId}('{innerPageUrlWithBad}');
        }}
    }}
}}
</script>
");

                return(builder.ToString());
            }
        }