moved qdb here because matt is lazy
[public/www-new.git] / pub / qdb / src / modules / Chirpy / Event.pm
1 ###############################################################################\r
2 # Chirpy! 0.3, a quote management system                                      #\r
3 # Copyright (C) 2005-2007 Tim De Pauw <ceetee@users.sourceforge.net>          #\r
4 ###############################################################################\r
5 # This program is free software; you can redistribute it and/or modify it     #\r
6 # under the terms of the GNU General Public License as published by the Free  #\r
7 # Software Foundation; either version 2 of the License, or (at your option)   #\r
8 # any later version.                                                          #\r
9 #                                                                             #\r
10 # This program is distributed in the hope that it will be useful, but WITHOUT #\r
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #\r
12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for   #\r
13 # more details.                                                               #\r
14 #                                                                             #\r
15 # You should have received a copy of the GNU General Public License along     #\r
16 # with this program; if not, write to the Free Software Foundation, Inc., 51  #\r
17 # Franklin St, Fifth Floor, Boston, MA  02110-1301  USA                       #\r
18 ###############################################################################\r
19 \r
20 ###############################################################################\r
21 # $Id:: Event.pm 291 2007-02-05 21:24:46Z ceetee                            $ #\r
22 ###############################################################################\r
23 \r
24 =head1 NAME\r
25 \r
26 Chirpy::Event - Represents a log event\r
27 \r
28 =head1 SYNOPSIS\r
29 \r
30  $event = new Chirpy::Event($id, $date, $code, $user, $data);\r
31 \r
32  $id = $event->get_id();\r
33  $event->set_id($id);\r
34 \r
35  $date = $event->get_date();\r
36  $event->set_date($date);\r
37 \r
38  $code = $event->get_code();\r
39  $event->set_code($code);\r
40 \r
41  $user = $event->get_user();\r
42  $event->set_user($user);\r
43 \r
44  $data = $event->get_data();\r
45  $event->set_data($data);\r
46  \r
47  $event_code = Chirpy::Event::translate_code($code);\r
48 \r
49 =head1 CONSTRAINTS\r
50 \r
51 =over 4\r
52 \r
53 =item ID\r
54 \r
55 The event ID must be a positive non-zero integer.\r
56 \r
57 =item Date\r
58 \r
59 The event date must be a UNIX timestamp.\r
60 \r
61 =item Code\r
62 \r
63 The event code must be one of the event code constants described below.\r
64 \r
65 =item User\r
66 \r
67 The user who was logged in at the time of the event must be an instance of\r
68 L<Chirpy::Account>, if any.\r
69 \r
70 =item Data\r
71 \r
72 The event data must be a reference to a hash containing information about the\r
73 event.\r
74 \r
75 =back\r
76 \r
77 =head1 EVENT CODE CONSTANTS\r
78 \r
79  Chirpy::Event::LOGIN_SUCCESS\r
80  Chirpy::Event::LOGIN_FAILURE\r
81  Chirpy::Event::CHANGE_PASSWORD\r
82 \r
83  Chirpy::Event::ADD_QUOTE\r
84  Chirpy::Event::EDIT_QUOTE\r
85  Chirpy::Event::REMOVE_QUOTE\r
86  Chirpy::Event::QUOTE_RATING_UP\r
87  Chirpy::Event::QUOTE_RATING_DOWN\r
88  Chirpy::Event::REPORT_QUOTE\r
89  Chirpy::Event::APPROVE_QUOTE\r
90  Chirpy::Event::UNFLAG_QUOTE\r
91 \r
92  Chirpy::Event::ADD_NEWS\r
93  Chirpy::Event::EDIT_NEWS\r
94  Chirpy::Event::REMOVE_NEWS\r
95 \r
96  Chirpy::Event::ADD_ACCOUNT\r
97  Chirpy::Event::EDIT_ACCOUNT\r
98  Chirpy::Event::REMOVE_ACCOUNT\r
99 \r
100 =head1 AUTHOR\r
101 \r
102 Tim De Pauw E<lt>ceetee@users.sourceforge.netE<gt>\r
103 \r
104 =head1 SEE ALSO\r
105 \r
106 L<Chirpy>, L<http://chirpy.sourceforge.net/>\r
107 \r
108 =head1 COPYRIGHT\r
109 \r
110 Copyright 2005-2007 Tim De Pauw. All rights reserved.\r
111 \r
112 This program is free software; you can redistribute it and/or modify it under\r
113 the terms of the GNU General Public License as published by the Free Software\r
114 Foundation; either version 2 of the License, or (at your option) any later\r
115 version.\r
116 \r
117 This program is distributed in the hope that it will be useful, but WITHOUT ANY\r
118 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\r
119 PARTICULAR PURPOSE.  See the GNU General Public License for more details.\r
120 \r
121 =cut\r
122 \r
123 package Chirpy::Event;\r
124 \r
125 use strict;\r
126 use warnings;\r
127 \r
128 use constant LOGIN_SUCCESS     => 100;\r
129 use constant LOGIN_FAILURE     => 101;\r
130 use constant CHANGE_PASSWORD   => 102;\r
131 \r
132 use constant ADD_QUOTE         => 200;\r
133 use constant EDIT_QUOTE        => 201;\r
134 use constant REMOVE_QUOTE      => 202;\r
135 use constant QUOTE_RATING_UP   => 203;\r
136 use constant QUOTE_RATING_DOWN => 204;\r
137 use constant REPORT_QUOTE      => 205;\r
138 use constant APPROVE_QUOTE     => 206;\r
139 use constant UNFLAG_QUOTE      => 207;\r
140 \r
141 use constant ADD_NEWS          => 300;\r
142 use constant EDIT_NEWS         => 301;\r
143 use constant REMOVE_NEWS       => 302;\r
144 \r
145 use constant ADD_ACCOUNT       => 400;\r
146 use constant EDIT_ACCOUNT      => 401;\r
147 use constant REMOVE_ACCOUNT    => 402;\r
148 \r
149 use vars qw($VERSION $CODES);\r
150 \r
151 $VERSION = '0.3';\r
152 \r
153 use Chirpy 0.3;\r
154 \r
155 sub new {\r
156         my ($class, $id, $date, $code, $user, $data) = @_;\r
157         my $self = {\r
158                 'id' => $id,\r
159                 'date' => $date,\r
160                 'code' => $code,\r
161                 'user' => $user,\r
162                 'data' => $data\r
163         };\r
164         return bless($self, $class);\r
165 }\r
166 \r
167 sub get_id {\r
168         my $self = shift;\r
169         return $self->{'id'};\r
170 }\r
171 \r
172 sub set_id {\r
173         my $self = shift;\r
174         return ($self->{'id'} = shift);\r
175 }\r
176 \r
177 sub get_date {\r
178         my $self = shift;\r
179         return $self->{'date'};\r
180 }\r
181 \r
182 sub set_date {\r
183         my $self = shift;\r
184         return ($self->{'date'} = shift);\r
185 }\r
186 \r
187 sub get_code {\r
188         my $self = shift;\r
189         return $self->{'code'};\r
190 }\r
191 \r
192 sub set_code {\r
193         my $self = shift;\r
194         return ($self->{'code'} = shift);\r
195 }\r
196 \r
197 sub get_user {\r
198         my $self = shift;\r
199         return $self->{'user'};\r
200 }\r
201 \r
202 sub set_user {\r
203         my $self = shift;\r
204         return ($self->{'user'} = shift);\r
205 }\r
206 \r
207 sub get_data {\r
208         my $self = shift;\r
209         return $self->{'data'};\r
210 }\r
211 \r
212 sub set_data {\r
213         my $self = shift;\r
214         return ($self->{'data'} = shift);\r
215 }\r
216 \r
217 1;\r
218 \r
219 ###############################################################################