public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            base.categoryList = db.fetchCategoryList(langToRenderFor);

            RenderParameters renderParams = RenderParameters.FromPlaceholderParamList(placeholderDefinition.ParamList);

            CmsUrlFormat pageLinkFormat = CmsUrlFormat.FullIncludingProtocolAndDomainName;
            CmsUrlFormat fileLinkFormat = CmsUrlFormat.FullIncludingProtocolAndDomainName;

            FileAggItem[] filesToShow = FetchAllFilesToShow(page, placeholderDefinition.Identifier, langToRenderFor, renderParams, pageLinkFormat, fileLinkFormat);

            List <Rss.RssItem> ret = new List <Rss.RssItem>();

            foreach (FileAggItem file in filesToShow)
            {
                Rss.RssItem rssItem = CreateAndInitRssItem(page, langToRenderFor);

                // -- link directly to the file url
                rssItem.Link = new Uri(file.FileDownloadURL, UriKind.RelativeOrAbsolute);
                rssItem.Guid = new Rss.RssGuid(rssItem.Link);

                rssItem.Title       = file.Title;
                rssItem.Description = file.Description;
                rssItem.PubDate_GMT = file.LastModified.ToUniversalTime();

                ret.Add(rssItem);
            } // foreach file
            return(ret.ToArray());
        }     // GetRssFeedItems
        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            List <Rss.RssItem> ret = new List <Rss.RssItem>();

            // -- get the news
            NewsArticleDb.NewsArticleAggregatorData aggData = (new NewsArticleDb()).fetchNewsAggregator(page, placeholderDefinition.Identifier, langToRenderFor, true);
            RenderParameters renderParams = RenderParameters.fromParamList(placeholderDefinition.ParamList, aggData);

            NewsAggItem[] newsItems = FetchAllNewsAggItems(page, placeholderDefinition.Identifier, langToRenderFor, renderParams, CmsUrlFormat.FullIncludingProtocolAndDomainName);

            int currYear = renderParams.AggregatorData.YearToDisplay;

            foreach (NewsAggItem newsItem in newsItems)
            {
                if (currYear < 0 || newsItem.NewsDate.Year == currYear)
                {
                    Rss.RssItem rssItem = new Rss.RssItem();
                    rssItem = InitRssItem(rssItem, page, langToRenderFor);

                    rssItem.Title = newsItem.Title;

                    rssItem.Link = new Uri(newsItem.PageDisplayURL, UriKind.RelativeOrAbsolute);
                    rssItem.Guid = new Rss.RssGuid(rssItem.Link);

                    rssItem.PubDate_GMT = newsItem.NewsDate.ToUniversalTime();

                    rssItem.Description = newsItem.NewsArticleHtml;

                    ret.Add(rssItem);
                }
            }


            return(ret.ToArray());
        } // GetRssFeedItems
        } // RenderEdit

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            List <Rss.RssItem> ret = new List <Rss.RssItem>();
            Dictionary <CmsPage, CmsPlaceholderDefinition[]> childJobPages = CmsContext.getAllPlaceholderDefinitions("JobPostingDetails", page, CmsContext.PageGatheringMode.ChildPagesOnly);

            if (childJobPages.Count > 0)
            {
                JobPostingLocation[] allLocations            = JobPostingLocation.FetchAll();
                JobPostingLocation   theAllLocationsLocation = JobPostingLocation.getAllLocations(allLocations);

                JobPostingDb             db             = new JobPostingDb();
                JobPostingAggregatorData aggregatorData = db.getJobPostingAggregatorData(page, placeholderDefinition.Identifier, langToRenderFor, true);

                // -- grab all the details for all child job pages.


                foreach (CmsPage childPage in childJobPages.Keys)
                {
                    foreach (CmsPlaceholderDefinition phDef in childJobPages[childPage])
                    {
                        JobPostingDetailsData dataObj = db.getJobPostingDetailsData(childPage, phDef.Identifier, langToRenderFor, true);
                        if (!dataObj.IsExpired && (aggregatorData.LocationId < 0 || aggregatorData.LocationId == theAllLocationsLocation.JobLocationId || dataObj.LocationId == aggregatorData.LocationId))
                        {
                            Rss.RssItem rssItem = CreateAndInitRssItem(childPage, langToRenderFor);
                            rssItem.Description = childPage.renderAllPlaceholdersToString(langToRenderFor, CmsPage.RenderPlaceholderFilterAction.RunAllPageAndPlaceholderFilters);
                            ret.Add(rssItem);
                        }
                    }
                } // foreach child page
            }


            return(ret.ToArray());
        }
        } // RenderView

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            Rss.RssItem rssItem = CreateAndInitRssItem(page, langToRenderFor);
            rssItem.Description = page.renderPlaceholderToString(placeholderDefinition, langToRenderFor, CmsPage.RenderPlaceholderFilterAction.RunAllPageAndPlaceholderFilters);

            return(new Rss.RssItem[] { rssItem });
        }
Example #5
0
        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            List <Rss.RssItem> ret = new List <Rss.RssItem>();

            UserImageGalleryDb db = (new UserImageGalleryDb());

            UserImageGalleryPlaceholderData placeholderData = db.getUserImageGalleryPlaceholderData(page, placeholderDefinition.Identifier, langToRenderFor, true);
            string imageStorageDir = placeholderData.getImageStorageDirectory(page);

            CmsLocalImageOnDisk[] allResources = CmsLocalImageOnDisk.FetchAllImagesInDirectory(imageStorageDir, UserImageGalleryPlaceholderData.ImageExtensionsToDisplay);

            foreach (CmsLocalImageOnDisk image in allResources)
            {
                Rss.RssItem item  = new Rss.RssItem();
                string      title = image.getImageCaption();
                if (title == "")
                {
                    title = image.FileName;
                }
                item.Title = title;

                Dictionary <string, string> pageParams = new Dictionary <string, string>();
                pageParams.Add(UrlParamName, image.ResourceId.ToString());
                item.Link = new Uri(page.getUrl(pageParams));


                item.Description = renderFullSize(placeholderData, image, page, langToRenderFor);

                ret.Add(item);
            } // foreach


            return(ret.ToArray());
        }
        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            Rss.RssItem        rssItem = base.CreateAndInitRssItem(page, langToRenderFor);
            PlainTextContentDb db      = new PlainTextContentDb();
            string             html    = db.getPlainTextContent(page, placeholderDefinition.Identifier, langToRenderFor, true);

            rssItem.Description = html;

            return(new Rss.RssItem[] { rssItem });
        }
Example #7
0
        } // RenderView

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            Rss.RssItem rssItem = base.CreateAndInitRssItem(page, langToRenderFor);
            string      content = page.renderPlaceholderToString(placeholderDefinition, langToRenderFor, CmsPage.RenderPlaceholderFilterAction.RunAllPageAndPlaceholderFilters);

            if (content.Trim() != "")
            {
                rssItem.Description = content;

                return(new Rss.RssItem[] { rssItem });
            }
            return(new Rss.RssItem[0]);
        }
        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            
            Rss.RssItem rssItem = CreateAndInitRssItem(page, langToRenderFor);

            FileLibraryDetailsData fileData = db.fetchDetailsData(page, placeholderDefinition.Identifier, langToRenderFor, true);
            rssItem.Description = fileData.Description;
            rssItem.Author = fileData.Author;
            string controlId = "fileLibrary_" + page.Id.ToString() + "_" + placeholderDefinition.Identifier.ToString() + "_" + langToRenderFor.shortCode + "_";
            rssItem.Guid = new Rss.RssGuid(controlId);

            return new Rss.RssItem[] { rssItem };
        }
        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());
        }
        } // getAllPlaceholderDefinitions

        /// <summary>
        /// returns an array of CmsPlaceholderDefinitions  for this template
        /// note: all placeholderType entries are lower case
        /// </summary>
        /// <returns></returns>
        public override CmsPlaceholderDefinition[] getAllPlaceholderDefinitions()
        {
            List <CmsPlaceholderDefinition> ret = new List <CmsPlaceholderDefinition>();

            // -- get the template file contents
            string templateText = getTemplateFileContents();

            string[] CommandParams = getCommandStatementParameters("placeholder", templateText);
            foreach (string c in CommandParams)
            {
                Dictionary <string, string> tokens = tokenizeCommandParameters(c);
                string phName = tokens["##commandname##"].ToLower();
                if (tokens.ContainsKey("id"))
                {
                    int      phId                = Convert.ToInt32(tokens["id"]);
                    string[] subParamsArray      = new string[] { c };
                    CmsPlaceholderDefinition def = new CmsPlaceholderDefinition(phName, phId, subParamsArray);
                    ret.Add(def);
                }
            }

            // -- get the TemplateLayout statement
            string[] layouts = getCommandStatementParameters("TemplateLayout", templateText);

            if (layouts.Length > 0)
            {
                string layoutText = getTemplateLayoutFileContents(layouts[0]);
                CommandParams = getCommandStatementParameters("placeholder", layoutText);
                foreach (string c in CommandParams)
                {
                    Dictionary <string, string> tokens = tokenizeCommandParameters(c);
                    string phName = tokens["##commandname##"].ToLower();
                    if (tokens.ContainsKey("id"))
                    {
                        int      phId                = Convert.ToInt32(tokens["id"]);
                        string[] subParamsArray      = new string[] { c };
                        CmsPlaceholderDefinition def = new CmsPlaceholderDefinition(phName, phId, subParamsArray);
                        ret.Add(def);
                    }
                } // foreach
            }

            return(ret.ToArray());
        } // getAllPlaceholderDefinitions
Example #11
0
        } // RenderView

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            GlossaryDb db = new GlossaryDb();
            GlossaryPlaceholderData placeholderData = db.getGlossary(page, placeholderDefinition.Identifier, langToRenderFor, true);

            GlossaryPlaceholderData.GlossaryViewMode origViewMode = placeholderData.ViewMode;

            // -- gets all glossary items (regardless of the ViewMode)
            GlossaryData[] items = db.getGlossaryData(placeholderData.GlossaryId);

            // -- each glossary item gets its own rssItem
            List <Rss.RssItem> ret = new List <Rss.RssItem>();

            foreach (GlossaryData glData in items)
            {
                Rss.RssItem rssItem = new Rss.RssItem();
                rssItem = base.InitRssItem(rssItem, page, langToRenderFor);

                rssItem.Description = glData.description;
                // -- setup the proper link
                switch (placeholderData.ViewMode)
                {
                case GlossaryPlaceholderData.GlossaryViewMode.PagePerLetter:

                    Dictionary <string, string> urlParams = new Dictionary <string, string>();
                    urlParams.Add("l", glData.word.ToUpper()[0].ToString());
                    rssItem.Link = new Uri(page.getUrl(urlParams, langToRenderFor));
                    break;

                case GlossaryPlaceholderData.GlossaryViewMode.SinglePageWithJumpList:
                    // nothing to do
                    break;

                default:
                    throw new Exception("Error: invalid GlossaryViewMode");
                } // switch
            }
            return(ret.ToArray());
        }
        } // callExternalPlaceholderRender

        public static Rss.RssItem[] GetRssFeedItems(string PlaceholderType, CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            // public abstract Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor);
            object ret = InvokePlaceholderFunction(PlaceholderType, "GetRssFeedItems", new object[] { page, placeholderDefinition, langToRenderFor });

            if (ret is Rss.RssItem[])
            {
                return(ret as Rss.RssItem[]);
            }

            return(new Rss.RssItem[0]);
        }
Example #13
0
        } // getAddEditContactForm

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            throw new Exception("The method or operation is not implemented.");
        }
Example #14
0
 /// <summary>
 /// Renders the placeholder to the RssFeed in view mode.
 /// </summary>
 /// <param name="rssFeed"></param>
 // public static Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition , CmsLanguage langToRenderFor)
 public abstract Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor);
        } // getMapHtml

        public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
        {
            return(new Rss.RssItem[0]); // do not render anything in RSS.
        }
Example #16
0
 public override Rss.RssItem[] GetRssFeedItems(CmsPage page, CmsPlaceholderDefinition placeholderDefinition, CmsLanguage langToRenderFor)
 {
     return(new Rss.RssItem[0]); // no RSS items.
 }
        /// <summary>
        /// returns string.empty on error, or when there's nothing to display
        /// </summary>
        /// <param name="page"></param>
        /// <param name="identifier"></param>
        /// <returns></returns>
        public static string renderPlaceholderToString(CmsPage page, CmsLanguage langToRender, CmsPlaceholderDefinition placeholderDef)
        {
            try
            {
                StringBuilder          html   = new StringBuilder();
                System.IO.StringWriter output = new System.IO.StringWriter(html);
                HtmlTextWriter         writer = new HtmlTextWriter(output);
                RenderInViewMode(placeholderDef.PlaceholderType, writer, page, placeholderDef.Identifier, langToRender, placeholderDef.ParamList, page.TemplateName);

                return(html.ToString());
            }
            catch
            { }
            return(string.Empty);
        }