|
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 |
- |
|
|