summaryrefslogtreecommitdiff
path: root/includes/helper/internationalization_helper.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/helper/internationalization_helper.php')
-rw-r--r--includes/helper/internationalization_helper.php25
1 files changed, 17 insertions, 8 deletions
diff --git a/includes/helper/internationalization_helper.php b/includes/helper/internationalization_helper.php
index d2dbcdbd..131941e9 100644
--- a/includes/helper/internationalization_helper.php
+++ b/includes/helper/internationalization_helper.php
@@ -1,5 +1,7 @@
<?php
+use Engelsystem\Http\Request;
+
/**
* Return currently active locale
*
@@ -7,7 +9,7 @@
*/
function locale()
{
- return $_SESSION['locale'];
+ return session()->get('locale');
}
/**
@@ -27,11 +29,12 @@ function gettext_init()
{
$locales = config('locales');
$request = request();
+ $session = session();
if ($request->has('set_locale') && isset($locales[$request->input('set_locale')])) {
- $_SESSION['locale'] = $request->input('set_locale');
- } elseif (!isset($_SESSION['locale'])) {
- $_SESSION['locale'] = config('default_locale');
+ $session->set('locale', $request->input('set_locale'));
+ } elseif (!$session->has('locale')) {
+ $session->set('locale', config('default_locale'));
}
gettext_locale();
@@ -48,7 +51,7 @@ function gettext_init()
function gettext_locale($locale = null)
{
if ($locale == null) {
- $locale = $_SESSION['locale'];
+ $locale = session()->get('locale');
}
putenv('LC_ALL=' . $locale);
@@ -62,14 +65,20 @@ function gettext_locale($locale = null)
*/
function make_langselect()
{
- $url = $_SERVER['REQUEST_URI'] . (strpos($_SERVER['REQUEST_URI'], '?') > 0 ? '&' : '?') . 'set_locale=';
+ $request = Request::getInstance();
$items = [];
foreach (config('locales') as $locale => $name) {
+ $url = url($request->getPathInfo(), ['set_locale' => $locale]);
+
$items[] = toolbar_item_link(
- htmlspecialchars($url) . $locale,
+ htmlspecialchars($url),
'',
- '<img src="pic/flag/' . $locale . '.png" alt="' . $name . '" title="' . $name . '"> ' . $name
+ sprintf(
+ '<img src="%s" alt="%s" title="%2$s"> %2$s',
+ url('pic/flag/' . $locale . '.png'),
+ $name
+ )
);
}
return $items;