Exemplo n.º 1
0
        public ActionResult Version(int id)
        {
            VerPage vPage = _db.Set <VerPage>().SingleOrDefault(e => e.VerId == id);

            if (vPage == null)
            {
                return(new HttpNotFoundResult("Page version not found"));
            }

            CmsPage page = new CmsPage();

            CopyProperties(vPage, page);

            page.Id       = vPage.Id;
            page.NaviNode = _db.Set <NaviNode>().SingleOrDefault(
                e => e.Id == vPage.NaviNodeId);

            StringBuilder webpartHeaders = new StringBuilder();

            bool havingWebPart = false;

            page.ContentHtml.Content = _pageEngine.ReplaceTokens(
                page: page,
                webpartHeaders: webpartHeaders,
                havingWebPart: out havingWebPart,
                controllerContext: this.ControllerContext);

            PermissionType accessMode = SecurityHelper.PageAccessMode(_db, page);

            ViewBag.AccessMode = accessMode;
            ViewBag.VerId      = vPage.VerId;
            ViewBag.BaseNode   = CmsPageBase.FindBaseNode(page);

            return(View(page));
        }
Exemplo n.º 2
0
        public ActionResult Page(string id)
        {
#if PUB
            var page = new PageModelBuilder <PubPage>(_db).GetPage(id);
#elif CMS
            var page = new PageModelBuilder <CmsPage>(_db).GetPage(id);
#endif
            if (page == null)
            {
                throw new HttpException(404, "Page not found");
            }

            var webpartHeaders = new StringBuilder();
            var havingWebPart  = false;

            page.ContentHtml.Content = _pageEngine.ReplaceTokens(
                page: page,
                webpartHeaders: webpartHeaders,
                havingWebPart: out havingWebPart,
                controllerContext: ControllerContext);

            ViewBag.HavingWebPart  = havingWebPart;
            ViewBag.WebpartHeaders = webpartHeaders.ToString();

#if CMS
            ViewBag.AccessMode = SecurityHelper.PageAccessMode(_db, page);
#endif

            ViewBag.NaviNode = page.NaviNode;
            ViewBag.BaseNode = CmsPageBase.FindBaseNode(page);

            var viewHtml = ViewRenderer.RenderViewToString(ControllerContext, "~/Core/Containers/Views/Cms/Page.cshtml", page);
            return(Content(viewHtml, "text/html"));
        }