X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-changelanguage.pl;h=689f4d4307bd887ff773ef88dad29c0db0ba314b;hb=48f54016a7accfc0cc43bf01cbac70a8482bc3f9;hp=1c3ee8e6cd6e6a8a6bf8052abc717da8cd03ce66;hpb=5e94de956610072d3d37bbbde1c8d48920414118;p=koha.git diff --git a/opac/opac-changelanguage.pl b/opac/opac-changelanguage.pl index 1c3ee8e6cd..689f4d4307 100755 --- a/opac/opac-changelanguage.pl +++ b/opac/opac-changelanguage.pl @@ -2,27 +2,37 @@ # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use strict; use warnings; use C4::Templates; -use CGI; +use CGI qw ( -utf8 ); my $query = new CGI; my $language = $query->param('language'); -my $url = $query->referer(); +# Detect where the user came from and save that url +my $requestedUrl = $query->url(-base => 1) ; +# Use referer url if it matches $requestedUrl else use $requestedUrl as the url . +my $url = $query->referer()=~$requestedUrl ? $query->referer() : $requestedUrl; # warn "Language : $query // $language // $url"; + +# If language was set by an external URL the parameter +# 'language=' should be removed from url string, otherwise +# the language picker will not work +$url =~ s|(.)language=[\w-]*&?|$1|; +$url =~ s|(&\|\?)$||; # Remove extraneous ? or & + C4::Templates::setlanguagecookie( $query, $language, $url );