From 8515ca8a0c81831d793ffc68ec65b5d4afd659c6 Mon Sep 17 00:00:00 2001 From: tipaul Date: Mon, 7 Oct 2002 14:02:43 +0000 Subject: [PATCH] road to 1.3.1 : viewing biblio MARC detail --- MARCdetail.pl | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ search.pl | 18 +++++++----- 2 files changed, 92 insertions(+), 7 deletions(-) create mode 100755 MARCdetail.pl diff --git a/MARCdetail.pl b/MARCdetail.pl new file mode 100755 index 0000000000..3c90d3df65 --- /dev/null +++ b/MARCdetail.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl + +# Copyright 2000-2002 Katipo Communications +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +require Exporter; +use C4::Context; +use C4::Output; +use CGI; +use C4::Search; +use MARC::Record; +use C4::Biblio; +use C4::Catalogue; +use HTML::Template; + +my $query=new CGI; + +my $dbh=C4::Context->dbh; + +my $biblionumber=$query->param('biblionumber'); +my $bibid = &MARCfind_MARCbibid_from_oldbiblionumber($dbh,$biblionumber); + +my $tagslib = &MARCgettagslib($dbh,1); + +my $record =MARCgetbiblio($dbh,$bibid); +# open template +my $template = gettemplate("catalogue/MARCdetail.tmpl",0); +# fill arrays +my @loop_data =(); +my $tag; +for ($tag=0 ; $tag<=9 ; $tag++) { +# marc array (tags and subfields) +# loop each field having tag = $tag."XX" + my @fields = $record->field($tag."XX"); + my @loop_data =(); + foreach my $field (@fields) { + my @subf=$field->subfields; + my $previous_tag = ''; + my @subfields_data; +# loop through each subfield + for my $i (0..$#subf) { +# if we not exactly the same tag (XX can varry !), loop for "tag tittle". + if ($previous_tag ne $field->tag()) { + my %tag_data; + $tag_data{tag}=$field->tag().' '. $tagslib->{$field->tag()}->{lib}; + $tag_data{subfield} = \@subfields_data; + push (@loop_data, \%tag_data); + $previous_tag = $field->tag(); + } + $previous_tag = $field->tag(); + my %subfield_data; + $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; + $subfield_data{marc_value}=$subf[$i][1]; + $subfield_data{marc_tag}=$field->tag().$subf[$i][0]; + push(@subfields_data, \%subfield_data); + } + } + $template->param($tag."XX" =>\@loop_data); +} + +# fill template with arrays +$template->param(biblionumber => $biblionumber); +#$template->param(marc =>\@loop_data); +$template->param(bibid => $bibid); +print "Content-Type: text/html\n\n", $template->output; + diff --git a/search.pl b/search.pl index eb2fe367fc..36be137c31 100755 --- a/search.pl +++ b/search.pl @@ -25,25 +25,29 @@ require Exporter; use CGI; use C4::Context; use C4::Search; -use C4::Output; # no contains picktemplate - +use C4::Output; + my $query=new CGI; my $includes = C4::Context->config('includes') || "/usr/local/www/hdl/htdocs/includes"; -my $templatebase="catalogue/searchresults.tmpl"; +#my $templatebase="catalogue/searchresults.tmpl"; my $startfrom=$query->param('startfrom'); ($startfrom) || ($startfrom=0); -my $theme=picktemplate($includes, $templatebase); +#my $theme=picktemplate($includes, $templatebase); my $subject=$query->param('subject'); # if its a subject we need to use the subject.tmpl +my $template; if ($subject) { - $templatebase=~ s/searchresults\.tmpl/subject\.tmpl/; - $theme=picktemplate($includes, $templatebase); + $template = gettemplate("catalogue/subject.tmpl") +# $templatebase=~ s/searchresults\.tmpl/subject\.tmpl/; +# $theme=picktemplate($includes, $templatebase); +} else { + $template = gettemplate("catalogue/searchresults.tmpl") } -my $template = HTML::Template->new(filename => "$includes/templates/$theme/$templatebase", die_on_bad_params => 0, path => [$includes]); +#my $template = HTML::Template->new(filename => "$includes/templates/$theme/$templatebase", die_on_bad_params => 0, path => [$includes]); my $env; $env->{itemcount}=1; -- 2.39.5