From 893c02fb4c9e7dfb9650c0971818a13b7a28b557 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 8 Nov 2006 20:53:40 +0000 Subject: [PATCH] making the dumpac mo betta git-svn-id: svn://svn.open-ils.org/ILS/trunk@6570 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm | 17 ++++++------ .../src/perlmods/OpenILS/WWW/SuperCat/Feed.pm | 27 +++++++++++++++++++ Open-ILS/xsl/ATOM2XHTML.xsl | 5 +++- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm index 8fa559319f..4c6f76e819 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm @@ -904,7 +904,7 @@ sub opensearch_feed { $offset -= 1; } - my ($version,$org,$type,$class,$terms,$sort,$sortdir,$lang); + my ($version,$org,$type,$class,$terms,$sort,$sortdir,$lang) = ('','','','','','','',''); (undef,$version,$org,$type,$class,$terms,$sort,$sortdir,$lang) = split '/', $path; $lang = $cgi->param('searchLang') if $cgi->param('searchLang'); @@ -944,6 +944,7 @@ sub opensearch_feed { $terms = decode_utf8($terms); $terms =~ s/\+/ /go; $terms =~ s/'//go; + $terms =~ s/^\s+//go; my $term_copy = $terms; my $complex_terms = 0; @@ -1074,43 +1075,43 @@ sub opensearch_feed { $feed->link( next => - $base . "/$version/$org/$type/$class?searchTerms=$terms&startIndex=" . int($offset + $limit + 1) . "&count=" . $limit => + $base . "/$version/$org/$type/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang&startIndex=" . int($offset + $limit + 1) . "&count=" . $limit => 'application/opensearch+xml' ) if ($offset + $limit < $recs->{count}); $feed->link( previous => - $base . "/$version/$org/$type/$class?searchTerms=$terms&startIndex=" . int(($offset - $limit) + 1) . "&count=" . $limit => + $base . "/$version/$org/$type/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang&startIndex=" . int(($offset - $limit) + 1) . "&count=" . $limit => 'application/opensearch+xml' ) if ($offset); $feed->link( self => - $base . "/$version/$org/$type/$class?searchTerms=$terms" => + $base . "/$version/$org/$type/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang" => 'application/opensearch+xml' ); $feed->link( rss => - $base . "/$version/$org/rss2-full/$class?searchTerms=$terms" => + $base . "/$version/$org/rss2-full/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang" => 'application/rss+xml' ); $feed->link( alternate => - $base . "/$version/$org/atom-full/$class?searchTerms=$terms" => + $base . "/$version/$org/atom-full/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang" => 'application/atom+xml' ); $feed->link( 'html' => - $base . "/$version/$org/html/$class?searchTerms=$terms" => + $base . "/$version/$org/html/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang" => 'text/html' ); $feed->link( 'html-full' => - $base . "/$version/$org/html-full/$class?searchTerms=$terms" => + $base . "/$version/$org/html-full/$class?searchTerms=$terms&searchSort=$sort&searchSortDir=$sortdir&searchLang=$lang" => 'text/html' ); diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat/Feed.pm b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat/Feed.pm index 04c4925c55..76f8a6a09f 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat/Feed.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat/Feed.pm @@ -65,6 +65,27 @@ sub class { return $self->{class}; } +sub Sort { + my $self = shift; + my $search = shift; + $self->{sort} = $search if ($search); + return $self->{sort}; +} + +sub SortDir { + my $self = shift; + my $search = shift; + $self->{sort_dir} = $search if ($search); + return $self->{sort_dir}; +} + +sub lang { + my $self = shift; + my $search = shift; + $self->{lang} = $search if ($search); + return $self->{lang}; +} + sub lib { my $self = shift; my $lib = shift; @@ -592,6 +613,9 @@ sub toString { my $base = $self->base || ''; my $root = $self->root || ''; my $search = $self->search || ''; + my $sort = $self->Sort || ''; + my $sort_dir = $self->SortDir || ''; + my $lang = $self->lang || ''; my $lib = $self->lib || '-'; $self->composeDoc; @@ -612,6 +636,9 @@ sub toString { base_dir => "'$root'", lib => "'$lib'", searchTerms => "'$search'", + searchSort => "'$sort'", + searchSortDir => "'$sort_dir'", + searchLang => "'$lang'", ); return $new_doc->toString(1); diff --git a/Open-ILS/xsl/ATOM2XHTML.xsl b/Open-ILS/xsl/ATOM2XHTML.xsl index ff6e2b4c65..2b5bcf2ff6 100644 --- a/Open-ILS/xsl/ATOM2XHTML.xsl +++ b/Open-ILS/xsl/ATOM2XHTML.xsl @@ -266,7 +266,7 @@ To-do list:

- +

@@ -415,6 +415,7 @@ To-do list: + + unAPI -- 2.43.2