public IActionResult Themes() { var model = new AdminPackagesModel { Profile = GetProfile() }; model.Packages = new List<PackageListItem>(); return View($"{_theme}Packages/Themes.cshtml", model); }
public async Task<IActionResult> Widgets() { var model = new AdminPackagesModel { Profile = GetProfile(), Packages = await _pkgs.Find(PackageType.Widgets) }; return View($"{_theme}Packages/Widgets.cshtml", model); }
public IActionResult Packages(string packageType = "Widgets") { var type = packageType.ToLower(); var model = new AdminPackagesModel { Profile = GetProfile() }; model.Packages = new List <PackageListItem>(); if (type == "widgets") { foreach (var assembly in Configuration.GetAssemblies()) { var name = assembly.GetName().Name; if (name != "Blogifier.Core") { var path = $"~/Views/Shared/Components/{name}/Settings.cshtml"; var view = _engine.GetView("", path, false); var item = new PackageListItem { Title = name, Description = name, Version = assembly.GetName().Version.ToString() }; try { Type t = assembly.GetType("PackageInfo"); if (t != null) { var info = (IPackageInfo)Activator.CreateInstance(t); item = info.GetAttributes(); } } catch { } var disabled = Disabled(); item.Description = item.Description.Length > 50 ? item.Description.Substring(0, 50) + "..." : item.Description; item.HasSettings = view.Success; item.Enabled = disabled == null || !disabled.Contains(name); model.Packages.Add(item); } } } return(View($"{_theme}Packages/Widgets.cshtml", model)); }