X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-tags.pl;h=d9f9f3c3fd8702d906c108446dad261b6357c49e;hb=76e39750b7d1f767b9fd93ce328ab25a829898e3;hp=a0ed52311013360c00eb4fd74bedba8b15fa81b2;hpb=482c96c4651d5b6eb86332637363707423c6c110;p=koha_fer diff --git a/opac/opac-tags.pl b/opac/opac-tags.pl index a0ed523110..d9f9f3c3fd 100755 --- a/opac/opac-tags.pl +++ b/opac/opac-tags.pl @@ -41,7 +41,7 @@ use C4::Debug; use C4::Output qw(:html :ajax pagination_bar); use C4::Scrubber; use C4::Biblio; -use C4::Tags qw(add_tag get_approval_rows get_tag_rows remove_tag); +use C4::Tags qw(add_tag get_approval_rows get_tag_rows remove_tag stratify_tags); use Data::Dumper; @@ -58,7 +58,7 @@ sub ajax_auth_cgi { # returns CGI object my $needed_flags = shift; my %cookies = fetch CGI::Cookie; my $input = CGI->new; - my $sessid = $cookies{'CGISESSID'}->value || $input->param('CGISESSID'); + my $sessid = $cookies{'CGISESSID'}->value; my ($auth_status, $auth_sessid) = check_cookie_auth($sessid, $needed_flags); $debug and print STDERR "($auth_status, $auth_sessid) = check_cookie_auth($sessid," . Dumper($needed_flags) . ")\n"; @@ -236,8 +236,7 @@ if ($loggedinuser) { } } -$template->param(tagsview => 1, -dateformat => C4::Context->preference("dateformat")); +$template->param(tagsview => 1); if ($add_op) { my $adds = 0; @@ -263,34 +262,9 @@ if ($add_op) { $arghash->{biblionumber} = $arg; } $results = get_approval_rows($arghash); - + stratify_tags(10, $results); # work out the differents sizes for things my $count = scalar @$results; $template->param(TAGLOOP_COUNT => $count, mine => $mine); - # Here we make a halfhearted attempt to separate the tags into "strata" based on weight_total - # FIXME: code4lib probably has a better algorithm, iirc - # FIXME: when we get a better algorithm, move to C4 - my $maxstrata = 5; - my $strata = 1; - my $previous = 0; - my $chunk = ($count/$maxstrata)/2; - my $total = 0; - my %cloud; - foreach (reverse @$results) { - my $current = $_->{weight_total}; - $total++; - $cloud{$strata}++; - if ($current == $previous) { - $_->{cloudweight} = $strata; - next; - } - if ($strata < $maxstrata and - ($cloud{$strata} > $chunk or - $count-$total <= $maxstrata-$strata)) { - $strata++; - } - $_->{cloudweight} = $strata; - $previous = $current; - } } (scalar @errors ) and $template->param(ERRORS => \@errors); my @orderedresult = sort { uc($a->{'term'}) cmp uc($b->{'term'}) } @$results;