public override void RenderInEditMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] param) { NewsArticleDb db = new NewsArticleDb(); NewsArticleDb.NewsArticleAggregatorData entity = db.fetchNewsAggregator(page, identifier, langToRenderFor, true); string ProjectSummaryId = "ProjectSummary_" + page.ID.ToString() + "_" + identifier.ToString() + "_" + langToRenderFor.shortCode; // ------- CHECK THE FORM FOR ACTIONS string action = PageUtils.getFromForm(ProjectSummaryId + "_Action", ""); if (action.Trim().ToLower() == "update") { // save the data to the database int id = PageUtils.getFromForm(ProjectSummaryId + "_ProjectSummaryId", -1); int newDefaultYear = PageUtils.getFromForm("defaultYear_" + ProjectSummaryId, -1); entity.YearToDisplay = newDefaultYear; bool b = db.updateNewsAggregator(page, identifier, langToRenderFor, entity); if (!b) { writer.Write("Error saving updates to database!"); } } // ------- START RENDERING // note: no need to put in the <form></form> tags. StringBuilder html = new StringBuilder(); html.Append("<p><strong>News Aggregator Display Settings:</strong></p>"); html.Append("<table>"); string dropDownHtml = PageUtils.getInputTextHtml("defaultYear_" + ProjectSummaryId, "defaultYear_" + ProjectSummaryId, entity.YearToDisplay.ToString(), 7, 4); html.Append("<tr><td>Default Year to display summaries for: (-1 = all years)</td>"); html.Append("<td>" + dropDownHtml + "</td></tr>"); html.Append("</table>"); html.Append("<input type=\"hidden\" name=\"" + ProjectSummaryId + "_Action\" value=\"update\">"); html.Append("<input type=\"hidden\" name=\"" + ProjectSummaryId + "_ProjectSummaryId\" value=\"" + page.ID.ToString() + "\">"); writer.WriteLine(html.ToString()); }
public override void RenderInViewMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] param) { AddNewsArticleCommandToEditMenu(page, page); CmsPage currentPage = CmsContext.currentPage; StringBuilder html = new StringBuilder(); NewsArticleDb db = new NewsArticleDb(); NewsArticleDb.NewsArticleAggregatorData newsAggregator = db.fetchNewsAggregator(page, identifier, langToRenderFor, true); RenderParameters renderParams = RenderParameters.fromParamList(param, newsAggregator); NewsAggItem[] newsToShow = FetchAllNewsAggItems(page, identifier, langToRenderFor, renderParams, CmsUrlFormat.RelativeToRoot); // -- display results html.Append(getHtmlForSummaryView(newsToShow, renderParams, langToRenderFor)); writer.Write(html.ToString()); }