Пример #1
0
 private static void RemoveExistingPages(N2.Engine.IEngine factory, ContentItem rootPage)
 {
     while (rootPage.Children.Count > 0)
     {
         factory.Persister.Delete(rootPage.Children[0]);
     }
 }
Пример #2
0
 private static void ClearPreviousVersions(N2.Engine.IEngine factory, ContentItem rootPage)
 {
     foreach (ContentItem version in factory.Resolve <N2.Persistence.Finder.IItemFinder>().Where.VersionOf.Eq(rootPage).Select())
     {
         factory.Persister.Delete(version);
     }
 }
Пример #3
0
        private void ReplaceContent(N2.Engine.IEngine factory)
        {
            var installer = factory.Resolve <N2.Edit.Installation.InstallationManager>();

            installer.Install();
            var root = installer.InsertExportFile(File.OpenRead(HttpContext.Current.Server.MapPath("~/App_Data/Demo.n2.xml.gz")), "Concrete_SampleData.gz");

            if (root.ID != factory.Host.CurrentSite.RootItemID)
            {
                factory.Host.CurrentSite.RootItemID = root.ID;
            }
            foreach (ContentItem item in root.Children)
            {
                if (item.ID == factory.Host.DefaultSite.StartPageID && item is StartPage)
                {
                    CreateDemoPanel(factory, item);
                    return;
                }
            }

            foreach (ContentItem item in root.Children)
            {
                if (item is StartPage)
                {
                    CreateDemoPanel(factory, item);
                    factory.Host.DefaultSite.StartPageID = item.ID;
                    return;
                }
            }
        }
Пример #4
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     WasInitialized = true;
     if (Throw)
     {
         throw new N2Exception("ThrowingPlugin2 is really mad.");
     }
 }
Пример #5
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     WasInitialized = true;
     if (Throw)
     {
         throw new SomeException("ThrowingPlugin1 isn't happy.");
     }
 }
Пример #6
0
 private static void UpdateRootPage(N2.Engine.IEngine factory, ContentItem imported, ContentItem startPage)
 {
     startPage.Title = imported.Title;
     startPage.Name  = imported.Name;
     foreach (N2.Details.ContentDetail detail in imported.Details)
     {
         startPage[detail.Name] = detail.Value;
     }
     factory.Persister.Save(startPage);
 }
Пример #7
0
        public void Initialize(N2.Engine.IEngine engine)
        {
            if (ConfigurationManager.AppSettings["ResetData"] == "true")
            {
                ReplaceContent(engine);

                CopyFiles(engine);

                engine.Persister.ItemSaving += Persister_ItemSaving;
            }
        }
Пример #8
0
        private static void ClearPreviousVersions(N2.Engine.IEngine engine, ContentItem rootPage)
        {
            var repo = engine.Resolve <ContentVersionRepository>();

            foreach (var version in repo.Repository.Find().ToList())
            {
                repo.Repository.Delete(version);
            }
            //foreach (ContentItem version in factory.Resolve<N2.Persistence.Finder.IItemFinder>().Where.VersionOf.Eq(rootPage).Select())
            //    factory.Persister.Delete(version);
        }
Пример #9
0
        private static void CreateDemoPanel(N2.Engine.IEngine factory, ContentItem item)
        {
            if (ConfigurationManager.AppSettings["Demo.CreateDemoPanel"] == "true")
            {
                var part = factory.Resolve <ContentActivator>().CreateInstance <Models.DemoPart>(item);
                part.ZoneName  = "Right";
                part.SortOrder = -1000000;
                item.Children.Insert(0, part);

                factory.Persister.Save(part);
            }
        }
Пример #10
0
        public void Initialize(N2.Engine.IEngine factory)
        {
            if (ConfigurationManager.AppSettings["Demo.EnableContentReset"] == "true")
            {
                ReplaceContent(factory);

                if (ConfigurationManager.AppSettings["Demo.EnableUploadReset"] == "true")
                {
                    CopyFiles(factory);
                }

                factory.Persister.ItemSaving += Persister_ItemSaving;
            }
        }
Пример #11
0
        private static void CopyFiles(N2.Engine.IEngine engine)
        {
            HttpServerUtility server = HttpContext.Current.Server;

            foreach (string folder in engine.EditManager.UploadFolders)
            {
                string upload = server.MapPath(folder);
                DeleteFilesAndFolders(upload);
            }
            File.Copy(server.MapPath("~/Addons/Demo/Resources/Sunset.jpg"), server.MapPath("~/upload/Sunset.jpg"), true);
            File.Copy(server.MapPath("~/Addons/Demo/Resources/n2.gif"), server.MapPath("~/upload/n2.gif"), true);
            File.Copy(server.MapPath("~/Addons/Demo/Resources/lav.jpg"), server.MapPath("~/upload/lav.jpg"), true);
            File.Copy(server.MapPath("~/Addons/Demo/Resources/skal.jpg"), server.MapPath("~/upload/skal.jpg"), true);
            File.Copy(server.MapPath("~/Addons/Demo/Resources/thorn.jpg"), server.MapPath("~/upload/thorn.jpg"), true);
            File.Copy(server.MapPath("~/Addons/Demo/Resources/logo_white.png"), server.MapPath("~/upload/logo_white.png"), true);
        }
Пример #12
0
        private static void CopyFiles(N2.Engine.IEngine factory)
        {
            HttpServerUtility server = HttpContext.Current.Server;

            foreach (string folder in factory.EditManager.UploadFolders)
            {
                string upload = server.MapPath(folder);
                DeleteFilesAndFolders(upload);
            }
            foreach (string file in Directory.GetFiles(server.MapPath("~/Areas/Tests/Demo/")))
            {
                if (file.EndsWith(".jpg") || file.EndsWith(".png"))
                {
                    File.Copy(file, server.MapPath("~/upload/" + Path.GetFileName(file)), true);
                }
            }
        }
Пример #13
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     WasInitialized = true;
 }
Пример #14
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     engine.AddComponent("n2.languageGateway", typeof(ILanguageGateway), typeof(LanguageGateway));
     engine.AddComponent("n2.languageInterceptor", typeof(LanguageInterceptor));
 }
 public N2XmlWriter(N2.Engine.IEngine engine)
 {
     this.engine = engine;
 }
Пример #16
0
 public N2XmlWriter(N2.Engine.IEngine engine)
 {
     this.engine = engine;
 }
 public void Initialize(N2.Engine.IEngine engine)
 {
     engine.AddComponent("myComponent", typeof(Services.MyComponent));
 }
Пример #18
0
        private void ReplaceContent(N2.Engine.IEngine engine)
        {
            Importer      imp = engine.Resolve <Importer>();
            IImportRecord record;
            HttpContext   context = HttpContext.Current;

            if (context != null && File.Exists(context.Server.MapPath("~/App_Data/export.n2.xml.gz")))
            {
                record = imp.Read(context.Server.MapPath("~/App_Data/export.n2.xml.gz"));
            }
            else
            {
                record = imp.Read(GetType().Assembly.GetManifestResourceStream("Demo.Resources.export.n2.xml.gz"), "export.n2.xml.gz");
            }

            ContentItem imported = record.RootItem;

            ContentItem rootPage = engine.Persister.Get <ContentItem>(engine.Host.DefaultSite.RootItemID);

            engine.SecurityManager.ScopeEnabled = false;
            try
            {
                ((N2.Integrity.IntegrityEnforcer)engine.Resolve <N2.Integrity.IIntegrityEnforcer>()).Enabled = false;
                RemoveExistingPages(engine, rootPage);
            }
            finally
            {
                ((N2.Integrity.IntegrityEnforcer)engine.Resolve <N2.Integrity.IIntegrityEnforcer>()).Enabled = true;
            }
            UpdateRootPage(engine, imported, rootPage);

            imp.Import(record, rootPage, ImportOption.Children);

            foreach (ContentItem item in rootPage.Children)
            {
                if (item is StartPage)
                {
                    engine.Host.DefaultSite.StartPageID = item.ID;
                }
            }

            engine.Persister.Save(rootPage);

            //foreach (NewsList nl in Find.Items.Where.Type.Eq(typeof(NewsList)).Select())
            //{
            //    foreach (NewsContainer nc in Find.Items.Where.Type.Eq(typeof (NewsContainer)).Select())
            //    {
            //        nl.Container = nc;
            //        News n = engine.Definitions.CreateInstance<News>(nc);
            //        n.Title = "Demo site created";
            //        n.Introduction = "Today at " + DateTime.Now + " a demo site was generated for your convenience.";
            //        n.Text = "<p>Download the template web if you like.</p>";
            //        n["Syndicate"] = true;
            //        engine.Persister.Save(n);
            //    }
            //}

            //foreach (CalendarTeaser ct in Find.Items.Where.Type.Eq(typeof(CalendarTeaser)).Select())
            //{
            //    foreach (Calendar c in Find.Items.Where.Type.Eq(typeof(Calendar)).Select())
            //    {
            //        ct.Container = c;
            //        Event e = engine.Definitions.CreateInstance<Event>(c);
            //        e.Title = "Demo site scheduled for deletion";
            //        e.Introduction = "30 minutes from now the demo site will be re-created.";
            //        e.EventDate = DateTime.Now.AddMinutes(30);
            //        e["Syndicate"] = true;
            //        engine.Persister.Save(e);
            //    }
            //}

            ClearPreviousVersions(engine, rootPage);

            engine.SecurityManager.ScopeEnabled = true;
        }
Пример #19
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     engine.AddComponent("n2.wiki.parser", typeof(WikiParser));
     engine.AddComponent("n2.wiki.renderer", typeof(WikiRenderer));
 }
Пример #20
0
 public void Initialize(N2.Engine.IEngine engine)
 {
     // do nothing, work already done
 }