public static StyleSheet[] GetAll() { var dbStylesheets = new ArrayList(); var topNodeIds = CMSNode.TopMostNodeIds(ModuleObjectType); //StyleSheet[] retval = new StyleSheet[topNodeIds.Length]; for (int i = 0; i < topNodeIds.Length; i++) { //retval[i] = new StyleSheet(topNodeIds[i]); dbStylesheets.Add(new StyleSheet(topNodeIds[i]).Text.ToLower()); } var fileStylesheets = new ArrayList(); var fileListing = new DirectoryInfo(IOHelper.MapPath(SystemDirectories.Css + "/")); foreach (var file in fileListing.GetFiles("*.css")) { if (!dbStylesheets.Contains(file.Name.Replace(file.Extension, "").ToLower())) { fileStylesheets.Add(file.Name.Replace(file.Extension, "")); } } var retval = new StyleSheet[dbStylesheets.Count + fileStylesheets.Count]; for (int i = 0; i < topNodeIds.Length; i++) { retval[i] = new StyleSheet(topNodeIds[i]); } for (int i = 0; i < fileStylesheets.Count; i++) { string content = string.Empty; using (StreamReader re = File.OpenText(IOHelper.MapPath(string.Format("{0}/{1}.css", SystemDirectories.Css, fileStylesheets[i])))) { content = re.ReadToEnd(); } retval[dbStylesheets.Count + i] = StyleSheet.MakeNew(new umbraco.BusinessLogic.User(0), fileStylesheets[i].ToString(), fileStylesheets[i].ToString(), content); } Array.Sort(retval, 0, retval.Length, new StyleSheetComparer()); return(retval); }
public static StyleSheet Import(XmlNode n, umbraco.BusinessLogic.User u) { string stylesheetName = xmlHelper.GetNodeValue(n.SelectSingleNode("Name")); StyleSheet s = GetByName(stylesheetName); if (s == null) { s = StyleSheet.MakeNew( u, stylesheetName, xmlHelper.GetNodeValue(n.SelectSingleNode("FileName")), xmlHelper.GetNodeValue(n.SelectSingleNode("Content"))); } foreach (XmlNode prop in n.SelectNodes("Properties/Property")) { string alias = xmlHelper.GetNodeValue(prop.SelectSingleNode("Alias")); var sp = s.Properties.SingleOrDefault(p => p != null && p.Alias == alias); string name = xmlHelper.GetNodeValue(prop.SelectSingleNode("Name")); if (sp == default(StylesheetProperty)) { sp = StylesheetProperty.MakeNew( name, s, u); } else { sp.Text = name; } sp.Alias = alias; sp.value = xmlHelper.GetNodeValue(prop.SelectSingleNode("Value")); } s.saveCssToFile(); return(s); }