public bool SavePackageSettings(PackageSettingsDto packageSettings, out string errorMessage) { errorMessage = string.Empty; try { var isHostUser = UserController.Instance.GetCurrentUserInfo().IsSuperUser; if (isHostUser) { string value; var skin = SkinController.GetSkinByPackageID(packageSettings.PackageId); if (packageSettings.EditorActions.TryGetValue("themePackageName", out value) && !string.IsNullOrEmpty(value)) { skin.SkinName = value; SkinController.UpdateSkinPackage(skin); } } return(true); } catch (Exception ex) { Logger.Error(ex); errorMessage = ex.Message; return(false); } }
protected void ctlSkin_ItemAdded(object sender, PropertyEditorEventArgs e) { if (!string.IsNullOrEmpty(e.StringValue)) { SkinPackageInfo skin = SkinController.GetSkinByPackageID(PackageID); SkinController.AddSkin(skin.SkinPackageID, e.StringValue); } BindSkin(); }
public static bool CanDeletePackage(PackageInfo package, PortalSettings portalSettings) { bool bCanDelete = true; switch (package.PackageType) { case "Skin": case "Container": string strFolderPath = string.Empty; string strRootSkin = package.PackageType == "Skin" ? SkinController.RootSkin : SkinController.RootContainer; SkinPackageInfo _SkinPackageInfo = SkinController.GetSkinByPackageID(package.PackageID); foreach (System.Collections.Generic.KeyValuePair <int, string> kvp in _SkinPackageInfo.Skins) { if (kvp.Value.Contains(Common.Globals.HostMapPath)) { strFolderPath = Path.Combine(Path.Combine(Common.Globals.HostMapPath, strRootSkin), _SkinPackageInfo.SkinName); } else { strFolderPath = Path.Combine(Path.Combine(portalSettings.HomeDirectoryMapPath, strRootSkin), _SkinPackageInfo.SkinName); } break; } bCanDelete = SkinController.CanDeleteSkin(strFolderPath, portalSettings.HomeDirectoryMapPath); break; case "Provider": XmlDocument configDoc = Config.Load(); string providerName = package.Name; if (providerName.IndexOf(".") > Null.NullInteger) { providerName = providerName.Substring(providerName.IndexOf(".") + 1); } switch (providerName) { case "SchedulingProvider": providerName = "DNNScheduler"; break; case "SearchIndexProvider": providerName = "ModuleIndexProvider"; break; case "SearchProvider": providerName = "SearchDataStoreProvider"; break; } XPathNavigator providerNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/dotnetnuke/*[@defaultProvider='" + providerName + "']"); bCanDelete = (providerNavigator == null); break; } return(bCanDelete); }
public PackageInfoDto GetPackageDetail(int portalId, PackageInfo package) { var isHostUser = UserController.Instance.GetCurrentUserInfo().IsSuperUser; var skin = SkinController.GetSkinByPackageID(package.PackageID); var detail = new SkinPackageDetailDto(portalId, package) { ThemePackageName = skin.SkinName, ReadOnly = !isHostUser, }; return(detail); }
public static bool CanDeletePackage(PackageInfo package, PortalSettings portalSettings) { bool bCanDelete = true; switch (package.PackageType) { case "Skin": case "Container": //Need to get path of skin being deleted so we can call the public CanDeleteSkin function in the SkinController string strFolderPath = string.Empty; string strRootSkin = package.PackageType == "Skin" ? SkinController.RootSkin : SkinController.RootContainer; SkinPackageInfo _SkinPackageInfo = SkinController.GetSkinByPackageID(package.PackageID); if (_SkinPackageInfo.PortalID == Null.NullInteger) { strFolderPath = Path.Combine(Path.Combine(Globals.HostMapPath, strRootSkin), _SkinPackageInfo.SkinName); } else { strFolderPath = Path.Combine(Path.Combine(portalSettings.HomeDirectoryMapPath, strRootSkin), _SkinPackageInfo.SkinName); } bCanDelete = SkinController.CanDeleteSkin(strFolderPath, portalSettings.HomeDirectoryMapPath); break; case "Provider": //Check if the provider is the default provider XmlDocument configDoc = Config.Load(); string providerName = package.Name; if (providerName.IndexOf(".") > Null.NullInteger) { providerName = providerName.Substring(providerName.IndexOf(".") + 1); } switch (providerName) { case "SchedulingProvider": providerName = "DNNScheduler"; break; case "SearchIndexProvider": providerName = "ModuleIndexProvider"; break; case "SearchProvider": providerName = "SearchDataStoreProvider"; break; } XPathNavigator providerNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/dotnetnuke/*[@defaultProvider='" + providerName + "']"); bCanDelete = (providerNavigator == null); break; } return(bCanDelete); }
private void DeleteSkinPackage() { try { SkinPackageInfo skinPackage = SkinController.GetSkinByPackageID(Package.PackageID); if (skinPackage != null) { SkinController.DeleteSkinPackage(skinPackage); } Log.AddInfo(string.Format(Util.SKIN_UnRegistered, skinPackage.SkinName)); } catch (Exception ex) { Log.AddFailure(ex); } }
/// ----------------------------------------------------------------------------- /// <summary> /// The DeleteSkinPackage method deletes the Skin Package /// from the data Store. /// </summary> /// ----------------------------------------------------------------------------- private void DeleteSkinPackage() { try { // Attempt to get the Authentication Service SkinPackageInfo skinPackage = SkinController.GetSkinByPackageID(this.Package.PackageID); if (skinPackage != null) { SkinController.DeleteSkinPackage(skinPackage); } this.Log.AddInfo(string.Format(Util.SKIN_UnRegistered, skinPackage.SkinName)); } catch (Exception ex) { this.Log.AddFailure(ex); } }
private void BindSkin() { SkinPackageInfo skin = SkinController.GetSkinByPackageID(PackageID); if (!ModuleContext.PortalSettings.ActiveTab.IsSuperTab) { skinFormReadOnly.DataSource = skin; skinFormReadOnly.DataBind(); skinFormReadOnly.Visible = true; lblHelp.Visible = false; } if (skin != null && ModuleContext.PortalSettings.ActiveTab.IsSuperTab) { skinForm.DataSource = skin; skinForm.DataBind(); skinForm.Visible = true; } }
public SkinPackageWriter(PackageInfo package) : base(package) { _SkinPackage = SkinController.GetSkinByPackageID(package.PackageID); SetBasePath(); }
public static bool CanDeletePackage(PackageInfo package, PortalSettings portalSettings) { bool bCanDelete = true; var dependencies = Instance.GetPackageDependencies(d => d.PackageName == package.Name && d.Version <= package.Version); if (dependencies.Count > 0) { //There is at least one package dependent on this package. foreach (var dependency in dependencies) { var dep = dependency; //Check if there is an alternative package var packages = Instance.GetExtensionPackages(package.PortalID, p => p.Name == dep.PackageName && p.Version >= dep.Version && p.PackageID != package.PackageID); if (packages.Count == 0) { bCanDelete = false; } } } if (bCanDelete) { switch (package.PackageType) { case "Skin": case "Container": //Need to get path of skin being deleted so we can call the public CanDeleteSkin function in the SkinController string strRootSkin = package.PackageType == "Skin" ? SkinController.RootSkin : SkinController.RootContainer; SkinPackageInfo _SkinPackageInfo = SkinController.GetSkinByPackageID(package.PackageID); string strFolderPath = Path.Combine(_SkinPackageInfo.PortalID == Null.NullInteger ? Path.Combine(Globals.HostMapPath, strRootSkin) : Path.Combine(portalSettings.HomeDirectoryMapPath, strRootSkin), _SkinPackageInfo.SkinName); bCanDelete = SkinController.CanDeleteSkin(strFolderPath, portalSettings.HomeDirectoryMapPath); break; case "Provider": //Check if the provider is the default provider XmlDocument configDoc = Config.Load(); string providerName = package.Name; if (providerName.IndexOf(".", StringComparison.Ordinal) > Null.NullInteger) { providerName = providerName.Substring(providerName.IndexOf(".", StringComparison.Ordinal) + 1); } switch (providerName) { case "SchedulingProvider": providerName = "DNNScheduler"; break; case "SearchIndexProvider": providerName = "ModuleIndexProvider"; break; case "SearchProvider": providerName = "SearchDataStoreProvider"; break; } XPathNavigator providerNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/dotnetnuke/*[@defaultProvider='" + providerName + "']"); bCanDelete = (providerNavigator == null); break; } } return(bCanDelete); }