private void CreateSiteMap(CmsSiteEnvironment Environment) { string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"; xml += "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\r\n"; xml += "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n"; xml += "xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9\r\n"; xml += "http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\">\r\n"; xml += "\r\n"; System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); foreach (CmsPage page in Pages) { if (page.InSiteMap && page.IsActive) { xml += String.Format(culture, @" <url> <loc>{0}</loc> <lastmod>{1:yyyy-MM-dd}</lastmod> <changefreq>{2}</changefreq> <priority>{3:0.0}</priority> </url> ", Environment.DomainName + page.RelativeUrl, page.ModifiedDate, page.SiteMapChangeFreq, page.SiteMapPriority); } } xml += "</urlset>"; //opslaan Utils.FileHelper.WriteFile(Environment.Path + "\\Sitemap.xml", xml); }
public void PublishDataCollection(CmsSiteEnvironment environment) { DatabaseHelper databaseHelper = new DatabaseHelper(); databaseHelper.DropDataCollectionEnvironmentTables(this, environment); databaseHelper.CloneDataCollectionEnvironmentTables(this, CurrentWorkingEnvironment, environment); databaseHelper.InsertEnvironmentDataCollectionInTables(this, CurrentWorkingEnvironment, environment); }
private void PublishDataBase(CmsSiteEnvironment environment) { DatabaseHelper databaseHelper = new DatabaseHelper(); databaseHelper.DropSiteEnvironmentTables(this, environment); databaseHelper.CloneEnvironmentTables(this, CurrentWorkingEnvironment, environment); databaseHelper.InsertEnvironmentDataInTables(this, CurrentWorkingEnvironment, environment); }
public bool Publish(Guid environmentID, bool cleanUp, bool publishPages, bool publishFilesAndImages, bool publishData, bool publishBin, bool reGenerateSearchIndex, bool reGenerateSitemap) { CmsSiteEnvironment environment = BaseObject.GetById <CmsSiteEnvironment>(environmentID); return(Publish(environment, cleanUp, publishPages, publishFilesAndImages, publishData, publishBin, reGenerateSearchIndex, reGenerateSitemap)); }
//[NonPersistent()] //public string GetBitplateVersion() //{ // string version = ""; // string path = AppDomain.CurrentDomain.BaseDirectory + "\\bin\\VersionNumber.txt"; // if (File.Exists(path)) // { // version = File.ReadAllText(path); // } // if (version == "") // { // version = "Assembly: V" + Assembly.GetExecutingAssembly().GetName().Version.ToString(); // } // return version; //} private CmsSiteEnvironment GetWorkingEnvironment() { CmsSiteEnvironment returnValue = null; //eerste editable omgeving wordt standaard string where = String.Format("FK_Site='{0}' AND SiteEnvironmentType={1}", this.ID, (int)SiteEnvironmentTypeEnum.Editable); returnValue = BaseObject.GetFirst <CmsSiteEnvironment>(where); return(returnValue); }
private void PublishFiles(CmsSiteEnvironment Environment, bool cleanup) { if (cleanup) { //eerst alles weggooien Utils.FileHelper.DeleteFilesFromDirectory(Environment.Path + "\\_files", "", true); Utils.FileHelper.DeleteDir(Environment.Path + "\\_files"); } Utils.FileHelper.CopyDir(this.CurrentWorkingEnvironment.Path + "\\_files", Environment.Path + "\\_files"); }
public void CreateRobotsTxt(CmsSiteEnvironment Environment) { string txt = "User-agent: *\r\n"; foreach (CmsPage page in Pages) { if (page.DisallowRobots && page.IsActive && page.RelativeUrl != null) { txt += "Disallow: " + page.RelativeUrl + "\r\n"; } } Utils.FileHelper.WriteFile(Environment.Path + "\\Robots.txt", txt); }
private void PublishBinAndBitplate(CmsSiteEnvironment Environment) { Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path + "\\bin", Environment.Path + "\\bin", "*.xml|*.dll", false, false); Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path + "\\_js", Environment.Path + "\\_js", "*.xml|*.js", false, false); if (Environment.SiteEnvironmentType == SiteEnvironmentTypeEnum.Editable) { //heel bitplate copieren Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path + "\\_bitplate", Environment.Path + "\\_bitplate", "*.*", false, true); } FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\Page.aspx", Environment.Path + "\\Page.aspx"); FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\Newsletter.aspx", Environment.Path + "\\Newsletter.aspx"); //FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\Captcha.aspx", Environment.Path + "\\Captcha.aspx"); FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\script.handler", Environment.Path + "\\script.handler"); FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\Global.asax", Environment.Path + "\\Global.asax"); }
private void PublishPages(CmsSiteEnvironment Environment, bool cleanup) { string[] directories; if (cleanup) { //eerst weggooien Utils.FileHelper.DeleteFilesFromDirectory(Environment.Path, "*.aspx", false); Utils.FileHelper.DeleteFilesFromDirectory(Environment.Path, "*.master", false); Utils.FileHelper.DeleteFilesFromDirectory(Environment.Path + "\\_moduleUserControls", "*.ascx", false); Utils.FileHelper.DeleteFile(Environment.Path + "\\global.asax"); directories = System.IO.Directory.GetDirectories(Environment.Path); foreach (string path in directories) { string dir = System.IO.Path.GetFileName(path); //bij een dir geeft GetFileName de naam van de dir terug if (!(dir.StartsWith("_") || dir.StartsWith("!") || dir == "bin" || dir == "obj" || dir == "Properties" || dir == "WebUserControls" || dir == "aspnet_client")) { Utils.FileHelper.DeleteFilesFromDirectory(path, "", true); Utils.FileHelper.DeleteDir(path); } } } //daarna kopieren Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path, Environment.Path, "*.aspx", false, false); Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path, Environment.Path, "*.master", false, false); Utils.FileHelper.CopyDir(CurrentWorkingEnvironment.Path + "\\_moduleUserControls", Environment.Path + "\\_moduleUserControls", "*.ascx", false, false); if (Environment.SiteEnvironmentType == SiteEnvironmentTypeEnum.Editable) { Utils.FileHelper.CopyFile(CurrentWorkingEnvironment.Path + "\\global.asax", Environment.Path + "\\global.asax"); } directories = System.IO.Directory.GetDirectories(CurrentWorkingEnvironment.Path); foreach (string path in directories) { if (path == Environment.Path) { continue; } string dir = System.IO.Path.GetFileName(path); //bij een dir geeft GetFileName de naam van de dir terug if (!(dir.StartsWith("_") || dir.StartsWith("!") || dir == "bin" || dir == "obj" || dir == "Properties" || dir == "WebUserControls" || dir == "aspnet_client")) { Utils.FileHelper.CopyDir(path, Environment.Path + "\\" + dir, "*.aspx", false, true); } } }
private void CreateSearchIndex(CmsSiteEnvironment ToEnvironment) { Search.SearchHelper.FillSearchIndex(this); CmsSiteEnvironment FromEnvironment = CurrentWorkingEnvironment; if (!FromEnvironment.Equals(ToEnvironment)) { //zet om naar live database //create string sql = String.Format(@"CREATE TABLE IF NOT EXISTS {0}.searchindex LIKE {1}.searchindex;", ToEnvironment.DatabaseName, FromEnvironment.DatabaseName); DataBase.Get().Execute(sql); //delete sql = String.Format(@"DELETE FROM {0}.searchindex WHERE FK_Site='{1}';", ToEnvironment.DatabaseName, this.ID); DataBase.Get().Execute(sql); //insert sql = String.Format(@"INSERT INTO {0}.searchindex SELECT * FROM {1}.searchindex WHERE FK_Site='{2}';", ToEnvironment.DatabaseName, FromEnvironment.DatabaseName, this.ID); DataBase.Get().Execute(sql); } }
private void CreateWebConfig(CmsSiteEnvironment environment) { string webConfigContent = environment.CreateWebConfig(this.DomainName); Utils.FileHelper.WriteFile(environment.Path + "\\Web.config", webConfigContent); }
public bool Publish(CmsSiteEnvironment ToEnvironment, bool cleanUp, bool publishPages, bool publishFilesAndImages, bool publishData, bool publishBin, bool reGenerateSearchIndex, bool reGenerateSitemap) { CmsSiteEnvironment FromEnvironment = CurrentWorkingEnvironment; if (!FromEnvironment.Equals(ToEnvironment)) { if (!System.IO.Directory.Exists(ToEnvironment.Path)) { System.IO.Directory.CreateDirectory(ToEnvironment.Path); } if (publishPages) { FileHelper.EmptySiteDirectory(ToEnvironment.Path, publishFilesAndImages); PublishDataBase(ToEnvironment); } if ((!Directory.Exists(ToEnvironment.Path + "\\bin") || publishBin)) { PublishBinAndBitplate(ToEnvironment); } if (!File.Exists(ToEnvironment.Path + "\\web.config") || publishBin) { CreateWebConfig(ToEnvironment); } if (publishFilesAndImages) { PublishFiles(ToEnvironment, false); } if (publishData) { PublishDataCollection(ToEnvironment); } //if (publishData) //{ // PublishDataBase(ToEnvironment, cleanUp); //} //if (publishBin) //{ // PublishBinAndBitplate(ToEnvironment); //} //if (publishFilesAndImages) //{ // PublishFiles(ToEnvironment, cleanUp); //} //if (publishPages) //{ // PublishScripts(ToEnvironment, cleanUp); // PublishPages(ToEnvironment, cleanUp); //} } if (reGenerateSearchIndex) { CreateSearchIndex(ToEnvironment); } if (reGenerateSitemap) { CreateSiteMap(ToEnvironment); CreateRobotsTxt(ToEnvironment); } return(true); }