package OurNet::BBS::RAM::User;
use strict;
no warnings 'deprecated';
use fields qw/dbh id recno _ego _hash/;
use OurNet::BBS::Base (
'@packlist' => [
qw/uid name passwd realname userlevel email/ # username?
],
);
sub refresh_meta {
my ($self, $key) = @_;
$self->{_hash}{uid} ||= $self->{recno} - 1;
$self->{_hash}{name} ||= $self->{id};
return if exists $self->{_hash}{$key};
# XXX: USER FETCH
@{$self->{_hash}}{@packlist} = () if 0;
return 1;
}
sub refresh_mailbox {
my $self = shift;
# XXX: MAILBOX
$self->{_hash}{mailbox} ||= $self->module('ArticleGroup')->new({
dbh => $self->{dbh},
board => $self->{name},
name => 'mailbox',
});
}
sub STORE {
my ($self, $key, $value) = @_;
$self->refresh_meta($key);
$self->{_hash}{$key} = $value;
return 1;
}
1;
syntax highlighted by Code2HTML, v. 0.9.1