/// <summary> /// Removes specified user or group permissions from active folder. /// </summary> /// <param name="aclEntry">User or group.</param> public void Remove(UserFolderAcl aclEntry) { /* DeleteUserFolderAcl <virtualServerID> "<folderOwnerUser>" "<folder>" "<userOrGroup>" Responses: +OK -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP DeleteUserFolderAcl m_pFolder.User.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserFolderAcl " + m_pFolder.User.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pFolder.User.UserName) + " " + TextUtils.QuoteString(m_pFolder.FolderFullPath) + " " + TextUtils.QuoteString(aclEntry.UserOrGroup) ); string response = m_pFolder.User.VirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } m_pAclEntries.Remove(aclEntry); }
/// <summary> /// Removes specified user or group permissions from active folder. /// </summary> /// <param name="aclEntry">User or group.</param> public void Remove(UserFolderAcl aclEntry) { /* DeleteUserFolderAcl <virtualServerID> "<folderOwnerUser>" "<folder>" "<userOrGroup>" * Responses: +OK * -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP DeleteUserFolderAcl m_pFolder.User.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserFolderAcl " + m_pFolder.User.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pFolder.User.UserName) + " " + TextUtils.QuoteString(m_pFolder.FolderFullPath) + " " + TextUtils.QuoteString(aclEntry.UserOrGroup) ); string response = m_pFolder.User.VirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } m_pAclEntries.Remove(aclEntry); }
/// <summary> /// Adds specified user or group permissions to active folder. /// </summary> /// <param name="userOrGroup">User or group.</param> /// <param name="permissions">Permissions to allow.</param> /// <returns>Returns added UserFolderAcl.</returns> public UserFolderAcl Add(string userOrGroup, IMAP_ACL_Flags permissions) { /* SetUserFolderAcl <virtualServerID> "<folderOwnerUser>" "<folder>" "<userOrGroup>" <flags:int32> * Responses: +OK * -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP SetUserFolderAcl m_pFolder.User.VirtualServer.Server.TcpClient.TcpStream.WriteLine("SetUserFolderAcl " + m_pFolder.User.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pFolder.User.UserName) + " " + TextUtils.QuoteString(m_pFolder.FolderFullPath) + " " + TextUtils.QuoteString(userOrGroup) + " " + (int)permissions); string response = m_pFolder.User.VirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } UserFolderAcl acl = new UserFolderAcl(this, m_pFolder, userOrGroup, permissions); m_pAclEntries.Add(acl); return(acl); }
/// <summary> /// Adds specified user or group permissions to active folder. /// </summary> /// <param name="userOrGroup">User or group.</param> /// <param name="permissions">Permissions to allow.</param> /// <returns>Returns added UserFolderAcl.</returns> public UserFolderAcl Add(string userOrGroup,IMAP_ACL_Flags permissions) { /* SetUserFolderAcl <virtualServerID> "<folderOwnerUser>" "<folder>" "<userOrGroup>" <flags:int32> Responses: +OK -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP SetUserFolderAcl m_pFolder.User.VirtualServer.Server.TcpClient.TcpStream.WriteLine("SetUserFolderAcl " + m_pFolder.User.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pFolder.User.UserName) + " " + TextUtils.QuoteString(m_pFolder.FolderFullPath) + " " + TextUtils.QuoteString(userOrGroup) + " " + (int)permissions); string response = m_pFolder.User.VirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } UserFolderAcl acl = new UserFolderAcl(this,m_pFolder,userOrGroup,permissions); m_pAclEntries.Add(acl); return acl; }