public int Add(FolderPermissionInfo 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 Add(FolderPermissionInfo 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 static ArrayList FillFolderPermissionInfoList(IDataReader dr) { ArrayList arr = new ArrayList(); try { while (dr.Read()) { // fill business object FolderPermissionInfo obj = FillFolderPermissionInfo(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 AddFolderPermission(FolderPermissionInfo objFolderPermission) { ClearPermissionCache(objFolderPermission.PortalID); return DataProvider.Instance().AddFolderPermission(objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess, objFolderPermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); }
public int AddFolderPermission(FolderPermissionInfo objFolderPermission) { ClearPermissionCache(objFolderPermission.PortalID); return(DataProvider.Instance().AddFolderPermission(objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess, objFolderPermission.UserID, UserController.GetCurrentUserInfo().UserID)); }
public FolderPermissionCollection(ArrayList FolderPermissions) { int i; for (i = 0; i <= FolderPermissions.Count - 1; i++) { FolderPermissionInfo objFolderPerm = (FolderPermissionInfo)FolderPermissions[i]; Add(objFolderPerm); } }
public void UpdateFolderPermission(FolderPermissionInfo objFolderPermission) { DataProvider.Instance().UpdateFolderPermission(objFolderPermission.FolderPermissionID, objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess, objFolderPermission.UserID, UserController.GetCurrentUserInfo().UserID); ClearPermissionCache(objFolderPermission.PortalID); }
public FolderPermissionCollection(ArrayList FolderPermissions, string FolderPath) { int i; for (i = 0; i <= FolderPermissions.Count - 1; i++) { FolderPermissionInfo objFolderPerm = (FolderPermissionInfo)FolderPermissions[i]; if (objFolderPerm.FolderPath == FolderPath) { Add(objFolderPerm); } } }
public FolderPermissionCollection GetFolderPermissionsByFolder(ArrayList arrFolderPermissions, string FolderPath) { FolderPermissionCollection p = new FolderPermissionCollection(); for (int i = 0; i < arrFolderPermissions.Count; i++) { FolderPermissionInfo objFolderPermission = (FolderPermissionInfo)arrFolderPermissions[i]; if (objFolderPermission.FolderPath == FolderPath) { p.Add(objFolderPermission); } } return(p); }
public string GetFolderPermissionsByFolderPath(ArrayList arrFolderPermissions, string FolderPath, string PermissionKey) { string strRoles = ";"; for (int i = 0; i < arrFolderPermissions.Count; i++) { FolderPermissionInfo objFolderPermission = (FolderPermissionInfo)(arrFolderPermissions[i]); if (objFolderPermission.FolderPath == FolderPath && objFolderPermission.AllowAccess && objFolderPermission.PermissionKey == PermissionKey) { strRoles += objFolderPermission.RoleName + ";"; } } return(strRoles); }
public static void checkFolderPermissions(int PortalId, IFolderInfo theFolder, int theUserId, List<UserInfo> approvers) { // Get the write permission PermissionController pc = new PermissionController(); PermissionInfo w = (PermissionInfo)pc.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "WRITE")[0]; // Get a list of all the folderPermissions we currently have FolderPermissionCollection folderPermissions = theFolder.FolderPermissions; // Set up the first permission FolderPermissionInfo permission = new FolderPermissionInfo(); // Set up some default values for the permission initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the user id to be this user permission.UserID = theUserId; // Add folder permissions, with a check for duplicates. // This duplicate check (the 'True' parameter) will classify this as a "duplicate" if this permission // has the same PermissionID, UserID, and RoleID as a pre-existing one, and not add it if it is a duplicate folderPermissions.Add(permission, true); // Get all the possible approvers for this reimbursement try { foreach (var approver in approvers) { // Create a new permission for this approver permission = new FolderPermissionInfo(); // Initialize all the variables initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the userid to the approver's id permission.UserID = approver.UserID; // Add permission for approver folderPermissions.Add(permission, true); } } catch { } // Finally, add permissions for the accounts team: try { permission = new FolderPermissionInfo(); // Initialize new folder permission initFolderPermission(permission, theFolder.FolderID, PortalId, w.PermissionID); // Set the role ID DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController(); permission.RoleID = rc.GetRoleByName(PortalId, "Accounts Team").RoleID; folderPermissions.Add(permission, true); } catch { } // Once we're finished adding these folder permissions, save it all FolderPermissionController.SaveFolderPermissions(theFolder); }
private static FolderPermissionInfo FillFolderPermissionInfo(IDataReader dr, bool CheckForOpenDataReader) { FolderPermissionInfo permissionInfo; // read datareader bool canContinue = true; if (CheckForOpenDataReader) { canContinue = false; if (dr.Read()) { canContinue = true; } } if (canContinue) { permissionInfo = new FolderPermissionInfo(); permissionInfo.FolderPermissionID = Convert.ToInt32(Null.SetNull(dr["FolderPermissionID"], permissionInfo.FolderPermissionID)); permissionInfo.FolderID = Convert.ToInt32(Null.SetNull(dr["FolderID"], permissionInfo.FolderID)); permissionInfo.FolderPath = Convert.ToString(Null.SetNull(dr["FolderPath"], permissionInfo.FolderPath)); 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); }
/// ----------------------------------------------------------------------------- /// <summary> /// SaveFolderPermissions updates a Folder's permissions /// </summary> /// <param name="folder">The Folder to update</param> /// <history> /// [cnurse] 04/15/2009 Created /// </history> /// ----------------------------------------------------------------------------- public virtual void SaveFolderPermissions(IFolderInfo folder) { if ((folder.FolderPermissions != null)) { FolderPermissionCollection folderPermissions = GetFolderPermissionsCollectionByFolder(folder.PortalID, folder.FolderPath); //Ensure that if role/user has been given a permission that is not Read/Browse then they also need Read/Browse var permController = new PermissionController(); ArrayList permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "READ"); PermissionInfo readPerm = null; if (permArray.Count == 1) { readPerm = permArray[0] as PermissionInfo; } PermissionInfo browsePerm = null; permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "BROWSE"); if (permArray.Count == 1) { browsePerm = permArray[0] as PermissionInfo; } var additionalPermissions = new FolderPermissionCollection(); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { if (folderPermission.PermissionKey != "BROWSE" && folderPermission.PermissionKey != "READ") { //Try to add Read permission var newFolderPerm = new FolderPermissionInfo(readPerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = folderPermission.AllowAccess }; additionalPermissions.Add(newFolderPerm); //Try to add Browse permission newFolderPerm = new FolderPermissionInfo(browsePerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = folderPermission.AllowAccess }; additionalPermissions.Add(newFolderPerm); } } foreach (FolderPermissionInfo folderPermission in additionalPermissions) { folder.FolderPermissions.Add(folderPermission, true); } if (!folderPermissions.CompareTo(folder.FolderPermissions)) { dataProvider.DeleteFolderPermissionsByFolderPath(folder.PortalID, folder.FolderPath); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { dataProvider.AddFolderPermission(folder.FolderID, folderPermission.PermissionID, folderPermission.RoleID, folderPermission.AllowAccess, folderPermission.UserID, UserController.GetCurrentUserInfo().UserID); } } } }
private static void RestoreUserPermissions(UserInfo user) { //restore user's folder permission var userFolderPath = ((PathUtils)PathUtils.Instance).GetUserFolderPathInternal(user); var portalId = user.IsSuperUser ? Null.NullInteger : user.PortalID; var userFolder = FolderManager.Instance.GetFolder(portalId, userFolderPath); if (userFolder != null) { foreach (PermissionInfo permission in PermissionController.GetPermissionsByFolder()) { if (permission.PermissionKey.ToUpper() == "READ" || permission.PermissionKey.ToUpper() == "WRITE" || permission.PermissionKey.ToUpper() == "BROWSE") { var folderPermission = new FolderPermissionInfo(permission) { FolderID = userFolder.FolderID, UserID = user.UserID, RoleID = Null.NullInteger, AllowAccess = true }; userFolder.FolderPermissions.Add(folderPermission, true); } } FolderPermissionController.SaveFolderPermissions((FolderInfo) userFolder); } }
public int Add(FolderPermissionInfo value) { return List.Add(value); }
public bool Contains(FolderPermissionInfo value) { return List.Contains(value); }
/// ----------------------------------------------------------------------------- /// <summary> /// SaveFolderPermissions updates a Folder's permissions /// </summary> /// <param name="folder">The Folder to update</param> /// <history> /// [cnurse] 04/15/2009 Created /// </history> /// ----------------------------------------------------------------------------- public virtual void SaveFolderPermissions(IFolderInfo folder) { if ((folder.FolderPermissions != null)) { //Ensure that if role/user has been given a permission that is not Read/Browse then they also need Read/Browse var permController = new PermissionController(); ArrayList permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "READ"); PermissionInfo readPerm = null; if (permArray.Count == 1) { readPerm = permArray[0] as PermissionInfo; } PermissionInfo browsePerm = null; permArray = permController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "BROWSE"); if (permArray.Count == 1) { browsePerm = permArray[0] as PermissionInfo; } var additionalPermissions = new FolderPermissionCollection(); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { if (folderPermission.PermissionKey != "BROWSE" && folderPermission.PermissionKey != "READ" && folderPermission.AllowAccess) { //Try to add Read permission var newFolderPerm = new FolderPermissionInfo(readPerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = true }; additionalPermissions.Add(newFolderPerm); //Try to add Browse permission newFolderPerm = new FolderPermissionInfo(browsePerm) { FolderID = folderPermission.FolderID, RoleID = folderPermission.RoleID, UserID = folderPermission.UserID, AllowAccess = true }; additionalPermissions.Add(newFolderPerm); } } foreach (FolderPermissionInfo folderPermission in additionalPermissions) { folder.FolderPermissions.Add(folderPermission, true); } dataProvider.DeleteFolderPermissionsByFolderPath(folder.PortalID, folder.FolderPath); foreach (FolderPermissionInfo folderPermission in folder.FolderPermissions) { dataProvider.AddFolderPermission(folder.FolderID, folderPermission.PermissionID, folderPermission.RoleID, folderPermission.AllowAccess, folderPermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); } } }
public void UpdateFolderPermission(FolderPermissionInfo objFolderPermission) { DataProvider.Instance().UpdateFolderPermission(objFolderPermission.FolderPermissionID, objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess); }
public void Insert(int index, FolderPermissionInfo value) { List.Insert(index, value); }
/// <summary> /// Sets a Folder Permission /// </summary> /// <param name="PortalId">The Id of the Portal</param> /// <param name="FolderId">The Id of the Folder</param> /// <param name="PermissionId">The Id of the Permission</param> /// <param name="RoleId">The Id of the Role</param> /// <param name="relativePath">The folder's Relative Path</param> /// <remarks> /// </remarks> public static void SetFolderPermission( int PortalId, int FolderId, int PermissionId, int RoleId, string relativePath ) { FolderPermissionController objFolderPermissionController = new FolderPermissionController(); FolderPermissionCollection objCurrentFolderPermissions; FolderPermissionInfo objFolderPermissionInfo = new FolderPermissionInfo(); objCurrentFolderPermissions = objFolderPermissionController.GetFolderPermissionsCollectionByFolderPath( PortalId, relativePath ); //Iterate current permissions to see if permisison has already been added foreach( FolderPermissionInfo tempLoopVar_objFolderPermissionInfo in objCurrentFolderPermissions ) { objFolderPermissionInfo = tempLoopVar_objFolderPermissionInfo; if( objFolderPermissionInfo.FolderID == FolderId && objFolderPermissionInfo.PermissionID == PermissionId && objFolderPermissionInfo.RoleID == RoleId && objFolderPermissionInfo.AllowAccess ) { return; } } //Permission not found so Add objFolderPermissionInfo = (FolderPermissionInfo)CBO.InitializeObject( objFolderPermissionInfo, typeof( FolderPermissionInfo ) ); objFolderPermissionInfo.FolderID = FolderId; objFolderPermissionInfo.PermissionID = PermissionId; objFolderPermissionInfo.RoleID = RoleId; objFolderPermissionInfo.AllowAccess = true; objFolderPermissionController.AddFolderPermission( objFolderPermissionInfo ); }
private void AddFolderPermissions(int portalId, int folderId) { var objPortal = GetPortal(portalId); FolderPermissionInfo objFolderPermission; var folderManager = FolderManager.Instance; var folder = folderManager.GetFolder(folderId); var objPermissionController = new PermissionController(); foreach (PermissionInfo objpermission in objPermissionController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "")) { objFolderPermission = new FolderPermissionInfo(objpermission) { FolderID = folder.FolderID, RoleID = objPortal.AdministratorRoleId, AllowAccess = true }; folder.FolderPermissions.Add(objFolderPermission); if (objpermission.PermissionKey == "READ") { //add READ permissions to the All Users Role folderManager.AddAllUserReadPermission(folder, objpermission); } } FolderPermissionController.SaveFolderPermissions((FolderInfo)folder); }
private static void ParseFolderPermissions(XmlNodeList nodeFolderPermissions, int portalId, FolderInfo folder) { PermissionController permissionController = new PermissionController(); int permissionId = 0; //Clear the current folder permissions folder.FolderPermissions.Clear(); foreach (XmlNode xmlFolderPermission in nodeFolderPermissions) { string permissionKey = XmlUtils.GetNodeValue(xmlFolderPermission.CreateNavigator(), "permissionkey"); string permissionCode = XmlUtils.GetNodeValue(xmlFolderPermission.CreateNavigator(), "permissioncode"); string roleName = XmlUtils.GetNodeValue(xmlFolderPermission.CreateNavigator(), "rolename"); bool allowAccess = XmlUtils.GetNodeValueBoolean(xmlFolderPermission, "allowaccess"); foreach (PermissionInfo permission in permissionController.GetPermissionByCodeAndKey(permissionCode, permissionKey)) { permissionId = permission.PermissionID; } 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: RoleInfo objRole = TestableRoleController.Instance.GetRole(portalId, r => r.RoleName == roleName); if (objRole != null) { roleId = objRole.RoleID; } break; } //if role was found add, otherwise ignore if (roleId != int.MinValue) { var folderPermission = new FolderPermissionInfo { FolderID = folder.FolderID, PermissionID = permissionId, RoleID = roleId, UserID = Null.NullInteger, AllowAccess = allowAccess }; bool canAdd = !folder.FolderPermissions.Cast<FolderPermissionInfo>() .Any(fp => fp.FolderID == folderPermission.FolderID && fp.PermissionID == folderPermission.PermissionID && fp.RoleID == folderPermission.RoleID && fp.UserID == folderPermission.UserID); if (canAdd) { folder.FolderPermissions.Add(folderPermission); } } } FolderPermissionController.SaveFolderPermissions(folder); }
/// <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 AddFolderPermission(FolderPermissionInfo objFolderPermission) { return Convert.ToInt32(DataProvider.Instance().AddFolderPermission(objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess)); }
public bool Contains(FolderPermissionInfo value) { return(List.Contains(value)); }
private static FolderPermissionInfo FillFolderPermissionInfo(IDataReader dr, bool CheckForOpenDataReader) { FolderPermissionInfo permissionInfo; // read datareader bool canContinue = true; if (CheckForOpenDataReader) { canContinue = false; if (dr.Read()) { canContinue = true; } } if (canContinue) { permissionInfo = new FolderPermissionInfo(); permissionInfo.FolderPermissionID = Convert.ToInt32(Null.SetNull(dr["FolderPermissionID"], permissionInfo.FolderPermissionID)); permissionInfo.FolderID = Convert.ToInt32(Null.SetNull(dr["FolderID"], permissionInfo.FolderID)); permissionInfo.FolderPath = Convert.ToString(Null.SetNull(dr["FolderPath"], permissionInfo.FolderPath)); 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 AddFolderPermission(FolderPermissionInfo objFolderPermission) { return(Convert.ToInt32(DataProvider.Instance().AddFolderPermission(objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess))); }
public void UpdateFolderPermission(FolderPermissionInfo objFolderPermission) { DataProvider.Instance().UpdateFolderPermission(objFolderPermission.FolderPermissionID, objFolderPermission.FolderID, objFolderPermission.PermissionID, objFolderPermission.RoleID, objFolderPermission.AllowAccess, objFolderPermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); ClearPermissionCache(objFolderPermission.PortalID); }
public int IndexOf(FolderPermissionInfo value) { return(List.IndexOf(value)); }
public int IndexOf(FolderPermissionInfo value) { return List.IndexOf(value); }
public void Remove(FolderPermissionInfo value) { List.Remove(value); }
public int Add(FolderPermissionInfo value) { return(List.Add(value)); }
private static void UpgradeToVersion550() { //update languages module int moduleDefId = GetModuleDefinition("Languages", "Languages"); AddModuleControl(moduleDefId, "TranslationStatus", "", "DesktopModules/Admin/Languages/TranslationStatus.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0); //due to an error in 5.3.0 we need to recheck and readd Application_Start_FirstRequest AddEventQueueApplicationStartFirstRequest(); // check if UserProfile page template exists in Host folder and if not, copy it from Install folder string installTemplateFile = string.Format("{0}Templates\\UserProfile.page.template", Globals.InstallMapPath); if (File.Exists(installTemplateFile)) { string hostTemplateFile = string.Format("{0}Templates\\UserProfile.page.template", Globals.HostMapPath); if (!File.Exists(hostTemplateFile)) { File.Copy(installTemplateFile, hostTemplateFile); } } //Fix the permission for User Folders foreach (PortalInfo portal in PortalController.Instance.GetPortals()) { foreach (FolderInfo folder in FolderManager.Instance.GetFolders(portal.PortalID)) { if (folder.FolderPath.StartsWith("Users/")) { foreach (PermissionInfo permission in PermissionController.GetPermissionsByFolder()) { if (permission.PermissionKey.ToUpper() == "READ") { //Add All Users Read Access to the folder int roleId = Int32.Parse(Globals.glbRoleAllUsers); if (!folder.FolderPermissions.Contains(permission.PermissionKey, folder.FolderID, roleId, Null.NullInteger)) { var folderPermission = new FolderPermissionInfo(permission) { FolderID = folder.FolderID, UserID = Null.NullInteger, RoleID = roleId, AllowAccess = true }; folder.FolderPermissions.Add(folderPermission); } } } FolderPermissionController.SaveFolderPermissions(folder); } } //Remove user page template from portal if it exists (from 5.3) if (File.Exists(string.Format("{0}Templates\\UserProfile.page.template", portal.HomeDirectoryMapPath))) { File.Delete(string.Format("{0}Templates\\UserProfile.page.template", portal.HomeDirectoryMapPath)); } } //DNN-12894 - Country Code for "United Kingdom" is incorrect var listController = new ListController(); var listItem = listController.GetListEntryInfo("Country", "UK"); if (listItem != null) { listItem.Value = "GB"; listController.UpdateListEntry(listItem); } foreach (PortalInfo portal in PortalController.Instance.GetPortals()) { //fix issue where portal default language may be disabled string defaultLanguage = portal.DefaultLanguage; if (!IsLanguageEnabled(portal.PortalID, defaultLanguage)) { Locale language = LocaleController.Instance.GetLocale(defaultLanguage); Localization.Localization.AddLanguageToPortal(portal.PortalID, language.LanguageId, true); } //preemptively create any missing localization records rather than relying on dynamic creation foreach (Locale locale in LocaleController.Instance.GetLocales(portal.PortalID).Values) { DataProvider.Instance().EnsureLocalizationExists(portal.PortalID, locale.Code); } } }
private static void initFolderPermission(FolderPermissionInfo folderPermission, int FolderID, int PortalID, int PermissionID) { folderPermission.FolderID = FolderID; folderPermission.PortalID = PortalID; folderPermission.PermissionID = PermissionID; folderPermission.AllowAccess = true; }