Apache-App-Mercury
view release on metacpan or search on metacpan
Mercury/Display.pm view on Meta::CPAN
? $self->{$self->{'current_box'}}->{'msgs'}->{$msg}->{'subject'}
: '(no subject)'));
$self->{controller}->pagebody($self->display_message);
}
sub show_mail_settings {
my ($self) = @_;
$self->{controller}->pagetitle(Apache::App::Mercury::Config::APPLICATION_NAME()." - Settings");
$self->{controller}->pagebody($self->display_mail_settings);
}
############################ Sub Display Methods ############################
sub display_center_in_table {
my ($self) = @_;
my $q = $self->{q};
return
($q->div({-align => 'center'}, $q->h2("Message Center")) .
$q->hr({-width => '80%', -align => 'center'}) .
$q->startform(-action => BASE_URI) .
$q->table({-cellspacing => 0, -cellpadding => 2,
-border => 3, -width => '100%'},
$q->Tr($q->td({-valign => 'top', -width => '90%'},
$self->display_msglist) .
$q->td({-width => 2, -bgcolor => '#999999'}, ' ').
$q->td({-align => 'right', -valign => 'top',
-width => '9%', -bgcolor => '#cccccc'},
$self->display_center_overview .
$self->display_center_menu))) .
$q->endform);
}
sub display_center_overview {
my ($self, $labels) = @_;
my $q = $self->{q};
$labels = { map { $_ => ucfirst($_) } @{$self->{'mailboxes'}} }
if !$labels or ref $labels ne 'HASH';
my $color = '#ffffff';
return
($q->table
({-cellspacing => 1, -border => 2},
$q->Tr
([$q->th({-align => 'left', -bgcolor => '#cc6699'},
[ $q->font({-size => '-1'}, "Mailbox"),
$q->font({-size => '-1'}, "Msgs"),
$q->font({-size => '-1'}, "Unread") ]),
(map {
my $bgcol = $color;
$color = ($color eq '#ffffff' ? '#ffccff' : '#ffffff');
my ($tot_unread, $box_unread) = $self->count_unread(undef, $_);
($q->td({-bgcolor => $bgcol, -nowrap},
$q->font({-size => '-1'},
($_ eq $self->{'current_box'}
? $q->strong('* '.$labels->{$_}.' *')
: $q->a({-href => BASE_URI."?mailbox=".
$self->uri_escape_noamp($_)},
$labels->{$_})))) .
$q->td({-bgcolor => $bgcol, -align => 'right'},
$q->font({-size => '-1'}, $#{$self->{$_}->{'index'}}+1)).
$q->td({-bgcolor => $bgcol, -align => 'right'},
$q->font({-size => '-1'},
($box_unread > 0
? $q->strong($q->span({-class => 'msgunread'},
$box_unread))
: ($_ ne 'outbox' ? '0' : '-')))))
} @{$self->{'mailboxes'}})
])
)
);
}
sub display_center_menu {
my ($self, $labels) = @_;
my $q = $self->{q};
my $last_time = localtime($self->{'last_mail_check'});
my $box = $self->{'current_box'};
# only allow message transfering if more than just in and out boxes
# never allow transfering to or from outbox
my (@transfer_boxes, $lbls);
if (($#{$self->{'mailboxes'}} >= 2) and ($box ne 'outbox')) {
foreach (@{$self->{'mailboxes'}}) {
if (($_ ne 'outbox') and ($_ ne $box)) {
push(@transfer_boxes, $_);
$lbls->{$_} = ucfirst($_);
}
}
$labels = $lbls if !$labels or ref $labels ne 'HASH';
}
my $msg_in_progress =
ref $self->{compose_msg} eq "Apache::App::Mercury::Message";
return
($q->table
({-cellspacing => 0, -cellpadding => 0,
-border => 0, -bgcolor => '#cccccc'},
$q->Tr
([$q->td({-align => 'right'},
$q->font({-size => '-1'},
$q->a({-href => BASE_URI.'?edit_mail_prefs=1'},
"Edit mail settings"))),
$q->td({-align => 'right'},
$q->hr({-width => '50%', -align => 'right', -size => 1})),
$q->td({-align => 'right'},
$q->font({-size => '-1'},
$q->submit('check_mail', "Check mail"))),
$q->td({-align => 'right'},
$q->font({-size => '-1'},
$q->em("Mail last checked at:".$q->br.
$q->u($last_time)))),
$q->td({-align => 'right'},
$q->hr({-width => '50%', -align => 'right', -size => 1})),
$q->td({-align => 'right'},
$q->font({-size => '-1'},
( run in 0.514 second using v1.01-cache-2.11-cpan-5b529ec07f3 )