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);
            }
        }
Exemple #2
0
 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();
 }
Exemple #3
0
        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);
            }
        }
Exemple #8
0
        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();
 }
Exemple #10
0
        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);
        }