road to 1.3.1 : viewing biblio MARC detail
authortipaul <tipaul>
Mon, 7 Oct 2002 14:02:43 +0000 (14:02 +0000)
committertipaul <tipaul>
Mon, 7 Oct 2002 14:02:43 +0000 (14:02 +0000)
MARCdetail.pl [new file with mode: 0755]
search.pl

diff --git a/MARCdetail.pl b/MARCdetail.pl
new file mode 100755 (executable)
index 0000000..3c90d3d
--- /dev/null
@@ -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;
+
index eb2fe36..36be137 100755 (executable)
--- 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;