public ActionResult MobileReset() { var handler = new ThemeHandler(MASTERdomain, true); var source = handler.GetMobileThemeRepositorySourceDir(); handler.CopyThemeToUserThemeDirectory(source); return(Json("Mobile theme has been reset".ToJsonOKMessage())); }
public ActionResult InstallMobileTheme() { foreach (var sd in db.MASTERsubdomains) { var handler = new ThemeHandler(sd, true); var source = handler.GetMobileThemeRepositorySourceDir(); handler.CopyThemeToUserThemeDirectory(source); } return(Content("done")); }
public ActionResult Editor(bool ismobile) { // check that there are theme files, otherwise copy var handler = new ThemeHandler(MASTERdomain, ismobile); if (!handler.IsCustom && !handler.ThemeCopiedOK()) { DirectoryInfo sourceThemeDir = ismobile ? handler.GetMobileThemeRepositorySourceDir() : handler.GetThemeRepositorySourceDir(); if (sourceThemeDir == null) { throw new NotImplementedException(); } handler.CopyThemeToUserThemeDirectory(sourceThemeDir); } var viewmodel = new ThemeEditorViewModel() { themeType = ismobile ? ThemeType.MOBILE : ThemeType.MAIN }; var themedir = handler.GetThemeDirectory(); foreach (var dir in themedir.GetDirectories().OrderByDescending(x => x.Name)) { var folder = new ThemeDirectory() { foldername = dir.Name }; switch (dir.Name) { case "templates": viewmodel.templates_folder = folder; break; case "assets": viewmodel.asset_folder = folder; break; case "snippets": viewmodel.snippets_folder = folder; break; case "layout": viewmodel.layout_folder = folder; break; case "config": viewmodel.config_folder = folder; break; default: throw new ArgumentException("Unknown directory " + dir.Name); } foreach (var entry in dir.GetFiles()) { var ext = entry.Extension.ToLower(); var file = new ThemeFile(); file.classname = string.Format("ext_{0}", ext.Substring(1)); file.url = string.Format("/{0}/{1}", dir.Name, entry.Name); file.filename = entry.Name; folder.files.Add(file); } } return(View(viewmodel)); }