Apache-App-Mercury

 view release on metacpan or  search on metacpan

Mercury/Display.pm  view on Meta::CPAN

	$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'},
			  $q->submit('compose', ($msg_in_progress
						 ? "Return to msg compose"
						 : "Compose new message")))),
	  $q->td({-align => 'right'},
		 $q->hr({-width => '50%', -align => 'right', -size => 1})),
	  ($#{$self->{$box}->{'index'}} < 0
	   ? ($q->td({-align => 'right'},
		     $q->font({-size => '-1'},
			      $q->em("There are no messages in this mailbox."))))
	   : ($box ne 'outbox'
	      ? ($q->td({-align => 'right'},
			$q->font({-size => '-1'},
				 (@transfer_boxes
				  ? ($q->submit('transfer',
						"Transfer selected messages") .
				     $q->br. "to Mailbox: ".
				     $q->popup_menu(-name => 'to_mailbox',
						    -values => \@transfer_boxes,
						    -labels => $labels))
				  : ($q->em("You can ".
					    $q->a({-href => BASE_URI.'?edit_mail_prefs=1'},
						  "create custom mailboxes")."."))))),
		 $q->td({-align => 'right'},
			$q->hr({-width => '50%',-align =>'right',-size => 1})))
	      : () )),
	  $q->td({-align => 'right'},
		 $q->font({-size => '-1'},
			  $q->submit('delete',"Delete selected messages")))
	 ])
       )
      );
}

sub display_msglist {
    my ($self) = @_;
    my $q = $self->{q};

    my $box = $self->{'current_box'};
    my $msglist = $self->{$box}->{'index'};
    my $msgs = $self->{$box}->{'msgs'};

    my $sortby = $self->{$box}->{'sortby'};
    my $sortdir = $self->{$box}->{'sortdir'};
    my $arrow = $sortdir eq 'up' ? ' /\\' : ' \/';

    my $color = '#ffffff';

    return ($q->div({-align => 'center'}, $q->p . $q->p .
		    $q->em("There are no messages in this mailbox.")))
	if $#$msglist < 0;

    return
      ($q->table
       ({-width => '96%', -align => 'center'},
	$q->Tr
	([$q->th({-align => 'left', -bgcolor => '#8080ff'},
		 ['&nbsp;',
		  $q->a({-href => BASE_URI."?".$box."_sortby=subject__".
			 ($sortby eq 'subject' && $sortdir eq 'up' ?'down':'up'),
			 -class => 'msgsort'}, 'Subject') .
		  $q->font({-size => '-1'},
			   $q->span({-class => 'msgsort'}, " (click to view)")).
		  ($sortby eq 'subject' ? $arrow : ''),
		  ($box ne 'outbox'
		   ? ($q->a({-href => BASE_URI."?".$box."_sortby=sender__".
			     ($sortby eq 'sender' && $sortdir eq 'up'
			      ? 'down' : 'up'),
			     -class => 'msgsort'}, 'Sender') .
		      ($sortby eq 'sender' ? $arrow :''))
		   : ($q->a({-href => BASE_URI."?".$box."_sortby=recipient__".
			     ($sortby eq 'recipient' && $sortdir eq 'up'
			      ? 'down' : 'up'),
			     -class => 'msgsort'}, 'Recipient') .
		      ($sortby eq 'recipient' ? $arrow : ''))),
		  $q->a({-href => BASE_URI."?".$box."_sortby=time__".
			 ($sortby eq 'time' && $sortdir eq 'up' ? 'down':'up'),
			 -class => 'msgsort'}, 'Date') .
		  ($sortby eq 'time' ? $arrow : '') ]),
	  (map {
	      my $id = $msglist->[$_];
	      my $bgcol = $color;



( run in 0.693 second using v1.01-cache-2.11-cpan-99c4e6809bf )