Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }