[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha search.pl,1.6.2.16,1.6.2.17
From: |
Steve Tonnesen |
Subject: |
[Koha-cvs] CVS: koha search.pl,1.6.2.16,1.6.2.17 |
Date: |
Fri, 08 Nov 2002 12:15:43 -0800 |
Update of /cvsroot/koha/koha
In directory usw-pr-cvs1:/tmp/cvs-serv511
Modified Files:
Tag: rel-1-2
search.pl
Log Message:
Fixes bugs with characters in search strings that require escaping in the URL
(space, =, &, etc.). Also uses the same set up as the opac search results
templates now. ie the FORMINPUTS template variable is sent as variable and
value pairs so that the value can be url escaped by HTML::Template
Index: search.pl
===================================================================
RCS file: /cvsroot/koha/koha/search.pl,v
retrieving revision 1.6.2.16
retrieving revision 1.6.2.17
diff -C2 -r1.6.2.16 -r1.6.2.17
*** search.pl 28 Oct 2002 18:01:48 -0000 1.6.2.16
--- search.pl 8 Nov 2002 20:15:39 -0000 1.6.2.17
***************
*** 11,17 ****
my $query=new CGI;
my $type=$query->param('type');
- (-e "opac") && ($type='opac');
! my ($loggedinuser, $cookie, $sessionID) = checkauth($query, ($type eq 'opac')
? (1) : (0));
--- 11,16 ----
my $query=new CGI;
my $type=$query->param('type');
! my ($loggedinuser, $cookie, $sessionID) = checkauth($query);
***************
*** 36,87 ****
# we assume that C4::Search will validate these values for us
my %search;
- my $keyword=$query->param('keyword');
- $search{'keyword'}=$keyword;
! $search{'subject'}=$subject;
! my $author=$query->param('author');
! $search{'author'}=$author;
! $search{'authoresc'}=$author;
! #$search{'authorhtmlescaped'}=~s/ /%20/g;
! my $illustrator=$query->param('illustrator');
! $search{'illustrator'}=$illustrator;
! my $itemnumber=$query->param('itemnumber');
! $search{'itemnumber'}=$itemnumber;
! my $isbn=$query->param('isbn');
! $search{'isbn'}=$isbn;
! my $datebefore=$query->param('date-before');
! $search{'date-before'}=$datebefore;
! my $class=$query->param('class');
! $search{'class'}=$class;
! my $dewey=$query->param('dewey');
! $search{'dewey'}=$dewey;
! my $branch=$query->param('branch');
! $search{'branch'}=$branch;
! my $title=$query->param('title');
! $search{'title'}=$title;
! my $abstract=$query->param('abstract');
! $search{'abstract'}=$abstract;
! my $publisher=$query->param('publisher');
! $search{'publisher'}=$publisher;
!
! my $ttype=$query->param('ttype');
! $search{'ttype'}=$ttype;
my $forminputs;
! ($keyword) && (push @$forminputs, { line => "keyword=$keyword"});
! ($subject) && (push @$forminputs, { line => "subject=$subject"});
! ($author) && (push @$forminputs, { line => "author=$author"});
! ($illustrator) && (push @$forminputs, { line => "illustrator=$illustrator"});
! ($itemnumber) && (push @$forminputs, { line => "itemnumber=$itemnumber"});
! ($isbn) && (push @$forminputs, { line => "isbn=$isbn"});
! ($datebefore) && (push @$forminputs, { line => "date-before=$datebefore"});
! ($class) && (push @$forminputs, { line => "class=$class"});
! ($dewey) && (push @$forminputs, { line => "dewey=$dewey"});
! ($branch) && (push @$forminputs, { line => "branch=$branch"});
! ($title) && (push @$forminputs, { line => "title=$title"});
! ($ttype) && (push @$forminputs, { line => "ttype=$ttype"});
! ($abstract) && (push @$forminputs, { line => "abstract=$abstract"});
! ($publisher) && (push @$forminputs, { line => "publisher=$publisher"});
($forminputs) || (@$forminputs=());
$template->param(FORMINPUTS => $forminputs);
# whats this for?
--- 35,60 ----
# we assume that C4::Search will validate these values for us
my %search;
! my @fields = ('keyword', 'subject', 'author', 'illustrator', 'itemnumber',
'isbn', 'date-before', 'date-after', 'class', 'dewey', 'class', 'branch',
'title', 'abstract', 'publisher');
my $forminputs;
! my $searchdesc = '';
! foreach my $field (@fields) {
! $search{$field} = $query->param($field);
! if ($search{$field}) {
! push @$forminputs, {field => $field, value => $search{$field}};
! $searchdesc .= "$field = $search{$field}, ";
! }
! }
! $search{'ttype'} = $query->param('ttype');
! push @$forminputs, {field => 'ttype', value => $search{'ttype'}};
!
! if (my $subjectitems=$query->param('subjectitems')){
! $search{'subject'} = $subjectitems;
! $searchdesc.="subject = $subjectitems, ";
! }
!
($forminputs) || (@$forminputs=());
+
$template->param(FORMINPUTS => $forminputs);
# whats this for?
***************
*** 107,147 ****
$result->{'authorhtmlescaped'}=~s/ /%20/g;
($result->{'copyrightdate'}==0) && ($result->{'copyrightdate'}='');
- ($type eq 'opac') ? ($result->{'opac'}=1) : ($result->{'opac'}=0);
push (@$resultsarray, $result);
}
($resultsarray) || (@$resultsarray=());
my $search="num=20";
- my $searchdesc='';
- if ($keyword){
- $search=$search."&keyword=$keyword";
- $searchdesc.="keyword $keyword, ";
- }
- if (my $subjectitems=$query->param('subjectitems')){
- $search=$search."&subjectitems=$subjectitems";
- $searchdesc.="subject $subjectitems, ";
- }
- if ($subject){
- $search=$search."&subject=$subject";
- $searchdesc.="subject $subject, ";
- }
- if ($author){
- $search=$search."&author=$author";
- $searchdesc.="author $author, ";
- }
- if ($class){
- $search=$search."&class=$class";
- $searchdesc.="class $class, ";
- }
- if ($title){
- $search=$search."&title=$title";
- $searchdesc.="title $title, ";
- }
- if ($dewey){
- $search=$search."&dewey=$dewey";
- $searchdesc.="dewey $dewey, ";
- }
- $search.="&ttype=$ttype";
- $search=~ s/ /%20/g;
$template->param(startfrom => $startfrom+1);
($startfrom+$num<=$count) ? ($template->param(endat => $startfrom+$num)) :
($template->param(endat => $count));
--- 80,88 ----
***************
*** 156,160 ****
$template->param(displaynext => $displaynext);
$template->param(displayprev => $displayprev);
- ($type eq 'opac') ? ($template->param(opac => 1)) : ($template->param(opac =>
0));
$template->param(prevstartfrom => $prevstartfrom);
$template->param(search => $search);
--- 97,100 ----
***************
*** 169,182 ****
for (my $i=1; $i<$count/10+1; $i++) {
if ($i<16) {
- ($title) && (push @$forminputs, { line => "title=$title"});
my $highlight=0;
($startfrom==($i-1)*10) && ($highlight=1);
! my $formelements='';
! foreach (@$forminputs) {
! my $line=$_->{line};
! $formelements.="$line&";
! }
! $formelements=~s/ /+/g;
! push @$numbers, { number => $i, highlight => $highlight ,
FORMELEMENTS => $formelements, FORMINPUTS => $forminputs, startfrom =>
($i-1)*10, opac => (($type eq 'opac') ? (1) : (0))};
}
}
--- 109,115 ----
for (my $i=1; $i<$count/10+1; $i++) {
if ($i<16) {
my $highlight=0;
($startfrom==($i-1)*10) && ($highlight=1);
! push @$numbers, { number => $i, highlight => $highlight ,
FORMINPUTS => $forminputs, startfrom => ($i-1)*10};
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha search.pl,1.6.2.16,1.6.2.17,
Steve Tonnesen <=
- Prev by Date:
[Koha-cvs] CVS: koha/C4 Search.pm,1.18.2.17,1.18.2.18
- Next by Date:
[Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/en/catalogue searchresults.tmpl,1.3.2.2,1.3.2.3 subject.tmpl,1.1.2.4,1.1.2.5
- Previous by thread:
[Koha-cvs] CVS: koha/C4 Search.pm,1.18.2.17,1.18.2.18
- Next by thread:
[Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/en/catalogue searchresults.tmpl,1.3.2.2,1.3.2.3 subject.tmpl,1.1.2.4,1.1.2.5
- Index(es):