& Header, TabText => 'Site Statistics' &>
<&|/l&>Total Projects&>: <% $TotalProjects || 0 %>
<&|/l&>Total Members&>:  <% $TotalMembers  || 0 %>
% for(@CFFields) {
%   my $field = $_;
%   $Result = $QueueAcc->result($field);
%   $Label  = freeze(keys %$Result);
%   $Data   = freeze(values %$Result);
<% loc($_) %>
 % }
% }
<% loc('Ticket Status') %>
<&|/l&>Total Tickets&>:  <% $TotalTickets || 0 %>
% $Result  = $TicketAcc->result('status');
% $Label   = freeze(keys %$Result);
% $Data    = freeze(values %$Result);
 <& Footer &>
<%INIT>
;;; # Move your ass, girl.
use Algorithm::Accounting;
use List::Util qw(sum);
use FreezeThaw qw(freeze thaw);
use YAML;
my @CFFields = ('Topic', 'Maturity', 'Platform', 'License', 'Programming Language', 'Intended Audience');
my $GetCFValue = sub {
    my $Q = shift;
    my @Values = map {
	my $field = join('',split(/ /,$_));
	my $qobj  = $Q->OriginObj;
	$qobj ?
	[map { $_->Content or 'Unknown' } @{$qobj->CustomFieldValues($field)->ItemsArrayRef}]
	: [];
    } @CFFields;
    return @Values;
};
my $QueueAcc  = Algorithm::Accounting->new(fields => ['QueueId',@CFFields]);
my $Queues = $m->comp('ProjectQueues');
while(my $Q = $Queues->Next) {
    $QueueAcc->append_data([[ $Q->Id, $GetCFValue->($Q)  ]]);
}
my ($ProjectAcc, $TotalProjects,$TotalMembers) = $m->comp('ProjectAcc');
my $TicketAcc     = $m->comp('TicketAcc');
my $QueueTickets  = $TicketAcc->result->[0];
my $TotalTickets  = $TicketAcc->result->[1]->{'tickets'};
my ($Result,$Label,$Data);
%INIT>
<& Footer &>
<%INIT>
;;; # Move your ass, girl.
use Algorithm::Accounting;
use List::Util qw(sum);
use FreezeThaw qw(freeze thaw);
use YAML;
my @CFFields = ('Topic', 'Maturity', 'Platform', 'License', 'Programming Language', 'Intended Audience');
my $GetCFValue = sub {
    my $Q = shift;
    my @Values = map {
	my $field = join('',split(/ /,$_));
	my $qobj  = $Q->OriginObj;
	$qobj ?
	[map { $_->Content or 'Unknown' } @{$qobj->CustomFieldValues($field)->ItemsArrayRef}]
	: [];
    } @CFFields;
    return @Values;
};
my $QueueAcc  = Algorithm::Accounting->new(fields => ['QueueId',@CFFields]);
my $Queues = $m->comp('ProjectQueues');
while(my $Q = $Queues->Next) {
    $QueueAcc->append_data([[ $Q->Id, $GetCFValue->($Q)  ]]);
}
my ($ProjectAcc, $TotalProjects,$TotalMembers) = $m->comp('ProjectAcc');
my $TicketAcc     = $m->comp('TicketAcc');
my $QueueTickets  = $TicketAcc->result->[0];
my $TotalTickets  = $TicketAcc->result->[1]->{'tickets'};
my ($Result,$Label,$Data);
%INIT>