Exemple #1
0
        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("/", "\\");
 }
Exemple #4
0
 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);
         }
     }
 }
Exemple #6
0
 public override void Rollback()
 {
     if (InstalledSkinControl == null)
     {
         DeleteSkinControl();
     }
     else
     {
         SkinControlController.SaveSkinControl(InstalledSkinControl);
     }
 }
Exemple #7
0
        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);
     }
 }
Exemple #9
0
 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;
            }
        }
Exemple #11
0
        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);
        }
Exemple #13
0
 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);
     }
 }
Exemple #14
0
        /// <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);
                    }
                }
            }
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        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);
            }
        }
Exemple #17
0
        /// -----------------------------------------------------------------------------
        /// <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);
        }