[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha readingrec.pl [dev_week]
From: |
Kyle Hall |
Subject: |
[Koha-cvs] koha readingrec.pl [dev_week] |
Date: |
Fri, 14 Mar 2008 13:42:13 +0000 |
CVSROOT: /sources/koha
Module name: koha
Branch: dev_week
Changes by: Kyle Hall <kylemhall> 08/03/14 13:42:13
Modified files:
. : readingrec.pl
Log message:
Reading record sorting by title now ignores stopwords.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/readingrec.pl?cvsroot=koha&only_with_tag=dev_week&r1=1.12.2.5.2.3&r2=1.12.2.5.2.4
Patches:
Index: readingrec.pl
===================================================================
RCS file: /sources/koha/koha/Attic/readingrec.pl,v
retrieving revision 1.12.2.5.2.3
retrieving revision 1.12.2.5.2.4
diff -u -b -r1.12.2.5.2.3 -r1.12.2.5.2.4
--- readingrec.pl 31 May 2007 12:48:52 -0000 1.12.2.5.2.3
+++ readingrec.pl 14 Mar 2008 13:42:13 -0000 1.12.2.5.2.4
@@ -22,6 +22,8 @@
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
+use Data::Dumper;
+
use strict;
use C4::Auth;
use C4::Output;
@@ -47,9 +49,10 @@
} else {
$limit=50;
}
-my ($count,$issues)=allissues($bornum,$order2,$limit);
-my ($template, $loggedinuser, $cookie)
+my ( $count, $issues ) = allissues( $bornum, $order2, $limit );
+
+my ( $template, $loggedinuser, $cookie )
= get_template_and_user({template_name => "members/readingrec.tmpl",
query => $input,
type => "intranet",
@@ -60,30 +63,49 @@
my @loop_reading;
+my $stopwords = C4::Context->stopwords;
+
for (my $i=0;$i<$count;$i++){
my %line;
if($i%2){
$line{'toggle'} = 1;
}
- $line{biblionumber}=$issues->[$i]->{'biblionumber'};
- $line{title}=$issues->[$i]->{'title'};
- $line{author}=$issues->[$i]->{'author'};
+ $line{biblionumber} = $issues->[$i]->{'biblionumber'};
+ $line{title} = $issues->[$i]->{'title'};
+ $line{author} = $issues->[$i]->{'author'};
$line{classification} = $issues->[$i]->{'classification'};
- $line{date_due}=format_date($issues->[$i]->{'date_due'});
- $line{issue_date}=format_date($issues->[$i]->{'issue_date'});
- $line{returndate}=format_date($issues->[$i]->{'returndate'});
- $line{volumeddesc}=$issues->[$i]->{'volumeddesc'};
- $line{volume} =$issues->[$i]->{'volume'};
- $line{publicationyear} =$issues->[$i]->{'publicationyear'};
- $line{publishercode} =$issues->[$i]->{'publishercode'};
- $line{place} =$issues->[$i]->{'place'};
- $line{pages} =$issues->[$i]->{'pages'};
- $line{size} =$issues->[$i]->{'size'};
- $line{description} =$issues->[$i]->{'description'};
- $line{itemcallnumber}=$issues->[$i]->{'itemcallnumber'};
+ $line{date_due} = format_date($issues->[$i]->{'date_due'});
+ $line{issue_date} = format_date($issues->[$i]->{'issue_date'});
+ $line{returndate} = format_date($issues->[$i]->{'returndate'});
+ $line{volumeddesc} = $issues->[$i]->{'volumeddesc'};
+ $line{volume} = $issues->[$i]->{'volume'};
+ $line{publicationyear} = $issues->[$i]->{'publicationyear'};
+ $line{publishercode} = $issues->[$i]->{'publishercode'};
+ $line{place} = $issues->[$i]->{'place'};
+ $line{pages} = $issues->[$i]->{'pages'};
+ $line{size} = $issues->[$i]->{'size'};
+ $line{description} = $issues->[$i]->{'description'};
+ $line{itemcallnumber} = $issues->[$i]->{'itemcallnumber'};
+
+ if ( $order2 =~ m/title/ ) { ## If we are sorting by 'title'
+ ## Need to sort ignoring stopwords, create 'titlesort' which is
the title without any stopwords
+ $line{titlesort} = uc( $issues->[$i]->{'title'} ); ## Stopwords
are all uppercase
+ my ( $key, $value );
+ while ( ( $key, $value ) = each( %$stopwords ) ) {
+ if ( $line{titlesort} =~ m/^$key / ) { ## space after
$key make sure its not the beginning of a different word
+ $line{titlesort} = substr( $line{titlesort},
length( $key ) );
+ }
+ }
+ }
+
push(@loop_reading,\%line);
}
+## resort @loop_reading based on 'titlesort' instead of 'title' if being
sorted by title
+if ( $order2 =~ m/title/ ) {
+ @loop_reading = sort { $a->{titlesort} cmp $b->{titlesort} }
@loop_reading;
+}
+
$template->param(
biblionumber =>
$data->{'biblionumber'},
title => $data->{'title'},
- [Koha-cvs] koha readingrec.pl [dev_week],
Kyle Hall <=