Bug 11944: replace uri_escape with uri_escape_utf8 everywhere
[koha.git] / authorities / detail.pl
index d4f2c67..a84a9f5 100755 (executable)
@@ -106,7 +106,7 @@ sub build_tabs {
                       my @subf=$field->subfields;
                   # loop through each subfield
                       for my $i (0..$#subf) {
-                        $subf[$i][0] = "@" unless $subf[$i][0];
+                        $subf[$i][0] = "@" unless defined $subf[$i][0];
                         next
                         if (
                             $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab}
@@ -161,19 +161,20 @@ my $query=new CGI;
 my $dbh=C4::Context->dbh;
 
 # open template
-my ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => "authorities/detail.tmpl",
-                            query => $query,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {catalogue => 1},
-                            debug => 1,
-                            });
+my ($template, $loggedinuser, $cookie) = get_template_and_user(
+    {
+        template_name   => "authorities/detail.tt",
+        query           => $query,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { catalogue => 1 },
+        debug           => 1,
+    }
+);
 
 my $authid = $query->param('authid');
 
-# Using default authtypecode, so all fields are seen
-my $authtypecode = '';
+my $authtypecode = GetAuthTypeCode($authid);
 $tagslib = &GetTagsLabels(1,$authtypecode);
 
 # Build list of authtypes for showing them
@@ -200,27 +201,8 @@ if (not defined $record) {
 }
 
 if (C4::Context->preference("AuthDisplayHierarchy")){
-  my $trees=BuildUnimarcHierarchies($authid);
-  my @trees = split /;/,$trees ;
-  push @trees,$trees unless (@trees);
-  my @loophierarchies;
-  foreach my $tree (@trees){
-    my @tree=split /,/,$tree;
-    push @tree,$tree unless (@tree);
-    my $cnt=0;
-    my @loophierarchy;
-    foreach my $element (@tree){
-      my $elementdata = GetAuthority($element);
-      $record= $elementdata if ($authid==$element);
-      push @loophierarchy, BuildUnimarcHierarchy($elementdata,"child".$cnt, $authid);
-      $cnt++;
-    }
-    push @loophierarchies, { 'loopelement' =>\@loophierarchy};
-  }
-  $template->param(
-    'displayhierarchy' =>C4::Context->preference("AuthDisplayHierarchy"),
-    'loophierarchies' =>\@loophierarchies,
-  );
+    $template->{VARS}->{'displayhierarchy'} = C4::Context->preference("AuthDisplayHierarchy");
+    $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid);
 }
 
 my $count = CountUsage($authid);
@@ -242,5 +224,7 @@ $template->param(authid => $authid,
                authtypetext => $authtypes->{$authtypecode}{'authtypetext'},
                authtypesloop => \@authtypesloop,
                );
+
+$template->{VARS}->{marcflavour} = C4::Context->preference("marcflavour");
 output_html_with_http_headers $query, $cookie, $template->output;