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
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
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
20 ###############################################################################
\r
21 # $Id:: Event.pm 291 2007-02-05 21:24:46Z ceetee $ #
\r
22 ###############################################################################
\r
26 Chirpy::Event - Represents a log event
\r
30 $event = new Chirpy::Event($id, $date, $code, $user, $data);
\r
32 $id = $event->get_id();
\r
33 $event->set_id($id);
\r
35 $date = $event->get_date();
\r
36 $event->set_date($date);
\r
38 $code = $event->get_code();
\r
39 $event->set_code($code);
\r
41 $user = $event->get_user();
\r
42 $event->set_user($user);
\r
44 $data = $event->get_data();
\r
45 $event->set_data($data);
\r
47 $event_code = Chirpy::Event::translate_code($code);
\r
55 The event ID must be a positive non-zero integer.
\r
59 The event date must be a UNIX timestamp.
\r
63 The event code must be one of the event code constants described below.
\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
72 The event data must be a reference to a hash containing information about the
\r
77 =head1 EVENT CODE CONSTANTS
\r
79 Chirpy::Event::LOGIN_SUCCESS
\r
80 Chirpy::Event::LOGIN_FAILURE
\r
81 Chirpy::Event::CHANGE_PASSWORD
\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
92 Chirpy::Event::ADD_NEWS
\r
93 Chirpy::Event::EDIT_NEWS
\r
94 Chirpy::Event::REMOVE_NEWS
\r
96 Chirpy::Event::ADD_ACCOUNT
\r
97 Chirpy::Event::EDIT_ACCOUNT
\r
98 Chirpy::Event::REMOVE_ACCOUNT
\r
102 Tim De Pauw E<lt>ceetee@users.sourceforge.netE<gt>
\r
106 L<Chirpy>, L<http://chirpy.sourceforge.net/>
\r
110 Copyright 2005-2007 Tim De Pauw. All rights reserved.
\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
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
123 package Chirpy::Event;
\r
128 use constant LOGIN_SUCCESS => 100;
\r
129 use constant LOGIN_FAILURE => 101;
\r
130 use constant CHANGE_PASSWORD => 102;
\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
141 use constant ADD_NEWS => 300;
\r
142 use constant EDIT_NEWS => 301;
\r
143 use constant REMOVE_NEWS => 302;
\r
145 use constant ADD_ACCOUNT => 400;
\r
146 use constant EDIT_ACCOUNT => 401;
\r
147 use constant REMOVE_ACCOUNT => 402;
\r
149 use vars qw($VERSION $CODES);
\r
156 my ($class, $id, $date, $code, $user, $data) = @_;
\r
164 return bless($self, $class);
\r
169 return $self->{'id'};
\r
174 return ($self->{'id'} = shift);
\r
179 return $self->{'date'};
\r
184 return ($self->{'date'} = shift);
\r
189 return $self->{'code'};
\r
194 return ($self->{'code'} = shift);
\r
199 return $self->{'user'};
\r
204 return ($self->{'user'} = shift);
\r
209 return $self->{'data'};
\r
214 return ($self->{'data'} = shift);
\r
219 ###############################################################################