예제 #1
0
        public IEnumerable <string> GetStyleSheetIncludes(bool includePrivateCssFiles, bool includePublicCssFiles, Type moduleDescriptorType = null)
        {
            var allIncludes = new List <CssIncludeDescriptor>();

            if (moduleDescriptorType != null)
            {
                var modules = modulesRegistration.GetCmsModules();
                foreach (var module in modules)
                {
                    if (module.GetType() == moduleDescriptorType)
                    {
                        allIncludes.AddRange(module.RegisterCssIncludes());
                    }
                }
            }
            else
            {
                allIncludes.AddRange(modulesRegistration.GetStyleSheetIncludes());
            }

            var includes = allIncludes
                           .Where(f => f.IsPublic && includePublicCssFiles || !f.IsPublic && includePrivateCssFiles);

            if (cmsConfiguration.UseMinifiedResources)
            {
                return(includes.Select(f => string.IsNullOrEmpty(f.MinPath)
                                                ? f.ContainerModule.MinifiedCssPath
                                                : f.MinPath)
                       .Distinct());
            }

            return(includes.Select(f => f.Path).Distinct());
        }