Ejemplo n.º 1
0
        public virtual IEnumerable <ModuleItemPath> AllThemeFiles(string moduleName, string themeName, out string themeRuleBody)
        {
            ModuleItemPath        themePath  = GetThemePath(moduleName, themeName);
            List <ModuleItemPath> themeFiles = new List <ModuleItemPath>();

            themeRuleBody = "";
            if (Directory.Exists(themePath.PhysicalPath))
            {
                var files         = Directory.EnumerateFiles(themePath.PhysicalPath, "*.css").Select(it => Path.GetFileName(it));
                var orderFilePath = Path.Combine(themePath.PhysicalPath, FileOrderHelper.OrderFileName);
                if (File.Exists(orderFilePath))
                {
                    files = FileOrderHelper.OrderFiles(orderFilePath, files);
                }

                foreach (var file in files)
                {
                    themeFiles.Add(new ModuleItemPath(themePath, file));
                }

                string themeBaseUrl = Kooboo.Web.Url.UrlUtility.ResolveUrl(themePath.VirtualPath);

                var themeRuleFiles = ThemeRuleParser.Parser.Parse(ThemeRuleBody(moduleName, themeName),
                                                                  (fileVirtualPath) => Kooboo.Web.Url.UrlUtility.Combine(themeBaseUrl, fileVirtualPath), out themeRuleBody);

                return(themeFiles.Where(it => !themeRuleFiles.Any(cf => cf.EqualsOrNullEmpty(it.EntryName, StringComparison.CurrentCultureIgnoreCase))));
            }
            return(new ModuleItemPath[0]);
        }
Ejemplo n.º 2
0
        private string ThemeRuleBody(string moduleName, string themeName)
        {
            ModuleItemPath themePath     = GetThemePath(moduleName, themeName);
            ModuleItemPath themeRuleFile = new ModuleItemPath(themePath, "Theme.rule");

            if (File.Exists(themeRuleFile.PhysicalPath))
            {
                return(File.ReadAllText(themeRuleFile.PhysicalPath));
            }
            return(string.Empty);
        }
Ejemplo n.º 3
0
        public virtual IEnumerable <ModuleItemPath> AllScripts(string moduleName)
        {
            ModuleItemPath scriptsPath = new ModuleItemPath(moduleName, "Scripts");

            if (Directory.Exists(scriptsPath.PhysicalPath))
            {
                foreach (var file in Directory.EnumerateFiles(scriptsPath.PhysicalPath, "*.js"))
                {
                    yield return(new ModuleItemPath(scriptsPath, Path.GetFileName(file)));
                }
            }
        }
Ejemplo n.º 4
0
 private IEnumerable<string> GetAssemblyFiles(string moduleName)
 {
     ModulePath modulePath = new ModulePath(moduleName);
     ModuleItemPath moduleBinPath = new ModuleItemPath(moduleName, "Bin");
     if (Directory.Exists(moduleBinPath.PhysicalPath))
     {
         return Directory.EnumerateFiles(moduleBinPath.PhysicalPath);
     }
     else
     {
         return new string[0];
     }
 }
Ejemplo n.º 5
0
 private IEnumerable<InstallationScriptFileInfo> GetInstallationScripts(string moduleName)
 {
     var installationScriptPath = new ModuleItemPath(moduleName, "InstallationScripts");
     List<InstallationScriptFileInfo> list = new List<InstallationScriptFileInfo>();
     if (Directory.Exists(installationScriptPath.PhysicalPath))
     {
         foreach (var item in Directory.EnumerateFiles(installationScriptPath.PhysicalPath))
         {
             list.Add(new InstallationScriptFileInfo(item));
         }
     }
     return list;
 }
Ejemplo n.º 6
0
        private IEnumerable <string> GetAssemblyFiles(string moduleName)
        {
            ModulePath     modulePath    = new ModulePath(moduleName);
            ModuleItemPath moduleBinPath = new ModuleItemPath(moduleName, "Bin");

            if (Directory.Exists(moduleBinPath.PhysicalPath))
            {
                return(Directory.EnumerateFiles(moduleBinPath.PhysicalPath));
            }
            else
            {
                return(new string[0]);
            }
        }
Ejemplo n.º 7
0
        private IEnumerable <InstallationScriptFileInfo> GetInstallationScripts(string moduleName)
        {
            var installationScriptPath             = new ModuleItemPath(moduleName, "InstallationScripts");
            List <InstallationScriptFileInfo> list = new List <InstallationScriptFileInfo>();

            if (Directory.Exists(installationScriptPath.PhysicalPath))
            {
                foreach (var item in Directory.EnumerateFiles(installationScriptPath.PhysicalPath))
                {
                    list.Add(new InstallationScriptFileInfo(item));
                }
            }
            return(list);
        }
Ejemplo n.º 8
0
        public virtual IEnumerable <ModuleItemPath> AllScripts(string moduleName)
        {
            ModuleItemPath scriptsPath = new ModuleItemPath(moduleName, "Scripts");

            if (Directory.Exists(scriptsPath.PhysicalPath))
            {
                var files         = Directory.EnumerateFiles(scriptsPath.PhysicalPath, "*.js").Select(it => Path.GetFileName(it));
                var orderFilePath = Path.Combine(scriptsPath.PhysicalPath, FileOrderHelper.OrderFileName);
                if (File.Exists(orderFilePath))
                {
                    files = FileOrderHelper.OrderFiles(orderFilePath, files);
                }
                foreach (var file in files)
                {
                    yield return(new ModuleItemPath(scriptsPath, file));
                }
            }
        }
Ejemplo n.º 9
0
        public virtual IEnumerable <string> All()
        {
            var baseDirectory = ModulePath.BaseDirectory;

            if (Directory.Exists(baseDirectory))
            {
                foreach (var dir in IO.IOUtility.EnumerateDirectoriesExludeHidden(baseDirectory))
                {
                    var moduleName = dir.Name;

                    var moduleConfigFile = new ModuleItemPath(moduleName, ModuleInfo.ModuleInfoFileName);

                    if (File.Exists(moduleConfigFile.PhysicalPath))
                    {
                        yield return(moduleName);
                    }
                }
            }
        }
Ejemplo n.º 10
0
            private static string GetSitesModuleRelationDataFile(string moduleName)
            {
                ModuleItemPath entryPath = new ModuleItemPath(moduleName, "Sites.config");

                return(entryPath.PhysicalPath);
            }