/// <summary> /// 获得热门回复主题html /// </summary> /// <returns></returns> public static string GetHotReplyTopicsHtml() { StringBuilder sbhtml = new StringBuilder(); foreach (TopicInfo topicInfo in Discuz.Data.Stats.GetHotReplyTopicsHtml()) { sbhtml.AppendFormat("<li><em>{0}</em><a href=\"{1}\">{2}</a>\r\n", topicInfo.Replies, Urls.ShowTopicAspxRewrite(topicInfo.Tid, 0), topicInfo.Title); } return(sbhtml.ToString()); }
/// <summary> /// 转换热门图片为数组 /// </summary> /// <param name="topNumber">获取的数量</param> /// <param name="orderBy">排序方式</param> /// <param name="cachetime">缓存时间</param> /// <returns></returns> public static string HotImagesArray(ForumHotItemInfo forumHotItemInfo) { string imagesItemTemplate = "<li><a href=\"{0}\" target=\"_blank\"><img src=\"{1}\" alt=\"{2}\"/></a></li>"; string imagesPageTemplate = "<a href=\"#\" rel=\"{0}\">{0}</a>"; StringBuilder hotImagesLi = new StringBuilder(); StringBuilder hotImagePage = new StringBuilder(); //如果没有缩略图目录,则去生成 if (!Directory.Exists(Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/"))) { Utils.CreateDir(Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/")); } //如果版块idlist设置为空,则默认读取所有可见板块的idlist string forumList = string.IsNullOrEmpty(forumHotItemInfo.Forumlist) ? Forums.GetVisibleForum() : forumHotItemInfo.Forumlist; int i = 1; foreach (DataRow dr in HotImages(forumHotItemInfo.Dataitemcount, forumHotItemInfo.Cachetimeout, forumHotItemInfo.Sorttype, forumHotItemInfo.Id, forumList, forumHotItemInfo.Enabled).Rows) { int tid = TypeConverter.ObjectToInt(dr["tid"]); string fileName = dr["filename"].ToString().Trim(); string title = dr["title"].ToString().Trim(); title = Utils.JsonCharFilter(title).Replace("'", "\\'"); if (fileName.StartsWith("http://")) { DeleteCacheImageFile(); Thumbnail.MakeRemoteThumbnailImage(fileName, Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/r_" + Utils.GetFilename(fileName)), 360, 240); hotImagesLi.AppendFormat(imagesItemTemplate, Urls.ShowTopicAspxRewrite(tid, 0), "cache/rotatethumbnail/r_" + Utils.GetFilename(fileName), title); } else { //图片文件名称 string fullFileName = BaseConfigs.GetForumPath + "upload/" + fileName.Replace('\\', '/').Trim(); //图片缩略后的名称 string thumbnailFileName = "cache/rotatethumbnail/r_" + Utils.GetFilename(fullFileName); if (!File.Exists(Utils.GetMapPath(BaseConfigs.GetForumPath + thumbnailFileName)) && File.Exists(Utils.GetMapPath(fullFileName))) { DeleteCacheImageFile(); Thumbnail.MakeThumbnailImage(Utils.GetMapPath(fullFileName), Utils.GetMapPath(BaseConfigs.GetForumPath + thumbnailFileName), 360, 240); } hotImagesLi.AppendFormat(imagesItemTemplate, Urls.ShowTopicAspxRewrite(tid, 0), "cache/rotatethumbnail/r_" + Utils.GetFilename(fullFileName), title); } hotImagePage.AppendFormat(imagesPageTemplate, i); i++; } return("<div class=\"image_reel\"><ul>" + hotImagesLi.ToString() + "</ul></div><div class=\"paging\"><span></span>" + hotImagePage.ToString() + "</div>"); }
/// <summary> /// 转换热门图片为数组 /// </summary> /// <param name="topNumber">获取的数量</param> /// <param name="orderBy">排序方式</param> /// <param name="cachetime">缓存时间</param> /// <returns></returns> public static string HotImagesArray(ForumHotItemInfo forumHotItemInfo) { string imagesItemTemplate = "title:\"{0}\",img:\"{1}\",url:\"{2}\""; StringBuilder hotImagesArray = new StringBuilder(); //如果没有缩略图目录,则去生成 if (!Directory.Exists(Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/"))) { Utils.CreateDir(Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/")); } //如果版块idlist设置为空,则默认读取所有可见板块的idlist string forumList = string.IsNullOrEmpty(forumHotItemInfo.Forumlist) ? Forums.GetVisibleForum() : forumHotItemInfo.Forumlist; foreach (DataRow dr in HotImages(forumHotItemInfo.Dataitemcount, forumHotItemInfo.Cachetimeout, forumHotItemInfo.Sorttype, forumHotItemInfo.Id, forumList, forumHotItemInfo.Enabled).Rows) { int tid = TypeConverter.ObjectToInt(dr["tid"]); string fileName = dr["filename"].ToString().Trim(); string title = dr["title"].ToString().Trim(); title = Utils.JsonCharFilter(title).Replace("'", "\\'"); if (fileName.StartsWith("http://")) { DeleteCacheImageFile(); Thumbnail.MakeRemoteThumbnailImage(fileName, Utils.GetMapPath(BaseConfigs.GetForumPath + "cache/rotatethumbnail/r_" + Utils.GetFilename(fileName)), 360, 240); hotImagesArray.Append("{"); hotImagesArray.AppendFormat(imagesItemTemplate, title, "cache/rotatethumbnail/r_" + Utils.GetFilename(fileName), Urls.ShowTopicAspxRewrite(tid, 0)); hotImagesArray.Append("},"); continue; } //图片文件名称 string fullFileName = BaseConfigs.GetForumPath + "upload/" + fileName.Replace('\\', '/').Trim(); //图片缩略后的名称 string thumbnailFileName = "cache/rotatethumbnail/r_" + Utils.GetFilename(fullFileName); if (!File.Exists(Utils.GetMapPath(BaseConfigs.GetForumPath + thumbnailFileName)) && File.Exists(Utils.GetMapPath(fullFileName))) { DeleteCacheImageFile(); Thumbnail.MakeThumbnailImage(Utils.GetMapPath(fullFileName), Utils.GetMapPath(BaseConfigs.GetForumPath + thumbnailFileName), 360, 240); } hotImagesArray.Append("{"); hotImagesArray.AppendFormat(imagesItemTemplate, title, "cache/rotatethumbnail/r_" + Utils.GetFilename(fullFileName), Urls.ShowTopicAspxRewrite(tid, 0)); hotImagesArray.Append("},"); } return("[" + hotImagesArray.ToString().TrimEnd(',') + "]"); }
protected string ShowTopicAspxRewrite(int topicid, int pageid) { return(Urls.ShowTopicAspxRewrite(topicid, pageid)); }
/// <summary> /// 获得热门回复主题html /// </summary> /// <returns></returns> public static string GetHotReplyTopicsHtml() { string html = string.Empty; IDataReader reader = DatabaseProvider.GetInstance().GetHotReplyTopics(20); while (reader.Read()) { html += "<li><em>" + reader["replies"].ToString() + "</em><a href=\"" + Urls.ShowTopicAspxRewrite(Convert.ToInt32(reader["tid"]), 0) + "\">" + reader["title"].ToString() + "</a>\r\n"; } reader.Close(); return(html); }