1: <?php
2: /**
3: * The Ingo_Script_Sieve_Action class represents an action in a Sieve script.
4: *
5: * An action is anything that has a side effect eg: discard, redirect.
6: *
7: * See the enclosed file LICENSE for license information (ASL). If you
8: * did not receive this file, see http://www.horde.org/licenses/apache.
9: *
10: * @author Mike Cochrane <mike@graftonhall.co.nz>
11: * @package Ingo
12: */
13: class Ingo_Script_Sieve_Action
14: {
15: /**
16: * Any necessary action parameters.
17: *
18: * @var array
19: */
20: protected $_vars = array();
21:
22: /**
23: * Returns a script snippet representing this rule and any sub-rules.
24: *
25: * @return string A Sieve script snippet.
26: */
27: public function toCode()
28: {
29: return 'toCode() Function Not Implemented in class ' . get_class($this) ;
30: }
31:
32: public function toString()
33: {
34: return $this->toCode();
35: }
36:
37: /**
38: * Checks if the rule parameters are valid.
39: *
40: * @return boolean|string True if this rule is valid, an error message
41: * otherwise.
42: */
43: public function check()
44: {
45: return 'check() Function Not Implemented in class ' . get_class($this) ;
46: }
47:
48: /**
49: * Returns a list of sieve extensions required for this rule and any
50: * sub-rules.
51: *
52: * @return array A Sieve extension list.
53: */
54: public function requires()
55: {
56: return array();
57: }
58:
59: }
60: