View | Details | Raw Unified | Return to bug 21299
Collapse All | Expand All

(-)a/changelanguage.pl (-7 / +4 lines)
Lines 16-30 Link Here
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
20
use C4::Templates;
21
use CGI qw ( -utf8 );
19
use CGI qw ( -utf8 );
20
use C4::Templates;
21
use Koha::Util;
22
22
23
my $query    = new CGI;
23
my $query = new CGI;
24
my $language = $query->param('language');
24
my $language = $query->param('language');
25
my $url      = $query->referer();
25
my $url = Koha::Util::localReferer($query, {remove_language => 1, staff => 1});
26
27
$url =~ s|(.)language=[\w-]*&?|$1|;
28
$url =~ s|(&\|\?)$||; # Remove extraneous ? or &
29
26
30
C4::Templates::setlanguagecookie( $query, $language, $url );
27
C4::Templates::setlanguagecookie( $query, $language, $url );
(-)a/opac/opac-changelanguage.pl (-19 / +4 lines)
Lines 16-41 Link Here
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
20
use C4::Templates;
21
use CGI qw ( -utf8 );
19
use CGI qw ( -utf8 );
20
use C4::Templates;
21
use Koha::Util;
22
22
23
my $query    = new CGI;
23
my $query = new CGI;
24
my $language = $query->param('language');
24
my $language = $query->param('language');
25
25
my $url = Koha::Util::localReferer($query, { remove_language => 1 });
26
# Detect where the user came from and save that url
27
my $requestedUrl = $query->url( -base => 1 );
28
29
# Use referer url if it matches $requestedUrl else use $requestedUrl as the url .
30
my $url =
31
  $query->referer() =~ $requestedUrl ? $query->referer() : $requestedUrl;
32
33
# warn "Language : $query // $language // $url";
34
35
# If language was set by an external URL the parameter
36
# 'language=' should be removed from url string, otherwise
37
# the language picker will not work
38
$url =~ s|(.)language=[\w-]*&?|$1|;
39
$url =~ s|(&\|\?)$||;    # Remove extraneous ? or &
40
26
41
C4::Templates::setlanguagecookie( $query, $language, $url );
27
C4::Templates::setlanguagecookie( $query, $language, $url );
42
- 

Return to bug 21299