Keep language setting for AJAX requests

This commit is contained in:
Matias Griese
2019-09-11 18:05:45 +03:00
parent 5332670ea3
commit 495ebcb42b
4 changed files with 10 additions and 10 deletions

View File

@@ -4,6 +4,8 @@
1. [](#new) 1. [](#new)
* Add ability to Sanitize SVGs on file upload * Add ability to Sanitize SVGs on file upload
* Add ability to Sanitize SVGs in Page media * Add ability to Sanitize SVGs in Page media
1. [](#bugfix)
* Keep language setting for AJAX requests
# v1.10.0-beta.7 # v1.10.0-beta.7
## 08/30/2019 ## 08/30/2019

View File

@@ -3,8 +3,6 @@
namespace Grav\Plugin\Admin; namespace Grav\Plugin\Admin;
use DateTime; use DateTime;
use Grav\Common\Cache;
use Grav\Common\Config\Config;
use Grav\Common\Data; use Grav\Common\Data;
use Grav\Common\File\CompiledYamlFile; use Grav\Common\File\CompiledYamlFile;
use Grav\Common\GPM\GPM; use Grav\Common\GPM\GPM;
@@ -145,16 +143,16 @@ class Admin
// Load utility class // Load utility class
if ($this->multilang) { if ($this->multilang) {
$this->language = $language->getLanguage(); $this->language = $language->getActive() ?? '';
$this->languages_enabled = (array)$this->grav['config']->get('system.languages.supported', []); $this->languages_enabled = (array)$this->grav['config']->get('system.languages.supported', []);
//Set the currently active language for the admin //Set the currently active language for the admin
$languageCode = $this->grav['uri']->param('lang'); $languageCode = $this->grav['uri']->param('lang');
if (!$languageCode && !$this->session->admin_lang) { if (null === $languageCode && !$this->session->admin_lang) {
$this->session->admin_lang = $language->getLanguage(); $this->session->admin_lang = $language->getActive() ?? '';
} }
} else { } else {
$this->language = 'en'; $this->language = '';
} }
} }
@@ -189,7 +187,7 @@ class Admin
public function getLanguage(): string public function getLanguage(): string
{ {
return $this->language; return $this->language ?: $this->grav['language']->getLanguage() ?: 'en';
} }
/** /**
@@ -655,7 +653,7 @@ class Admin
} else { } else {
$languages = (array)$grav['language']->getDefault(); $languages = (array)$grav['language']->getDefault();
} }
$languages = $grav['user']->authenticated ? [ $grav['user']->language ] : $languages; $languages = $grav['user']->authenticated ? [$grav['user']->language] : $languages;
} else { } else {
$languages = (array)$languages; $languages = (array)$languages;
} }

View File

@@ -1374,7 +1374,7 @@ class AdminController extends AdminBaseController
$multilang = $this->isMultilang(); $multilang = $this->isMultilang();
if ($multilang && !$obj->language()) { if ($multilang && !$obj->language()) {
$obj->language($this->admin->language); $obj->language($this->admin->getLanguage());
} }
$admin_route = $this->admin->base; $admin_route = $this->admin->base;

View File

@@ -13,7 +13,7 @@
<script type="text/javascript"> <script type="text/javascript">
window.GravAdmin = window.GravAdmin || {}; window.GravAdmin = window.GravAdmin || {};
window.GravAdmin.config = { window.GravAdmin.config = {
current_url: '{{ uri.route(true) }}', current_url: '{{ uri.getCurrentRoute().withExtension('').withoutParams().toString() }}',
base_url_relative: '{{ base_url_relative }}', base_url_relative: '{{ base_url_relative }}',
base_url_simple: '{{ base_url_simple }}', base_url_simple: '{{ base_url_simple }}',
route: '{{ admin.route|trim('/') }}', route: '{{ admin.route|trim('/') }}',