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 void UpdateTab( TabInfo objTab ) { bool updateChildren = false; TabInfo objTmpTab = GetTab( objTab.TabID, objTab.PortalID, false ); if( objTmpTab.TabName != objTab.TabName | objTmpTab.ParentId != objTab.ParentId ) { updateChildren = true; } UpdatePortalTabOrder( objTab.PortalID, objTab.TabID, objTab.ParentId, 0, 0, objTab.IsVisible ); 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, objTab.SkinSrc, objTab.ContainerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText ); TabPermissionController objTabPermissionController = new TabPermissionController(); TabPermissionCollection objTabPermissions = objTab.TabPermissions; TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID( objTab.TabID, objTab.PortalID ); if( !( objCurrentTabPermissions.CompareTo( objTab.TabPermissions ) ) ) { objTabPermissionController.DeleteTabPermissionsByTabID( objTab.TabID ); foreach( TabPermissionInfo objTabPermission in objTabPermissions ) { if( objTabPermission.AllowAccess ) { objTabPermissionController.AddTabPermission( objTabPermission ); } } } if( updateChildren ) { UpdateChildTabPath( objTab.TabID, objTab.PortalID ); } ClearCache( objTab.PortalID ); }