コード例 #1
0
        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
コード例 #2
0
        public override void RenderInEditMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList)
        {
            HtmlContentDb    db    = new HtmlContentDb();
            RenderParameters param = RenderParameters.fromParamList(paramList);

            string htmlContent = "";

            string editorId = "htmlcontent_" + page.ID.ToString() + "_" + identifier.ToString() + "_" + langToRenderFor.shortCode;

            // ------- CHECK THE FORM FOR ACTIONS
            string action = PageUtils.getFromForm(editorId + "_Action", "");

            if (action.Trim().ToLower() == "update")
            {
                htmlContent = PageUtils.getFromForm("name_" + editorId, "");
                bool b = db.saveUpdatedHtmlContent(page, identifier, langToRenderFor, htmlContent);
            }
            else
            {
                htmlContent = db.getHtmlContent(page, identifier, langToRenderFor, true);
            }

            // ------- START RENDERING
            // -- get the Javascript
            StringBuilder html = new StringBuilder();

            string EOL = Environment.NewLine;

            // -- render the Control

            // Add the javascript references
            CKEditorHelpers.AddPageJavascriptStatements(page, editorId, param.renderWidth, param.renderHeight, langToRenderFor);

            StringBuilder arg0 = new StringBuilder();


            arg0.Append("<div style=\"width: 100%\">");

            arg0.Append("<textarea name=\"name_" + editorId + "\" id=\"" + editorId + "\" style=\"width: " + param.renderWidth + "; height: " + param.renderHeight + ";\">");
            arg0.Append(htmlContent);
            arg0.Append("</textarea>" + EOL);

            arg0.Append("<input type=\"hidden\" name=\"" + editorId + "_Action\" value=\"update\">");

            arg0.Append("</div>");

            string formattedOutput = String.Format(param.renderTemplate, arg0.ToString());

            html.Append(formattedOutput);

            writer.WriteLine(html.ToString());
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        public override void RenderInViewMode(HtmlTextWriter writer, CmsPage page, int identifier, CmsLanguage langToRenderFor, string[] paramList)
        {
            RenderParameters param = RenderParameters.fromParamList(paramList);

            if (param.outputOnlyInEditMode)
            {
                return; // output nothing
            }
            HtmlContentDb db   = new HtmlContentDb();
            string        arg0 = db.getHtmlContent(page, identifier, langToRenderFor, true);

            bool doOutput = true;

            if (param.outputOnlyIfHasContent)
            {
                if (arg0.Trim() == "")
                {
                    return; // output nothing (and short-circuit the StripHTMLTags function)
                }
                string textOnly = StringUtils.StripHTMLTags(arg0);
                if (textOnly.Trim() != "")
                {
                    doOutput = true;
                }
                else
                {
                    return; // output nothing (short-circuit everything else)
                }
            }

            if (doOutput)
            {
                string formattedOutput = String.Format(param.renderTemplate, arg0.ToString());

                writer.WriteLine(formattedOutput);
            }
        } // RenderView