/[meteor]/trunk/Meteor/Message.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/Meteor/Message.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16 - (hide annotations)
Tue May 1 16:59:28 2007 UTC (12 years, 6 months ago) by knops.gerd
Original Path: googlecode.com/svn/trunk/Meteor/Message.pm
File size: 2775 byte(s)
• Add ~channel~ to the list of available placeholders

1 knops.gerd 11 #!/usr/bin/perl -w
2     ###############################################################################
3     # Meteor
4     # An HTTP server for the 2.0 web
5     # Copyright (c) 2006 contributing authors
6     #
7     # Subscriber.pm
8     #
9     # Description:
10     # Meteor message object
11     #
12     ###############################################################################
13     #
14     # This program is free software; you can redistribute it and/or modify it
15     # under the terms of the GNU General Public License as published by the Free
16     # Software Foundation; either version 2 of the License, or (at your option)
17     # any later version.
18     #
19     # This program is distributed in the hope that it will be useful, but WITHOUT
20     # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21     # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
22     # more details.
23     #
24     # You should have received a copy of the GNU General Public License along
25     # with this program; if not, write to the Free Software Foundation, Inc.,
26     # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27     #
28     # For more information visit www.meteorserver.org
29     #
30     ###############################################################################
31    
32     package Meteor::Message;
33     ###############################################################################
34     # Configuration
35     ###############################################################################
36    
37     use strict;
38    
39     ###############################################################################
40     # Factory methods
41     ###############################################################################
42     sub new {
43     #
44     # Create a new empty instance
45     #
46     my $class=shift;
47    
48     my $obj={};
49    
50     bless($obj,$class);
51     }
52    
53     sub newWithID {
54     #
55     # new instance from new server connection
56     #
57     my $self=shift->new();
58     my $id=shift;
59     my $text=shift || '';
60    
61     $self->{'timestamp'}=time;
62     $self->{'id'}=$id;
63     $self->{'text'}=$text;
64    
65     &::syslog('debug',"New message $id");
66    
67     $self;
68     }
69    
70     ###############################################################################
71     # Instance methods
72     ###############################################################################
73     sub setText {
74     my $self=shift;
75     my $text=shift || '';
76    
77     $self->{'text'}=$text;
78     }
79    
80 knops.gerd 16 sub channelName {
81     shift->{'channel'};
82     }
83    
84     sub setChannelName {
85     my $self=shift;
86     my $channelName=shift || '';
87    
88     $self->{'channel'}=$channelName;
89     }
90    
91 knops.gerd 11 sub text {
92     shift->{'text'};
93     }
94    
95     sub id {
96     shift->{'id'};
97     }
98    
99     sub timestamp {
100     shift->{'timestamp'};
101     }
102    
103     sub message {
104     my $self=shift;
105    
106     my $msg=$::CONF{'MessageTemplate'};
107    
108     $msg=~s/~([^~]*)~/
109     if(!defined($1) || $1 eq '')
110     {
111     '~';
112     }
113     elsif(exists($self->{$1}))
114     {
115     $self->{$1};
116     }
117     else
118     {
119     '';
120     }
121     /gex;
122    
123     $msg;
124     }
125    
126     1;
127 andrew.betts 3 ############################################################################EOF

  ViewVC Help
Powered by ViewVC 1.1.26