1<?php
2
3class Horde_LoginTasks_Stub_Backend extends Horde_LoginTasks_Backend
4{
5    public static $lastRun;
6
7    private $_tasklist;
8    private $_tasklistCache = false;
9
10    public function __construct(array $tasks, $last_run = false)
11    {
12        $this->_tasklist = $tasks;
13        if ($last_run !== true) {
14            self::$lastRun = $last_run;
15        }
16    }
17
18    public function getTasklistFromCache()
19    {
20        return $this->_tasklistCache;
21    }
22
23    public function storeTasklistInCache($tasklist)
24    {
25        $this->_tasklistCache = $tasklist;
26    }
27
28    public function getTasks()
29    {
30        return $this->_tasklist;
31    }
32
33    public function getLastRun()
34    {
35        return self::$lastRun;
36    }
37
38    public function setLastRun(array $last)
39    {
40        self::$lastRun = $last;
41    }
42
43    public function markLastRun()
44    {
45        $lasttasks = $this->getLastRun();
46        $lasttasks['test'] = time();
47        self::$lastRun = $lasttasks;
48    }
49
50    public function redirect($url)
51    {
52        return $url;
53    }
54
55    public function getLoginTasksUrl()
56    {
57        return 'URL';
58    }
59}
60
61class Horde_LoginTasks_Stub_Task
62extends Horde_LoginTasks_Task
63{
64    public static $executed;
65
66    public $interval = Horde_LoginTasks::EVERY;
67    public $display = Horde_LoginTasks::DISPLAY_NONE;
68    public $priority = Horde_LoginTasks::PRIORITY_NORMAL;
69
70    public function execute()
71    {
72        Horde_LoginTasks_Stub_Task::$executed[] = get_class($this);
73    }
74}
75
76class Horde_LoginTasks_Stub_TaskTwo
77extends Horde_LoginTasks_Stub_Task
78{
79}
80
81class Horde_LoginTasks_Stub_Confirm
82extends Horde_LoginTasks_Stub_Task
83{
84    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
85}
86
87class Horde_LoginTasks_Stub_ConfirmTwo
88extends Horde_LoginTasks_Stub_Task
89{
90    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
91}
92
93class Horde_LoginTasks_Stub_ConfirmThree
94extends Horde_LoginTasks_Stub_Task
95{
96    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
97}
98
99class Horde_LoginTasks_Stub_ConfirmNo
100extends Horde_LoginTasks_Stub_Task
101{
102    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_NO;
103}
104
105class Horde_LoginTasks_Stub_Day
106extends Horde_LoginTasks_Stub_Task
107{
108    public $interval = Horde_LoginTasks::DAILY;
109}
110
111class Horde_LoginTasks_Stub_First
112extends Horde_LoginTasks_Stub_Task
113{
114    public $interval = Horde_LoginTasks::FIRST_LOGIN;
115}
116
117class Horde_LoginTasks_Stub_High
118extends Horde_LoginTasks_Stub_Task
119{
120    public $priority = Horde_LoginTasks::PRIORITY_HIGH;
121}
122
123class Horde_LoginTasks_Stub_Month
124extends Horde_LoginTasks_Stub_Task
125{
126    public $interval = Horde_LoginTasks::MONTHLY;
127}
128
129class Horde_LoginTasks_Stub_Notice
130extends Horde_LoginTasks_Stub_Task
131{
132    public $display = Horde_LoginTasks::DISPLAY_NOTICE;
133}
134
135class Horde_LoginTasks_Stub_NoticeTwo
136extends Horde_LoginTasks_Stub_Task
137{
138    public $display = Horde_LoginTasks::DISPLAY_NOTICE;
139}
140
141class Horde_LoginTasks_Stub_Once
142extends Horde_LoginTasks_Stub_Task
143{
144    public $interval = Horde_LoginTasks::ONCE;
145}
146
147class Horde_LoginTasks_Stub_Week
148extends Horde_LoginTasks_Stub_Task
149{
150    public $interval = Horde_LoginTasks::WEEKLY;
151}
152
153class Horde_LoginTasks_Stub_Year
154extends Horde_LoginTasks_Stub_Task
155{
156    public $interval = Horde_LoginTasks::YEARLY;
157}
158