aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filtertypes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'filter/filtertypes.xml')
-rw-r--r--filter/filtertypes.xml209
1 files changed, 102 insertions, 107 deletions
diff --git a/filter/filtertypes.xml b/filter/filtertypes.xml
index 2a94de574f..db5ceaa3ac 100644
--- a/filter/filtertypes.xml
+++ b/filter/filtertypes.xml
@@ -1,110 +1,105 @@
<?xml version="1.0"?>
<filterdescription>
-<ruleset type="match">
-<rule name="from-address">
- <code>
- (match-all (header-contains "From" ${sender}))
- </code>
- <description lang="en">The From address matches <source type="address" name="sender">sender(s)</source>.</description>
-</rule>
-
-<rule name="to-address">
- <code>
- (match-all (or (header-contains "To" ${recipient})
- (header-contains "Cc" ${recipient})))
- </code>
- <description lang="en">The To or Cc address matches <source type="address" name="recipient">recipients</source>.</description>
-</rule>
-
-<rule name="subject-contains">
- <code>
- (match-all (header-contains "Subject" ${words}))
- </code>
- <description lang="en">The Subject contains <source type="string" name="words">words</source>.</description>
-</rule>
-
-<rule name="body-contains">
- <code>
- (match-all (body-contains ${words}))
- </code>
- <description lang="en">The body contains <source type="string" name="words">words</source>.</description>
-</rule>
-
-<rule name="cc-address">
- <code>
- (match-all (header-contains "CC" ${self-email}))
- </code>
- <description lang="en">I am in the cc list.</description>
-</rule>
-
-<rule name="msg-size">
- <code>
- (&amp; (&gt; message-size (size-lower size-range))
- (&lt; message-size (size-uppwer size-range)))
- </code>
- <description lang="en">The message is a <source type="size-range" name="size">certain size</source>.</description>
-</rule>
-</ruleset>
-
-<ruleset type="action">
-<rule name="copy-me">
- <code>
- (copy-to ${folder})
- </code>
- <description language="en">Send a copy to <source type="folder" name="folder">folder</source>.</description>
-</rule>
-<rule name="forward">
- <code>
- (forward-to ${address})
- </code>
- <description language="en">Forward the message to <source type="address" name="address">people</source>.</description>
-</rule>
-<rule name="delete">
- <code>
- (delete)
- </code>
- <description language="en">Delete message.</description>
-</rule>
-<rule name="stop">
- <code>
- (stop)
- </code>
- <description language="en">Stop processing further rules for this message.</description>
-</rule>
-</ruleset>
-
-<ruleset type="except">
-<rule name="except-me">
- <code>
- (match-all (not (header-contains "To" ${self-email})))
- </code>
- <description language="en">When I am the recipient.</description>
-</rule>
-
-<rule name="not-body-contains">
- <code>
- (match-all (not (body-contains ${words})))
- </code>
- <description lang="en">The body does not contain <source type="string" name="words">words</source>.</description>
-</rule>
-
-</ruleset>
-
-<optionset>
- <option type="receive">
- <description language="en">When a message arrives.</description>
- </option>
- <option type="send">
- <description language="en">When a message is sent.</description>
- </option>
- <option type="receive">
- <description language="en">Copy incoming messages from a certain address to specific folder.</description>
- <optionrule type="match" rule="from-address"/>
- <optionrule type="action" rule="copy-me"/>
- </option>
- <option type="send">
- <description language="en">Copy sent messages to a specific folder.</description>
- <optionrule type="action" rule="copy-me"/>
- </option>
-</optionset>
+<partset>
+ <part name="sender">
+ <title>Sender</title>
+ <input type="optionlist" name="sender-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>(match-all (header-contains "From" ${sender}))</code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>(match-all (not (header-contains "From" ${sender})))</code>
+ </option>
+ </input>
+ <input type="string" name="sender"/>
+ </part>
+ <part name="to">
+ <title>Recipients</title>
+ <input type="optionlist" name="recipient-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (or (header-contains "To" ${recipient})
+ (header-contains "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (or
+ (header-contains "To" ${recipient})
+ (header-contains "Cc" ${recipient}))))
+ </code>
+ </option>
+ </input>
+ <input type="address" name="recipient"/>
+ </part>
+ <part name="subject">
+ <title>Subject</title>
+ <input type="optionlist" name="subject-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains "Subject" ${subject})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="subject"/>
+ </part>
+ <part name="body">
+ <title>Message Body</title>
+ <input type="optionlist" name="body-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (body-contains ${word})
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (not (body-contains "Subject" ${word}))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="word"/>
+ </part>
+ <part name="sexp">
+ <title>Expression</title>
+ <input type="code" name="code"/>
+ </part>
+</partset>
+<actionset>
+ <part name="copy-to-folder">
+ <title>Copy to Folder</title>
+ <code>(copy-to ${folder})</code>
+ <input type="folder" name="folder"/>
+ </part>
+ <part name="forward-to">
+ <title>Forward to address</title>
+ <code>(forward-to ${address})</code>
+ <input type="address" name="address"/>
+ </part>
+ <part name="delete">
+ <title>Delete</title>
+ <code>(delete)</code>
+ </part>
+ <part name="stop">
+ <title>Stop processing</title>
+ <code>(stop)</code>
+ </part>
+ <part name="colour">
+ <title>Assign Colour</title>
+ <code>(set-colour ${colour})</code>
+ <input type="colour" name="colour"/>
+ </part>
+</actionset>
</filterdescription>