コード例 #1
0
ファイル: CopySettings.cs プロジェクト: xiaoDingc/MrCMS
        public void Clone(Site @from, Site to, SiteCloneContext siteCloneContext)
        {
            var fromProvider      = new SqlConfigurationProvider(_session, @from); // _legacySettingsProvider);
            var toProvider        = new SqlConfigurationProvider(_session, @to);   //, _legacySettingsProvider);
            var siteSettingsBases = fromProvider.GetAllSiteSettings();

            siteSettingsBases.ForEach(toProvider.SaveSettings);
            //AppDataConfigurationProvider.ClearCache();
        }
コード例 #2
0
ファイル: UpdateSitemap.cs プロジェクト: xubinvc/MrCMS
        protected override void OnExecute()
        {
            var sites = _session.QueryOver <Site>().Where(x => !x.IsDeleted).List();

            _triggerUrls.Trigger(sites.Select(site =>
            {
                var siteSettings = new SqlConfigurationProvider(_session, site).GetSiteSettings <SiteSettings>();
                return(string.Format("{0}/{1}?{2}={3}",
                                     site.GetFullDomain.TrimEnd('/'),
                                     SitemapController.WriteSitemapUrl,
                                     siteSettings.TaskExecutorKey,
                                     siteSettings.TaskExecutorPassword));
            }));
        }
コード例 #3
0
        public void TriggerPendingTasks()
        {
            var sites = _taskQueuer.GetPendingQueuedTaskSites();

            _triggerUrls.Trigger(sites.Select(site =>
            {
                var siteSettings = new SqlConfigurationProvider(_session, site).GetSiteSettings <SiteSettings>();

                return(string.Format("{0}/{1}?{2}={3}",
                                     site.GetFullDomain.TrimEnd('/'),
                                     TaskExecutionController.ExecuteQueuedTasksURL,
                                     siteSettings.TaskExecutorKey,
                                     siteSettings.TaskExecutorPassword));
            }));
        }
コード例 #4
0
        protected override void OnExecute()
        {
            var sites   = _session.QueryOver <Site>().Where(x => !x.IsDeleted).List();
            var indexes = _indexService.GetIndexes();

            foreach (var site in sites)
            {
                var siteSettings = new SqlConfigurationProvider(_session, site).GetSiteSettings <SiteSettings>();

                _triggerUrls.Trigger(indexes.Select(index => string.Format("{0}/{1}?{2}={3}&type={4}",
                                                                           site.GetFullDomain.TrimEnd('/'),
                                                                           OptimiseIndexesController.OptimiseIndexUrl,
                                                                           siteSettings.TaskExecutorKey,
                                                                           siteSettings.TaskExecutorPassword, index.TypeName)));
            }
        }
コード例 #5
0
        public void Clone(Site @from, Site to, SiteCloneContext siteCloneContext)
        {
            var toProvider           = new SqlConfigurationProvider(_session, @to);
            var pageDefaultsSettings = toProvider.GetSiteSettings <PageDefaultsSettings>();

            var keys = pageDefaultsSettings.Layouts.Keys.ToList();

            foreach (var key in keys.Where(key => pageDefaultsSettings.Layouts[key].HasValue))
            {
                var layout = siteCloneContext.FindNew <Layout>(pageDefaultsSettings.Layouts[key].Value);
                if (layout != null)
                {
                    pageDefaultsSettings.Layouts[key] = layout.Id;
                }
            }

            toProvider.SaveSettings(pageDefaultsSettings);
        }
コード例 #6
0
ファイル: UpdateSiteSettings.cs プロジェクト: xubinvc/MrCMS
        public void Clone(Site @from, Site to, SiteCloneContext siteCloneContext)
        {
            var fromProvider     = new SqlConfigurationProvider(_session, @from);
            var fromSiteSettings = fromProvider.GetSiteSettings <SiteSettings>();
            var toProvider       = new SqlConfigurationProvider(_session, @to);
            var toSiteSettings   = toProvider.GetSiteSettings <SiteSettings>();

            var error403 = siteCloneContext.FindNew <Webpage>(fromSiteSettings.Error403PageId);

            if (error403 != null)
            {
                toSiteSettings.Error403PageId = error403.Id;
            }

            var error404 = siteCloneContext.FindNew <Webpage>(fromSiteSettings.Error404PageId);

            if (error404 != null)
            {
                toSiteSettings.Error404PageId = error404.Id;
            }

            var error500 = siteCloneContext.FindNew <Webpage>(fromSiteSettings.Error500PageId);

            if (error500 != null)
            {
                toSiteSettings.Error500PageId = error500.Id;
            }

            var layout = siteCloneContext.FindNew <Layout>(fromSiteSettings.DefaultLayoutId);

            if (layout != null)
            {
                toSiteSettings.DefaultLayoutId = layout.Id;
            }

            toProvider.SaveSettings(toSiteSettings);
        }