1: <?php
2: /**
3: * This class provides the base definition for built-in filters.
4: *
5: * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
6: *
7: * See the enclosed file COPYING for license information (GPL). If you
8: * did not receive this file, see http://www.horde.org/licenses/gpl.
9: *
10: * @author Michael Slusarz <slusarz@horde.org>
11: * @category Horde
12: * @license http://www.horde.org/licenses/gpl GPL
13: * @package IMP
14: */
15: abstract class IMP_Search_Filter_Builtin extends IMP_Search_Filter
16: {
17: /**
18: */
19: protected $_canEdit = false;
20:
21: /**
22: */
23: protected $_nosave = array('c', 'i', 'l');
24:
25: /**
26: * Constructor.
27: *
28: * The 'add', 'id', 'label', and 'mboxes' parameters are ignored.
29: */
30: public function __construct(array $opts = array())
31: {
32: $this->enabled = empty($opts['disable']);
33:
34: $this->_init();
35: }
36:
37: /**
38: */
39: abstract protected function _init();
40:
41: /**
42: */
43: public function unserialize($data)
44: {
45: parent::unserialize($data);
46: $this->_init();
47: }
48:
49: }
50: