private static void RemoveExistingPages(N2.Engine.IEngine factory, ContentItem rootPage) { while (rootPage.Children.Count > 0) { factory.Persister.Delete(rootPage.Children[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); } }
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; } } }
public void Initialize(N2.Engine.IEngine engine) { WasInitialized = true; if (Throw) { throw new N2Exception("ThrowingPlugin2 is really mad."); } }
public void Initialize(N2.Engine.IEngine engine) { WasInitialized = true; if (Throw) { throw new SomeException("ThrowingPlugin1 isn't happy."); } }
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); }
public void Initialize(N2.Engine.IEngine engine) { if (ConfigurationManager.AppSettings["ResetData"] == "true") { ReplaceContent(engine); CopyFiles(engine); engine.Persister.ItemSaving += Persister_ItemSaving; } }
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); }
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); } }
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; } }
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); }
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); } } }
public void Initialize(N2.Engine.IEngine engine) { WasInitialized = true; }
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; }
public void Initialize(N2.Engine.IEngine engine) { engine.AddComponent("myComponent", typeof(Services.MyComponent)); }
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; }
public void Initialize(N2.Engine.IEngine engine) { engine.AddComponent("n2.wiki.parser", typeof(WikiParser)); engine.AddComponent("n2.wiki.renderer", typeof(WikiRenderer)); }
public void Initialize(N2.Engine.IEngine engine) { // do nothing, work already done }