1: <?php
2: /**
3: * Abstract class to allow for modularization of specific system login tasks
4: * that are always run on login.
5: *
6: * Copyright 2009-2012 Horde LLC (http://www.horde.org/)
7: *
8: * See the enclosed file COPYING for license information (LGPL). If you
9: * did not receive this file, see http://www.horde.org/licenses/lgpl21.
10: *
11: * @author Michael Slusarz <slusarz@horde.org>
12: * @category Horde
13: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
14: * @package LoginTasks
15: */
16: abstract class Horde_LoginTasks_SystemTask
17: {
18: /**
19: * Should the task be run?
20: *
21: * @var boolean
22: */
23: public $active = true;
24:
25: /**
26: * The interval at which to run the task.
27: *
28: * @var integer
29: */
30: public $interval = Horde_LoginTasks::EVERY;
31:
32: /**
33: * Do login task (if it has been confirmed).
34: */
35: abstract public function execute();
36:
37: /**
38: * Skip the current task? If true, will not run on this access but
39: * will attempt to run on the next access.
40: *
41: * @return boolean Skip the current task?
42: */
43: public function skip()
44: {
45: return false;
46: }
47:
48: }
49: