private void PerformCommonSave(SiteData pageSite, carrot_RootContent rc, carrot_Content c)
        {
            c.NavOrder = this.NavOrder;

            if (this.ContentType == ContentPageType.PageType.BlogEntry)
            {
                this.PageSlug = ContentPageHelper.ScrubFilename(this.Root_ContentID, this.PageSlug);
                this.FileName = ContentPageHelper.CreateFileNameFromSlug(this.SiteID, this.GoLiveDate, this.PageSlug);
                c.NavOrder    = SiteData.BlogSortOrderNumber;
            }

            rc.GoLiveDate = pageSite.ConvertSiteTimeToUTC(this.GoLiveDate);
            rc.RetireDate = pageSite.ConvertSiteTimeToUTC(this.RetireDate);

            rc.GoLiveDateLocal = pageSite.ConvertUTCToSiteTime(rc.GoLiveDate);

            rc.PageSlug      = this.PageSlug;
            rc.PageThumbnail = this.Thumbnail;

            c.Root_ContentID = this.Root_ContentID;

            rc.Heartbeat_UserId = this.Heartbeat_UserId;
            rc.EditHeartbeat    = this.EditHeartbeat;

            rc.FileName      = this.FileName;
            rc.PageActive    = this.PageActive;
            rc.ShowInSiteNav = this.ShowInSiteNav;
            rc.BlockIndex    = this.BlockIndex;
            rc.ShowInSiteMap = this.ShowInSiteMap;

            rc.FileName = ContentPageHelper.ScrubFilename(this.Root_ContentID, rc.FileName);

            c.Parent_ContentID = this.Parent_ContentID;
            c.IsLatestVersion  = true;
            c.TitleBar         = this.TitleBar;
            c.NavMenuText      = this.NavMenuText;
            c.PageHead         = this.PageHead;
            c.PageText         = this.PageText;
            c.LeftPageText     = this.LeftPageText;
            c.RightPageText    = this.RightPageText;

            c.EditUserId   = this.EditUserId;
            c.CreditUserId = this.CreditUserId;

            c.EditDate     = DateTime.UtcNow;
            c.TemplateFile = this.TemplateFile;

            FixMeta();
            c.MetaKeyword     = this.MetaKeyword.Replace("\r\n", " ").Replace("\n", " ").Replace("\r", " ").Replace("  ", " ");
            c.MetaDescription = this.MetaDescription.Replace("\r\n", " ").Replace("\n", " ").Replace("\r", " ").Replace("  ", " ");

            this.Root_ContentID = rc.Root_ContentID;
            this.ContentID      = c.ContentID;
            this.FileName       = rc.FileName;
            this.EditDate       = pageSite.ConvertUTCToSiteTime(c.EditDate);
            this.CreateDate     = pageSite.ConvertUTCToSiteTime(rc.CreateDate);
            this.GoLiveDate     = pageSite.ConvertUTCToSiteTime(rc.GoLiveDate);
            this.RetireDate     = pageSite.ConvertUTCToSiteTime(rc.RetireDate);
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (pageContents != null)
            {
                pageContents.TitleBar    = txtTitle.Text;
                pageContents.NavMenuText = txtNav.Text;
                pageContents.PageHead    = txtHead.Text;

                pageContents.MetaDescription = txtDescription.Text;
                pageContents.MetaKeyword     = txtKey.Text;
                pageContents.Thumbnail       = txtThumb.Text;

                pageContents.EditDate = SiteData.CurrentSite.Now;

                pageContents.GoLiveDate = ucReleaseDate.GetDate();
                pageContents.RetireDate = ucRetireDate.GetDate();

                pageContents.PageActive    = chkActive.Checked;
                pageContents.ShowInSiteNav = false;
                pageContents.ShowInSiteMap = false;
                pageContents.BlockIndex    = chkHide.Checked;

                List <ContentCategory> lstCat = new List <ContentCategory>();
                List <ContentTag>      lstTag = new List <ContentTag>();

                lstCat = (from cr in GeneralUtilities.GetSelectedValues(listCats).Select(x => new Guid(x))
                          join l in SiteData.CurrentSite.GetCategoryList() on cr equals l.ContentCategoryID
                          select l).ToList();

                lstTag = (from cr in GeneralUtilities.GetSelectedValues(listTags).Select(x => new Guid(x))
                          join l in SiteData.CurrentSite.GetTagList() on cr equals l.ContentTagID
                          select l).ToList();

                pageContents.ContentCategories = lstCat;
                pageContents.ContentTags       = lstTag;

                if (String.IsNullOrEmpty(hdnCreditUserID.Value))
                {
                    pageContents.CreditUserId = null;
                }
                else
                {
                    var usr = new ExtendedUserData(hdnCreditUserID.Value);
                    pageContents.CreditUserId = usr.UserId;
                }

                pageContents.FileName = ContentPageHelper.CreateFileNameFromSlug(pageContents.SiteID, pageContents.GoLiveDate, pageContents.PageSlug);

                cmsHelper.cmsAdminContent = pageContents;

                Master.ShowSave();

                Response.Redirect(SiteData.CurrentScriptName + "?pageid=" + pageContents.Root_ContentID.ToString() + Master.SavedSuffix);
            }
        }
        public bool IsUniqueBlog()
        {
            DateTime dateGoLive     = Convert.ToDateTime(this.GoLiveDate);
            DateTime dateOrigGoLive = DateTime.MinValue;

            string thePageSlug = ContentPageHelper.ScrubFilename(this.Root_ContentID, this.PageSlug).ToLowerInvariant();

            string theFileName = thePageSlug;

            using (ContentPageHelper pageHelper = new ContentPageHelper()) {
                ContentPage cp = pageHelper.FindContentByID(SiteData.CurrentSite.SiteID, this.Root_ContentID);

                if (cp != null)
                {
                    dateOrigGoLive = cp.GoLiveDate;
                }
                if (cp == null && this.Root_ContentID != Guid.Empty)
                {
                    ContentPageExport cpe = ContentImportExportUtils.GetSerializedContentPageExport(this.Root_ContentID);
                    if (cpe != null)
                    {
                        dateOrigGoLive = cpe.ThePage.GoLiveDate;
                    }
                }

                theFileName = ContentPageHelper.CreateFileNameFromSlug(SiteData.CurrentSite.SiteID, dateGoLive, thePageSlug);

                if (SiteData.IsPageSpecial(theFileName) || SiteData.IsLikelyHomePage(theFileName))
                {
                    return(false);
                }

                ContentPage fn1 = pageHelper.FindByFilename(SiteData.CurrentSite.SiteID, theFileName);

                if (cp == null && this.Root_ContentID != Guid.Empty)
                {
                    cp = pageHelper.GetVersion(SiteData.CurrentSite.SiteID, this.Root_ContentID);
                }

                if (fn1 == null || (fn1 != null && cp != null && fn1.Root_ContentID == cp.Root_ContentID))
                {
                    return(true);
                }
            }

            return(false);
        }
        public TimeZoneContent(Guid siteID)
        {
            // use C# libraries for timezones rather than pass in offset as some dates are +/- an hour off because of DST

            this.SiteID = siteID;

            this.ContentLocalDates = new List <ContentLocalTime>();

            this.BlogPostUrls = new List <BlogPostPageUrl>();

            SiteData site = SiteData.GetSiteFromCache(siteID);

            List <carrot_RootContent> queryAllContent = null;

            using (CarrotCMSDataContext db = CarrotCMSDataContext.GetDataContext()) {
                queryAllContent = CannedQueries.GetAllRootTbl(db, siteID).ToList();
            }

            var allContentDates = (from p in queryAllContent
                                   select p.GoLiveDate).Distinct().ToList();

            var blogDateList = (from p in queryAllContent
                                where p.ContentTypeID == ContentPageType.GetIDByType(ContentPageType.PageType.BlogEntry)
                                select p.GoLiveDate).Distinct().ToList();

            this.ContentLocalDates = (from d in allContentDates
                                      select new ContentLocalTime()
            {
                GoLiveDate = d,
                GoLiveDateLocal = site.ConvertUTCToSiteTime(d)
            }).ToList();

            this.BlogPostUrls = (from bd in blogDateList
                                 join ld in this.ContentLocalDates on bd equals ld.GoLiveDate
                                 select new BlogPostPageUrl()
            {
                GoLiveDate = ld.GoLiveDate,
                PostPrefix = CleanPostPrefix(ContentPageHelper.CreateFileNameFromSlug(siteID, ld.GoLiveDateLocal, string.Empty)),
                GoLiveDateLocal = ld.GoLiveDateLocal
            }).ToList();
        }
Exemple #5
0
        public TimeZoneContent(Guid siteID)
        {
            // use C# libraries for timezones rather than pass in offset as some dates are +/- an hour off because of DST

            this.SiteID = siteID;

            this.ContentLocalDates = new List <ContentLocalTime>();

            this.BlogPostUrls = new List <BlogPostPageUrl>();

            SiteData site = SiteData.GetSiteFromCache(siteID);

            List <carrot_RootContent> queryAllContent = null;

            using (CarrotCMSDataContext db = CarrotCMSDataContext.Create()) {
                queryAllContent = CannedQueries.GetAllRootTbl(db, siteID).ToList();
            }

            this.ContentLocalDates = (from p in queryAllContent
                                      select new ContentLocalTime {
                Root_ContentID = p.Root_ContentID,
                ContentTypeID = p.ContentTypeID,
                GoLiveDate = p.GoLiveDate,
                PageSlug = p.PageSlug,
                FileName = p.FileName,
                GoLiveDateLocal = site.ConvertUTCToSiteTime(p.GoLiveDate)
            }).ToList();

            IEnumerable <ContentLocalTime> queryBlog = (from c in this.ContentLocalDates
                                                        where c.ContentTypeID == ContentPageType.GetIDByType(ContentPageType.PageType.BlogEntry)
                                                        select c);

            this.BlogPostUrls = (from p in queryBlog
                                 select new BlogPostPageUrl {
                Root_ContentID = p.Root_ContentID,
                GoLiveDateLocal = p.GoLiveDateLocal,
                FileName = ContentPageHelper.CreateFileNameFromSlug(siteID, p.GoLiveDateLocal, p.PageSlug)
            }).ToList();
        }