/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Owner user message rule.</param> internal UserMessageRuleActionCollection(UserMessageRule rule) { m_pRule = rule; m_pActions = new List<UserMessageRuleActionBase>(); Bind(); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> internal UserMessageRuleAction_DeleteMessage(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description) : base(UserMessageRuleAction_enum.DeleteMessage,rule,owner,id,description) { /* Action data structure: <ActionData> </ActionData> */ }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> internal UserMessageRuleAction_DeleteMessage(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description) : base(UserMessageRuleAction_enum.DeleteMessage, rule, owner, id, description) { /* Action data structure: * <ActionData> * </ActionData> */ }
/// <summary> /// Adds new user message rule to virtual server. /// </summary> /// <param name="enabled">Specifies if user message rules is enabled.</param> /// <param name="description">User message rule description.</param> /// <param name="matchExpression">Match expression.</param> /// <param name="checkNext">Specifies when next rule is checked.</param> /// <returns></returns> public UserMessageRule Add(bool enabled, string description, string matchExpression, GlobalMessageRule_CheckNextRule_enum checkNext) { /* AddUserMessageRule <virtualServerID> "<userID>" "<ruleID>" <cost> <enabled> "<description>" "<matchExpression>" <checkNext> * Responses: +OK * -ERR <errorText> */ string id = Guid.NewGuid().ToString(); long cost = DateTime.Now.Ticks; // Call TCP AddUserMessageRule m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUserMessageRule " + m_pUser.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pUser.UserID) + " " + TextUtils.QuoteString(id) + " " + cost + " " + enabled + " " + TextUtils.QuoteString(description) + " " + TextUtils.QuoteString(matchExpression.TrimEnd()) + " " + (int)checkNext ); string response = m_pUser.VirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } UserMessageRule rule = new UserMessageRule(this, id, cost, enabled, description, matchExpression, checkNext); m_pRules.Add(rule); return(rule); }
/// <summary> /// Deletes specified user message rule from virtual server. /// </summary> /// <param name="rule">User message rule to delete.</param> public void Remove(UserMessageRule rule) { /* DeleteUserMessageRule <virtualServerID> "<userID>" "<ruleID>" * Responses: +OK * -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP DeleteUserMessageRule m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserMessageRule " + m_pUser.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pUser.UserID) + " " + TextUtils.QuoteString(rule.ID) ); string response = m_pUser.VirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } m_pRules.Remove(rule); }
/// <summary> /// Adds new user message rule to virtual server. /// </summary> /// <param name="enabled">Specifies if user message rules is enabled.</param> /// <param name="description">User message rule description.</param> /// <param name="matchExpression">Match expression.</param> /// <param name="checkNext">Specifies when next rule is checked.</param> /// <returns></returns> public UserMessageRule Add(bool enabled,string description,string matchExpression,GlobalMessageRule_CheckNextRule_enum checkNext) { /* AddUserMessageRule <virtualServerID> "<userID>" "<ruleID>" <cost> <enabled> "<description>" "<matchExpression>" <checkNext> Responses: +OK -ERR <errorText> */ string id = Guid.NewGuid().ToString(); long cost = DateTime.Now.Ticks; // Call TCP AddUserMessageRule m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUserMessageRule " + m_pUser.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pUser.UserID) + " " + TextUtils.QuoteString(id) + " " + cost + " " + enabled + " " + TextUtils.QuoteString(description) + " " + TextUtils.QuoteString(matchExpression.TrimEnd()) + " " + (int)checkNext ); string response = m_pUser.VirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } UserMessageRule rule = new UserMessageRule(this,id,cost,enabled,description,matchExpression,checkNext); m_pRules.Add(rule); return rule; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Owner user message rule.</param> internal UserMessageRuleActionCollection(UserMessageRule rule) { m_pRule = rule; m_pActions = new List <UserMessageRuleActionBase>(); Bind(); }
/// <summary> /// Default constructor. /// </summary> /// <param name="actionType">Specifies action type.</param> /// <param name="rule">Onwer rule that owns this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> internal UserMessageRuleActionBase(UserMessageRuleAction_enum actionType, UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description) { m_ActionType = actionType; m_pRule = rule; m_pOwner = owner; m_ID = id; m_Description = description; }
/// <summary> /// Default constructor. /// </summary> /// <param name="actionType">Specifies action type.</param> /// <param name="rule">Onwer rule that owns this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> internal UserMessageRuleActionBase(UserMessageRuleAction_enum actionType,UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description) { m_ActionType = actionType; m_pRule = rule; m_pOwner = owner; m_ID = id; m_Description = description; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">FTP server where to store message.</param> /// <param name="port">FTP server port.</param> /// <param name="userName">FTP server user name.</param> /// <param name="password">FTP server user password.</param> /// <param name="folder">FTP folder where to store message.</param> internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port, string userName, string password, string folder) : base(UserMessageRuleAction_enum.StoreToFTPFolder, rule, owner, id, description) { m_Server = host; m_Port = port; m_UserName = userName; m_Password = password; m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">FTP server where to store message.</param> /// <param name="port">FTP server port.</param> /// <param name="userName">FTP server user name.</param> /// <param name="password">FTP server user password.</param> /// <param name="folder">FTP folder where to store message.</param> internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port,string userName,string password,string folder) : base(UserMessageRuleAction_enum.StoreToFTPFolder,rule,owner,id,description) { m_Server = host; m_Port = port; m_UserName = userName; m_Password = password; m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.RemoveHeaderField,rule,owner,id,description) { /* Action data structure: <ActionData> <HeaderFieldName></HeaderFieldName> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_HeaderFieldName = table.GetValue("HeaderFieldName"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToEmail,rule,owner,id,description) { /* Action data structure: <ActionData> <Email></Email> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_EmailAddress = table.GetValue("Email"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.StoreToDiskFolder,rule,owner,id,description) { /* Action data structure: <ActionData> <Folder></Folder> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Folder = table.GetValue("Folder"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToEmail, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Email></Email> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_EmailAddress = table.GetValue("Email"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.StoreToDiskFolder, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Folder></Folder> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Folder = table.GetValue("Folder"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.RemoveHeaderField, rule, owner, id, description) { /* Action data structure: * <ActionData> * <HeaderFieldName></HeaderFieldName> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_HeaderFieldName = table.GetValue("HeaderFieldName"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ExecuteProgram,rule,owner,id,description) { /* Action data structure: <ActionData> <Program></Program> <Arguments></Arguments> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Program = table.GetValue("Program"); m_ProgramArgs = table.GetValue("Arguments"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToHost,rule,owner,id,description) { /* Action data structure: <ActionData> <Host></Host> <Port></Port> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Host = table.GetValue("Host"); m_Port = Convert.ToInt32(table.GetValue("Port")); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_PostToHttp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.PostToHTTP,rule,owner,id,description) { /* Action data structure: <ActionData> <URL></URL> <FileName></FileName> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Url = table.GetValue("URL"); // table.GetValue("FileName"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_PostToHttp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.PostToHTTP, rule, owner, id, description) { /* Action data structure: * <ActionData> * <URL></URL> * <FileName></FileName> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Url = table.GetValue("URL"); // table.GetValue("FileName"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToHost, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Host></Host> * <Port></Port> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Host = table.GetValue("Host"); m_Port = Convert.ToInt32(table.GetValue("Port")); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_AutoResponse(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.AutoResponse,rule,owner,id,description) { /* Action data structure: <ActionData> <From></From> <Message></Message> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_From = table.GetValue("From"); m_Message = System.Text.Encoding.Default.GetBytes(table.GetValue("Message")); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ExecuteProgram, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Program></Program> * <Arguments></Arguments> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Program = table.GetValue("Program"); m_ProgramArgs = table.GetValue("Arguments"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_AutoResponse(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.AutoResponse, rule, owner, id, description) { /* Action data structure: * <ActionData> * <From></From> * <Message></Message> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_From = table.GetValue("From"); m_Message = System.Text.Encoding.Default.GetBytes(table.GetValue("Message")); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup,rule,owner,id,description) { /* Action data structure: <ActionData> <Server></Server> <Port></Server> <User></User> <Password></Password> <Newsgroup></Newsgroup> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Server = table.GetValue("Server"); m_Port = Convert.ToInt32(table.GetValue("Port")); // table.Add("User",""); // table.Add("Password",""); m_Newsgroup = table.GetValue("Newsgroup"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner USerMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.StoreToFTPFolder,rule,owner,id,description) { /* Action data structure: <ActionData> <Server></Server> <Port></Server> <User></User> <Password></Password> <Folder></Folder> </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Server = table.GetValue("Server"); m_Port = Convert.ToInt32(table.GetValue("Port")); m_UserName = table.GetValue("User"); m_Password = table.GetValue("Password"); m_Folder = table.GetValue("Folder"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Server></Server> * <Port></Server> * <User></User> * <Password></Password> * <Newsgroup></Newsgroup> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Server = table.GetValue("Server"); m_Port = Convert.ToInt32(table.GetValue("Port")); // table.Add("User",""); // table.Add("Password",""); m_Newsgroup = table.GetValue("Newsgroup"); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner USerMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="actionData">Action data.</param> internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.StoreToFTPFolder, rule, owner, id, description) { /* Action data structure: * <ActionData> * <Server></Server> * <Port></Server> * <User></User> * <Password></Password> * <Folder></Folder> * </ActionData> */ XmlTable table = new XmlTable("ActionData"); table.Parse(actionData); m_Server = table.GetValue("Server"); m_Port = Convert.ToInt32(table.GetValue("Port")); m_UserName = table.GetValue("User"); m_Password = table.GetValue("Password"); m_Folder = table.GetValue("Folder"); }
/// <summary> /// Edit constructor. /// </summary> /// <param name="user">Message rule owner user</param> /// <param name="rule">Rule to update.</param> public wfrm_User_MessageRule(User user,UserMessageRule rule) { m_pUser = user; m_pRule = rule; InitUI(); m_pTab_General_Enabled.Checked = rule.Enabled; if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.Always){ m_pTab_General_CheckNextRule.SelectedIndex = 0; } else if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.IfMatches){ m_pTab_General_CheckNextRule.SelectedIndex = 1; } else if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.IfNotMatches){ m_pTab_General_CheckNextRule.SelectedIndex = 2; } m_pTab_General_Description.Text = rule.Description; m_pTab_General_MatchExpression.Text = rule.MatchExpression; this.m_pTab_General_MatchExpression_TextChanged(this,new EventArgs()); LoadActions(); }
/// <summary> /// Deletes specified user message rule from virtual server. /// </summary> /// <param name="rule">User message rule to delete.</param> public void Remove(UserMessageRule rule) { /* DeleteUserMessageRule <virtualServerID> "<userID>" "<ruleID>" Responses: +OK -ERR <errorText> */ string id = Guid.NewGuid().ToString(); // Call TCP DeleteUserMessageRule m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserMessageRule " + m_pUser.VirtualServer.VirtualServerID + " " + TextUtils.QuoteString(m_pUser.UserID) + " " + TextUtils.QuoteString(rule.ID) ); string response = m_pUser.VirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } m_pRules.Remove(rule); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that owns this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="headerFieldName">Header field name.</param> /// <param name="headerFieldValue">Header field name.</param> internal UserMessageRuleAction_AddHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string headerFieldName,string headerFieldValue) : base(UserMessageRuleAction_enum.AddHeaderField,rule,owner,id,description) { m_HeaderFieldName = headerFieldName; m_HeaderFieldValue = headerFieldValue; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="headerField">Header field name what to remove.</param> internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string headerField) : base(UserMessageRuleAction_enum.RemoveHeaderField, rule, owner, id, description) { m_HeaderFieldName = headerField; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="headerField">Header field name what to remove.</param> internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string headerField) : base(UserMessageRuleAction_enum.RemoveHeaderField,rule,owner,id,description) { m_HeaderFieldName = headerField; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="from">MAIL FROM: what is reported to destination SMTP server when auto response is sent.</param> /// <param name="message">Full auto response message. This must be rfc 2822 defined message.</param> internal UserMessageRuleAction_AutoResponse(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string from, byte[] message) : base(UserMessageRuleAction_enum.AutoResponse, rule, owner, id, description) { m_From = from; m_Message = message; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">Host name or IP where to forward message.</param> /// <param name="port">Destination host port.</param> internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port) : base(UserMessageRuleAction_enum.ForwardToHost,rule,owner,id,description) { m_Host = host; m_Port = port; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="from">MAIL FROM: what is reported to destination SMTP server when auto response is sent.</param> /// <param name="message">Full auto response message. This must be rfc 2822 defined message.</param> internal UserMessageRuleAction_AutoResponse(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string from,byte[] message) : base(UserMessageRuleAction_enum.AutoResponse,rule,owner,id,description) { m_From = from; m_Message = message; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="url">HTTP URL where to post message.</param> internal UserMessageRuleAction_PostToHttp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string url) : base(UserMessageRuleAction_enum.PostToHTTP,rule,owner,id,description) { m_Url = url; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="program">Program to execute.</param> /// <param name="programArgs">Executable program arguments.</param> internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string program,string programArgs) : base(UserMessageRuleAction_enum.ExecuteProgram,rule,owner,id,description) { m_Program = program; m_ProgramArgs = programArgs; }
/// <summary> /// Add constructor. /// </summary> /// <param name="rule">Owner rule.</param> public wfrm_UserMessageRule_Action(UserMessageRule rule) { m_pRule = rule; InitUI(); m_pAction.SelectedIndex = 0; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="folder">IMAP folder where to move message. If specified folder doesn't exist, message is store users Inbox.</param> internal UserMessageRuleAction_MoveToImapFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string folder) : base(UserMessageRuleAction_enum.MoveToIMAPFolder, rule, owner, id, description) { m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="folder">IMAP folder where to move message. If specified folder doesn't exist, message is store users Inbox.</param> internal UserMessageRuleAction_MoveToImapFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string folder) : base(UserMessageRuleAction_enum.MoveToIMAPFolder,rule,owner,id,description) { m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">NTTP server where to post message.</param> /// <param name="port">NNTP server port.</param> /// <param name="newsgroup">NTTP newsgroup where to post message.</param> internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port,string newsgroup) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup,rule,owner,id,description) { m_Server = host; m_Port = port; m_Newsgroup = newsgroup; }
private void m_pOk_Click(object sender, EventArgs e) { if(!CheckSyntax(false)){ return; } if(m_pTab_General_Description.Text == ""){ MessageBox.Show(this,"Please fill description !","Error:",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } // Add new rule if(m_pRule == null){ m_pRule = m_pUser.MessageRules.Add( m_pTab_General_Enabled.Checked, m_pTab_General_Description.Text, m_pTab_General_MatchExpression.Text, (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag ); } // Edit rule else{ m_pRule.Enabled = m_pTab_General_Enabled.Checked; m_pRule.Description = m_pTab_General_Description.Text; m_pRule.MatchExpression = m_pTab_General_MatchExpression.Text; m_pRule.CheckNextRule = (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag; m_pRule.Commit(); } this.DialogResult = DialogResult.OK; }
private void m_pTab_General_Create_Click(object sender,EventArgs e) { if(!CheckSyntax(false)){ return; } m_pRule = m_pUser.MessageRules.Add( m_pTab_General_Enabled.Checked, m_pTab_General_Description.Text, m_pTab_General_MatchExpression.Text, (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag ); m_pTab_General_Create.Visible = false; m_pTab_General_MatchExpression.Height += 25; m_pTab.TabPages.Add(m_pTab_Actions); }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="email">Email address where to forward message.</param> internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string email) : base(UserMessageRuleAction_enum.ForwardToEmail, rule, owner, id, description) { m_EmailAddress = email; }
/// <summary> /// Edit constructor. /// </summary> /// <param name="rule">Owner rule.</param> /// <param name="action">User messgae rule action action.</param> public wfrm_UserMessageRule_Action(UserMessageRule rule,UserMessageRuleActionBase action) { m_pRule = rule; m_pActionData = action; InitUI(); m_pDescription.Text = action.Description; m_pAction.Enabled = false; //--- Pase action data -------------------------------------------------// #region AutoResponse if(action.ActionType == UserMessageRuleAction_enum.AutoResponse){ UserMessageRuleAction_AutoResponse a = (UserMessageRuleAction_AutoResponse)action; m_pAutoResponse_From.Text = a.From; m_pAutoResponse_FullMEssage.Text = System.Text.Encoding.Default.GetString(a.Message); m_pAction.SelectedIndex = 0; } #endregion #region DeleteMessage else if(action.ActionType == UserMessageRuleAction_enum.DeleteMessage){ UserMessageRuleAction_DeleteMessage a = (UserMessageRuleAction_DeleteMessage)action; m_pAction.SelectedIndex = 1; } #endregion #region ExecuteProgram else if(action.ActionType == UserMessageRuleAction_enum.ExecuteProgram){ UserMessageRuleAction_ExecuteProgram a = (UserMessageRuleAction_ExecuteProgram)action; m_pExecuteProgram_ProgramToExecute.Text = a.Program; m_pExecuteProgram_ProgramArguments.Text = a.ProgramArguments; m_pAction.SelectedIndex = 2; } #endregion #region ForwardToEmail else if(action.ActionType == UserMessageRuleAction_enum.ForwardToEmail){ UserMessageRuleAction_ForwardToEmail a = (UserMessageRuleAction_ForwardToEmail)action; m_pForwardToEmail_Email.Text = a.EmailAddress; m_pAction.SelectedIndex = 3; } #endregion #region ForwardToHost else if(action.ActionType == UserMessageRuleAction_enum.ForwardToHost){ UserMessageRuleAction_ForwardToHost a = (UserMessageRuleAction_ForwardToHost)action; m_pForwardToHost_Host.Text = a.Host; m_pForwardToHost_HostPort.Value = a.Port; m_pAction.SelectedIndex = 4; } #endregion #region StoreToDiskFolder else if(action.ActionType == UserMessageRuleAction_enum.StoreToDiskFolder){ UserMessageRuleAction_StoreToDiskFolder a = (UserMessageRuleAction_StoreToDiskFolder)action; m_pStoreToDiskFolder_Folder.Text = a.Folder; m_pAction.SelectedIndex = 5; } #endregion #region StoreToIMAPFolder else if(action.ActionType == UserMessageRuleAction_enum.MoveToIMAPFolder){ UserMessageRuleAction_MoveToImapFolder a = (UserMessageRuleAction_MoveToImapFolder)action; m_pMoveToIMAPFolder_Folder.Text = a.Folder; m_pAction.SelectedIndex = 6; } #endregion #region AddHeaderField else if(action.ActionType == UserMessageRuleAction_enum.AddHeaderField){ UserMessageRuleAction_AddHeaderField a = (UserMessageRuleAction_AddHeaderField)action; m_pAddHeaderField_FieldName.Text = a.HeaderFieldName; m_pAddHeaderField_FieldValue.Text = a.HeaderFieldValue; m_pAction.SelectedIndex = 7; } #endregion #region RemoveHeaderField else if(action.ActionType == UserMessageRuleAction_enum.RemoveHeaderField){ UserMessageRuleAction_RemoveHeaderField a = (UserMessageRuleAction_RemoveHeaderField)action; m_pRemoveHeaderField_FieldName.Text = a.HeaderFieldName; m_pAction.SelectedIndex = 8; } #endregion #region StoreToFTPFolder else if(action.ActionType == UserMessageRuleAction_enum.StoreToFTPFolder){ UserMessageRuleAction_StoreToFtp a = (UserMessageRuleAction_StoreToFtp)action; m_pStoreToFTPFolder_Server.Text = a.Server; m_pStoreToFTPFolder_Port.Value = a.Port; m_pStoreToFTPFolder_User.Text = a.UserName; m_pStoreToFTPFolder_Password.Text = a.Password; m_pStoreToFTPFolder_Folder.Text = a.Folder; m_pAction.SelectedIndex = 10; } #endregion #region PostToNNTPNewsGroup else if(action.ActionType == UserMessageRuleAction_enum.PostToNNTPNewsGroup){ UserMessageRuleAction_PostToNntpNewsgroup a = (UserMessageRuleAction_PostToNntpNewsgroup)action; m_pPostToNNTPNewsgroup_Server.Text = a.Server; m_pPostToNNTPNewsgroup_Port.Value = a.Port; // table.Add("User",""); // table.Add("Password",""); m_pPostToNNTPNewsgroup_Newsgroup.Text = a.Newsgroup; m_pAction.SelectedIndex = 11; } #endregion #region PostToHTTP else if(action.ActionType == UserMessageRuleAction_enum.PostToHTTP){ UserMessageRuleAction_PostToHttp a = (UserMessageRuleAction_PostToHttp)action; m_pPostToHTTP_URL.Text = a.Url; // table.GetValue("FileName"); m_pAction.SelectedIndex = 12; } #endregion //---------------------------------------------------------------------// }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="url">HTTP URL where to post message.</param> internal UserMessageRuleAction_PostToHttp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string url) : base(UserMessageRuleAction_enum.PostToHTTP, rule, owner, id, description) { m_Url = url; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="folder">Disk folder where to store message.</param> internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string folder) : base(UserMessageRuleAction_enum.StoreToDiskFolder, rule, owner, id, description) { m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">NTTP server where to post message.</param> /// <param name="port">NNTP server port.</param> /// <param name="newsgroup">NTTP newsgroup where to post message.</param> internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port, string newsgroup) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup, rule, owner, id, description) { m_Server = host; m_Port = port; m_Newsgroup = newsgroup; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="program">Program to execute.</param> /// <param name="programArgs">Executable program arguments.</param> internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string program, string programArgs) : base(UserMessageRuleAction_enum.ExecuteProgram, rule, owner, id, description) { m_Program = program; m_ProgramArgs = programArgs; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="host">Host name or IP where to forward message.</param> /// <param name="port">Destination host port.</param> internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port) : base(UserMessageRuleAction_enum.ForwardToHost, rule, owner, id, description) { m_Host = host; m_Port = port; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="email">Email address where to forward message.</param> internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string email) : base(UserMessageRuleAction_enum.ForwardToEmail,rule,owner,id,description) { m_EmailAddress = email; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that ows this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="folder">Disk folder where to store message.</param> internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string folder) : base(UserMessageRuleAction_enum.StoreToDiskFolder,rule,owner,id,description) { m_Folder = folder; }
/// <summary> /// Default constructor. /// </summary> /// <param name="rule">Onwer rule that owns this action.</param> /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param> /// <param name="id">Action ID.</param> /// <param name="description">Action description.</param> /// <param name="headerFieldName">Header field name.</param> /// <param name="headerFieldValue">Header field name.</param> internal UserMessageRuleAction_AddHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string headerFieldName, string headerFieldValue) : base(UserMessageRuleAction_enum.AddHeaderField, rule, owner, id, description) { m_HeaderFieldName = headerFieldName; m_HeaderFieldValue = headerFieldValue; }