public static string MoveModule(string moduleid, string pageid, string containername, int sortorder) { BaseService.CheckLoginAndLicense(); string where = String.Format("FK_PAGE = '{0}' And ContainerName='{1}' AND OrderingNumber >= {2}", pageid, containername, sortorder); //where = String.Format("FK_PAGE = '{0}' And Container='{1}'", pageid, containername); BaseCollection <BaseModule> modules = BaseCollection <BaseModule> .Get(where, "OrderingNumber"); foreach (BaseModule mod in modules) { mod.OrderingNumber++; mod.Save(); } string returnValue = ""; //moduleid = moduleid.Replace("bitModule", ""); moduleid = moduleid.Replace("bitModule", "").Replace("_", "-"); containername = containername.Replace("bitContainer", ""); BaseModule module = (BaseModule)BaseDomainObject.GetById <BaseModule>(new Guid(moduleid)); module.ContainerName = containername; module.OrderingNumber = sortorder; module.Save(); returnValue = new ModuleService().GetUserControlContent(module); //moet naar container //updateOrderingNumber //alleen degene ophalen met een groter nummer dan sortorder PublishDependentPages(module); return(returnValue); }
public static string GetModuleContent(string id, string mode) { BaseService.CheckLoginAndLicense(); string returnValue = ""; //id = id.Replace("bitModule", ""); id = id.Replace("bitModule", "").Replace("_", "-"); BaseModule module = (BaseModule)BaseDomainObject.GetById <BaseModule>(new Guid(id)); module = module.ConvertToType(); if (mode == "edit") { returnValue = module.Content; Uri uri = System.Web.HttpContext.Current.Request.UrlReferrer; string currentDomain = uri.GetLeftPart(UriPartial.Authority); if (SessionObject.CurrentSite.DomainName != currentDomain) { returnValue = HtmlHelper.ReplaceImageSources(returnValue, ModeEnum.Edit, SessionObject.CurrentSite); } if (module.HasAutorisation) { BitAutorisationService.AutorisationClient client = BitAutorisationServiceHelper.GetClient(); BitplateUserGroup[] usergroups = client.GetUserGroupsByObjectPermission(module.ID); module.AutorizedBitplateUserGroups = usergroups; BitplateUser[] users = client.GetUsersByObjectPermission(module.ID); module.AutorizedBitplateUsers = users; if (!module.IsAutorized(SessionObject.CurrentBitplateUser)) { throw new Exception("U heeft geen rechten voor deze module"); } } } else { //module.LoadPropsFromXmlFile(); returnValue = new ModuleService().GetUserControlContent(module); } return(returnValue); }
public static object[] AddNewModule(string type, string pageid, string containername, int sortorder) { string Url = HttpContext.Current.Request.UrlReferrer.ToString(); BaseService.CheckLoginAndLicense(); //volgende waardes terug geven: //1. De inhoud gewrapt met module toolbar, //2: de specifieke javascripts //3: de moduleID object[] returnValue = new object[3]; BaseModule module = null; type = type.Replace("bitModule", ""); containername = containername.Replace("bitContainer", ""); module = ModuleLoader.Load(type); if (module != null) { module.Name = type; module.Site = SessionObject.CurrentSite; //module.Page = new CmsPage(); //module.Page.ID = new Guid(pageid); if (Url.ToLower().Contains("/newsletters")) { module.Newsletter = new Newsletter(); module.Newsletter.ID = new Guid(pageid); } else { module.Page = new CmsPage(); module.Page.ID = new Guid(pageid); } module.ContainerName = containername; module.OrderingNumber = sortorder; module.Content = module.FirstContentSample; module.Settings.Add("UseCkeditor", true); //WORK ARROUND SETTINGS WILLEN NIET OPSLAAN. module.SettingsJsonString = module.Settings.ToJsonString(); module.Save(); //SetUnpublishedItem(module); returnValue[1] = module.IncludeScripts; returnValue[2] = module.ID.ToString(); //moet naar container //updateOrderingNumber //alleen degene ophalen met een groter nummer dan sortorder string where = String.Format("FK_PAGE = '{0}' And ContainerName='{1}' AND OrderingNumber > {2}", pageid, containername, sortorder); BaseCollection <BaseModule> modules = BaseCollection <BaseModule> .Get(where); foreach (BaseModule mod in modules) { mod.OrderingNumber++; mod.Save(); } } module.ForceReloadTags(); //De tags zijn al gegenereerd, maar dit is gebeurd voor het opslaan van de module. Hierdoor hebben de tags geen geldig control ID. Forceer hergeneratie van de tags. Dit is alleen bij nieuwe modules nodig. PublishModule(module); //Na toevoegen nieuwe ook pagina updaten PublishDependentPages(module); returnValue[0] = new ModuleService().GetUserControlContent(module); return(returnValue); }
public static string SaveModule(BaseModule module, string pageid) { string Url = HttpContext.Current.Request.UrlReferrer.ToString(); BaseService.CheckLoginAndLicense(); module.Site = SessionObject.CurrentSite; if (module.IsVisibleOnAllPages) { module.Template = null; module.Page = null; } else if (module.IsVisibleOnAllPagesInLayout) { if (Url.ToLower().Contains("/newsletters")) { Newsletter newletter = BaseObject.GetById <Newsletter>(new Guid(pageid)); module.Template = newletter.Template; } else { CmsPage page = BaseObject.GetById <CmsPage>(new Guid(pageid)); module.Template = page.Template; } } else { if (Url.ToLower().Contains("/newsletters")) { module.Newsletter = new Newsletter(); module.Newsletter.ID = new Guid(pageid); } else { module.Page = new CmsPage(); module.Page.ID = new Guid(pageid); } } module.Save(); //SetUnpublishedItem(module); module = module.ConvertToType(); //lijst van ObjectPermissions wordt hier alleen als drager gebruikt. //in de licentieserver wordt deze lijst weer gesplitst en in 2 tabellen gezet BaseCollection <ObjectPermission> objPermissions = module.GetObjectPermissions4LicenseServer(); if (objPermissions.Count > 0) { BitAutorisationService.AutorisationClient client = BitAutorisationServiceHelper.GetClient(); client.SaveObjectPermissions(objPermissions); } //publiceren van pagina('s) PublishModule(module); PublishDependentPages(module); //Experimenteel caching reset //if (module.Page != null) BitCaching.RemoveItemFromCache(module.Page.ID.ToString()); string returnValue = new ModuleService().GetUserControlContent(module); return(returnValue); }