From 495ebcb42bbbfa0d630e16d71298cd2954f9725c Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Wed, 11 Sep 2019 18:05:45 +0300 Subject: [PATCH] Keep language setting for AJAX requests --- CHANGELOG.md | 2 ++ classes/plugin/Admin.php | 14 ++++++-------- classes/plugin/AdminController.php | 2 +- .../templates/partials/javascript-config.html.twig | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa6d39a9..e1a96ae3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ 1. [](#new) * Add ability to Sanitize SVGs on file upload * Add ability to Sanitize SVGs in Page media +1. [](#bugfix) + * Keep language setting for AJAX requests # v1.10.0-beta.7 ## 08/30/2019 diff --git a/classes/plugin/Admin.php b/classes/plugin/Admin.php index c0437ed4..89b302f1 100644 --- a/classes/plugin/Admin.php +++ b/classes/plugin/Admin.php @@ -3,8 +3,6 @@ namespace Grav\Plugin\Admin; use DateTime; -use Grav\Common\Cache; -use Grav\Common\Config\Config; use Grav\Common\Data; use Grav\Common\File\CompiledYamlFile; use Grav\Common\GPM\GPM; @@ -145,16 +143,16 @@ class Admin // Load utility class if ($this->multilang) { - $this->language = $language->getLanguage(); + $this->language = $language->getActive() ?? ''; $this->languages_enabled = (array)$this->grav['config']->get('system.languages.supported', []); //Set the currently active language for the admin $languageCode = $this->grav['uri']->param('lang'); - if (!$languageCode && !$this->session->admin_lang) { - $this->session->admin_lang = $language->getLanguage(); + if (null === $languageCode && !$this->session->admin_lang) { + $this->session->admin_lang = $language->getActive() ?? ''; } } else { - $this->language = 'en'; + $this->language = ''; } } @@ -189,7 +187,7 @@ class Admin public function getLanguage(): string { - return $this->language; + return $this->language ?: $this->grav['language']->getLanguage() ?: 'en'; } /** @@ -655,7 +653,7 @@ class Admin } else { $languages = (array)$grav['language']->getDefault(); } - $languages = $grav['user']->authenticated ? [ $grav['user']->language ] : $languages; + $languages = $grav['user']->authenticated ? [$grav['user']->language] : $languages; } else { $languages = (array)$languages; } diff --git a/classes/plugin/AdminController.php b/classes/plugin/AdminController.php index 6fcc1a23..3cb3fc52 100644 --- a/classes/plugin/AdminController.php +++ b/classes/plugin/AdminController.php @@ -1374,7 +1374,7 @@ class AdminController extends AdminBaseController $multilang = $this->isMultilang(); if ($multilang && !$obj->language()) { - $obj->language($this->admin->language); + $obj->language($this->admin->getLanguage()); } $admin_route = $this->admin->base; diff --git a/themes/grav/templates/partials/javascript-config.html.twig b/themes/grav/templates/partials/javascript-config.html.twig index acc0e946..767f7c30 100644 --- a/themes/grav/templates/partials/javascript-config.html.twig +++ b/themes/grav/templates/partials/javascript-config.html.twig @@ -13,7 +13,7 @@