X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-tags.pl;h=d9f9f3c3fd8702d906c108446dad261b6357c49e;hb=ea17f17a0a93f6d1b7a92a345649746d5bdba002;hp=b5ce340b954a58a2c78bcc7e91e688fd77e87fa5;hpb=aef1dd15fbe37a8a9c30ba4b38f7ecd6c1fea54d;p=koha.git diff --git a/opac/opac-tags.pl b/opac/opac-tags.pl index b5ce340b95..d9f9f3c3fd 100755 --- a/opac/opac-tags.pl +++ b/opac/opac-tags.pl @@ -38,11 +38,12 @@ use CGI::Cookie; # need to check cookies before having CGI parse the POST reques use C4::Auth qw(:DEFAULT check_cookie_auth); use C4::Context; use C4::Debug; -use C4::Output 3.02 qw(:html :ajax pagination_bar); -use C4::Dates qw(format_date); +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; my %newtags = (); my @deltags = (); @@ -53,11 +54,11 @@ my $perBibResults = {}; # Indexes of @errors that do not apply to a particular biblionumber. my @globalErrorIndexes = (); -sub ajax_auth_cgi ($) { # returns CGI object +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"; @@ -232,12 +233,10 @@ if ($loggedinuser) { my $date = $_->{date_created} || ''; $date =~ /\s+(\d{2}\:\d{2}\:\d{2})/; $_->{time_created_display} = $1; - $_->{date_created_display} = format_date($_->{date_created}); } } -$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;