private void UpdateAccess(FunctionTypeAttribute functionTypeAttribute, WrappedPageType functionType) { AccessTimer.Start(); int functionTypeID = functionType.ID; var functionAccessControlList = ManageAccessHandler.GetACLOfFunctionType(functionTypeID); ContentFunctionType.Load(functionTypeID); var defaultAccessControlList = ManageAccessHandler.LoadDefaultAccessFunctionType(); bool chanaged = false; foreach (var accessEntry in defaultAccessControlList.Where(a => functionAccessControlList.Exists(a.Key) == false).ToList()) { functionAccessControlList.Add(accessEntry.Value); chanaged = true; } if (chanaged) { ManageAccessHandler.SaveAccessFunctionType(functionAccessControlList, null, functionTypeID); Logger.DebugFormat("UpdateAccess for {0}", functionTypeID); } AccessTimer.Stop(); }
private void UpdateRules(FunctionTypeAttribute functionTypeAttribute, WrappedPageType functionType) { RulesTimer.Start(); int functionTypeID = functionType.ID; var filteredPageTypes = _pageTypes; var filteredContetTypes = _contentTypes; if (functionTypeAttribute.AvailableOnPages == AvailableOn.Specific) { filteredPageTypes = PageTypeHelper.GetPageTypes(functionTypeAttribute.AvailableOnPageTypes); } if (functionTypeAttribute.AvailableOnContent == AvailableOn.Specific) { filteredContetTypes = PageTypeHelper.GetFunctionPageTypes(functionTypeAttribute.AvailableOnContentTypes); } var rules = new List <TypeIdContentAreaId>(); foreach (var pageType in filteredPageTypes) { var realPageType = PageType.Load(pageType.ID); if (realPageType == null) { continue; } var pageAreas = ContentAreaManager.GetAvailableContentAreasViaProperty(realPageType); foreach (var pageArea in pageAreas) { rules.Add(new TypeIdContentAreaId(pageType.ID, pageArea.ID)); } } foreach (var contentType in filteredContetTypes) { if (contentType.ID == functionTypeID) { continue; } List <ContentAreaData> contentAreas = ContentAreaManager.GetAvailableContentAreasViaProperty(contentType.ID); foreach (var contentArea in contentAreas) { rules.Add(new TypeIdContentAreaId(contentType.ID, contentArea.ID)); } } SyncRules(functionTypeID, rules); RulesTimer.Stop(); }
private void UpdateContentAreas(WrappedPageType functionType) { ContentAreasTimer.Start(); var realPageType = PageType.Load(functionType.ID); if (realPageType != null) { ContentFunctionTypeManager.ReRegisterCA(realPageType); } ContentAreasTimer.Stop(); }
private void UpdatePageRegistration(ExtensionPageTypeAttribute pageAttribute, WrappedPageType pageType) { if (pageAttribute.Name != pageType.Name || pageAttribute.Description != pageType.Description) { Logger.DebugFormat("UpdatePageRegistration name and description for {0}", pageType.ID); if (!PageTypeManager.UpdateNameAndDescription(pageAttribute.Name, pageAttribute.Description, pageType.ID)) { return; } } ConvertToExtensionPageType(pageType.ID, true); }