public HttpResponseMessage UpdateTheme(UpdateThemeInfo updateTheme) { try { var token = SkinControlController.GetSkinControls().Values.FirstOrDefault(t => t.ControlSrc == updateTheme.Token); if (token == null) { return(this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, "InvalidParameter")); } var themeFilePath = updateTheme.Path.ToLowerInvariant(); if ((!themeFilePath.StartsWith("[g]") && !themeFilePath.StartsWith("[l]") && !themeFilePath.StartsWith("[s]")) || (themeFilePath.StartsWith("[g]") && !this.UserInfo.IsSuperUser)) { return(this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, "InvalidPermission")); } updateTheme.Token = token.ControlKey; this._controller.UpdateTheme(this.PortalSettings, updateTheme); return(this.Request.CreateResponse(HttpStatusCode.OK, new { })); } catch (Exception ex) { Logger.Error(ex); return(this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
private void LoadTokens() { cboTokens.DataSource = SkinControlController.GetSkinControls().Values; cboTokens.DataBind(); cboTokens.InsertItem(0, "<" + Localization.GetString("Not_Specified") + ">", ""); }
public SkinControlPackageWriter(PackageInfo package) : base(package) { _SkinControl = SkinControlController.GetSkinControlByPackageID(package.PackageID); BasePath = Path.Combine("DesktopModules", package.Name.ToLower()).Replace("/", "\\"); AppCodePath = Path.Combine("App_Code", package.Name.ToLower()).Replace("/", "\\"); }
public static void ProcessLegacySkinControls() { foreach (SkinControlInfo skinControl in SkinControlController.GetSkinControls().Values) { if (skinControl.PackageID == Null.NullInteger) { try { PackageInfo package = new PackageInfo(new InstallerInfo()); package.Name = skinControl.ControlKey; package.FriendlyName = skinControl.ControlKey; package.Description = Null.NullString; package.Version = new Version(1, 0, 0); package.PackageType = "SkinObject"; ParsePackageName(package); SkinControlPackageWriter skinControlWriter = new SkinControlPackageWriter(skinControl, package); package.Manifest = skinControlWriter.WriteManifest(true); PackageController.SavePackage(package); skinControl.PackageID = package.PackageID; SkinControlController.SaveSkinControl(skinControl); } catch (Exception ex) { ex.ToString(); } } } }
public override void UpdatePackage() { if (skinObjectForm.IsValid) { var skinControl = skinObjectForm.DataSource as SkinControlInfo; if (skinControl != null) { SkinControlController.SaveSkinControl(skinControl); } } }
public override void Rollback() { if (InstalledSkinControl == null) { DeleteSkinControl(); } else { SkinControlController.SaveSkinControl(InstalledSkinControl); } }
public PackageInfoDto GetPackageDetail(int portalId, PackageInfo package) { var skinControl = SkinControlController.GetSkinControlByPackageID(package.PackageID); var detail = new SkinObjectPackageDetailDto(portalId, package); var isHostUser = UserController.Instance.GetCurrentUserInfo().IsSuperUser; detail.ControlKey = skinControl.ControlKey; detail.ControlSrc = skinControl.ControlSrc; detail.SupportsPartialRendering = skinControl.SupportsPartialRendering; detail.ReadOnly |= !isHostUser; return(detail); }
/// ----------------------------------------------------------------------------- /// <summary> /// The Rollback method undoes the installation of the component in the event /// that one of the other components fails /// </summary> /// ----------------------------------------------------------------------------- public override void Rollback() { //If Temp SkinControl exists then we need to update the DataStore with this if (InstalledSkinControl == null) { //No Temp SkinControl - Delete newly added SkinControl DeleteSkinControl(); } else { //Temp SkinControl - Rollback to Temp SkinControlController.SaveSkinControl(InstalledSkinControl); } }
private void DeleteSkinControl() { try { SkinControlInfo skinControl = SkinControlController.GetSkinControlByPackageID(Package.PackageID); if (skinControl != null) { SkinControlController.DeleteSkinControl(skinControl); } Log.AddInfo(string.Format(Util.MODULE_UnRegistered, skinControl.ControlKey)); } catch (Exception ex) { Log.AddFailure(ex); } }
private void BindSkinObject() { SkinControlInfo skinControl = SkinControlController.GetSkinControlByPackageID(PackageID); if (!ModuleContext.PortalSettings.ActiveTab.IsSuperTab) { skinObjectFormReadOnly.DataSource = skinControl; skinObjectFormReadOnly.DataBind(); helpPanel.Visible = false; } if (skinControl != null && ModuleContext.PortalSettings.ActiveTab.IsSuperTab) { skinObjectForm.DataSource = skinControl; skinObjectForm.DataBind(); helpPanel.Visible = true; } }
public HttpResponseMessage GetEditableTokens() { try { var tokens = SkinControlController.GetSkinControls().Values .Where(c => !string.IsNullOrEmpty(c.ControlKey) && !string.IsNullOrEmpty(c.ControlSrc)) .Select(c => new ListItemInfo { Text = c.ControlKey, Value = c.ControlSrc }); return(this.Request.CreateResponse(HttpStatusCode.OK, tokens)); } catch (Exception ex) { Logger.Error(ex); return(this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public void DeleteExtensionPackage(PackageInfo package) { switch (package.PackageType) { case "Auth_System": AuthenticationInfo authSystem = AuthenticationController.GetAuthenticationServiceByPackageID(package.PackageID); if (authSystem != null) { AuthenticationController.DeleteAuthentication(authSystem); } break; case "CoreLanguagePack": LanguagePackInfo languagePack = LanguagePackController.GetLanguagePackByPackage(package.PackageID); if (languagePack != null) { LanguagePackController.DeleteLanguagePack(languagePack); } break; case "Module": var controller = new DesktopModuleController(); DesktopModuleInfo desktopModule = DesktopModuleController.GetDesktopModuleByPackageID(package.PackageID); if (desktopModule != null) { controller.DeleteDesktopModule(desktopModule); } break; case "SkinObject": SkinControlInfo skinControl = SkinControlController.GetSkinControlByPackageID(package.PackageID); if (skinControl != null) { SkinControlController.DeleteSkinControl(skinControl); } break; } DeletePackageInternal(package); }
public override void Install() { try { InstalledSkinControl = SkinControlController.GetSkinControlByKey(SkinControl.ControlKey); if (InstalledSkinControl != null) { SkinControl.SkinControlID = InstalledSkinControl.SkinControlID; } SkinControl.PackageID = Package.PackageID; SkinControl.SkinControlID = SkinControlController.SaveSkinControl(SkinControl); Completed = true; Log.AddInfo(string.Format(Util.MODULE_Registered, SkinControl.ControlKey)); } catch (Exception ex) { Log.AddFailure(ex); } }
/// <summary> /// Process legacy skinobject version 3 .dnn install package /// </summary> public static void ProcessLegacySkinControls() { foreach (SkinControlInfo skinControl in SkinControlController.GetSkinControls().Values) { if (skinControl.PackageID == Null.NullInteger) { try { //SkinControl is not affiliated with a Package var package = new PackageInfo(new InstallerInfo()); package.Name = skinControl.ControlKey; package.FriendlyName = skinControl.ControlKey; package.Description = Null.NullString; package.Version = new Version(1, 0, 0); package.PackageType = "SkinObject"; //See if the SkinControl is using a "Namespace" for its name ParsePackageName(package); var skinControlWriter = new SkinControlPackageWriter(skinControl, package); package.Manifest = skinControlWriter.WriteManifest(true); //Save Package PackageController.Instance.SaveExtensionPackage(package); //Update SkinControl with new PackageID skinControl.PackageID = package.PackageID; //Save SkinControl SkinControlController.SaveSkinControl(skinControl); } catch (Exception exc) { Logger.Error(exc); } } } }
public SkinFileProcessor(string SkinPath, string SkinRoot, string SkinName) { this.Message += SkinController.FormatMessage(INITIALIZE_PROCESSOR, SkinRoot + " :: " + SkinName, 0, false); m_SkinRoot = SkinRoot; m_SkinPath = SkinPath; m_SkinName = SkinName; string FileName = this.SkinPath + this.SkinRoot + "\\" + this.SkinName + "\\" + SkinRoot.Substring(0, SkinRoot.Length - 1) + ".xml"; if (File.Exists(FileName)) { try { this.SkinAttributes.Load(FileName); this.Message += SkinController.FormatMessage(PACKAGE_LOAD, Path.GetFileName(FileName), 2, false); } catch (Exception ex) { this.Message += SkinController.FormatMessage(string.Format(PACKAGE_LOAD_ERROR, ex.Message), Path.GetFileName(FileName), 2, true); } } string Token; foreach (SkinControlInfo objSkinControl in SkinControlController.GetSkinControls().Values) { Token = objSkinControl.ControlKey.ToUpper(); if (m_ControlList.ContainsKey(Token)) { this.Message += SkinController.FormatMessage(string.Format(DUPLICATE_ERROR, objSkinControl.ControlKey.ToString().ToUpper()), string.Format(DUPLICATE_DETAIL, (string)m_ControlList[Token], objSkinControl.ControlSrc.ToString()), 2, true); } else { this.Message += SkinController.FormatMessage(string.Format(LOAD_SKIN_TOKEN, objSkinControl.ControlKey.ToString().ToUpper()), objSkinControl.ControlSrc.ToString(), 2, false); m_ControlList.Add(Token, objSkinControl.ControlSrc); } } m_ControlFactory = new ControlParser(m_ControlList); m_ObjectFactory = new ObjectParser(m_ControlList); }
public bool SavePackageSettings(PackageSettingsDto packageSettings, out string errorMessage) { errorMessage = string.Empty; try { string value; var skinControl = SkinControlController.GetSkinControlByPackageID(packageSettings.PackageId); if (packageSettings.EditorActions.TryGetValue("controlKey", out value) && !string.IsNullOrEmpty(value)) { skinControl.ControlKey = value; } if (packageSettings.EditorActions.TryGetValue("controlSrc", out value) && !string.IsNullOrEmpty(value)) { skinControl.ControlSrc = value; } if (packageSettings.EditorActions.TryGetValue("supportsPartialRendering", out value) && !string.IsNullOrEmpty(value)) { bool b; bool.TryParse(value, out b); skinControl.SupportsPartialRendering = b; } SkinControlController.SaveSkinControl(skinControl); return(true); } catch (Exception ex) { Logger.Error(ex); errorMessage = ex.Message; return(false); } }
/// ----------------------------------------------------------------------------- /// <summary> /// The Install method installs the Module component. /// </summary> /// ----------------------------------------------------------------------------- public override void Install() { try { // Attempt to get the SkinControl this.InstalledSkinControl = SkinControlController.GetSkinControlByKey(this.SkinControl.ControlKey); if (this.InstalledSkinControl != null) { this.SkinControl.SkinControlID = this.InstalledSkinControl.SkinControlID; } // Save SkinControl this.SkinControl.PackageID = this.Package.PackageID; this.SkinControl.SkinControlID = SkinControlController.SaveSkinControl(this.SkinControl); this.Completed = true; this.Log.AddInfo(string.Format(Util.MODULE_Registered, this.SkinControl.ControlKey)); } catch (Exception ex) { this.Log.AddFailure(ex); } }
/// ----------------------------------------------------------------------------- /// <summary> /// wizNewExtension_NextButtonClick when the next Button is clicked. It provides /// a mechanism for cancelling the page change if certain conditions aren't met. /// </summary> /// <remarks> /// </remarks> /// <history> /// [cnurse] 08/25/2008 created /// </history> /// ----------------------------------------------------------------------------- protected void wizNewExtension_NextButtonClick(object sender, WizardNavigationEventArgs e) { switch (e.CurrentStepIndex) { case 0: if (extensionForm.IsValid) { var newPackage = extensionForm.DataSource as PackageInfo; PackageInfo tmpPackage = PackageController.Instance.GetExtensionPackage(Null.NullInteger, p => p.Name == newPackage.Name); if (tmpPackage == null) { switch (Mode) { case "All": newPackage.PackageType = cboExtensionType.SelectedValue; break; default: newPackage.PackageType = Mode; break; } PackageController.Instance.SaveExtensionPackage(newPackage); PackageID = newPackage.PackageID; Locale locale; LanguagePackInfo languagePack; switch (newPackage.PackageType) { case "Auth_System": //Create a new Auth System var authSystem = new AuthenticationInfo { AuthenticationType = newPackage.Name, IsEnabled = Null.NullBoolean, PackageID = newPackage.PackageID }; AuthenticationController.AddAuthentication(authSystem); break; case "Container": case "Skin": var skinPackage = new SkinPackageInfo { SkinName = newPackage.Name, PackageID = newPackage.PackageID, SkinType = newPackage.PackageType }; SkinController.AddSkinPackage(skinPackage); break; case "CoreLanguagePack": locale = LocaleController.Instance.GetLocale(PortalController.Instance.GetCurrentPortalSettings().DefaultLanguage); languagePack = new LanguagePackInfo { PackageID = newPackage.PackageID, LanguageID = locale.LanguageId, DependentPackageID = -2 }; LanguagePackController.SaveLanguagePack(languagePack); break; case "ExtensionLanguagePack": locale = LocaleController.Instance.GetLocale(PortalController.Instance.GetCurrentPortalSettings().DefaultLanguage); languagePack = new LanguagePackInfo { PackageID = newPackage.PackageID, LanguageID = locale.LanguageId, DependentPackageID = Null.NullInteger }; LanguagePackController.SaveLanguagePack(languagePack); break; case "Module": //Create a new DesktopModule var desktopModule = new DesktopModuleInfo { PackageID = newPackage.PackageID, ModuleName = newPackage.Name, FriendlyName = newPackage.FriendlyName, FolderName = newPackage.Name, Description = newPackage.Description, Version = newPackage.Version.ToString(3), SupportedFeatures = 0 }; int desktopModuleId = DesktopModuleController.SaveDesktopModule(desktopModule, false, true); if (desktopModuleId > Null.NullInteger) { DesktopModuleController.AddDesktopModuleToPortals(desktopModuleId); } break; case "SkinObject": var skinControl = new SkinControlInfo { PackageID = newPackage.PackageID, ControlKey = newPackage.Name }; SkinControlController.SaveSkinControl(skinControl); break; } } else { e.Cancel = true; lblError.Text = string.Format(Localization.GetString("DuplicateName", LocalResourceFile), newPackage.Name); lblError.Visible = true; } } if (PackageEditor != null && PackageID > Null.NullInteger) { BindPackageEditor(); } break; case 1: if (PackageEditor != null) { PackageEditor.UpdatePackage(); } break; case 2: if (ownerForm.IsValid) { PackageController.Instance.SaveExtensionPackage(ownerForm.DataSource as PackageInfo); } Response.Redirect(Globals.NavigateURL(), true); break; } }
public static int AddPackage(PackageInfo package, bool includeDetail) { int packageID = provider.AddPackage(package.PortalID, package.Name, package.FriendlyName, package.Description, package.PackageType, package.Version.ToString(3), package.License, package.Manifest, package.Owner, package.Organization, package.Url, package.Email, package.ReleaseNotes, package.IsSystemPackage, UserController.GetCurrentUserInfo().UserID, package.FolderName, package.IconFile); var objEventLog = new EventLogController(); objEventLog.AddLog(package, PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.PACKAGE_CREATED); if (includeDetail) { Locale locale; LanguagePackInfo languagePack; switch (package.PackageType) { case "Auth_System": //Create a new Auth System var authSystem = new AuthenticationInfo(); authSystem.AuthenticationType = package.Name; authSystem.IsEnabled = Null.NullBoolean; authSystem.PackageID = packageID; AuthenticationController.AddAuthentication(authSystem); break; case "Container": case "Skin": var skinPackage = new SkinPackageInfo(); skinPackage.SkinName = package.Name; skinPackage.PackageID = packageID; skinPackage.SkinType = package.PackageType; SkinController.AddSkinPackage(skinPackage); break; case "CoreLanguagePack": locale = LocaleController.Instance.GetLocale(PortalController.GetCurrentPortalSettings().DefaultLanguage); languagePack = new LanguagePackInfo(); languagePack.PackageID = packageID; languagePack.LanguageID = locale.LanguageId; languagePack.DependentPackageID = -2; LanguagePackController.SaveLanguagePack(languagePack); break; case "ExtensionLanguagePack": locale = LocaleController.Instance.GetLocale(PortalController.GetCurrentPortalSettings().DefaultLanguage); languagePack = new LanguagePackInfo(); languagePack.PackageID = packageID; languagePack.LanguageID = locale.LanguageId; languagePack.DependentPackageID = Null.NullInteger; LanguagePackController.SaveLanguagePack(languagePack); break; case "Module": //Create a new DesktopModule var desktopModule = new DesktopModuleInfo(); desktopModule.PackageID = packageID; desktopModule.ModuleName = package.Name; desktopModule.FriendlyName = package.FriendlyName; desktopModule.FolderName = package.Name; desktopModule.Description = package.Description; desktopModule.Version = package.Version.ToString(3); desktopModule.SupportedFeatures = 0; int desktopModuleId = DesktopModuleController.SaveDesktopModule(desktopModule, false, true); if (desktopModuleId > Null.NullInteger) { DesktopModuleController.AddDesktopModuleToPortals(desktopModuleId); } break; case "SkinObject": var skinControl = new SkinControlInfo(); skinControl.PackageID = packageID; skinControl.ControlKey = package.Name; SkinControlController.SaveSkinControl(skinControl); break; } } DataCache.ClearPackagesCache(package.PortalID); return(packageID); }