# $File: //depot/libOurNet/BBS/lib/OurNet/BBS/MailBox/Article.pm $ $Author: autrijus $
# $Revision: #2 $ $Change: 3792 $ $DateTime: 2003/01/24 19:34:06 $
package OurNet::BBS::MailBox::Article;
use strict;
no warnings 'deprecated';
use fields qw/mgr board folder name recno _ego _hash/;
use OurNet::BBS::Base;
sub refresh_body {
my $self = shift;
return if defined $self->{_hash}{body};
$self->{_hash}{body} = join(
'', @{$self->{folder}->message($self->{recno})->body}
);
}
sub refresh_header {
my $self = shift;
return if $self->{_hash}{header};
my $head = $self->{folder}->message($self->{recno})->head;
$self->{_hash}{header} = {
map { $_ => substr(join('', $head->get($_)), 0, -1) }
map { $_ eq 'Message-Id' ? 'Message-ID' : $_ }
keys %{$head->{mail_hdr_hash}}
};
}
sub refresh_meta {
my $self = shift;
$self->refresh_header;
$self->{_hash}{author} = $self->{_hash}{header}{From};
$self->{_hash}{title} = $self->{_hash}{header}{Subject};
$self->{_hash}{board} = $self->{_hash}{header}{Board} = $self->{board};
1;
}
sub STORE {
die 'no Article STORE yet';
}
1;