diff --git a/authorities/blinddetail-biblio-search.pl b/authorities/blinddetail-biblio-search.pl new file mode 100755 index 0000000000..a9c3bc7181 --- /dev/null +++ b/authorities/blinddetail-biblio-search.pl @@ -0,0 +1,184 @@ +#!/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 + +=head1 NAME + +etail.pl : script to show an authority in MARC format + +=head1 SYNOPSIS + + +=head1 DESCRIPTION + +This script needs an authid + +It shows the authority in a (nice) MARC format depending on authority MARC +parameters tables. + +=head1 FUNCTIONS + +=over 2 + +=cut + + +use strict; +require Exporter; +use C4::AuthoritiesMarc; +use C4::Auth; +use C4::Context; +use C4::Output; +use C4::Interface::CGI::Output; +use CGI; +use C4::Search; +use MARC::Record; +use C4::Koha; +# use C4::Biblio; +# use C4::Catalogue; +use HTML::Template; + +my $query=new CGI; + +my $dbh=C4::Context->dbh; + +my $authid = $query->param('authid'); +my $index = $query->param('index'); +my $authtypecode = &AUTHfind_authtypecode($dbh,$authid); +my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode); + +my $record =AUTHgetauthority($dbh,$authid); +# open template +my ($template, $loggedinuser, $cookie) + = get_template_and_user({template_name => "authorities/blinddetail-biblio-search.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => {catalogue => 1}, + debug => 1, + }); + +# fill arrays +my @loop_data =(); +my $tag; +# loop through each tab 0 through 9 +# for (my $tabloop = 0; $tabloop<=10;$tabloop++) { +# loop through each tag + my @fields = $record->fields(); + my @loop_data =(); + foreach my $field (@fields) { + my @subfields_data; + # if tag <10, there's no subfield, use the "@" trick + if ($field->tag()<10) { +# next if ($tagslib->{$field->tag()}->{'@'}->{tab} ne $tabloop); + next if ($tagslib->{$field->tag()}->{'@'}->{hidden}); + my %subfield_data; + $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{'@'}->{lib}; + $subfield_data{marc_value}=$field->data(); + $subfield_data{marc_subfield}='@'; + $subfield_data{marc_tag}=$field->tag(); + push(@subfields_data, \%subfield_data); + } else { + my @subf=$field->subfields; + # loop through each subfield + for my $i (0..$#subf) { + $subf[$i][0] = "@" unless $subf[$i][0]; +# next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne $tabloop); + next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden}); + my %subfield_data; + $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; + if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) { + $subfield_data{marc_value}="$subf[$i][1]"; + } else { + $subfield_data{marc_value}=$subf[$i][1]; + } + $subfield_data{marc_subfield}=$subf[$i][0]; + $subfield_data{marc_tag}=$field->tag(); + push(@subfields_data, \%subfield_data); + } + } + if ($#subfields_data>=0) { + my %tag_data; + $tag_data{tag}=$field->tag().' -'. $tagslib->{$field->tag()}->{lib}; + $tag_data{subfield} = \@subfields_data; + push (@loop_data, \%tag_data); + } + } + $template->param("0XX" =>\@loop_data); +# } +# now, build item tab ! +# the main difference is that datas are in lines and not in columns : thus, we build the first, then the values... +# loop through each tag +# warning : we may have differents number of columns in each row. Thus, we first build a hash, complete it if necessary +# then construct template. +# my @fields = $record->fields(); +# my %witness; #---- stores the list of subfields used at least once, with the "meaning" of the code +# my @big_array; +# foreach my $field (@fields) { +# next if ($field->tag()<10); +# my @subf=$field->subfields; +# my %this_row; +# # loop through each subfield +# for my $i (0..$#subf) { +# next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne 10); +# $witness{$subf[$i][0]} = $tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; +# $this_row{$subf[$i][0]} =$subf[$i][1]; +# } +# if (%this_row) { +# push(@big_array, \%this_row); +# } +# } +# #fill big_row with missing datas +# foreach my $subfield_code (keys(%witness)) { +# for (my $i=0;$i<=$#big_array;$i++) { +# $big_array[$i]{$subfield_code}=" " unless ($big_array[$i]{$subfield_code}); +# } +# } +# # now, construct template ! +# my @item_value_loop; +# my @header_value_loop; +# for (my $i=0;$i<=$#big_array; $i++) { +# my $items_data; +# foreach my $subfield_code (keys(%witness)) { +# $items_data .="".$big_array[$i]{$subfield_code}.""; +# } +# my %row_data; +# $row_data{item_value} = $items_data; +# push(@item_value_loop,\%row_data); +# } +# foreach my $subfield_code (keys(%witness)) { +# my %header_value; +# $header_value{header_value} = $witness{$subfield_code}; +# push(@header_value_loop, \%header_value); +# } + +my $authtypes = getauthtypes; +my @authtypesloop; +foreach my $thisauthtype (keys %$authtypes) { + my $selected = 1 if $thisauthtype eq $authtypecode; + my %row =(value => $thisauthtype, + selected => $selected, + authtypetext => $authtypes->{$thisauthtype}{'authtypetext'}, + ); + push @authtypesloop, \%row; +} + +$template->param(authid => $authid, + authtypesloop => \@authtypesloop, index => $index); +output_html_with_http_headers $query, $cookie, $template->output; + diff --git a/authorities/detail-biblio-search.pl b/authorities/detail-biblio-search.pl new file mode 100755 index 0000000000..5bfe7620a0 --- /dev/null +++ b/authorities/detail-biblio-search.pl @@ -0,0 +1,184 @@ +#!/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 + +=head1 NAME + +etail.pl : script to show an authority in MARC format + +=head1 SYNOPSIS + + +=head1 DESCRIPTION + +This script needs an authid + +It shows the authority in a (nice) MARC format depending on authority MARC +parameters tables. + +=head1 FUNCTIONS + +=over 2 + +=cut + + +use strict; +require Exporter; +use C4::AuthoritiesMarc; +use C4::Auth; +use C4::Context; +use C4::Output; +use C4::Interface::CGI::Output; +use CGI; +use C4::Search; +use MARC::Record; +use C4::Koha; +# use C4::Biblio; +# use C4::Catalogue; +use HTML::Template; + +my $query=new CGI; + +my $dbh=C4::Context->dbh; + +my $authid = $query->param('authid'); +my $index = $query->param('index'); +my $authtypecode = &AUTHfind_authtypecode($dbh,$authid); +my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode); + +my $record =AUTHgetauthority($dbh,$authid); +# open template +my ($template, $loggedinuser, $cookie) + = get_template_and_user({template_name => "authorities/detail-biblio-search.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => {catalogue => 1}, + debug => 1, + }); + +# fill arrays +my @loop_data =(); +my $tag; +# loop through each tab 0 through 9 +# for (my $tabloop = 0; $tabloop<=10;$tabloop++) { +# loop through each tag + my @fields = $record->fields(); + my @loop_data =(); + foreach my $field (@fields) { + my @subfields_data; + # if tag <10, there's no subfield, use the "@" trick + if ($field->tag()<10) { +# next if ($tagslib->{$field->tag()}->{'@'}->{tab} ne $tabloop); + next if ($tagslib->{$field->tag()}->{'@'}->{hidden}); + my %subfield_data; + $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{'@'}->{lib}; + $subfield_data{marc_value}=$field->data(); + $subfield_data{marc_subfield}='@'; + $subfield_data{marc_tag}=$field->tag(); + push(@subfields_data, \%subfield_data); + } else { + my @subf=$field->subfields; + # loop through each subfield + for my $i (0..$#subf) { + $subf[$i][0] = "@" unless $subf[$i][0]; +# next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne $tabloop); + next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden}); + my %subfield_data; + $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; + if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) { + $subfield_data{marc_value}="$subf[$i][1]"; + } else { + $subfield_data{marc_value}=$subf[$i][1]; + } + $subfield_data{marc_subfield}=$subf[$i][0]; + $subfield_data{marc_tag}=$field->tag(); + push(@subfields_data, \%subfield_data); + } + } + if ($#subfields_data>=0) { + my %tag_data; + $tag_data{tag}=$field->tag().' -'. $tagslib->{$field->tag()}->{lib}; + $tag_data{subfield} = \@subfields_data; + push (@loop_data, \%tag_data); + } + } + $template->param("0XX" =>\@loop_data); +# } +# now, build item tab ! +# the main difference is that datas are in lines and not in columns : thus, we build the first, then the values... +# loop through each tag +# warning : we may have differents number of columns in each row. Thus, we first build a hash, complete it if necessary +# then construct template. +# my @fields = $record->fields(); +# my %witness; #---- stores the list of subfields used at least once, with the "meaning" of the code +# my @big_array; +# foreach my $field (@fields) { +# next if ($field->tag()<10); +# my @subf=$field->subfields; +# my %this_row; +# # loop through each subfield +# for my $i (0..$#subf) { +# next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab} ne 10); +# $witness{$subf[$i][0]} = $tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; +# $this_row{$subf[$i][0]} =$subf[$i][1]; +# } +# if (%this_row) { +# push(@big_array, \%this_row); +# } +# } +# #fill big_row with missing datas +# foreach my $subfield_code (keys(%witness)) { +# for (my $i=0;$i<=$#big_array;$i++) { +# $big_array[$i]{$subfield_code}=" " unless ($big_array[$i]{$subfield_code}); +# } +# } +# # now, construct template ! +# my @item_value_loop; +# my @header_value_loop; +# for (my $i=0;$i<=$#big_array; $i++) { +# my $items_data; +# foreach my $subfield_code (keys(%witness)) { +# $items_data .="".$big_array[$i]{$subfield_code}.""; +# } +# my %row_data; +# $row_data{item_value} = $items_data; +# push(@item_value_loop,\%row_data); +# } +# foreach my $subfield_code (keys(%witness)) { +# my %header_value; +# $header_value{header_value} = $witness{$subfield_code}; +# push(@header_value_loop, \%header_value); +# } + +my $authtypes = getauthtypes; +my @authtypesloop; +foreach my $thisauthtype (keys %$authtypes) { + my $selected = 1 if $thisauthtype eq $authtypecode; + my %row =(value => $thisauthtype, + selected => $selected, + authtypetext => $authtypes->{$thisauthtype}{'authtypetext'}, + ); + push @authtypesloop, \%row; +} + +$template->param(authid => $authid, + authtypesloop => \@authtypesloop, index => $index); +output_html_with_http_headers $query, $cookie, $template->output; + diff --git a/koha-tmpl/intranet-tmpl/default/en/authorities/blinddetail-biblio-search.tmpl b/koha-tmpl/intranet-tmpl/default/en/authorities/blinddetail-biblio-search.tmpl new file mode 100644 index 0000000000..07ff6ee062 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/default/en/authorities/blinddetail-biblio-search.tmpl @@ -0,0 +1,24 @@ + + + + + + diff --git a/koha-tmpl/intranet-tmpl/default/en/authorities/detail-biblio-search.tmpl b/koha-tmpl/intranet-tmpl/default/en/authorities/detail-biblio-search.tmpl new file mode 100644 index 0000000000..6d1eaf0072 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/default/en/authorities/detail-biblio-search.tmpl @@ -0,0 +1,68 @@ + +/includes/marc-editor.css"> +
+

Authority number :

+ "> + //images/fileopen.png"> + + + //images/edittrash.png"> + + &index=')" class="button authority"> + Print + + //images/arrow.gif" height=45 width=45 "> + + +
+


+
+ +

+ +

+ +

+ + +

+ + +
+ + + + diff --git a/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist-auth.tmpl b/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist-auth.tmpl new file mode 100644 index 0000000000..84559ac6c4 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist-auth.tmpl @@ -0,0 +1,89 @@ + +
+

Authority search results

+
+

+ + &=&resultsperpage=&type=intranet&op=do_search> + + + + + + + + &=&resultsperpage=&type=intranet&op=do_search> + + + &=&&resultsperpage=&type=intranet&op=do_search> + +

+

+ +  Results to of

+ +   No results found.
+ +

+
+
+ + + + + + + + + + + + + + + + + +
SummaryUsedViewDeleteGet It!
&operator==&value=&and_or=&excluding=">... + &index=')"> + //images/fileopen.png" width="32" hspace="0" vspace="0" border="0" alt="Authority number " title="Authority number"> + + + + "> + //images/edittrash.png" width="32" hspace="0" vspace="0" border="0"> + + + + &index=')">//images/arrow.gif" width="32" hspace="0" vspace="0" border="0"> +
+ +
+
+

+ + &=&resultsperpage=&type=intranet&op=do_search> + + + + + + &=&resultsperpage=&type=intranet&op=do_search> + + + + &=&&resultsperpage=&type=intranet&op=do_search> + +

+
+
+ + + + diff --git a/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist.tmpl b/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist.tmpl index 3444187313..586db076e0 100644 --- a/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist.tmpl +++ b/koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist.tmpl @@ -46,7 +46,7 @@ - "> + ')"> //images/edittrash.png" width="32" hspace="0" vspace="0" border="0"> @@ -74,3 +74,11 @@ + + + \ No newline at end of file diff --git a/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-bottom.inc b/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-bottom.inc new file mode 100644 index 0000000000..1b1b790fef --- /dev/null +++ b/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-bottom.inc @@ -0,0 +1,18 @@ +
+

 

+ +
+Home || +Catalogue || +Members || +Acquisitions || +Circulation || +Authorities || +Reports || +Parameters || +About || +Help +
+ + + diff --git a/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-top.inc b/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-top.inc new file mode 100644 index 0000000000..dbb5b3d1e1 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/default/en/includes/auth-search-top.inc @@ -0,0 +1,70 @@ + + + + +KOHA: INTRANET: Authorities + + + + + + +/includes/common-style.css"> + + + + + + +

Logged in as: [Log Out]

+ +

Log In to Koha

+ +TOGGLE CSS \ No newline at end of file diff --git a/koha-tmpl/intranet-tmpl/default/images/arrow.gif b/koha-tmpl/intranet-tmpl/default/images/arrow.gif new file mode 100644 index 0000000000..bea37201ce Binary files /dev/null and b/koha-tmpl/intranet-tmpl/default/images/arrow.gif differ