private static ModulePermissionCollection FillModulePermissionCollection(IDataReader dr) { ModulePermissionCollection arr = new ModulePermissionCollection(); try { while (dr.Read()) { // fill business object ModulePermissionInfo obj = FillModulePermissionInfo(dr, false); // add to collection arr.Add(obj); } } catch (Exception exc) { Exceptions.LogException(exc); } finally { // close datareader if (dr != null) { dr.Close(); } } return(arr); }
public int AddModulePermission(ModulePermissionInfo objModulePermission, int tabId) { int Id = Convert.ToInt32(DataProvider.Instance().AddModulePermission(objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess)); DataCache.ClearModulePermissionsCache(tabId); return(Id); }
public int Add(ModulePermissionInfo value, bool checkForDuplicates) { int id = Null.NullInteger; if (!checkForDuplicates) { id = Add(value); } else { bool isMatch = false; foreach (PermissionInfoBase permission in List) { if (permission.PermissionID == value.PermissionID && permission.UserID == value.UserID && permission.RoleID == value.RoleID) { isMatch = true; break; } } if (!isMatch) { id = Add(value); } } return(id); }
public int AddModulePermission(ModulePermissionInfo objModulePermission) { int Id = Convert.ToInt32(DataProvider.Instance().AddModulePermission(objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess)); ClearPermissionCache(objModulePermission.ModuleID); return(Id); }
public ModulePermissionCollection(ArrayList ModulePermissions) { int i; for (i = 0; i <= ModulePermissions.Count - 1; i++) { ModulePermissionInfo objModulePerm = (ModulePermissionInfo)ModulePermissions[i]; Add(objModulePerm); } }
/// <Summary> /// Compares if two ModulePermissionInfo objects are equivalent/equal /// </Summary> /// <Param name="obj">a ModulePermissionObject</Param> /// <Returns> /// true if the permissions being passed represents the same permission /// in the current object /// </Returns> public override bool Equals(object obj) { if ((obj == null) | (this.GetType() != obj.GetType())) { return(false); } ModulePermissionInfo modulePermissionInfo1 = ((ModulePermissionInfo)obj); return((((this.AllowAccess == modulePermissionInfo1.AllowAccess) & (this.ModuleID == modulePermissionInfo1.ModuleID)) & (this.RoleID == modulePermissionInfo1.RoleID)) & (this.PermissionID == modulePermissionInfo1.PermissionID)); }
public void UpdateModulePermission(ModulePermissionInfo objModulePermission) { DataProvider.Instance().UpdateModulePermission(objModulePermission.ModulePermissionID, objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess, objModulePermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(objModulePermission.ModuleID); }
/// ----------------------------------------------------------------------------- /// <summary> /// Compares if two ModulePermissionInfo objects are equivalent/equal /// </summary> /// <param name="other">a ModulePermissionObject</param> /// <returns>true if the permissions being passed represents the same permission /// in the current object /// </returns> /// <remarks> /// This function is needed to prevent adding duplicates to the ModulePermissionCollection. /// ModulePermissionCollection.Contains will use this method to check if a given permission /// is already included in the collection. /// </remarks> /// ----------------------------------------------------------------------------- public bool Equals(ModulePermissionInfo other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return((AllowAccess == other.AllowAccess) && (ModuleID == other.ModuleID) && (RoleID == other.RoleID) && (PermissionID == other.PermissionID)); }
public int AddModulePermission(ModulePermissionInfo objModulePermission) { int id = DataProvider.Instance().AddModulePermission(objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess, objModulePermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(objModulePermission.ModuleID); return(id); }
public void UpdateModulePermission(ModulePermissionInfo modulePermission) { PortalSettings portal = PortalSettings.Current; DataProvider.Instance().UpdateModulePermission(modulePermission.ModulePermissionID, portal.PortalId, modulePermission.ModuleID, modulePermission.PermissionID, modulePermission.RoleID, modulePermission.AllowAccess, modulePermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(modulePermission.ModuleID); }
public int AddModulePermission(ModulePermissionInfo modulePermission) { PortalSettings portal = PortalSettings.Current; int id = DataProvider.Instance().AddModulePermission(modulePermission.ModuleID, portal.PortalId, modulePermission.PermissionID, modulePermission.RoleID, modulePermission.AllowAccess, modulePermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(modulePermission.ModuleID); return(id); }
private static Dictionary <int, ModulePermissionCollection> FillModulePermissionDictionary(IDataReader dr) { Dictionary <int, ModulePermissionCollection> dic = new Dictionary <int, ModulePermissionCollection>(); try { while (dr.Read()) { // fill business object ModulePermissionInfo obj = FillModulePermissionInfo(dr, false); // add Module Permission to dictionary if (dic.ContainsKey(obj.ModuleID)) { //Add ModulePermission to ModulePermission Collection already in dictionary for TabId dic[obj.ModuleID].Add(obj); } else { //Create new ModulePermission Collection for ModuleId ModulePermissionCollection collection = new ModulePermissionCollection(); //Add Permission to Collection collection.Add(obj); //Add Collection to Dictionary dic.Add(obj.ModuleID, collection); } } } catch (Exception exc) { Exceptions.LogException(exc); } finally { // close datareader if (dr != null) { dr.Close(); } } return(dic); }
private static ModulePermissionInfo FillModulePermissionInfo(IDataReader dr, bool CheckForOpenDataReader) { ModulePermissionInfo permissionInfo; // read datareader bool canContinue = true; if (CheckForOpenDataReader) { canContinue = false; if (dr.Read()) { canContinue = true; } } if (canContinue) { permissionInfo = new ModulePermissionInfo(); permissionInfo.ModulePermissionID = Convert.ToInt32(Null.SetNull(dr["ModulePermissionID"], permissionInfo.ModulePermissionID)); permissionInfo.ModuleID = Convert.ToInt32(Null.SetNull(dr["ModuleID"], permissionInfo.ModuleID)); permissionInfo.ModuleDefID = Convert.ToInt32(Null.SetNull(dr["ModuleDefID"], permissionInfo.ModuleDefID)); permissionInfo.PermissionID = Convert.ToInt32(Null.SetNull(dr["PermissionID"], permissionInfo.PermissionID)); permissionInfo.RoleID = Convert.ToInt32(Null.SetNull(dr["RoleID"], permissionInfo.RoleID)); permissionInfo.RoleName = Convert.ToString(Null.SetNull(dr["RoleName"], permissionInfo.RoleName)); permissionInfo.AllowAccess = Convert.ToBoolean(Null.SetNull(dr["AllowAccess"], permissionInfo.AllowAccess)); permissionInfo.PermissionCode = Convert.ToString(Null.SetNull(dr["PermissionCode"], permissionInfo.PermissionCode)); permissionInfo.PermissionKey = Convert.ToString(Null.SetNull(dr["PermissionKey"], permissionInfo.PermissionKey)); permissionInfo.PermissionName = Convert.ToString(Null.SetNull(dr["PermissionName"], permissionInfo.PermissionName)); } else { permissionInfo = null; } return(permissionInfo); }
public void UpdateModulePermission(ModulePermissionInfo modulePermission) { PortalSettings portal = PortalSettings.Current; DataProvider.Instance().UpdateModulePermission(modulePermission.ModulePermissionID, portal.PortalId, modulePermission.ModuleID, modulePermission.PermissionID, modulePermission.RoleID, modulePermission.AllowAccess, modulePermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); ClearPermissionCache(modulePermission.ModuleID); }
public int Add(ModulePermissionInfo value) { return List.Add(value); }
private static void DeserializeModulePermissions(XmlNodeList nodeModulePermissions, int portalId, ModuleInfo module) { var permissionController = new PermissionController(); foreach (XmlNode node in nodeModulePermissions) { string permissionKey = XmlUtils.GetNodeValue(node.CreateNavigator(), "permissionkey"); string permissionCode = XmlUtils.GetNodeValue(node.CreateNavigator(), "permissioncode"); string roleName = XmlUtils.GetNodeValue(node.CreateNavigator(), "rolename"); int roleID = int.MinValue; switch (roleName) { case Globals.glbRoleAllUsersName: roleID = Convert.ToInt32(Globals.glbRoleAllUsers); break; case Globals.glbRoleUnauthUserName: roleID = Convert.ToInt32(Globals.glbRoleUnauthUser); break; default: var role = TestableRoleController.Instance.GetRole(portalId, r => r.RoleName == roleName); if (role != null) { roleID = role.RoleID; } break; } if (roleID != int.MinValue) { int permissionID = -1; ArrayList permissions = permissionController.GetPermissionByCodeAndKey(permissionCode, permissionKey); for (int i = 0; i <= permissions.Count - 1; i++) { var permission = (PermissionInfo)permissions[i]; permissionID = permission.PermissionID; } //if role was found add, otherwise ignore if (permissionID != -1) { var modulePermission = new ModulePermissionInfo { ModuleID = module.ModuleID, PermissionID = permissionID, RoleID = roleID, AllowAccess = Convert.ToBoolean(XmlUtils.GetNodeValue(node.CreateNavigator(), "allowaccess")) }; // do not add duplicate ModulePermissions bool canAdd = !module.ModulePermissions.Cast<ModulePermissionInfo>() .Any(mp => mp.ModuleID == modulePermission.ModuleID && mp.PermissionID == modulePermission.PermissionID && mp.RoleID == modulePermission.RoleID && mp.UserID == modulePermission.UserID); if (canAdd) { module.ModulePermissions.Add(modulePermission); } } } } }
private static void AddModulePermission(ref ModuleInfo module, int portalId, string roleName, PermissionInfo permission, string permissionKey) { var perm = module.ModulePermissions.Where(tp => tp.RoleName == roleName && tp.PermissionKey == permissionKey).SingleOrDefault(); if (permission != null && perm == null) { var modulePermission = new ModulePermissionInfo(permission); // ReSharper disable ImplicitlyCapturedClosure var role = TestableRoleController.Instance.GetRole(portalId, r => (r.RoleName == roleName)); // ReSharper restore ImplicitlyCapturedClosure if (role != null) { modulePermission.RoleID = role.RoleID; modulePermission.AllowAccess = true; module.ModulePermissions.Add(modulePermission); } } }
static void DeserializeModulePermissions(XmlNodeList nodeModulePermissions, int portalId, ModuleInfo module) { var objRoleController = new RoleController(); var objPermissionController = new PermissionController(); foreach (XmlNode node in nodeModulePermissions) { var permissionKey = XmlUtils.GetNodeValue(node, "permissionkey", ""); var permissionCode = XmlUtils.GetNodeValue(node, "permissioncode", ""); var roleName = XmlUtils.GetNodeValue(node, "rolename", ""); var allowAccess = XmlUtils.GetNodeValueBoolean(node, "allowaccess"); var roleId = int.MinValue; switch (roleName) { case Globals.glbRoleAllUsersName: roleId = Convert.ToInt32(Globals.glbRoleAllUsers); break; case Globals.glbRoleUnauthUserName: roleId = Convert.ToInt32(Globals.glbRoleUnauthUser); break; default: var objRole = objRoleController.GetRoleByName(portalId, roleName); if (objRole != null) { roleId = objRole.RoleID; } break; } if (roleId != int.MinValue) { var permissionId = Convert.ToInt32(- 1); var arrPermissions = objPermissionController.GetPermissionByCodeAndKey(permissionCode, permissionKey); int i; for (i = 0; i <= arrPermissions.Count - 1; i++) { var permission = (PermissionInfo) (arrPermissions[i]); permissionId = permission.PermissionID; } // if role was found add, otherwise ignore if (permissionId != - 1) { var modulePermission = new ModulePermissionInfo { ModuleID = module.ModuleID, PermissionID = permissionId, RoleID = roleId, AllowAccess = allowAccess }; module.ModulePermissions.Add(modulePermission); } } } }
public void UpdateModulePermission( ModulePermissionInfo objModulePermission ) { DataProvider.Instance().UpdateModulePermission( objModulePermission.ModulePermissionID, objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess ); ClearPermissionCache( objModulePermission.ModuleID ); }
private static void AddModulePermission(ModulePermissionCollection permissions, string key, int roleId) { var permissionController = new PermissionController(); var permission = (PermissionInfo)permissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", key)[0]; var modulePermission = new ModulePermissionInfo { PermissionID = permission.PermissionID, RoleID = roleId, AllowAccess = true }; permissions.Add(modulePermission); }
public bool Contains(ModulePermissionInfo value) { return(List.Contains(value)); }
public bool Contains(ModulePermissionInfo value) { return List.Contains(value); }
public void UpdateModulePermission(ModulePermissionInfo objModulePermission) { DataProvider.Instance().UpdateModulePermission(objModulePermission.ModulePermissionID, objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess); ClearPermissionCache(objModulePermission.ModuleID); }
public int IndexOf(ModulePermissionInfo value) { return List.IndexOf(value); }
public void Insert(int index, ModulePermissionInfo value) { List.Insert(index, value); }
public int AddModulePermission( ModulePermissionInfo objModulePermission ) { int Id = Convert.ToInt32( DataProvider.Instance().AddModulePermission( objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess ) ); ClearPermissionCache( objModulePermission.ModuleID ); return Id; }
private static ModulePermissionInfo FillModulePermissionInfo( IDataReader dr, bool CheckForOpenDataReader ) { ModulePermissionInfo permissionInfo; // read datareader bool canContinue = true; if( CheckForOpenDataReader ) { canContinue = false; if( dr.Read() ) { canContinue = true; } } if( canContinue ) { permissionInfo = new ModulePermissionInfo(); permissionInfo.ModulePermissionID = Convert.ToInt32( Null.SetNull( dr["ModulePermissionID"], permissionInfo.ModulePermissionID ) ); permissionInfo.ModuleID = Convert.ToInt32( Null.SetNull( dr["ModuleID"], permissionInfo.ModuleID ) ); permissionInfo.ModuleDefID = Convert.ToInt32( Null.SetNull( dr["ModuleDefID"], permissionInfo.ModuleDefID ) ); permissionInfo.PermissionID = Convert.ToInt32( Null.SetNull( dr["PermissionID"], permissionInfo.PermissionID ) ); permissionInfo.RoleID = Convert.ToInt32( Null.SetNull( dr["RoleID"], permissionInfo.RoleID ) ); permissionInfo.RoleName = Convert.ToString( Null.SetNull( dr["RoleName"], permissionInfo.RoleName ) ); permissionInfo.AllowAccess = Convert.ToBoolean( Null.SetNull( dr["AllowAccess"], permissionInfo.AllowAccess ) ); permissionInfo.PermissionCode = Convert.ToString( Null.SetNull( dr["PermissionCode"], permissionInfo.PermissionCode ) ); permissionInfo.PermissionKey = Convert.ToString( Null.SetNull( dr["PermissionKey"], permissionInfo.PermissionKey ) ); permissionInfo.PermissionName = Convert.ToString( Null.SetNull( dr["PermissionName"], permissionInfo.PermissionName ) ); } else { permissionInfo = null; } return permissionInfo; }
public int Add(ModulePermissionInfo value) { return(List.Add(value)); }
/// <summary> /// UpgradeApplication - This overload is used for version specific application upgrade operations. /// </summary> /// <remarks> /// This should be used for file system modifications or upgrade operations which /// should only happen once. Database references are not recommended because future /// versions of the application may result in code incompatibilties. /// </remarks> /// <param name="Version">The Version being Upgraded</param> private static string UpgradeApplication(string Version) { string strExceptions = ""; try { switch (Version) { case "02.00.00": IDataReader dr; // change portal upload directory from GUID to ID - this only executes for version 2.0.0 string strServerPath = HttpContext.Current.Request.MapPath(Globals.ApplicationPath); string strPortalsDirMapPath = Globals.ApplicationMapPath + "/Portals/"; dr = DataProvider.Instance().GetPortals(); while (dr.Read()) { // if GUID folder exists if (Directory.Exists(strPortalsDirMapPath + dr["GUID"])) { // if ID folder exists ( this may happen because the 2.x release contains a default ID=0 folder ) if (Directory.Exists(strPortalsDirMapPath + dr["PortalID"])) { // rename the ID folder try { Directory.Move(strPortalsDirMapPath + dr["PortalID"], strServerPath + "\\Portals\\" + dr["PortalID"] + "_old"); } catch (Exception ex) { // error moving the directory - security issue? strExceptions += "Could Not Move Folder " + strPortalsDirMapPath + dr["GUID"] + " To " + strPortalsDirMapPath + dr["PortalID"] + ". Error: " + ex.Message + "\r\n"; } } // move GUID folder to ID folder try { Directory.Move(strPortalsDirMapPath + dr["GUID"], strPortalsDirMapPath + dr["PortalID"]); } catch (Exception ex) { // error moving the directory - security issue? strExceptions += "Could Not Move Folder " + strPortalsDirMapPath + dr["GUID"] + " To " + strPortalsDirMapPath + dr["PortalID"] + ". Error: " + ex.Message + "\r\n"; } } } dr.Close(); // copy the default style sheet to the default portal ( if it does not already exist ) if (File.Exists(strPortalsDirMapPath + "0\\portal.css") == false) { if (File.Exists(Globals.HostMapPath + "portal.css")) { File.Copy(Globals.HostMapPath + "portal.css", strPortalsDirMapPath + "0\\portal.css"); } } break; case "02.02.00": string strProviderPath = PortalSettings.GetProviderPath(); if (strProviderPath.StartsWith("ERROR:")) { strExceptions += strProviderPath; break; } //Optionally Install the memberRoleProvider bool installMemberRole = true; if (Config.GetSetting("InstallMemberRole") != null) { installMemberRole = bool.Parse(Config.GetSetting("InstallMemberRole")); } if (installMemberRole) { HtmlUtils.WriteFeedback(HttpContext.Current.Response, 0, "Installing MemberRole Provider:<br>"); strExceptions += InstallMemberRoleProvider(strProviderPath); } PortalController objPortalController = new PortalController(); ArrayList arrPortals; arrPortals = objPortalController.GetPortals(); int intViewModulePermissionID; int intEditModulePermissionID; int intViewTabPermissionID; int intEditTabPermissionID; int intReadFolderPermissionID; int intWriteFolderPermissionID; PermissionController objPermissionController = new PermissionController(); PermissionInfo objPermission = new PermissionInfo(); objPermission.PermissionCode = "SYSTEM_MODULE_DEFINITION"; objPermission.PermissionKey = "VIEW"; objPermission.PermissionName = "View"; objPermission.ModuleDefID = Null.NullInteger; objPermissionController.AddPermission(objPermission); objPermission.PermissionKey = "EDIT"; objPermission.PermissionName = "Edit"; objPermissionController.AddPermission(objPermission); objPermission.PermissionCode = "SYSTEM_TAB"; objPermission.PermissionKey = "VIEW"; objPermission.PermissionName = "View Tab"; objPermissionController.AddPermission(objPermission); objPermission.PermissionKey = "EDIT"; objPermission.PermissionName = "Edit Tab"; objPermissionController.AddPermission(objPermission); objPermission.PermissionCode = "SYSTEM_FOLDER"; objPermission.PermissionKey = "READ"; objPermission.PermissionName = "View Folder"; intReadFolderPermissionID = objPermissionController.AddPermission(objPermission); objPermission.PermissionKey = "WRITE"; objPermission.PermissionName = "Write to Folder"; intWriteFolderPermissionID = objPermissionController.AddPermission(objPermission); FolderController objFolderController = new FolderController(); FolderPermissionController objFolderPermissionController = new FolderPermissionController(); int PortalCount; for (PortalCount = 0; PortalCount <= arrPortals.Count - 1; PortalCount++) { PortalInfo objPortal = (PortalInfo)arrPortals[PortalCount]; int FolderID = objFolderController.AddFolder(objPortal.PortalID, "", (int)FolderController.StorageLocationTypes.InsecureFileSystem, true, false); FolderPermissionInfo objFolderPermission = new FolderPermissionInfo(); objFolderPermission.FolderID = FolderID; objFolderPermission.PermissionID = intReadFolderPermissionID; objFolderPermission.AllowAccess = true; objFolderPermission.RoleID = objPortal.AdministratorRoleId; objFolderPermissionController.AddFolderPermission(objFolderPermission); objFolderPermission.PermissionID = intWriteFolderPermissionID; objFolderPermissionController.AddFolderPermission(objFolderPermission); //TODO: loop through folders recursively here //in case they created any nested folders //and assign priveledges accordingly } //Transfer Users to the Membership Provider MembershipProvider provider = MembershipProvider.Instance(); provider.TransferUsersToMembershipProvider(); ModuleController objModuleController = new ModuleController(); ArrayList arrModules = objModuleController.GetAllModules(); ModulePermissionController objModulePermissionController = new ModulePermissionController(); int ModCount; for (ModCount = 0; ModCount <= arrModules.Count - 1; ModCount++) { ModuleInfo objModule = (ModuleInfo)arrModules[ModCount]; ModulePermissionInfo objModulePermission = new ModulePermissionInfo(); objModulePermission.ModuleID = objModule.ModuleID; int k; string[] roles; if (objModule.AuthorizedViewRoles.IndexOf(";") > 0) { roles = objModule.AuthorizedViewRoles.Split(';'); for (k = 0; k <= roles.Length - 1; k++) { if (Int32.TryParse(roles[k], out intViewModulePermissionID)) { objModulePermission.PermissionID = intViewModulePermissionID; objModulePermission.AllowAccess = true; objModulePermission.RoleID = Convert.ToInt32(roles[k]); objModulePermissionController.AddModulePermission(objModulePermission); } } } if (objModule.AuthorizedEditRoles.IndexOf(";") > 0) { roles = objModule.AuthorizedEditRoles.Split(';'); for (k = 0; k <= roles.Length - 1; k++) { if (Int32.TryParse(roles[k], out intEditModulePermissionID)) { objModulePermission.PermissionID = intEditModulePermissionID; objModulePermission.AllowAccess = true; objModulePermission.RoleID = Convert.ToInt32(roles[k]); objModulePermissionController.AddModulePermission(objModulePermission); } } } } ArrayList arrTabs; TabController objTabController = new TabController(); arrTabs = objTabController.GetAllTabs(); TabPermissionController objTabPermissionController = new TabPermissionController(); for (ModCount = 0; ModCount <= arrTabs.Count - 1; ModCount++) { TabInfo objTab = (TabInfo)arrTabs[ModCount]; TabPermissionInfo objTabPermission = new TabPermissionInfo(); objTabPermission.TabID = objTab.TabID; int k; string[] roles; if (objTab.AuthorizedRoles.IndexOf(";") > 0) { roles = objTab.AuthorizedRoles.Split(';'); for (k = 0; k <= roles.Length - 1; k++) { if (Int32.TryParse(roles[k], out intViewTabPermissionID)) { objTabPermission.PermissionID = intViewTabPermissionID; objTabPermission.AllowAccess = true; objTabPermission.RoleID = Convert.ToInt32(roles[k]); objTabPermissionController.AddTabPermission(objTabPermission); } } } if (objTab.AdministratorRoles.IndexOf(";") > 0) { roles = objTab.AdministratorRoles.Split(';'); for (k = 0; k <= roles.Length - 1; k++) { if (Int32.TryParse(roles[k], out intEditTabPermissionID)) { objTabPermission.PermissionID = intEditTabPermissionID; objTabPermission.AllowAccess = true; objTabPermission.RoleID = Convert.ToInt32(roles[k]); objTabPermissionController.AddTabPermission(objTabPermission); } } } } break; case "03.00.01": objTabController = new TabController(); arrTabs = objTabController.GetAllTabs(); int TabCount; for (TabCount = 0; TabCount <= arrTabs.Count - 1; TabCount++) { TabInfo objTab = (TabInfo)arrTabs[TabCount]; if (objTab != null) { objTab.TabPath = Globals.GenerateTabPath(objTab.ParentId, objTab.TabName); 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); } } break; case "03.00.06": //Need to clear the cache to pick up new HostSettings from the SQLDataProvider script DataCache.RemoveCache("GetHostSettings"); break; case "03.00.11": //Need to convert any Profile Data to use XmlSerialization as Binary Formatting //is not supported under Medium Trust //Get all the Profiles PersonalizationController objPersonalizationController = new PersonalizationController(); dr = DataProvider.Instance().GetAllProfiles(); while (dr.Read()) { //Load Profile Data (using Binary Formatter method) PersonalizationInfo objPersonalization = new PersonalizationInfo(); try { objPersonalization.UserId = Convert.ToInt32(Null.SetNull(dr["UserID"], objPersonalization.UserId)); } catch { } try { objPersonalization.PortalId = Convert.ToInt32(Null.SetNull(dr["PortalId"], objPersonalization.PortalId)); } catch { } objPersonalization.Profile = Globals.DeserializeHashTableBase64(dr["ProfileData"].ToString()); objPersonalization.IsModified = true; //Save Profile Data (using XML Serializer) objPersonalizationController.SaveProfile(objPersonalization); } dr.Close(); break; case "03.00.12": //If we are upgrading from a 3.0.x version then we need to upgrade the MembershipProvider if (upgradeMemberShipProvider) { strProviderPath = PortalSettings.GetProviderPath(); StreamReader objStreamReader; string strScript; //Upgrade provider HtmlUtils.WriteFeedback(HttpContext.Current.Response, 0, "Executing UpgradeMembershipProvider.sql<br>"); objStreamReader = File.OpenText(strProviderPath + "UpgradeMembershipProvider.sql"); strScript = objStreamReader.ReadToEnd(); objStreamReader.Close(); strExceptions += PortalSettings.ExecuteScript(strScript); } break; case "03.01.00": LogController objLogController = new LogController(); XmlDocument xmlDoc = new XmlDocument(); string xmlConfigFile = Globals.HostMapPath + "Logs\\LogConfig\\LogConfig.xml.resources"; try { xmlDoc.Load(xmlConfigFile); } catch (FileNotFoundException) { xmlConfigFile = Globals.HostMapPath + "Logs\\LogConfig\\LogConfigTemplate.xml.resources"; xmlDoc.Load(xmlConfigFile); } XmlNodeList LogType = xmlDoc.SelectNodes("/LogConfig/LogTypes/LogType"); foreach (XmlNode LogTypeInfo in LogType) { LogTypeInfo objLogTypeInfo = new LogTypeInfo(); objLogTypeInfo.LogTypeKey = LogTypeInfo.Attributes["LogTypeKey"].Value; objLogTypeInfo.LogTypeFriendlyName = LogTypeInfo.Attributes["LogTypeFriendlyName"].Value; objLogTypeInfo.LogTypeDescription = LogTypeInfo.Attributes["LogTypeDescription"].Value; objLogTypeInfo.LogTypeCSSClass = LogTypeInfo.Attributes["LogTypeCSSClass"].Value; objLogTypeInfo.LogTypeOwner = LogTypeInfo.Attributes["LogTypeOwner"].Value; objLogController.AddLogType(objLogTypeInfo); } XmlNodeList LogTypeConfig = xmlDoc.SelectNodes("/LogConfig/LogTypeConfig"); foreach (XmlNode LogTypeConfigInfo in LogTypeConfig) { LogTypeConfigInfo objLogTypeConfig = new LogTypeConfigInfo(); objLogTypeConfig.EmailNotificationIsActive = Convert.ToBoolean((LogTypeConfigInfo.Attributes["EmailNotificationStatus"].Value == "On") ? true : false); objLogTypeConfig.KeepMostRecent = LogTypeConfigInfo.Attributes["KeepMostRecent"].Value; objLogTypeConfig.LoggingIsActive = Convert.ToBoolean((LogTypeConfigInfo.Attributes["LoggingStatus"].Value == "On") ? true : false); objLogTypeConfig.LogTypeKey = LogTypeConfigInfo.Attributes["LogTypeKey"].Value; objLogTypeConfig.LogTypePortalID = LogTypeConfigInfo.Attributes["LogTypePortalID"].Value; objLogTypeConfig.MailFromAddress = LogTypeConfigInfo.Attributes["MailFromAddress"].Value; objLogTypeConfig.MailToAddress = LogTypeConfigInfo.Attributes["MailToAddress"].Value; objLogTypeConfig.NotificationThreshold = Convert.ToInt32(LogTypeConfigInfo.Attributes["NotificationThreshold"].Value); objLogTypeConfig.NotificationThresholdTime = Convert.ToInt32(LogTypeConfigInfo.Attributes["NotificationThresholdTime"].Value); objLogTypeConfig.NotificationThresholdTimeType = (LogTypeConfigInfo.NotificationThresholdTimeTypes)Enum.Parse(typeof(LogTypeConfigInfo.NotificationThresholdTimeTypes), LogTypeConfigInfo.Attributes["NotificationThresholdTimeType"].Value); objLogController.AddLogTypeConfigInfo(objLogTypeConfig); } ScheduleItem objScheduleItem = new ScheduleItem(); objScheduleItem.TypeFullName = "DotNetNuke.Services.Cache.PurgeCache, DOTNETNUKE"; objScheduleItem.AttachToEvent = ""; objScheduleItem.CatchUpEnabled = false; if (Globals.WebFarmEnabled) { objScheduleItem.Enabled = true; } else { objScheduleItem.Enabled = false; } objScheduleItem.ObjectDependencies = ""; objScheduleItem.RetainHistoryNum = 10; objScheduleItem.Servers = ""; objScheduleItem.TimeLapse = 2; objScheduleItem.TimeLapseMeasurement = "hz"; objScheduleItem.RetryTimeLapse = 30; objScheduleItem.RetryTimeLapseMeasurement = "m"; SchedulingProvider.Instance().AddSchedule(objScheduleItem); break; case "03.02.03": //add new SecurityException LogController objSecLogController = new LogController(); XmlDocument xmlSecDoc = new XmlDocument(); string xmlSecConfigFile = Globals.HostMapPath + "Logs\\LogConfig\\SecurityExceptionTemplate.xml.resources"; try { xmlSecDoc.Load(xmlSecConfigFile); } catch (FileNotFoundException) { // xmlConfigFile = Common.Globals.HostMapPath + "Logs\LogConfig\LogConfigTemplate.xml.resources" // xmlDoc.Load(xmlConfigFile) } LogType = xmlSecDoc.SelectNodes("/LogConfig/LogTypes/LogType"); foreach (XmlNode LogTypeInfo in LogType) { LogTypeInfo objLogTypeInfo = new LogTypeInfo(); objLogTypeInfo.LogTypeKey = LogTypeInfo.Attributes["LogTypeKey"].Value; objLogTypeInfo.LogTypeFriendlyName = LogTypeInfo.Attributes["LogTypeFriendlyName"].Value; objLogTypeInfo.LogTypeDescription = LogTypeInfo.Attributes["LogTypeDescription"].Value; objLogTypeInfo.LogTypeCSSClass = LogTypeInfo.Attributes["LogTypeCSSClass"].Value; objLogTypeInfo.LogTypeOwner = LogTypeInfo.Attributes["LogTypeOwner"].Value; objSecLogController.AddLogType(objLogTypeInfo); } LogTypeConfig = xmlSecDoc.SelectNodes("/LogConfig/LogTypeConfig"); foreach (XmlNode LogTypeConfigInfo in LogTypeConfig) { LogTypeConfigInfo objLogTypeConfig = new LogTypeConfigInfo(); objLogTypeConfig.EmailNotificationIsActive = Convert.ToBoolean((LogTypeConfigInfo.Attributes["EmailNotificationStatus"].Value == "On") ? true : false); objLogTypeConfig.KeepMostRecent = LogTypeConfigInfo.Attributes["KeepMostRecent"].Value; objLogTypeConfig.LoggingIsActive = Convert.ToBoolean((LogTypeConfigInfo.Attributes["LoggingStatus"].Value == "On") ? true : false); objLogTypeConfig.LogTypeKey = LogTypeConfigInfo.Attributes["LogTypeKey"].Value; objLogTypeConfig.LogTypePortalID = LogTypeConfigInfo.Attributes["LogTypePortalID"].Value; objLogTypeConfig.MailFromAddress = LogTypeConfigInfo.Attributes["MailFromAddress"].Value; objLogTypeConfig.MailToAddress = LogTypeConfigInfo.Attributes["MailToAddress"].Value; objLogTypeConfig.NotificationThreshold = Convert.ToInt32(LogTypeConfigInfo.Attributes["NotificationThreshold"].Value); objLogTypeConfig.NotificationThresholdTime = Convert.ToInt32(LogTypeConfigInfo.Attributes["NotificationThresholdTime"].Value); objLogTypeConfig.NotificationThresholdTimeType = (LogTypeConfigInfo.NotificationThresholdTimeTypes)Enum.Parse(typeof(LogTypeConfigInfo.NotificationThresholdTimeTypes), LogTypeConfigInfo.Attributes["NotificationThresholdTimeType"].Value); objSecLogController.AddLogTypeConfigInfo(objLogTypeConfig); } break; } } catch (Exception ex) { strExceptions += "Error: " + ex.Message + "\r\n"; try { Exceptions.Exceptions.LogException(ex); } catch { // ignore } } return strExceptions; }
public int AddModulePermission( ModulePermissionInfo objModulePermission, int tabId ) { int Id = Convert.ToInt32( DataProvider.Instance().AddModulePermission( objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess ) ); DataCache.ClearModulePermissionsCache( tabId ); return Id; }
public int IndexOf(ModulePermissionInfo value) { return(List.IndexOf(value)); }
/// ----------------------------------------------------------------------------- /// <summary> /// Adds a Module Permission /// </summary> /// <param name="objModule">Module Info</param> /// <param name="permission">The permission to add</param> /// <param name="roleId">The Id of the role to add the permission for.</param> /// <param name="userId">Operator</param> /// <param name="allowAccess">Whether allow to access the module</param> /// <history> /// [cnurse] 01/11/2008 documented /// </history> /// ----------------------------------------------------------------------------- private ModulePermissionInfo AddModulePermission(ModuleInfo objModule, PermissionInfo permission, int roleId, int userId, bool allowAccess) { var objModulePermission = new ModulePermissionInfo(); objModulePermission.ModuleID = objModule.ModuleID; objModulePermission.PermissionID = permission.PermissionID; objModulePermission.RoleID = roleId; objModulePermission.UserID = userId; objModulePermission.PermissionKey = permission.PermissionKey; objModulePermission.AllowAccess = allowAccess; //add the permission to the collection if (!objModule.ModulePermissions.Contains(objModulePermission)) { objModule.ModulePermissions.Add(objModulePermission); } return objModulePermission; }
public void Remove(ModulePermissionInfo value) { List.Remove(value); }
/// ----------------------------------------------------------------------------- /// <summary> /// Compares if two ModulePermissionInfo objects are equivalent/equal /// </summary> /// <param name="other">a ModulePermissionObject</param> /// <returns>true if the permissions being passed represents the same permission /// in the current object /// </returns> /// <remarks> /// This function is needed to prevent adding duplicates to the ModulePermissionCollection. /// ModulePermissionCollection.Contains will use this method to check if a given permission /// is already included in the collection. /// </remarks> /// <history> /// [Vicenç] 09/01/2005 Created /// </history> /// ----------------------------------------------------------------------------- public bool Equals(ModulePermissionInfo other) { if (ReferenceEquals(null, other)) { return false; } if (ReferenceEquals(this, other)) { return true; } return (AllowAccess == other.AllowAccess) && (ModuleID == other.ModuleID) && (RoleID == other.RoleID) && (PermissionID == other.PermissionID); }
private ModulePermissionInfo AddModulePermission(int moduleId, PermissionInfo permission, int roleId) { RoleController objRoles = new RoleController(); string roleName = Null.NullString; ModulePermissionInfo objModulePermission = new ModulePermissionInfo(); objModulePermission.ModuleID = moduleId; objModulePermission.PermissionID = permission.PermissionID; objModulePermission.RoleID = roleId; objModulePermission.PermissionKey = permission.PermissionKey; objModulePermission.AllowAccess = false; if (roleId == int.Parse(Globals.glbRoleUnauthUser)) { roleName = Globals.glbRoleUnauthUserName; } else if (roleId == int.Parse(Globals.glbRoleAllUsers)) { roleName = Globals.glbRoleAllUsersName; } else { RoleInfo objRole = objRoles.GetRole(objModulePermission.RoleID, PortalSettings.PortalId); if (objRole != null) { roleName = objRole.RoleName; } } if (!(string.IsNullOrEmpty(roleName))) { if (PortalSettings.ActiveTab.AdministratorRoles.IndexOf(roleName) != -1) { objModulePermission.AllowAccess = true; } } return objModulePermission; }
private void ParseModulePermissions( XmlNodeList nodeModulePermissions, int PortalId, int ModuleID ) { RoleController objRoleController = new RoleController(); RoleInfo objRole = null; ModulePermissionCollection objModulePermissions = new ModulePermissionCollection(); ModulePermissionController objModulePermissionController = new ModulePermissionController(); PermissionController objPermissionController = new PermissionController(); PermissionInfo objPermission = null; ModulePermissionCollection objModulePermissionCollection = new ModulePermissionCollection(); int PermissionID = 0; ArrayList arrPermissions = null; int i = 0; string PermissionKey = null; string PermissionCode = null; string RoleName = null; int RoleID = 0; bool AllowAccess = false; foreach( XmlNode node in nodeModulePermissions ) { PermissionKey = XmlUtils.GetNodeValue( node, "permissionkey", "" ); PermissionCode = XmlUtils.GetNodeValue( node, "permissioncode", "" ); RoleName = XmlUtils.GetNodeValue( node, "rolename", "" ); AllowAccess = XmlUtils.GetNodeValueBoolean( node, "allowaccess", false ); RoleID = int.MinValue; if( RoleName == Globals.glbRoleAllUsersName ) { RoleID = Convert.ToInt32( Globals.glbRoleAllUsers ); } else if( RoleName == Globals.glbRoleUnauthUserName ) { RoleID = Convert.ToInt32( Globals.glbRoleUnauthUser ); } else { objRole = objRoleController.GetRoleByName( PortalId, RoleName ); if( objRole != null ) { RoleID = objRole.RoleID; } } if( RoleID != int.MinValue ) { PermissionID = -1; arrPermissions = objPermissionController.GetPermissionByCodeAndKey( PermissionCode, PermissionKey ); for( i = 0; i < arrPermissions.Count; i++ ) { objPermission = (PermissionInfo)( arrPermissions[i] ); PermissionID = objPermission.PermissionID; } // if role was found add, otherwise ignore if( PermissionID != -1 ) { ModulePermissionInfo objModulePermission = new ModulePermissionInfo(); objModulePermission.ModuleID = ModuleID; objModulePermission.PermissionID = PermissionID; objModulePermission.RoleID = RoleID; objModulePermission.AllowAccess = Convert.ToBoolean( XmlUtils.GetNodeValue( node, "allowaccess", "false" ) ); objModulePermissionController.AddModulePermission( objModulePermission ); } } } }
public int Add(ModulePermissionInfo value, bool checkForDuplicates) { int id = Null.NullInteger; if (!checkForDuplicates) { id = Add(value); } else { bool isMatch = false; foreach (PermissionInfoBase permission in List) { if (permission.PermissionID == value.PermissionID && permission.UserID == value.UserID && permission.RoleID == value.RoleID) { isMatch = true; break; } } if (!isMatch) { id = Add(value); } } return id; }
private ModulePermissionInfo AddModulePermission(ModuleInfo module, PermissionInfo permission, int roleId, int userId, bool allowAccess) { var modulePermission = new ModulePermissionInfo { ModuleID = module.ModuleID, PermissionID = permission.PermissionID, RoleID = roleId, UserID = userId, PermissionKey = permission.PermissionKey, AllowAccess = allowAccess }; // add the permission to the collection if (!module.ModulePermissions.Contains(modulePermission)) { module.ModulePermissions.Add(modulePermission); } return modulePermission; }
public int AddModulePermission(ModulePermissionInfo modulePermission) { PortalSettings portal = PortalSettings.Current; int id = DataProvider.Instance().AddModulePermission(modulePermission.ModuleID, portal.PortalId, modulePermission.PermissionID, modulePermission.RoleID, modulePermission.AllowAccess, modulePermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); ClearPermissionCache(modulePermission.ModuleID); return id; }
protected void AddNewModule(string title, int desktopModuleId, string paneName, int position, ViewPermissionType permissionType, string align) { TabPermissionCollection objTabPermissions = PortalSettings.ActiveTab.TabPermissions; PermissionController objPermissionController = new PermissionController(); ModuleController objModules = new ModuleController(); ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController(); Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); int intIndex; try { DesktopModuleController objDesktopModules = new DesktopModuleController(); ArrayList arrDM = objDesktopModules.GetDesktopModulesByPortal(PortalSettings.PortalId); bool isSelectable = false; for (int intloop = 0; intloop < arrDM.Count; intloop++) { if (((DesktopModuleInfo)(arrDM[intloop])).DesktopModuleID == desktopModuleId) { isSelectable = true; break; } } if (isSelectable == false) { throw new Exception(); } } catch (Exception ex) { throw new Exception(ex.Message); } int UserId = -1; if (Request.IsAuthenticated) { UserInfo objUserInfo = UserController.GetCurrentUserInfo(); UserId = objUserInfo.UserID; } ArrayList arrModuleDefinitions = objModuleDefinitions.GetModuleDefinitions(desktopModuleId); for (intIndex = 0; intIndex < arrModuleDefinitions.Count; intIndex++) { ModuleDefinitionInfo objModuleDefinition = (ModuleDefinitionInfo)(arrModuleDefinitions[intIndex]); ModuleInfo objModule = new ModuleInfo(); objModule.Initialize(PortalSettings.PortalId); objModule.PortalID = PortalSettings.PortalId; objModule.TabID = PortalSettings.ActiveTab.TabID; objModule.ModuleOrder = position; if (String.IsNullOrEmpty(title)) { objModule.ModuleTitle = objModuleDefinition.FriendlyName; } else { objModule.ModuleTitle = title; } objModule.ModuleTitle = title; objModule.PaneName = paneName; objModule.ModuleDefID = objModuleDefinition.ModuleDefID; objModule.CacheTime = objModuleDefinition.DefaultCacheTime; // initialize module permissions ModulePermissionCollection objModulePermissions = new ModulePermissionCollection(); objModule.ModulePermissions = objModulePermissions; objModule.InheritViewPermissions = false; // get the default module view permissions ArrayList arrSystemModuleViewPermissions = objPermissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "VIEW"); // get the permissions from the page foreach (TabPermissionInfo objTabPermission in objTabPermissions) { // get the system module permissions for the permissionkey ArrayList arrSystemModulePermissions = objPermissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", objTabPermission.PermissionKey); // loop through the system module permissions int j; for (j = 0; j < arrSystemModulePermissions.Count; j++) { // create the module permission PermissionInfo objSystemModulePermission = (PermissionInfo)(arrSystemModulePermissions[j]); ModulePermissionInfo objModulePermission = AddModulePermission(objModule.ModuleID, objSystemModulePermission, objTabPermission.RoleID); // add the permission to the collection if (!(objModulePermissions.Contains(objModulePermission)) & objModulePermission.AllowAccess) { objModulePermissions.Add(objModulePermission); } // ensure that every EDIT permission which allows access also provides VIEW permission if (objModulePermission.PermissionKey == "EDIT" & objModulePermission.AllowAccess) { ModulePermissionInfo objModuleViewperm = new ModulePermissionInfo(); objModuleViewperm.ModuleID = objModulePermission.ModuleID; objModuleViewperm.PermissionID = ((PermissionInfo)(arrSystemModuleViewPermissions[0])).PermissionID; objModuleViewperm.RoleID = objModulePermission.RoleID; objModuleViewperm.PermissionKey = "VIEW"; objModuleViewperm.AllowAccess = true; if (!(objModulePermissions.Contains(objModuleViewperm))) { objModulePermissions.Add(objModuleViewperm); } } } //Get the custom Module Permissions, Assume that roles with Edit Tab Permissions //are automatically assigned to the Custom Module Permissions if (objTabPermission.PermissionKey == "EDIT") { ArrayList arrCustomModulePermissions = objPermissionController.GetPermissionsByModuleDefID(objModule.ModuleDefID); // loop through the custom module permissions for (j = 0; j < arrCustomModulePermissions.Count; j++) { // create the module permission PermissionInfo objCustomModulePermission = (PermissionInfo)(arrCustomModulePermissions[j]); ModulePermissionInfo objModulePermission = AddModulePermission(objModule.ModuleID, objCustomModulePermission, objTabPermission.RoleID); // add the permission to the collection if (!(objModulePermissions.Contains(objModulePermission)) & objModulePermission.AllowAccess) { objModulePermissions.Add(objModulePermission); } } } } switch (permissionType) { case ViewPermissionType.View: objModule.InheritViewPermissions = true; break; case ViewPermissionType.Edit: objModule.ModulePermissions = objModulePermissions; break; } objModule.AllTabs = false; objModule.Visibility = VisibilityState.Maximized; objModule.Alignment = align; objModules.AddModule(objModule); objEventLog.AddLog(objModule, PortalSettings, UserId, "", Services.Log.EventLog.EventLogController.EventLogType.MODULE_CREATED); } }
public string UpgradeModule(string Version) { try { switch (Version) { case "01.00.00": ModuleDefinitionInfo moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByFriendlyName("Messaging"); if (moduleDefinition != null) { //Add Module to User Profile Page for all Portals var objPortalController = new PortalController(); var objTabController = new TabController(); var objModuleController = new ModuleController(); ArrayList portals = objPortalController.GetPortals(); foreach (PortalInfo portal in portals) { int tabID = TabController.GetTabByTabPath(portal.PortalID, "//UserProfile", Null.NullString); if ((tabID != Null.NullInteger)) { TabInfo tab = objTabController.GetTab(tabID, portal.PortalID, true); if ((tab != null)) { int moduleId = Upgrade.AddModuleToPage(tab, moduleDefinition.ModuleDefID, "My Inbox", "", true); ModuleInfo objModule = objModuleController.GetModule(moduleId, tabID, false); var settings = new PortalSettings(portal); var modulePermission = (from ModulePermissionInfo p in objModule.ModulePermissions where p.ModuleID == moduleId && p.RoleID == settings.RegisteredRoleId && p.UserID == Null.NullInteger && p.PermissionKey == "EDIT" select p).SingleOrDefault(); if (modulePermission == null) { ArrayList permissions = new PermissionController().GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "EDIT"); PermissionInfo permission = null; if (permissions.Count == 1) { permission = permissions[0] as PermissionInfo; } if (permission != null) { modulePermission = new ModulePermissionInfo(permission) { ModuleID = moduleId, RoleID = settings.RegisteredRoleId, UserID = Null.NullInteger, AllowAccess = true }; objModule.ModulePermissions.Add(modulePermission); ModulePermissionController.SaveModulePermissions(objModule); } } } } } } break; } return "Success"; } catch (Exception exc) { Logger.Error(exc); return "Failed"; } }
public int AddModulePermission(ModulePermissionInfo objModulePermission) { int id = DataProvider.Instance().AddModulePermission(objModulePermission.ModuleID, objModulePermission.PermissionID, objModulePermission.RoleID, objModulePermission.AllowAccess, objModulePermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(objModulePermission.ModuleID); return id; }