From 38de3564c6e7c933d7722c49b91114e245df2240 Mon Sep 17 00:00:00 2001 From: dbs Date: Wed, 8 Jul 2009 17:48:04 +0000 Subject: [PATCH] Merge r13491 from trunk: Give unAPI and friends the ability to redirect to an OPAC with a specific locale and skin git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6_0@13533 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm index b3817c89e4..20b5f088bc 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm @@ -230,6 +230,9 @@ sub unapi { my $uri = $cgi->param('id') || ''; my $host = $cgi->virtual_host || $cgi->server_name; + my $skin = $cgi->param('skin') || 'default'; + my $locale = $cgi->param('locale') || 'en-US'; + my $format = $cgi->param('format'); my $flesh_feed = ($format =~ /-full$/o) ? 1 : 0; (my $base_format = $format) =~ s/-full$//o; @@ -420,9 +423,9 @@ sub unapi { } if ($format eq 'opac') { - print "Location: $root/../../en-US/skin/default/xml/rresult.xml?m=$id&l=$lib_id&d=$lib_depth\n\n" + print "Location: $root/../../$locale/skin/$skin/xml/rresult.xml?m=$id&l=$lib_id&d=$lib_depth\n\n" if ($type eq 'metarecord'); - print "Location: $root/../../en-US/skin/default/xml/rdetail.xml?r=$id&l=$lib_id&d=$lib_depth\n\n" + print "Location: $root/../../$locale/skin/$skin/xml/rdetail.xml?r=$id&l=$lib_id&d=$lib_depth\n\n" if ($type eq 'record'); return 302; } elsif (OpenILS::WWW::SuperCat::Feed->exists($base_format) && ($type ne 'acn' && $type ne 'acp' && $type ne 'auri')) { @@ -509,6 +512,9 @@ sub supercat { my ($id,$type,$format,$command) = reverse split '/', $path; my $flesh_feed = ($type =~ /-full$/o) ? 1 : 0; (my $base_format = $format) =~ s/-full$//o; + + my $skin = $cgi->param('skin') || 'default'; + my $locale = $cgi->param('locale') || 'en-US'; if ( $path =~ m{^/formats(?:/([^\/]+))?$}o ) { print "Content-type: application/xml; charset=utf-8\n"; @@ -639,9 +645,9 @@ sub supercat { } if ($format eq 'opac') { - print "Location: $root/../../en-US/skin/default/xml/rresult.xml?m=$id\n\n" + print "Location: $root/../../$locale/skin/$skin/xml/rresult.xml?m=$id\n\n" if ($type eq 'metarecord'); - print "Location: $root/../../en-US/skin/default/xml/rdetail.xml?r=$id\n\n" + print "Location: $root/../../$locale/skin/$skin/xml/rdetail.xml?r=$id\n\n" if ($type eq 'record'); return 302; @@ -753,6 +759,9 @@ sub bookbag_feed { my $base = (split 'bookbag', $url)[0] . '/bookbag'; my $unapi = (split 'feed', $url)[0] . '/unapi'; + my $skin = $cgi->param('skin') || 'default'; + my $locale = $cgi->param('locale') || 'en-US'; + $root =~ s{(?target_biblio_record_entry } @{ $bucket->items }) . "\n\n"; return 302; @@ -796,7 +805,7 @@ sub bookbag_feed { $feed->link( OPAC => - $host . '/opac/en-US/skin/default/xml/rresult.xml?rt=list&' . + $host . "/opac/$locale/skin/$skin/xml/rresult.xml?rt=list&" . join('&', map { 'rl=' . $_->target_biblio_record_entry } @{$bucket->items} ), 'text/html' ); @@ -828,6 +837,9 @@ sub changes_feed { my $base = (split 'freshmeat', $url)[0] . '/freshmeat'; my $unapi = (split 'feed', $url)[0] . 'unapi'; + my $skin = $cgi->param('skin') || 'default'; + my $locale = $cgi->param('locale') || 'en-US'; + my $path = $cgi->path_info; #warn "URL breakdown: $url ($rel_name) -> $root -> $base -> $path -> $unapi"; @@ -865,7 +877,7 @@ sub changes_feed { $feed->link( OPAC => - $host . '/opac/en-US/skin/default/xml/rresult.xml?rt=list&' . + $host . "/opac/$locale/skin/$skin/xml/rresult.xml?rt=list&" . join('&', map { 'rl=' . $_} @$list ), 'text/html' ); -- 2.11.0