use utf8;
use strict;
use warnings; no warnings "redefine";
use Fehler qw(problem);
use Loader qw(acct_postfach line_printer);
use noris::Table;

sub list_person_postfach($;$) {
	my ( $person_id, $kn ) = @_;
	my $t = noris::Table->new();
	my ( $number, $octets, $folders ) = acct_postfach($person_id, sub { $t->info("Prüfe:", shift); } ) or return;
	line_printer;

	{
		no warnings 'void';
		$Db::pr_fh; # once-Warnung
	}
	print $Db::pr_fh 'In diesem Postfach lieg'
	  . ( $number == 1 ? 't eine Mail' : "en $number Mails" )
	  . ( $octets > 0
		  && " mit einer Gesamtgröße von $octets Byte"
		  . ( $octets != 1 && 's' ) );

	if ( !$folders || keys %$folders > 9 ) {
		print $Db::pr_fh ".\n";
	}
	else {
		print $Db::pr_fh ":\n";
		$t->titel( "Ordner", "Anzahl", "Größe" );
		$t->ausrichten( right => ( 2, 3 ) );

		map $t->daten( $_, $folders->{$_}{'messages'}, $folders->{$_}{'size'} ),
		  keys %$folders;

		$t->drucken();
	}

}

1;
