koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/catalogue MARCdetail.pl catalogue-search.p...


From: Tumer Garip
Subject: [Koha-cvs] koha/catalogue MARCdetail.pl catalogue-search.p...
Date: Wed, 27 Sep 2006 19:37:27 +0000

CVSROOT:        /sources/koha
Module name:    koha
Changes by:     Tumer Garip <tgarip1957>        06/09/27 19:37:27

Modified files:
        catalogue      : MARCdetail.pl catalogue-search.pl detail.pl 
                         moredetail.pl 

Log message:
        Incorporates the facets from dev_week. This one is table read so its 
both UNIMARC and MARC21 compliant and also translatable.
        The new search engine also has a BraveSearch where yo can write any 
CCL,CQL or PQF query directly

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/MARCdetail.pl?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/catalogue-search.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/detail.pl?cvsroot=koha&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/moredetail.pl?cvsroot=koha&r1=1.7&r2=1.8

Patches:
Index: MARCdetail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/MARCdetail.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- MARCdetail.pl       6 Sep 2006 16:21:04 -0000       1.7
+++ MARCdetail.pl       27 Sep 2006 19:37:27 -0000      1.8
@@ -177,12 +177,12 @@
                        
$subfield_data{marc_lib}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{lib};
                        
$subfield_data{link}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{link};
                        if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{isurl}) {
-                               $subfield_data{marc_value}="<a 
href=\"$value]\">$value</a>";
+                               $subfield_data{marc_value}="<a 
href=\"$value\">$value</a>";
                        } elsif ($data->{'tag'} eq $isbntag && $code->{'code'} 
eq $isbnsub) {
                                $subfield_data{marc_value}=DisplayISBN($value);
                        } else {
                                if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{authtypecode}) {
-                               my 
($authtag,$authtagsub)=MARCfind_marc_from_kohafield("auth_authid","biblios");
+                               my 
($authtag,$authtagsub)=MARCfind_marc_from_kohafield("auth_biblio_link_subf","biblios");
                                
$subfield_data{authority}=XML_readline_onerecord($xmlhash,"","",$data->{'tag'},$authtagsub);
                                }       
                        
$subfield_data{marc_value}=get_authorised_value_desc($data->{'tag'}, 
$code->{'code'}, $value, '', $dbh);

Index: catalogue-search.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/catalogue-search.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- catalogue-search.pl 11 Sep 2006 17:41:54 -0000      1.2
+++ catalogue-search.pl 27 Sep 2006 19:37:27 -0000      1.3
@@ -27,17 +27,18 @@
 my $number_of_results=$query->param('number_of_results');
 my $zoom=$query->param('zoom');
 my $ascend=$query->param('asc');
+my $searchtype=$query->param('searchtype'); ## this is actual query type
 
 my @marclist = $query->param('marclist');
 # collect all the fields ...
 my %search;
 my @forminputs;                #this is for the links to navigate among the 
results
-my (@searchdesc, %hashdesc);   #this is to show the description of the current 
search
-my @fields = ('value', 'kohafield', 'and_or', 
'relation','order','barcode','biblionumber','itemnumber','asc','from');
+my (@searchdesc, %hashdesc,$facetsdesc);       #this is to show the 
description of the current search
+my @fields = ('value', 'kohafield', 'and_or', 
'relation','order','barcode','biblionumber','itemnumber','asc','from','searchtype');
 
 ###Collect all the marclist values coming from old Koha MARCdetails
-## Although we can not search on all marc fields- if any is matched in Zebra 
we can use it it
-my $sth=$dbh->prepare("Select marctokoha from koha_attr where tagfield=? and 
tagsubfield=? and intrashow=1");
+## Although we can not search on all marc fields- if any is matched in Zebra 
we can use it 
+my $sth=$dbh->prepare("Select kohafield from koha_attr where tagfield=? and 
tagsubfield=? and intrashow=1");
 foreach my $marc (@marclist) {
                if ($marc) {
                $sth->execute(substr($marc,0,3),substr($marc,3,1));
@@ -51,9 +52,10 @@
 }
 #### Now   normal search routine
 foreach my $field (@fields) {
-       $search{$field} = $query->param($field);
-       if ($search{$field}) {
-               push @forminputs, { field=>$field ,value=> $search{$field}} 
unless ($field eq 'reorder');
+       my @fieldvalue = $query->param($field);
+       foreach my $fvalue (@fieldvalue) {
+               push @forminputs, { field=>$field ,value=> $fvalue} unless 
($field eq 'reorder');
+               $facetsdesc.="&".$field."=".$fvalue;
                }
 }
 
@@ -66,7 +68,7 @@
 if ($op eq "do_search"){
  
 #this fields is just to allow the user come back to the search form with all 
the values  previously entered
-$search{'search_type'} = $query->param('search_type');
+$search{'search_type'} = $query->param('search_type');# this is the panel type
 push @forminputs, {field => 'search_type', value => $search{'search_type'}};
 
 
@@ -84,18 +86,18 @@
        $search{'searchdesc'} = address@hidden;
        $template->param(FORMINPUTS => address@hidden);
        $template->param(reorder => $query->param('reorder'));
-
+       $template->param(facetsdesc=>$facetsdesc);
        # do the searchs ....
         $number_of_results = 10 unless $number_of_results;
        my $startfrom=$query->param('startfrom');
        ($startfrom) || ($startfrom=0);
-my ($count,@results);
+my ($count,@results,$facets);
 if (!$zoom){
 ## using sql search for barcode,biblionumber or itemnumber only useful for 
libraian interface
        ($count, @results) =sqlsearch($dbh,\%search);
 }else{
 my $sortorder=$order.",".$ascend if $order;
- ($count,@results) =ZEBRAsearch_kohafields(address@hidden,address@hidden, 
address@hidden,$sortorder, address@hidden, 1,$reorder,$startfrom, 
$number_of_results,"intranet");
+ ($count,$facets,@results) 
=ZEBRAsearch_kohafields(address@hidden,address@hidden, 
address@hidden,$sortorder, address@hidden, 1,$reorder,$startfrom, 
$number_of_results,"intranet",$searchtype);
 }
        if ( $count eq "error"){
        $template->param(error =>1);
@@ -114,16 +116,17 @@
 }
        # sorting out which results to display.
        # the result number to star to show
-       $template->param(starting => $startfrom+$number_of_results);
-       $template->param(endinging => $startfrom+1);
-       $template->param(startfrom => $startfrom+1);
+       $template->param(startfrom => $startfrom);
+       $template->param(beginning => $startfrom+1);
        # the result number to end to show
        ($startfrom+$num<=$count) ? ($template->param(endat => 
$startfrom+$num+1)) : ($template->param(endat => $count));
        # the total results searched
        $template->param(numrecords => $count);
-
+       $template->param(FORMINPUTS => address@hidden );
        $template->param(searchdesc => address@hidden );
-       $template->param(SEARCH_RESULTS => address@hidden);
+       $template->param(SEARCH_RESULTS => address@hidden,
+                       facets_loop => $facets,
+                       );
 
        #this is to show the images numbers to navigate among the results, if 
it has to show the number highlighted or not
        my $numbers;
@@ -184,12 +187,12 @@
                                                  pg => $url };
                push @$numbers, { number => "&gt;&gt;", 
                                                  highlight => 0 , 
forminputs=>address@hidden,
-                                                 startfrom => 
($total_pages-1)*$number_of_results, 
+                                                 start => 
($total_pages-1)*$number_of_results, 
                                                  pg => $total_pages};
        }
 #      push @$numbers,{forminputs=>@forminputs};
-       $template->param(numbers =>$numbers);
-
+       $template->param(numbers =>$numbers,
+                       );
        #show the virtual shelves
        #my $results = &GetShelfList($borrowernumber);
        #$template->param(shelvescount => scalar(@{$results}));
@@ -213,7 +216,7 @@
        my $kohafield = $query->param('kohafield');
        my ($fieldcount,@kohafields)=getkohafields();
        foreach my $row (@kohafields) {
-               if ($kohafield eq $row->{'marctokoha'}) {
+               if ($kohafield eq $row->{'kohafield'}) {
                        $row->{'sel'} = 1;
                }
        }
@@ -224,13 +227,27 @@
        foreach my $sort (@kohafields) {
            if ($sort->{sorts}){
                push @sorts,$sort;
-               if ($order eq $sort->{'marctokoha'}) {
+               if ($order eq $sort->{'attr'}) {
                        $sort->{'sel'} = 1;
                }
           }
        }
        $template->param(sorts => address@hidden);
+# load the branches
+my @branches = GetallBranches();
+$template->param(branchloop => address@hidden,);
+
+# load the itemtypes 
+my $itemtypes=GetItemTypes();
+my (@item_type_loop);
+foreach my $thisitemtype (sort keys %$itemtypes) {
+    my %row =(value => $thisitemtype,
+                 description => $itemtypes->{$thisitemtype}->{'description'},
+            );
+    push @item_type_loop, \%row;
+}
 
+$template->param(itemtypeloop=>address@hidden,);
 my $search_type = $query->param('search_type');
        if ((!$search_type) || ($search_type eq 'zoom'))  {
                $template->param(zoom_search => 1);

Index: detail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/detail.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- detail.pl   6 Sep 2006 16:21:04 -0000       1.8
+++ detail.pl   27 Sep 2006 19:37:27 -0000      1.9
@@ -59,13 +59,13 @@
 
   ## get notes subjects and URLS from MARC record
        
-#      my $marcflavour = C4::Context->preference("marcflavour");
-#      my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
-#      my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
-#      my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
-#      $template->param(MARCURLS => $marcurlssarray);
-#      $template->param(MARCNOTES => $marcnotesarray);
-#      $template->param(MARCSUBJCTS => $marcsubjctsarray);
+       my $marcflavour = C4::Context->preference("marcflavour");
+       my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
+       my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
+       my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
+       $template->param(MARCURLS => $marcurlssarray);
+       $template->param(MARCNOTES => $marcnotesarray);
+       $template->param(MARCSUBJCTS => $marcsubjctsarray);
 
 
 my @results = ($dat,);

Index: moredetail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/moredetail.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- moredetail.pl       11 Sep 2006 17:41:54 -0000      1.7
+++ moredetail.pl       27 Sep 2006 19:37:27 -0000      1.8
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # NOTE: Use standard 8-space tabs for this file (indents are 4 spaces)
 
-# $Id: moredetail.pl,v 1.7 2006/09/11 17:41:54 tgarip1957 Exp $
+# $Id: moredetail.pl,v 1.8 2006/09/27 19:37:27 tgarip1957 Exp $
 
 # Copyright 2000-2003 Katipo Communications
 #




reply via email to

[Prev in Thread] Current Thread [Next in Thread]