[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha cataloguing/value_builder/unimarc_field_4X... [rel_3_0]
From: |
Henri-Damien LAURENT |
Subject: |
[Koha-cvs] koha cataloguing/value_builder/unimarc_field_4X... [rel_3_0] |
Date: |
Fri, 24 Nov 2006 21:45:34 +0000 |
CVSROOT: /cvsroot/koha
Module name: koha
Branch: rel_3_0
Changes by: Henri-Damien LAURENT <hdl> 06/11/24 21:45:34
Modified files:
cataloguing/value_builder: unimarc_field_4XX.pl
koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder:
unimarc_field_4XX.tmpl
Log message:
BUG Fixing :
Now use SimpleSearch for bibliosearch.
Was obliged to count items through a trick using MARCmarc2koha results
(May help for other results.)
I find Javascript VEEERRRRYYYY SLOW on Koha.
Why is this so slow ?
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/cataloguing/value_builder/unimarc_field_4XX.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.4&r2=1.1.2.5
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder/unimarc_field_4XX.tmpl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.3&r2=1.1.2.4
Patches:
Index: cataloguing/value_builder/unimarc_field_4XX.pl
===================================================================
RCS file:
/cvsroot/koha/koha/cataloguing/value_builder/Attic/unimarc_field_4XX.pl,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -b -r1.1.2.4 -r1.1.2.5
--- cataloguing/value_builder/unimarc_field_4XX.pl 17 Nov 2006 13:18:59
-0000 1.1.2.4
+++ cataloguing/value_builder/unimarc_field_4XX.pl 24 Nov 2006 21:45:34
-0000 1.1.2.5
@@ -20,7 +20,6 @@
use strict;
require Exporter;
use CGI;
-use HTML::Template;
use C4::Interface::CGI::Output;
use C4::Context;
use C4::Search;
@@ -28,7 +27,6 @@
use C4::Output;
use C4::Database;
use C4::Biblio;
-use C4::Acquisition;
use C4::Koha;
use MARC::Record;
@@ -90,16 +88,16 @@
debug => 1,
});
#get biblionumber
- my $biblionumber;
- my $req= $dbh->prepare("SELECT distinctrow
$biblionumber,biblionumber FROM `marc_biblio` WHERE biblionumber= ?");
- $req->execute($bibnum);
- ($biblionumber,$bibnum) = $req->fetchrow;
+# my $biblionumber;
+# my $req= $dbh->prepare("SELECT distinctrow
$biblionumber,biblionumber FROM `marc_biblio` WHERE biblionumber= ?");
+# $req->execute($bibnum);
+# ($biblionumber,$bibnum) = $req->fetchrow;
#warn "$biblionumber :".$biblionumber;
#get marc record
- $marcrecord = MARCgetbiblio($dbh,$biblionumber);
+ $marcrecord = MARCgetbiblio($dbh,$bibnum);
# warn "record : ".$marcrecord->as_formatted;
- my $subfield_value_9=$biblionumber;
+ my $subfield_value_9=$bibnum;
my $subfield_value_0;
$subfield_value_0=$marcrecord->field('001')->data if
$marcrecord->field('001');
my $subfield_value_a;
@@ -195,7 +193,7 @@
}
$template->param(fillinput => 1,
index =>
$query->param('index')."",
-
$biblionumber=>$biblionumber?$biblionumber:"",
+
biblionumber=>$bibnum?$bibnum:"",
subfield_value_9=>$subfield_value_9,
subfield_value_0=>$subfield_value_0,
subfield_value_a=>$subfield_value_a,
@@ -213,42 +211,12 @@
);
###############################################################
}elsif ($op eq "do_search") {
- my @marclist = $query->param('marclist');
- my @and_or = $query->param('and_or');
- my @excluding = $query->param('excluding');
- my @operator = $query->param('operator');
- my @value = $query->param('value');
-
- for (my $i=0;$i<=$#marclist;$i++) {
- if ($searchdesc) { # don't put the and_or on the 1st
search term
- $searchdesc .= $and_or[$i]." ".$excluding[$i]."
".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if
($value[$i]);
- } else {
- $searchdesc = $excluding[$i]."
".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if
($value[$i]);
- }
- }
- $resultsperpage= $query->param('resultsperpage');
- $resultsperpage = 19 if(!defined $resultsperpage);
- my $orderby = $query->param('orderby');
- my $desc_or_asc = $query->param('desc_or_asc');
-
- # builds tag and subfield arrays
- my @tags;
- foreach my $marc (@marclist) {
- if ($marc) {
- my ($tag,$subfield) =
MARCfind_marc_from_kohafield($dbh,$marc,'');
- if ($tag) {
- push @tags,$dbh->quote("$tag$subfield");
- } else {
- push @tags,
$dbh->quote(substr($marc,0,4));
- }
- } else {
- push @tags, "";
- }
- }
-
- my ($results,$total) = catalogsearch($dbh,
address@hidden,address@hidden,
-
address@hidden, address@hidden, address@hidden,
-
$startfrom*$resultsperpage, $resultsperpage,$orderby, $desc_or_asc);
+ my $search = $query->param('search');
+ my $startfrom = $query->param('startfrom');
+ my $resultsperpage = $query->param('resultsperpage');
+ my $orderby;
+ my ($total,$results) = SimpleSearch($search);
+ $resultsperpage=20 unless $resultsperpage;
# warn " biblio count : ".$total;
($template, $loggedinuser, $cookie)
@@ -265,18 +233,39 @@
if(($total - (($startfrom+1)*($resultsperpage))) > 0 ){
$displaynext = 1;
}
-
- my @field_data = ();
-
-
- for(my $i = 0 ; $i <= $#marclist ; $i++)
- {
- push @field_data, { term => "marclist",
val=>$marclist[$i] };
- push @field_data, { term => "and_or", val=>$and_or[$i]
};
- push @field_data, { term => "excluding",
val=>$excluding[$i] };
- push @field_data, { term => "operator",
val=>$operator[$i] };
- push @field_data, { term => "value", val=>$value[$i] };
- }
+ my @arrayresults;
+ my @field_data = ($search);
+ for (my $i=$startfrom;
$i<=(($startfrom+$resultsperpage)<scalar(@$results)?($startfrom+$resultsperpage):scalar(@$results));$i++){
+ my $record=MARC::Record::new_from_usmarc( $results->[$i] );
+ my $rechash=MARCmarc2koha($dbh,$record);
+ my $pos;
+ my $countitems=1 if ($rechash->{itemnumber});
+ while (index($rechash->{itemnumber},'|',$pos)>0){
+ $countitems+=1;
+ $pos=index($rechash->{itemnumber},'|',$pos)+1;
+ }
+ $rechash->{totitem}=$countitems;
+ my @holdingbranches=split /\|/,$rechash->{holdingbranch};
+ my @itemcallnumbers=split /\|/,$rechash->{itemcallnumber};
+ my $CN;
+ for (my $i=0;$i<@holdingbranches;$i++){
+ $CN.= $holdingbranches[$i]." ( ".$itemcallnumbers[$i]." ) |"
+ }
+ $CN=~s/ \|$//;
+ $rechash->{CN}=$CN;
+ push @arrayresults,$rechash;
+ }
+ use Data::Dumper;warn Dumper(@arrayresults);
+
+
+# for(my $i = 0 ; $i <= $#marclist ; $i++)
+# {
+# push @field_data, { term => "marclist",
val=>$marclist[$i] };
+# push @field_data, { term => "and_or", val=>$and_or[$i]
};
+# push @field_data, { term => "excluding",
val=>$excluding[$i] };
+# push @field_data, { term => "operator",
val=>$operator[$i] };
+# push @field_data, { term => "value", val=>$value[$i] };
+# }
my @numbers = ();
@@ -306,7 +295,7 @@
$to = (($startfrom+1)*$resultsperpage);
}
my $defaultview =
'BiblioDefaultView'.C4::Context->preference('BiblioDefaultView');
- $template->param(result => $results,
+ $template->param(result => address@hidden,
index =>
$query->param('index')."",
startfrom=>
$startfrom,
displaynext=>
$displaynext,
Index:
koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder/unimarc_field_4XX.tmpl
===================================================================
RCS file:
/cvsroot/koha/koha/koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder/Attic/unimarc_field_4XX.tmpl,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -b -r1.1.2.3 -r1.1.2.4
---
koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder/unimarc_field_4XX.tmpl
21 Nov 2006 10:29:21 -0000 1.1.2.3
+++
koha-tmpl/intranet-tmpl/prog/en/cataloguing/value_builder/unimarc_field_4XX.tmpl
24 Nov 2006 21:45:34 -0000 1.1.2.4
@@ -3,8 +3,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
+<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- TMPL_IF Name="fillinput"-->
+</head>
<body>
<script language="JavaScript" type="text/javascript">
@@ -145,9 +147,7 @@
</script>
</body>
<!-- TMPL_ELSE -->
- <head>
- <title>KOHA:INTRANET_: Biblio Search</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>KOHA:INTRANET_:_Biblio_Search</title>
<script language="JavaScript" type="text/javascript">
function Help() {
@@ -196,7 +196,8 @@
<p align="left">Logged in as: <!-- TMPL_VAR
NAME="loggedinusername" --> [<a href="/cgi-bin/koha/mainpage.pl?logout.x=1">Log
Out</a>]</p>
<!-- TMPL_ELSE -->
<p align="left"><a href="/cgi-bin/koha/opac-user.pl">Log In</a>
to Koha</p>
- <!-- /TMPL_IF --></head>
+ <!-- /TMPL_IF -->
+ </head>
<div id="mainbloc">
<h1 class="catalogue" >KOHA : INTRANET : Catalogue </h1>
<!--TMPL_IF Name = "Search"-->
@@ -208,111 +209,15 @@
<input type="hidden" name="plugin_name"
value="unimarc_field_4XX.pl">
<input type="hidden" name="index"
value="<!--TMPL_VAR Name="index" -->">
<input type="hidden" name="result"
value="unimarc field 4 <!--TMPL_VAR Name="index" -->">
- <input type="hidden" name="plugin_name"
value="unimarc_field_4XX.pl">
<input type="hidden" name="op"
value="do_search">
<label class="label100" for="keyword">Any
word</label>
- <input type="hidden" name="marclist" value="">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator"
value="contains">
- <input type="text" name="value" id="keyword"
onchange="sql_update()" size="35">
- </p>
- <p>
- <label_class="label100"
for="title">Title</label>
- <input_type="hidden" name="marclist"
value="biblio.title">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator"
value="contains">
- <input_type="text" name="value" id="title"
onchange="sql_update()" size="35">
- </p>
- <p>
- <label class="label100"
for="author">Author</label> <input type="hidden" name="marclist"
value="biblio.author">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator"
value="contains">
- <input type="text" name="value" id="author"
onchange="sql_update()" size="35">
- </p>
- <p>
- <label class="label100" for="itemtype">Item
Type</label>
- <input type="hidden" name="marclist"
value="biblioitems.itemtype">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator" value="=">
- <!-- TMPL_VAR name="CGIitemtype" -->
- </p>
- <p>
- <label class="label100"
for="branch">Branch</label>
- <input type="hidden" name="marclist"
value="items.holdingbranch">
- <input type="hidden" name="and_or"
value="and">
- <input type="hidden" name="excluding"
value="">
- <input type="hidden" name="operator"
value="=">
- <!-- TMPL_VAR name="CGIbranch" -->
- </p>
- <h2 class="catalogue">Other options</h2>
- <p>
- <label class="label100" for="callno">Call
Number</label>
- <input type="hidden" name="marclist"
value="items.itemcallnumber">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator"
value="start">
- <input type="text" name="value" id="callno"
onchange="sql_update()">
- </p>
- <p>
- <label class="label100" for="isbn">ISBN</label>
- <input type="hidden" name="marclist"
value="biblioitems.isbn">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator" value="=">
- <input type="text" name="value" id="isbn"
onchange="sql_update()">
- </p>
- <p>
- <label class="label100"
for="publisher">Publisher</label>
- <input type="hidden" name="marclist"
value="biblioitems.publishercode">
- <input type="hidden" name="and_or" value="and">
- <input type="hidden" name="excluding" value="">
- <input type="hidden" name="operator"
value="contains">
- <input type="text" name="value" id="publisher"
onchange="sql_update()">
-
+ <input type="text" name="search" id="keyword"
size="35">
</p>
- </div>
- <div class="bloc25">
- <p><textarea name="sql" rows="3" cols="70" disabled
readonly></textarea></p>
- <p>Results per page :
- <select name="resultsperpage" size="1">
- <option value="20">20</option>
- <option value="50">50</option>
- <option value="100">100</option>
- </select>
- Ordered by
- <select name="orderby" size="1">
-
<option_value="biblio.title">Title</option>
- <option
value="biblio.author">Author</option>
- <option
value="biblioitems.dewey">Dewey</option>
- <option
value="biblioitems.publicationyear">Publication Year</option>
- <option
value="biblioitems.publishercode">Publisher</option>
- </select>
- <p>
- <p><input type="hidden" name="index"
value="<!--TMPL_VAR Name="index" -->"></p>
<p>
<input type="submit" value="Start search"
class="button catalogue">
<input type="reset" value="Clear All Fields"
class="button catalogue">
</p>
- <script language="javascript" type="text/javascript">
- function sql_update() {
- document.f.sql.value="";
- for (i=0 ; i<document.f.marclist.length ; i++) {
- if (document.f.value[i].value.length>0)
{
- document.f.sql.value =
document.f.sql.value+
-
document.f.and_or[i].value + ' (' +
-
document.f.excluding[i].value + ' ' +
-
document.f.marclist[i].value + ' ' +
-
document.f.operator[i].value + ' ' +
-
'\''+document.f.value[i].value + '\') ';
- }
- }
- }
- </script>
</div>
</form>
@@ -336,9 +241,9 @@
<tr>
<td<!-- TMPL_IF NAME="even" -->
class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_IF
name="MARC_ON" -->
-
<a_class="transparent resultlist"
href="/cgi-bin/koha/MARCdetail.pl?biblionumber=<!-- TMPL_VAR
NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" --></a>
+
<a_class="transparent resultlist"
href="/cgi-bin/koha/MARCdetail.pl?biblionumber=<!-- TMPL_VAR
NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title"
ESCAPE="HTML"--></a>
<!-- TMPL_ELSE
-->
-
<a_class="transparent resultlist"
href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR
NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" --></a>
<!-- /TMPL_IF -->
+
<a_class="transparent resultlist"
href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR
NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" ESCAPE="HTML"
--></a> <!-- /TMPL_IF -->
<p><!-- TMPL_VAR
NAME="author" -->
<!-- TMPL_IF
NAME="publishercode" -->- <!-- TMPL_VAR NAME="publishercode" --><!-- /TMPL_IF
-->
<!-- TMPL_IF
NAME="place" --> ; <!-- TMPL_VAR NAME="place" --><!-- /TMPL_IF -->
@@ -351,25 +256,10 @@
<!-- TMPL_VAR NAME="totitem" -->
</td>
<td <!-- TMPL_IF NAME="even"
-->class="hilighted"<!-- /TMPL_IF -->>
- <!-- TMPL_LOOP NAME="CN" -->
- <p>
- <!-- TMPL_VAR
NAME="holdingbranch" -->
- <!-- TMPL_IF
name="date_due" -->
- On Loan
until <!-- TMPL_VAR NAME="date_due" -->
- <!-- TMPL_ELSE
-->
- <!--
TMPL_IF NAME="itemcallnumber" -->
-
(<!-- TMPL_VAR NAME="itemcallnumber" -->)
- <!--
/TMPL_IF -->
- <!-- /TMPL_IF
-->
- <!-- TMPL_IF
name="notforloan" -->
-
<i>(<!-- TMPL_VAR name="notforloan" -->)</i>
- <!-- /TMPL_IF
-->
- </p>
- <!-- /TMPL_LOOP -->
- <!-- TMPL_IF name="onorder"
--><p>On order</p><!-- /TMPL_IF -->
+ <!-- TMPL_VAR NAME="CN" -->
</td>
<td>
- <a
href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&index=<!--TMPL_VAR
Name="index"-->&bibnum=<!--TMPL_VAR
Name="biblionumber"-->&type=intranet&op=fillinput')"><img src="<!-- TMPL_VAR
NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/arrow.gif"
width="32" hspace="0" vspace="0" border="0"></a>
+ <a
href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&index=<!--TMPL_VAR
Name="index"-->&bibnum=<!--TMPL_VAR
Name="biblionumber"-->&type=intranet&op=fillinput')"><img src="<!-- TMPL_VAR
NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/arrow.gif"
alt="choose" width="32" hspace="0" vspace="0" border="0"></a>
</td>
</tr>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] koha cataloguing/value_builder/unimarc_field_4X... [rel_3_0],
Henri-Damien LAURENT <=