public static MvcHtmlString ForumTopicSmallPager <TModel>(this HtmlHelper <TModel> html, ForumTopicRowModel model) { var localizationService = EngineContext.Current.Resolve <ILocalizationService>(); var forumTopicId = model.Id; var forumTopicSlug = model.SeName; var totalPages = model.TotalPostPages; if (totalPages > 0) { var links = new StringBuilder(); if (totalPages <= 4) { for (int x = 1; x <= totalPages; x++) { links.Append(html.RouteLink(x.ToString(), "TopicSlugPaged", new { id = forumTopicId, page = (x), slug = forumTopicSlug }, new { title = string.Format(localizationService.GetResource("Pager.PageLinkTitle"), x.ToString()) })); if (x < totalPages) { links.Append(", "); } } } else { links.Append(html.RouteLink("1", "TopicSlugPaged", new { id = forumTopicId, page = (1), slug = forumTopicSlug }, new { title = string.Format(localizationService.GetResource("Pager.PageLinkTitle"), 1) })); links.Append(" ... "); for (int x = (totalPages - 2); x <= totalPages; x++) { links.Append(html.RouteLink(x.ToString(), "TopicSlugPaged", new { id = forumTopicId, page = (x), slug = forumTopicSlug }, new { title = string.Format(localizationService.GetResource("Pager.PageLinkTitle"), x.ToString()) })); if (x < totalPages) { links.Append(", "); } } } return(MvcHtmlstring.Create(string.Format(localizationService.GetResource("Forum.Topics.GotoPostPager"), links.ToString()))); } return(MvcHtmlstring.Create(string.Empty)); }
public static MvcHtmlString BBCodeEditor <TModel>(this HtmlHelper <TModel> html, string name) { var sb = new StringBuilder(); var storeLocation = EngineContext.Current.Resolve <IWebHelper>().GetStoreLocation(); string BBEditorWebRoot = string.Format("{0}Content/", storeLocation); sb.Append("<script src=\"/Content/editors/BBEditor/ed.js\" type=\"text/javascript\"></script>"); sb.Append(System.Environment.NewLine); sb.Append("<script language=\"javascript\" type=\"text/javascript\">"); sb.Append(System.Environment.NewLine); sb.AppendFormat(" var webRoot = '{0}';", BBEditorWebRoot); sb.Append(System.Environment.NewLine); sb.AppendFormat(" edToolbar('{0}');", name); sb.Append(System.Environment.NewLine); sb.Append("</script>"); sb.Append(System.Environment.NewLine); return(MvcHtmlstring.Create(sb.ToString())); }
public static MvcHtmlString Pager <TModel>(this HtmlHelper <TModel> html, PagerModel model) { var localizationService = EngineContext.Current.Resolve <ILocalizationService>(); var links = new StringBuilder(); if (model.ShowTotalSummary && (model.TotalPages > 0)) { links.Append(string.Format(model.CurrentPageText, model.PageIndex + 1, model.TotalPages, model.TotalRecords)); links.Append(" "); } if (model.ShowPagerItems && (model.TotalPages > 1)) { if (model.ShowFirst) { if ((model.PageIndex >= 3) && (model.TotalPages > model.IndividualPagesDisplayedCount)) { if (model.ShowIndividualPages) { links.Append(" "); } model.RouteValues.page = 1; if (model.UseRouteLinks) { links.Append(html.RouteLink(model.FirstButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.FirstPageTitle") })); } else { links.Append(html.ActionLink(model.FirstButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.FirstPageTitle") })); } if ((model.ShowIndividualPages || (model.ShowPrevious && (model.PageIndex > 0))) || model.ShowLast) { links.Append(" ... "); } } } if (model.ShowPrevious) { if (model.PageIndex > 0) { model.RouteValues.page = (model.PageIndex); if (model.UseRouteLinks) { links.Append(html.RouteLink(model.PreviousButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.PreviousPageTitle") })); } else { links.Append(html.ActionLink(model.PreviousButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.PreviousPageTitle") })); } if ((model.ShowIndividualPages || model.ShowLast) || (model.ShowNext && ((model.PageIndex + 1) < model.TotalPages))) { links.Append(" "); } } } if (model.ShowIndividualPages) { int firstIndividualPageIndex = model.GetFirstIndividualPageIndex(); int lastIndividualPageIndex = model.GetLastIndividualPageIndex(); for (int i = firstIndividualPageIndex; i <= lastIndividualPageIndex; i++) { if (model.PageIndex == i) { links.AppendFormat("<span>{0}</span>", (i + 1).ToString()); } else { model.RouteValues.page = (i + 1); if (model.UseRouteLinks) { links.Append(html.RouteLink((i + 1).ToString(), model.RouteActionName, (object)model.RouteValues, new { title = string.Format(localizationService.GetResource("Pager.PageLinkTitle").ToString(), (i + 1).ToString()) })); } else { links.Append(html.ActionLink((i + 1).ToString(), model.RouteActionName, (object)model.RouteValues, new { title = string.Format(localizationService.GetResource("Pager.PageLinkTitle").ToString(), (i + 1).ToString()) })); } } if (i < lastIndividualPageIndex) { links.Append(" "); } } } if (model.ShowNext) { if ((model.PageIndex + 1) < model.TotalPages) { if (model.ShowIndividualPages) { links.Append(" "); } model.RouteValues.page = (model.PageIndex + 2); if (model.UseRouteLinks) { links.Append(html.RouteLink(model.NextButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.NextPageTitle") })); } else { links.Append(html.ActionLink(model.NextButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.NextPageTitle") })); } } } if (model.ShowLast) { if (((model.PageIndex + 3) < model.TotalPages) && (model.TotalPages > model.IndividualPagesDisplayedCount)) { if (model.ShowIndividualPages || (model.ShowNext && ((model.PageIndex + 1) < model.TotalPages))) { links.Append(" ... "); } model.RouteValues.page = model.TotalPages; if (model.UseRouteLinks) { links.Append(html.RouteLink(model.LastButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.LastPageTitle") })); } else { links.Append(html.ActionLink(model.LastButtonText, model.RouteActionName, (object)model.RouteValues, new { title = localizationService.GetResource("Pager.LastPageTitle") })); } } } } return(MvcHtmlstring.Create(links.ToString())); }