53 lines
1.5 KiB
Perl
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;
|
|
|
|
|