protected void lbnOK_Click(object sender, EventArgs e) { //ensure path works before saving changes if (!VerifyPath()) return; try { FileConfigurationController ctrl = new FileConfigurationController(); List<FileConfiguration> configs = ctrl.GetItems(PortalId) as List<FileConfiguration>; FileConfiguration config = null; if (configs.Count > 0) { config = configs[0]; } else { config = new FileConfiguration(); config.ID = -1; } config.FilesLocation = txtFilesLocation.Text; config.LastModifiedByUserName = UserInfo.DisplayName; config.LastModifiedDate = System.DateTime.Now; config.PortalID = PortalId; config.StorageType = radStorageLocation.SelectedValue; if (config.ID == -1) { ctrl.Create(config); } else { ctrl.Update(config); } //refresh cac SynchronizeModule(); //Redirect back to the portal home page this.Response.Redirect(Globals.NavigateURL(), true); } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
public File CreateRootSharedFolder(int userID, int portalID) { FileController ctrl = new FileController(); UserController ctrlUser = new UserController(); UserInfo user = ctrlUser.GetUser(portalID, userID); //create root shared folder File rootPortalFolder = new File(); //rootPortalFolder.ChildCount = 0; rootPortalFolder.CreatedByUserID = userID; rootPortalFolder.CreatedByUserName = user.DisplayName; rootPortalFolder.CreatedDate = System.DateTime.Now; rootPortalFolder.IsInTrash = false; rootPortalFolder.IsFolder = true; rootPortalFolder.ItemType = 0; rootPortalFolder.LastModifiedByUserID = userID; rootPortalFolder.LastModifiedByUserName = user.DisplayName; rootPortalFolder.LastModifiedDate = System.DateTime.Now; rootPortalFolder.Name = "Site Root Folder"; rootPortalFolder.Description = ""; rootPortalFolder.ParentID = -1; rootPortalFolder.PortalID = portalID; ctrl.Create(rootPortalFolder); //add default permission PermissionController ctrlPerm = new PermissionController(); Permission perm = new Permission(); perm.CanAddFiles = true; perm.CanAddFolders = true; perm.CanSee = true; perm.FileID = rootPortalFolder.ID; perm.PortalID = portalID; perm.RoleID = 1000000; perm.RoleName = "All Users"; ctrlPerm.Create(perm); //update files config FileConfigurationController ctrlConfig = new FileConfigurationController(); var configs = ctrlConfig.GetItems(portalID) as List<FileConfiguration>; configs[0].RootUsersFolderID = rootPortalFolder.ID; ctrlConfig.Update(configs[0]); return rootPortalFolder; }
public File CreateRootGroupsFolder(int userID, int portalID) { //create folder FileController ctrl = new FileController(); UserController ctrlUser = new UserController(); UserInfo user = ctrlUser.GetUser(portalID, userID); //create root shared folder File rootPortalFolder = new File(); //rootPortalFolder.ChildCount = 0; rootPortalFolder.CreatedByUserID = userID; rootPortalFolder.CreatedByUserName = user.DisplayName; rootPortalFolder.CreatedDate = System.DateTime.Now; rootPortalFolder.IsInTrash = false; rootPortalFolder.IsFolder = true; rootPortalFolder.ItemType = 0; rootPortalFolder.LastModifiedByUserID = userID; rootPortalFolder.LastModifiedByUserName = user.DisplayName; rootPortalFolder.LastModifiedDate = System.DateTime.Now; rootPortalFolder.Name = "Groups Root Folder"; rootPortalFolder.Description = ""; rootPortalFolder.ParentID = GetRootPortalFolder(portalID, userID).ID; rootPortalFolder.PortalID = portalID; ctrl.Create(rootPortalFolder); //add permissions //admins only //update files config FileConfigurationController ctrlConfig = new FileConfigurationController(); var configs = ctrlConfig.GetItems(portalID) as List<FileConfiguration>; configs[0].RootGroupsFolderID = rootPortalFolder.ID; ctrlConfig.Update(configs[0]); //unify existing user folders under default users folder foreach (var userFolder in ctrl.GetV702GroupFolders(portalID)) { userFolder.ParentID = rootPortalFolder.ID; ctrl.Update(userFolder); } //return default new root users folder return rootPortalFolder; }
private void PopulateTree(int searchValue) { FileController fileCtrl = new FileController(); FileConfigurationController ctrlConfig = new FileConfigurationController(); var configs = ctrlConfig.GetItems(PortalId) as List<FileConfiguration>; if (configs.Count > 0) { //check for root shared folder var rootFolder = fileCtrl.GetRootPortalFolder(PortalId, UserId); //if none exists, create if (rootFolder == null) { rootFolder = fileCtrl.CreateRootSharedFolder(UserId, PortalId); } configs[0].RootSharedFolderID = rootFolder.ID; //check root users folder if (configs[0].RootUsersFolderID == 0) { //if none exists, create configs[0].RootUsersFolderID = fileCtrl.CreateRootUsersFolder(UserId, PortalId).ID; } //check root groups folder if (configs[0].RootGroupsFolderID == 0) { //if none exists, create configs[0].RootGroupsFolderID = fileCtrl.CreateRootGroupsFolder(UserId, PortalId).ID; } //update config ctrlConfig.Update(configs[0]); } File rootFile = new File(); rootFile.ID = -1; rootFile.Name = "QuickDocsPro"; List<File> listFiles = fileCtrl.GetItemsByParent(rootFile.ID, UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>; System.Web.UI.WebControls.TreeNode rootNode = new System.Web.UI.WebControls.TreeNode(rootFile.Name, rootFile.ID.ToString(), "images/window_16_hot.png"); rootNode.Expanded = false; treeFolders.Nodes.Add(rootNode); populateChildren(rootNode, searchValue, configs[0]); if (rootNode.Value == searchValue.ToString()) { rootNode.Selected = true; } }