View | Details | Raw Unified | Return to bug 5914
Collapse All | Expand All

(-)a/C4/AuthoritiesMarc.pm (-23 / +23 lines)
Lines 1128-1155 sub BuildUnimarcHierarchies{ Link Here
1128
  } else {
1128
  } else {
1129
    my $record = GetAuthority($authid);
1129
    my $record = GetAuthority($authid);
1130
    my $found;
1130
    my $found;
1131
	if ($record){
1131
    return unless $record;
1132
		foreach my $field ($record->field('550')){
1132
    foreach my $field ($record->field('5..')){
1133
		  if ($field->subfield('5') && $field->subfield('5') eq 'g'){
1133
      if ($field->subfield('5') && $field->subfield('5') eq 'g'){
1134
			my $parentrecord = GetAuthority($field->subfield('3'));
1134
		my $subfauthid=_get_authid_subfield($field);
1135
			my $localresult=$hierarchies;
1135
        next if ($subfauthid eq $authid);
1136
			my $trees;
1136
        my $parentrecord = GetAuthority($subfauthid);
1137
			$trees = BuildUnimarcHierarchies($field->subfield('3'));
1137
        my $localresult=$hierarchies;
1138
			my @trees;
1138
        my $trees;
1139
			if ($trees=~/;/){
1139
        $trees = BuildUnimarcHierarchies($subfauthid);
1140
			   @trees = split(/;/,$trees);
1140
        my @trees;
1141
			} else {
1141
        if ($trees=~/;/){
1142
			   push @trees, $trees;
1142
           @trees = split(/;/,$trees);
1143
			}
1143
        } else {
1144
			foreach (@trees){
1144
           push @trees, $trees;
1145
			  $_.= ",$authid";
1145
        }
1146
			}
1146
        foreach (@trees){
1147
			@globalresult = (@globalresult,@trees);
1147
          $_.= ",$authid";
1148
			$found=1;
1148
        }
1149
		  }
1149
        @globalresult = (@globalresult,@trees);
1150
		  $hierarchies=join(";",@globalresult);
1150
        $found=1;
1151
		}
1151
      }
1152
	}
1152
      $hierarchies=join(";",@globalresult);
1153
    }
1153
    #Unless there is no ancestor, I am alone.
1154
    #Unless there is no ancestor, I am alone.
1154
    $hierarchies="$authid" unless ($hierarchies);
1155
    $hierarchies="$authid" unless ($hierarchies);
1155
  }
1156
  }
1156
- 

Return to bug 5914