webgui/lib/WebGUI/Macro/AOIRank.pm
2009-02-20 23:47:30 +00:00

53 lines
1.5 KiB
Perl

package WebGUI::Macro::AOIRank;
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2009 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use strict;
=head1 NAME
Package WebGUI::Macro::AOIRank
=head1 DESCRIPTION
Macro for displaying the value for a metadata property by rank.
=head2 process ( key, [ rank ] )
=head3 key
The metadata property that will be looked up.
=head3 rank
Define which value, by it's ranking, will be displayed. The highest ranking is
1. If the rank is omitted, a default of 1 will be used.
=cut
#-------------------------------------------------------------------
sub process {
my $session = shift;
my $key = shift;
my $rank = shift || 1; # 1 is highest rank
$rank--; # Rank is zero based
my $sql = "select value from passiveProfileAOI a, metaData_properties f
where a.fieldId=f.fieldId
and userId=".$session->db->quote($session->user->userId)."
and fieldName=".$session->db->quote($key)." order by a.count desc";
my @values = $session->db->buildArray($sql);
return $values[$rank];
}
1;