Example #1
0
        public void CopyPermissionsToChildren(ArrayList tabs, TabPermissionCollection newPermissions)
        {
            TabPermissionController objTabPermissionController = new TabPermissionController();

            foreach (TabInfo objTab in tabs)
            {
                TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTab.TabID, objTab.PortalID);

                if (!(objCurrentTabPermissions.CompareTo(newPermissions)))
                {
                    objTabPermissionController.DeleteTabPermissionsByTabID(objTab.TabID);

                    foreach (TabPermissionInfo objTabPermission in newPermissions)
                    {
                        if (objTabPermission.AllowAccess)
                        {
                            objTabPermission.TabID = objTab.TabID;
                            objTabPermissionController.AddTabPermission(objTabPermission);
                        }
                    }
                }
            }

            if (tabs.Count > 0)
            {
                DataCache.ClearTabsCache(((TabInfo)(tabs[0])).PortalID);
            }
        }
        public HttpResponseMessage UpdateGeneralSettings(UpdateGeneralSettingsRequest request)
        {
            try
            {
                string characterSub = FriendlyUrlSettings.ReplaceSpaceWithNothing;
                if (request.EnableSystemGeneratedUrls)
                {
                    characterSub = request.ReplaceSpaceWith;
                }
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.ReplaceSpaceWithSetting, characterSub, false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.DeletedTabHandlingTypeSetting, request.DeletedTabHandlingType, false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.ForceLowerCaseSetting, request.ForceLowerCase ? "Y" : "N", false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.RedirectUnfriendlySetting, request.RedirectUnfriendly ? "Y" : "N", false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.RedirectMixedCaseSetting, request.RedirectWrongCase.ToString(), false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.UsePortalDefaultLanguageSetting, request.ForcePortalDefaultLanguage.ToString(), false);
                PortalController.UpdatePortalSetting(this.PortalId, FriendlyUrlSettings.AutoAsciiConvertSetting, request.AutoAsciiConvert.ToString(), false);

                DataCache.ClearPortalCache(this.PortalId, false);
                DataCache.ClearTabsCache(this.PortalId);

                return(this.Request.CreateResponse(HttpStatusCode.OK, new { Success = true }));
            }
            catch (Exception exc)
            {
                Logger.Error(exc);
                return(this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc));
            }
        }
Example #3
0
        public void CopyDesignToChildren(ArrayList tabs, string skinSrc, string containerSrc)
        {
            foreach (TabInfo objTab in tabs)
            {
                DataProvider.Instance().UpdateTab(objTab.TabID, objTab.TabName, objTab.IsVisible, objTab.DisableLink, objTab.ParentId, objTab.IconFile, objTab.Title, objTab.Description, objTab.KeyWords, objTab.IsDeleted, objTab.Url, skinSrc, containerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText);
            }

            if (tabs.Count > 0)
            {
                DataCache.ClearTabsCache(((TabInfo)(tabs[0])).PortalID);
            }
        }
 public void CopyPermissionsToChildren(ArrayList tabs, TabPermissionCollection newPermissions)
 {
     foreach (TabInfo tab in tabs)
     {
         tab.TabPermissions.Clear();
         tab.TabPermissions.AddRange(newPermissions);
         TabPermissionController.SaveTabPermissions(tab);
     }
     if (tabs.Count > 0)
     {
         DataCache.ClearTabsCache(((TabInfo)tabs[0]).PortalID);
     }
 }
        private static void ClearCache(bool refreshServiceRoutes, int portalId = -1)
        {
            DataCache.RemoveCache(DataCache.PortalAliasCacheKey);
            CacheController.FlushPageIndexFromCache();

            if (portalId > Null.NullInteger)
            {
                DataCache.ClearTabsCache(portalId);
            }

            if (refreshServiceRoutes)
            {
                ServicesRoutingManager.ReRegisterServiceRoutesWhileSiteIsRunning();
            }
        }
 public void CopyDesignToChildren(ArrayList tabs, string skinSrc, string containerSrc)
 {
     foreach (TabInfo tab in tabs)
     {
         _dataProvider.UpdateTab(tab.TabID,
                                 tab.ContentItemId,
                                 tab.PortalID,
                                 tab.VersionGuid,
                                 tab.DefaultLanguageGuid,
                                 tab.LocalizedVersionGuid,
                                 tab.TabName,
                                 tab.IsVisible,
                                 tab.DisableLink,
                                 tab.ParentId,
                                 tab.IconFileRaw,
                                 tab.IconFileLargeRaw,
                                 tab.Title,
                                 tab.Description,
                                 tab.KeyWords,
                                 tab.IsDeleted,
                                 tab.Url,
                                 skinSrc,
                                 containerSrc,
                                 tab.StartDate,
                                 tab.EndDate,
                                 tab.RefreshInterval,
                                 tab.PageHeadText,
                                 tab.IsSecure,
                                 tab.PermanentRedirect,
                                 tab.SiteMapPriority,
                                 UserController.Instance.GetCurrentUserInfo().UserID,
                                 tab.CultureCode,
                                 tab.IsSystem);
         EventLogController.Instance.AddLog(tab, PortalController.Instance.GetCurrentPortalSettings(),
                                            UserController.Instance.GetCurrentUserInfo().UserID, "",
                                            EventLogController.EventLogType.TAB_UPDATED);
     }
     if (tabs.Count > 0)
     {
         DataCache.ClearTabsCache(((TabInfo)tabs[0]).PortalID);
     }
 }
Example #7
0
            internal static ActionResult UpdateGeneralSettings(UpdateGeneralSettingsRequest request)
            {
                ActionResult actionResult = new ActionResult();

                try
                {
                    string characterSub = FriendlyUrlSettings.ReplaceSpaceWithNothing;
                    int    PortalId     = PortalSettings.Current.PortalId;
                    if (request.EnableSystemGeneratedUrls)
                    {
                        characterSub = request.ReplaceSpaceWith;
                    }
                    PortalController.UpdatePortalSetting(PortalId, FriendlyUrlSettings.DeletedTabHandlingTypeSetting, request.DeletedTabHandlingType, false);
                    DataCache.ClearPortalCache(PortalId, false);
                    DataCache.ClearTabsCache(PortalId);
                }
                catch (Exception exc)
                {
                    actionResult.AddError(HttpStatusCode.InternalServerError.ToString(), exc.Message);
                }
                return(actionResult);
            }
        private string CopyPageRoleRight(RoleInfo roleInfoFrom, RoleInfo roleInfoTo, TabPermissionInfo tabPermInfo)
        {
            // Will copy a passed Tab Permission from one role to the other.


            string sOut = string.Empty;

            if (!(roleInfoFrom == null | roleInfoTo == null))
            {
                TabController oTabC = new TabController();

                // Get the page
                TabInfo oTab = oTabC.GetTab(tabPermInfo.TabID, PortalSettings.PortalId, true);

                // Create and set the new permissions Object
                var NewTabPerms = new TabPermissionInfo()
                {
                    TabID          = oTab.TabID,
                    PermissionID   = tabPermInfo.PermissionID,
                    PermissionName = tabPermInfo.PermissionName,
                    AllowAccess    = tabPermInfo.AllowAccess,
                    RoleID         = roleInfoTo.RoleID,
                    RoleName       = roleInfoTo.RoleName
                };


                // Change its permissions

                // sOut &= "Before Remove : " & oTab.TabID & " >> " & RoleRightsReport(RoleInfoTo.RoleName, oTab) & "<br>"

                // Look for already existing permissions and remove them
                foreach (var permissionInfoBase in oTab.TabPermissions.ToList())
                {
                    var oTabPerm = (TabPermissionInfo)permissionInfoBase;
                    if (oTabPerm.RoleID == NewTabPerms.RoleID & oTabPerm.PermissionID == NewTabPerms.PermissionID)
                    {
                        oTab.TabPermissions.Remove(oTabPerm);

                        // sOut &= "After Remove : " & oTab.TabID & " >> " & RoleRightsReport(RoleInfoTo.RoleName, oTab) & "<br>"

                        sOut += $"Page: \"{oTab.TabName}\" || role: \"{roleInfoTo.RoleName}\" || Rights Removed: \"{NewTabPerms.PermissionName}\" <br />";
                    }
                }

                var TabPermCol = oTab.TabPermissions;

                TabPermCol.Add(NewTabPerms, true); // true if checkForDuplicates


                // Save the permissions
                PermissionProvider oPermissionProv = new PermissionProvider();
                oPermissionProv.SaveTabPermissions(oTab);


                sOut += $"Page: \"{oTab.TabName}\" || role: \"{roleInfoTo.RoleName}\" || Rights Set: \"{NewTabPerms.PermissionName}\" <br />";

                DataCache.ClearTabsCache(PortalSettings.PortalId);
            }
            else
            {
                sOut += $"Role {roleInfoTo?.RoleName} does not exist <br />";
            }

            return(sOut);
        }
Example #9
0
 private static void ClearCache(int portalId)
 {
     DataCache.ClearTabsCache(portalId);
 }