mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-06-27 08:46:44 +03:00
Some fixes for #1362
This commit is contained in:
parent
4400af04c7
commit
1a331dc3ba
1 changed files with 15 additions and 15 deletions
|
|
@ -4,8 +4,8 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Nextcloud',
|
||||
VERSION = '2.27',
|
||||
RELEASE = '2023-12-11',
|
||||
VERSION = '2.28',
|
||||
RELEASE = '2023-12-17',
|
||||
CATEGORY = 'Integrations',
|
||||
DESCRIPTION = 'Integrate with Nextcloud v20+',
|
||||
REQUIRED = '2.27.0';
|
||||
|
|
@ -248,11 +248,10 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
public function FilterLanguage(&$sLanguage, $bAdmin) : void
|
||||
{
|
||||
if (!\RainLoop\Api::Config()->Get('webmail', 'allow_languages_on_settings', true)) {
|
||||
$aResultLang = \SnappyMail\L10n::getLanguages(false);
|
||||
$user = \OC::$server->getUserSession()->getUser();
|
||||
$userId = $user->getUID();
|
||||
$userLang = \OC::$server->getConfig()->getUserValue($userId, 'core', 'lang','en');
|
||||
$sLanguage = $this->determineLocale($userLang,$aResultLang);
|
||||
$aResultLang = \SnappyMail\L10n::getLanguages($bAdmin);
|
||||
$userId = \OC::$server->getUserSession()->getUser()->getUID();
|
||||
$userLang = \OC::$server->getConfig()->getUserValue($userId, 'core', 'lang', 'en');
|
||||
$sLanguage = $this->determineLocale($userLang, $aResultLang);
|
||||
// Check if $sLanguage is null
|
||||
if ($sLanguage === null) {
|
||||
$sLanguage = 'en'; // Assign 'en' if $sLanguage is null
|
||||
|
|
@ -266,23 +265,24 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
* @param string $langCode The name of the input.
|
||||
* @param array $languagesArray The value of the array.
|
||||
*
|
||||
* @return string return locale
|
||||
* @return string return locale
|
||||
*/
|
||||
private function determineLocale (string $langCode, array $languagesArray) : string {
|
||||
private function determineLocale(string $langCode, array $languagesArray) : ?string
|
||||
{
|
||||
// Direct check for the language code
|
||||
if (in_array($langCode, $languagesArray)) {
|
||||
if (\in_array($langCode, $languagesArray)) {
|
||||
return $langCode;
|
||||
}
|
||||
|
||||
|
||||
// Check with uppercase country code
|
||||
$langCodeWithUpperCase = $langCode . '-' . strtoupper($langCode);
|
||||
if (in_array($langCodeWithUpperCase, $languagesArray)) {
|
||||
$langCodeWithUpperCase = $langCode . '-' . \strtoupper($langCode);
|
||||
if (\in_array($langCodeWithUpperCase, $languagesArray)) {
|
||||
return $langCodeWithUpperCase;
|
||||
}
|
||||
|
||||
|
||||
// Iterating to find a match starting with langCode
|
||||
foreach ($languagesArray as $localeValue) {
|
||||
if (strpos($localeValue, $langCode) === 0) {
|
||||
if (\str_starts_with($localeValue, $langCode)) {
|
||||
return $localeValue;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue