/usr/local/CPAN/Apache-App-Mercury/Apache/App/Mercury/UserManager/Demo.pm
package Apache::App::Mercury::UserManager::Demo;
require 5.004;
use strict;
use base qw(Apache::App::Mercury::Base);
sub initialize {
my ($self, $wm) = @_;
# grab ref to Apache request and CGI objects from parent
$self->{r} = $wm->{r} if ref $wm->{r};
$self->{q} = $wm->{q} if ref $wm->{q};
}
sub cleanup {
foreach (qw(q r)) { delete $_[0]->{$_} }
}
use constant USERS => [ qw(homer marge bart lisa maggie) ];
use constant USERINFO => { homer => { user => 'homer',
fname => 'Homer',
mname => 'T',
lname => 'Simpson',
e_mail => 'homer@simpsons.com',
},
marge => { user => 'marge',
fname => 'Marge',
mname => 'N',
lname => 'Simpson',
e_mail => 'marge@simpsons.com',
},
bart => { user => 'bart',
fname => 'Bart',
mname => 'P',
lname => 'Simpson',
e_mail => 'bart@simpsons.com',
},
lisa => { user => 'lisa',
fname => 'Lisa',
mname => 'A',
lname => 'Simpson',
e_mail => 'lisa@simpsons.com',
},
maggie => { user => 'maggie',
fname => 'Maggie',
mname => 'B',
lname => 'Simpson',
e_mail => 'maggie@simpsons.com',
},
};
sub userprofile {
my ($self, $param) = @_;
my $user = $self->{q}->param('user');
# return $user if ($param eq 'user');
return USERINFO->{$user}->{fname}." ".USERINFO->{$user}->{lname}
if ($param eq 'user_desc');
return USERINFO->{$user}->{$param};
}
sub get_userinfo {
my ($self, @users) = @_;
return map { USERINFO->{$_} } @users;
}
sub user_preferences {
my ($self, $user) = @_;
return ('user' => $user,
'custom_mailboxes' => [],
'mail_filters' => { trans => 'inbox' },
'mail_auto_forward' =>
{ forward_low_security => 'none',
forward_medium_security => 'none',
forward_high_security => 'none' });
}
sub mailboxes {
my ($self, $user, @update_boxes) = @_;
return () unless @update_boxes;
return 1;
}
sub mail_trans_filter {
my ($self, $trans_box) = @_;
return 'inbox' unless $trans_box;
return 1;
}
sub auto_forward {
my ($self, $level, $fwd_type) = @_;
return 'none' unless $fwd_type;
return 1;
}
1;