public override void Save() { // bool isNew = this.IsNew; if (IsNew && WebSessionHelper.CurrentLicense != null && WebSessionHelper.CurrentLicense.HasMaxNumberExceeded("Template")) { throw new Exception("Kan niet opslaan: licentie heeft maximale aantal templates (" + WebSessionHelper.CurrentLicense.MaxNumberOfTemplates + ") overschreden."); } string parseErrors = HtmlHelper.ValidateHtml(this.Content); if (parseErrors != "") { //throw new Exception("Html is niet geldig: " + parseErrors); } base.Save(); string stylesToGenerateScreenshot = ""; BaseCollection <CmsScript> allScripts = new BaseCollection <CmsScript>(); allScripts.AddRange(this.Scripts); allScripts.AddRange(this.SiteScripts); foreach (CmsScript script in allScripts) { string scriptContent = script.Content; if (script.ScriptType == ScriptTypeEnum.Css) { stylesToGenerateScreenshot += "<style>" + scriptContent + "</style>\r\n"; } else { stylesToGenerateScreenshot += "<script type=\"text/javascript\">" + scriptContent + "</script>\r\n"; } } string htmlToGenerateScreenshot = String.Format(@"<!DOCTYPE html> <html> <head> {0} </head> <body> {1} </body> </html>", stylesToGenerateScreenshot, GetBodyContent()); GenerateScreenshotHelper.GenerateScreenshotFromHTML(this.ID, htmlToGenerateScreenshot); //UnpublishedItem.Set(this, "Template"); //BaseCollection<CmsPage> pages = BaseCollection<CmsPage>.Get("FK_Layout = '" + this.ID + "'"); //foreach (CmsPage page in pages) //{ // UnpublishedItem.Set(page, "Page"); //} //this.Publish(); //bugfix foreach (CmsScript script in Scripts) { //mocht een script al zijn gekoppeld aan een page dan hier koppeling verwijderen, zodat je geen dubbele koppelingen krijgt string sql = String.Format("DELETE FROM ScriptPerPage WHERE FK_Script = '{0}' AND EXISTS (SELECT * FROM Page WHERE Page.ID = FK_Page AND Page.FK_Layout='{1}')", script.ID, this.ID); DataBase.Get().Execute(sql); } }
/// <summary> /// Create a new instance. /// </summary> internal HeaderCollection(Document owner, ICollection <Header> fields) { foreach (var field in fields) { if (field.Owner != null) { throw new ArgumentOutOfRangeException(nameof(fields), "Item cannot be in other collection."); } } Owner = owner; BaseCollection.AddRange(fields); foreach (var field in fields) { field.Owner = this; } //ensure first field is always Version if (!Contains(HeaderType.Version)) { BaseCollection.Insert(0, new Header(HeaderType.Version, BitConverter.GetBytes(Header.DefaultVersion))); } else { var versionField = this[HeaderType.Version]; var versionIndex = IndexOf(versionField); if (versionIndex > 0) { BaseCollection.RemoveAt(versionIndex); BaseCollection.Insert(0, versionField); } } }
/// <summary> /// Create a new instance. /// </summary> internal RecordCollection(Entry owner, ICollection <Record> fields) { foreach (var field in fields) { if (field.Owner != null) { throw new ArgumentOutOfRangeException(nameof(fields), "Item cannot be in other collection."); } } Owner = owner; BaseCollection.AddRange(fields); foreach (var field in fields) { field.Owner = this; } }
protected override string getHeader() { string head = ""; //head += GetHeaderMetaTags(); BaseCollection <CmsScript> scripts = this.Site.Scripts; scripts.AddRange(this.Template.Scripts); scripts.AddRange(this.Scripts); head += Site.HeadContent; head += HeadContent; foreach (CmsScript script in scripts) { head += script.GetTag(); } head += GetHeaderModuleDependentScripts(); head += @"<script> $(document).ready(function () { if(parent && window.location != window.parent.location){ //vanuit iframe geladen parent.BITEDITPAGE.newsletterId= '" + this.ID.ToString() + @"'; parent.BITEDITPAGE.language= '" + this.Template.LanguageCode + @"'; $('.bitContainer').sortable({ placeholder: 'bitContainerPlaceholder', connectWith: '.bitContainer', handle: '.moduleMoveGrip', update: function (event, ui) { if (this === ui.item.parent()[0]) { var item = ui.item; var isNew = ($(item).is('.moduleToDrag')); var moduleType = $(item).attr('data-module-type'); var id = $(item).attr('id'); var containerName = $(this).attr('id').replace(""bitContainer"", """"); var index = $(this).children().index(ui.item[0]); BITAJAX.dataServiceUrl = ""/_bitplate/EditPage/ModuleService2.aspx""; if (isNew) { var parametersObject = { type: moduleType, pageid: parent.BITEDITPAGE.pageId, containername: containerName, sortorder: index, newsletterid: parent.BITEDITPAGE.newsletterId }; var jsonstring = JSON.stringify(parametersObject); BITAJAX.callWebService(""AddNewModule"", jsonstring, function (data) { item.replaceWith(data.d[0]); BITEDITPAGE.attachModuleCommands(); BITEDITPAGE.addModuleScriptsToHead(data.d[1]); BITEDITPAGE.fillModulesCheckBoxList(parent.BITEDITPAGE.pageId); }); } else { //sleep van ene container naar andere of van ene positie naar andere var parametersObject = { moduleid: id, pageid: parent.BITEDITPAGE.pageId, containername: containerName, sortorder: index, newsletterid: parent.BITEDITPAGE.newsletterId }; var jsonstring = JSON.stringify(parametersObject); BITAJAX.callWebService(""MoveModule"", jsonstring, null); } } }, stop: function (event, ui) { var moduleMoveGrip = $(ui.item).find('.moduleMoveGrip'); $(moduleMoveGrip).css({ 'width': 0, 'height': 0, 'display': 'none' }); parent.BITEDITPAGE.calulateOrderingNumber(ui.item); var moduleId = $(ui.item).attr('id').replace('bitModule', ''); //verberg infodivje $('#ModuleInfo' + moduleId).remove(); } //$('.bitContainer').disableSelection(); }); } }); </script>"; head += @"<script type=""text/javascript"" src=""/_js/bitAjax.js""></script>"; /* <script type=""text/javascript"" src=""/_js/bitSiteScript.js""></script>"; */ return(head); }