public override void RenderInEditMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList) { string ControlId = "Calender_" + page.ID.ToString() + "_" + identifier.ToString() + "_" + langToRenderFor.shortCode.ToLower(); EventCalendarDb db = new EventCalendarDb(); EventCalendarDb.EventCalendarAggregatorData entity = db.fetchAggregatorData(page, identifier, langToRenderFor, true); string action = PageUtils.getFromForm(ControlId + "_action", ""); if (String.Compare(action, "saveNewValues", true) == 0) { entity.ViewMode = (CalendarViewMode)PageUtils.getFromForm(ControlId + "_viewMode", typeof(CalendarViewMode), entity.ViewMode); db.updateAggregatorData(page, identifier, langToRenderFor, entity); } StringBuilder html = new StringBuilder(); html.Append("<p>Calendar Display Configuration:</p>"); html.Append("<table>"); html.Append("<tr>"); html.Append("<td>Initial view mode: </td>"); html.Append("<td>"); html.Append(PageUtils.getDropDownHtml(ControlId + "_viewMode", ControlId + "_viewMode", Enum.GetNames(typeof(CalendarViewMode)), Enum.GetName(typeof(CalendarViewMode), entity.ViewMode))); html.Append("</td>"); html.Append("</tr>"); html.Append("</table>"); html.Append(PageUtils.getHiddenInputHtml(ControlId + "_action", "saveNewValues")); writer.Write(html.ToString()); }
public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor) { EventCalendarDb db = new EventCalendarDb(); EventCalendarDb.EventCalendarAggregatorData entity = db.fetchAggregatorData(page, placeholderDefinition.Identifier, langToRenderFor, true); DateTime start = DateTime.MinValue; DateTime end = DateTime.MinValue; switch (entity.ViewMode) { case CalendarViewMode.Agenda_Day: start = DateTime.Now.Date; end = DateTime.Now.AddDays(1); break; case CalendarViewMode.Agenda_Week: DayOfWeek firstDay = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek; start = DateTime.Now.Date; while (start.DayOfWeek != firstDay) { start = start.AddDays(-1); } end = DateTime.Now.AddDays(7); break; case CalendarViewMode.Month: start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); end = start.AddMonths(1); break; default: throw new ArgumentException("Error: invalid CalendarView mode"); break; } List <Rss.RssItem> ret = new List <Rss.RssItem>(); List <EventCalendarDb.EventCalendarDetailsData> list = new EventCalendarDb().fetchDetailsDataByRange(start, end, langToRenderFor); foreach (EventCalendarDb.EventCalendarDetailsData e in list) { CmsPage detailPage = CmsContext.getPageById(e.PageId); Rss.RssItem rssItem = CreateAndInitRssItem(detailPage, langToRenderFor); rssItem.PubDate_GMT = e.StartDateTime; rssItem.Author = e.CreatedBy; rssItem.Description = detailPage.renderPlaceholdersToString("EventCalendarDetails", langToRenderFor, CmsPage.RenderPlaceholderFilterAction.RunAllPageAndPlaceholderFilters); ret.Add(rssItem); } return(ret.ToArray()); }
public override void RenderInViewMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList) { // CmsContext.setCurrentCultureInfo(langToRenderFor); EventCalendarDb db = new EventCalendarDb(); EventCalendarDb.EventCalendarDetailsData entity = db.fetchDetailsData(page, identifier, langToRenderFor, true); CmsUrlFormat fileUrlFormat = CmsUrlFormat.RelativeToRoot; CmsPage parentPage = page.ParentPage; StringBuilder html = new StringBuilder(); html.Append("<table border=\"0\" cellspacing=\"10\" style=\"margin-bottom: 3em;\" >"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getDescriptionText(langToRenderFor) + ":</td>"); html.Append("<td>" + StringUtils.nl2br(entity.Description) + "</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getCategoryText(langToRenderFor) + ":</td>"); html.Append("<td>"); html.Append(db.fetchCategoryByIdAndLang(langToRenderFor, entity.CategoryId).Title); html.Append("</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getStartDateTimeText(langToRenderFor) + ":</td>"); html.Append("<td>" + entity.StartDateTime.ToString("yyyy-MM-dd, h:mm tt") + "</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getEndDateTimeText(langToRenderFor) + ":</td>"); html.Append("<td>" + entity.EndDateTime.ToString("yyyy-MM-dd, h:mm tt") + "</td>"); html.Append("</tr>"); html.Append(renderAttachedFileList(page, langToRenderFor, fileUrlFormat)); html.Append("</table>"); html.Append("<a class=\"backToPrev\" href=\""); html.Append(parentPage.getUrl(langToRenderFor)); html.Append("\">"); html.Append(getBackToText(langToRenderFor)); html.Append(" "); html.Append(parentPage.Title); html.Append("</a>"); writer.Write(html.ToString()); }
public override void RenderInViewMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList) { AddEventCommandToEditMenu(page, page); EventCalendarDb db = new EventCalendarDb(); EventCalendarDb.EventCalendarAggregatorData entity = db.fetchAggregatorData(page, identifier, langToRenderFor, true); string calViewMode = entity.getViewModeForJQuery(); addCssAndScriptForCalendarPlugin(page); addCssForEventCategory(page, langToRenderFor); string calDomId = getCalendarHtmlDomId(page, identifier); addScriptForCalendarRender(page, langToRenderFor, calDomId, calViewMode); StringBuilder html = new StringBuilder(); html.Append("<div id=\"" + calDomId + "\" style=\"margin-right: 10px;\"></div>"); writer.Write(html.ToString()); }
public override void RenderInEditMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList) { // CmsContext.setCurrentCultureInfo(langToRenderFor); EventCalendarDb db = new EventCalendarDb(); EventCalendarDb.EventCalendarDetailsData entity = db.fetchDetailsData(page, identifier, langToRenderFor, true); string controlId = "eventDetails_" + page.ID.ToString() + "_" + identifier.ToString() + "_" + langToRenderFor.shortCode; addCssAndScriptForDateTimePicker(page); addScriptForDateTimePickerRender(page, controlId); string action = PageUtils.getFromForm(controlId + "_action", ""); if (String.Compare(action, "saveNewValues", true) == 0) { entity.Description = PageUtils.getFromForm(controlId + "_description", entity.Description); entity.CategoryId = PageUtils.getFromForm(controlId + "_categoryId", entity.CategoryId); entity.StartDateTime = PageUtils.getFromForm(controlId + "_startDateTime", entity.StartDateTime); entity.EndDateTime = PageUtils.getFromForm(controlId + "_endDateTime", entity.EndDateTime); db.updateDetailsData(page, identifier, langToRenderFor, entity); } List <EventCalendarDb.EventCalendarCategoryData> categoryList = db.fetchCategoryList(langToRenderFor); NameValueCollection collection = new NameValueCollection(); foreach (EventCalendarDb.EventCalendarCategoryData c in categoryList) { collection.Add(c.CategoryId.ToString(), c.Title); } // ------- START RENDERING StringBuilder html = new StringBuilder(); html.Append("<table border=\"0\">"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getDescriptionText(langToRenderFor) + ":</td>"); html.Append("<td>" + PageUtils.getTextAreaHtml(controlId + "_description", controlId + "_description", entity.Description, 30, 4) + "</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getCategoryText(langToRenderFor) + ":</td>"); html.Append("<td>"); string categoryDropDown = "CategoryDropDown"; html.Append(PageUtils.getDropDownHtml(controlId + "_categoryId", controlId + "_categoryId", collection, entity.CategoryId.ToString(), "", categoryDropDown + "_" + langToRenderFor.shortCode)); try { CmsPage editCategoryPage = CmsContext.getPageByPath(CmsConfig.getConfigValue("EditCalendarCategoryPagePath", "/_admin/EventCalendarCategory")); html.Append(" <a href=\"" + editCategoryPage.getUrl(langToRenderFor) + "\" onclick=\"window.open(this.href,'" + categoryDropDown + "','resizable=1,scrollbars=1,width=800,height=400'); return false;\">(edit)</a>"); } catch (Exception ex) { html.Append(" <span>Cannot setup Edit Category Link: " + ex.Message + "</span>"); } html.Append("</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getStartDateTimeText(langToRenderFor) + ":</td>"); html.Append("<td>" + PageUtils.getInputTextHtml(controlId + "_startDateTime", controlId + "_startDateTime", entity.StartDateTime.ToString("yyyy-MM-dd, h:mm tt"), 20, 20) + "</td>"); html.Append("</tr>"); html.Append("<tr valign=\"top\">"); html.Append("<td>" + getEndDateTimeText(langToRenderFor) + ":</td>"); html.Append("<td>" + PageUtils.getInputTextHtml(controlId + "_endDateTime", controlId + "_endDateTime", entity.EndDateTime.ToString("yyyy-MM-dd, h:mm tt"), 20, 20) + "</td>"); html.Append("</tr>"); html.Append("</table>"); html.Append(PageUtils.getHiddenInputHtml(controlId + "_action", "saveNewValues")); writer.WriteLine(html.ToString()); }