diff --git a/lib/WebGUI/Operation/Statistics.pm b/lib/WebGUI/Operation/Statistics.pm index 08360335b..20923cb28 100644 --- a/lib/WebGUI/Operation/Statistics.pm +++ b/lib/WebGUI/Operation/Statistics.pm @@ -111,7 +111,8 @@ sub www_viewLoginHistory { #------------------------------------------------------------------- sub www_viewPageReport { return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output, $count, $user, $data, $sth, $page, $pageId); + my ($output, $count, $user, $data, $sth, %page, $pageId); + tie %page, "Tie::IxHash"; $output = '

Page Statistics

'; unless ($session{setting}{trackPageStatistics}) { $output .= WebGUI::International::get(802); @@ -124,10 +125,10 @@ sub www_viewPageReport { } else { $user = $data->{userId}; } - $page->{$data->{pageId}}{pageTitle} = $data->{pageTitle}; - $page->{$data->{pageId}}{users}{$user}++; - $page->{$data->{pageId}}{views}++; - $page->{$data->{pageId}}{interact}++ if ($data->{wobjectId}); + $page{$data->{pageId}}{pageTitle} = $data->{pageTitle}; + $page{$data->{pageId}}{users}{$user}++; + $page{$data->{pageId}}{views}++; + $page{$data->{pageId}}{interact}++ if ($data->{wobjectId}); } $sth->finish; $output .= ' @@ -135,15 +136,15 @@ sub www_viewPageReport { '; - foreach $pageId (keys %{$page}) { - $output .= ''; - $output .= ''; + foreach $pageId (keys %page) { + $output .= ''; + $output .= ''; $count = 0; - foreach (keys %{$page->{$pageId}{users}}) { + foreach (keys %{$page{$pageId}{users}}) { $count++; } $output .= ''; - $output .= ''; + $output .= ''; } $output .= '
'.WebGUI::International::get(799).' '.WebGUI::International::get(800).' '.WebGUI::International::get(801).'
'.$page->{$pageId}{pageTitle}.''.$page->{$pageId}{views}.'
'.$page{$pageId}{pageTitle}.''.$page{$pageId}{views}.''.$count.''.$page->{$pageId}{interact}.'
'.$page{$pageId}{interact}.'
'; }