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]); }
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); }
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))); } } }
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]; } }
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; }
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]); } }
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); }
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)); } } }
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); } } } }
private static string GetSitesModuleRelationDataFile(string moduleName) { ModuleItemPath entryPath = new ModuleItemPath(moduleName, "Sites.config"); return(entryPath.PhysicalPath); }