示例#1
0
        public bool CanAccessSection()
        {
            if (CurrentMediaDetail.CheckEnforceRoleLimitationsOnFrontEnd())
            {
                return(CurrentMediaDetail.CanUserAccessSection(FrameworkSettings.CurrentUser));
            }

            return(true);
        }
示例#2
0
        protected void Page_Init(object sender, EventArgs e)
        {
            var templateTopAndBottomSegments = CurrentMediaDetail.GetTemplateTopAndBottomSegments(this);

            if (templateTopAndBottomSegments.Count > 1)
            {
                TemplateTopSegment.Controls.Add(templateTopAndBottomSegments.ElementAt(0));
                TemplateBottomSegment.Controls.Add(templateTopAndBottomSegments.ElementAt(1));
            }

            var blogPosts  = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.Name == "BlogPost" && i.HistoryVersionNumber == 0);
            var categories = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.Name == "BlogCategory" && i.HistoryVersionNumber == 0);

            BlogCategories.DataSource = categories.ToList().Where(i => i.CanRender).ToList();
            BlogCategories.DataBind();

            if (CurrentMediaDetail.MediaType.Name == "BlogCategory")
            {
                blogPosts = blogPosts.Where(i => i.Media.ParentMediaID == CurrentMediaDetail.MediaID);
            }

            BlogPosts.DataSource = blogPosts.ToList().Where(i => i.CanRender).OrderByDescending(i => i.PublishDate).ToList();
            BlogPosts.DataBind();
        }
示例#3
0
        protected override void Render(HtmlTextWriter writer)
        {
            System.IO.StringWriter str = new System.IO.StringWriter();
            HtmlTextWriter         wrt = new HtmlTextWriter(str);

            // render html
            base.Render(wrt); //CAPTURE THE CURRENT PAGE HTML SOURCE AS STRING
            //wrt.Close();

            string html = str.ToString();

            /*if(IsAjaxRequest)
             * {
             *  writer.Write(html);
             *  return;
             * }*/

            /*if (CurrentMediaDetail != null && !html.Contains("<html"))
             * {
             *  var masterPage = CurrentMediaDetail.GetMasterPage();
             *
             *  if (masterPage != null)
             *  {
             *      if (masterPage.UseLayout)
             *      {
             *          html = masterPage.Layout.Replace("{PageContent}", html);
             *          html = LoaderHelper.RenderPage(this, html);
             *      }
             *  }
             * }*/

            /*if (!IsInAdminSection)
             * {
             *  if ((AppSettings.EnableMobileDetection) && (FrontEndBasePage.IsMobile))
             *      html = HandleMobileLayout(html);
             *  else
             *      html = HandleNonMobileLayout(html);
             * }*/

            if (!IsPostBack)
            {
                if (AppSettings.MinifyOutput)
                {
                    html = StringHelper.StripExtraSpacesBetweenMarkup(html);
                }
            }

            /*if (CurrentMediaDetail != null)
             * {
             *  if (!IsAjaxRequest && !IsInAdminSection && Request["VisualLayoutEditor"] != "true")
             *  {
             *      html = MediaDetailsMapper.ParseSpecialTags(CurrentMediaDetail, html);
             *  }
             * }*/

            /*if (!IsInAdminSection)
             * {
             *  HtmlNode.ElementsFlags.Remove("form");
             *  document = new HtmlAgilityPack.HtmlDocument();
             *  document.LoadHtml(html);
             *
             *  var forms = document.DocumentNode.SelectNodes("//form");
             *
             *  if (forms != null && forms.Count > 1)
             *  {
             *      forms.RemoveAt(0);
             *      foreach (HtmlNode item in forms)
             *      {
             *          item.ParentNode.InnerHtml = item.ParentNode.InnerHtml.Replace("form", "div data-form");
             *      }
             *
             *      html = document.DocumentNode.WriteContentTo();
             *  }
             * }*/


            /*var settings = SettingsMapper.GetSettings();
             *
             * if (settings.EnableGlossaryTerms && !IsInAdminSection)
             * {
             *  var document = new HtmlAgilityPack.HtmlDocument();
             *  document.LoadHtml(html);
             *
             *  var selectedNodes = document.DocumentNode.SelectNodes("//p/text()|//li/text()");
             *  var terms = GlossaryTermsMapper.GetAll();
             *
             *  if (selectedNodes != null)
             *  {
             *      foreach (HtmlNode node in selectedNodes)
             *      {
             *          foreach (var term in terms)
             *          {
             *              var tempTerm = term.Term.Trim();
             *
             *              node.InnerHtml = Regex.Replace(node.InnerHtml, @"\b" + Regex.Escape(tempTerm) + @"\b" + "(?![^<]*</[a-z]+>)", me =>
             *              {
             *                  var template = "<span data-toggle=\"tooltip\" title=\"" + term.Definition + "\">" + me.Value + "</span>";
             *                  return template;
             *              }, RegexOptions.IgnoreCase);
             *          }
             *      }
             *  }
             *
             *  html = document.DocumentNode.WriteContentTo();
             * }*/

            html = ParserHelper.ParseData(html, TemplateVars);

            if (FrameworkSettings.CurrentUser == null && Request.QueryString.Count == 0)
            {
                if (CurrentMediaDetail != null)
                {
                    /*if (!IsAjaxRequest)
                     * {*/
                    if (AppSettings.EnableOutputCaching && CurrentMediaDetail.CanCache)
                    {
                        if (AppSettings.EnableLevel1MemoryCaching)
                        {
                            CurrentMediaDetail.SaveToMemoryCache(UserSelectedVersion, html);
                        }

                        if (AppSettings.EnableLevel2FileCaching)
                        {
                            CurrentMediaDetail.SaveToFileCache(UserSelectedVersion, html);
                        }

                        if (AppSettings.EnableLevel3RedisCaching)
                        {
                            CurrentMediaDetail.SaveToRedisCache(UserSelectedVersion, html);
                        }
                    }

                    ContextHelper.SetToSession("CurrentMediaDetail", CurrentMediaDetail);
                    //}
                }
            }

            /*if(AppSettings.ForceSSL)
             * {
             *  html = html.Replace("http:", "https:");
             * }*/

            html = ParserHelper.ReplaceHrefAndSrcsToAbsoluteUrls(html);

            writer.Write(html);
        }