fixed: #4174: UserList template show links that should be hidden

This commit is contained in:
Yung Han Khoe 2008-10-10 15:08:56 +00:00
parent 421392f134
commit a47c5b406d
3 changed files with 25 additions and 6 deletions

View file

@ -50,16 +50,28 @@ Returns an array ref that contains tmpl_vars for the Alphabet Search.
sub getAlphabetSearchLoop {
my $self = shift;
my $fieldName = shift || 'lastName';
my $fieldName = shift;
my $alphabet = shift;
my (@alphabet, @alphabetLoop);
return [] if $fieldName eq 'disableAlphabetSearch';
$alphabet ||= "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
@alphabet = split(/,/,$alphabet);
foreach my $letter (@alphabet){
my $htmlEncodedLetter = encode_entities($letter);
my $searchURL = "?searchExact_".$fieldName."=".$letter."%25";
my $hasResults = $self->session->db->quickScalar("select if ("
."(select count(*) from userProfileData where ".$fieldName." like '".$letter."%')<>0, 1, 0)");
my $hasResults;
my $users = $self->session->db->read("select userId from userProfileData where lastName like '".$letter."%'");
while (my $user = $users->hashRef){
my $showGroupId = $self->get("showGroupId");
if ($showGroupId eq '0' || ($showGroupId && $self->isInGroup($showGroupId,$user->{userId}))){
unless ($self->get("hideGroupId") ne '0' && $self->isInGroup($self->get("hideGroupId"),$user->{userId})){
$hasResults = 1;
last;
}
}
}
push @alphabetLoop, {
alphabetSearch_loop_label => $htmlEncodedLetter || $letter,
alphabetSearch_loop_hasResults => $hasResults,
@ -162,6 +174,9 @@ sub definition {
my $label = WebGUI::Operation::Shared::secureEval($session,$field->{label});
$profileFields{$field->{fieldName}} = $label;
}
my %alphabetSearchFieldOptions;
tie %alphabetSearchFieldOptions, 'Tie::IxHash';
%alphabetSearchFieldOptions = ('disableAlphabetSearch'=>'Disable Alphabet Search',%profileFields);
tie %properties, 'Tie::IxHash';
%properties = (
@ -206,7 +221,7 @@ sub definition {
fieldType=>"selectBox",
defaultValue=>"lastName",
tab=>"display",
options=>\%profileFields,
options=>\%alphabetSearchFieldOptions,
label=>$i18n->get("alphabetSearchField label"),
hoverHelp=>$i18n->get('alphabetSearchField description'),
},