diff options
author | Mario <mario@mariovavti.com> | 2021-06-05 07:51:38 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2021-06-05 07:51:38 +0000 |
commit | b90db6931de2e1989cf44fac9ef037d1bc2cc16b (patch) | |
tree | a28c92b4fa9b20a95e5b221342b8a546ff03a185 /Zotlabs | |
parent | a0ee9557f028633aef0549decf4181ca7afcf9a8 (diff) | |
parent | 25497336bba4ffc8fc702bfc5126e66130bd9cbc (diff) | |
download | volse-hubzilla-b90db6931de2e1989cf44fac9ef037d1bc2cc16b.tar.gz volse-hubzilla-b90db6931de2e1989cf44fac9ef037d1bc2cc16b.tar.bz2 volse-hubzilla-b90db6931de2e1989cf44fac9ef037d1bc2cc16b.zip |
Merge branch 'dev' into 'dev'
Changed behavior in the user interaction of the languages selection. Now works...
See merge request hubzilla/core!1952
Diffstat (limited to 'Zotlabs')
-rw-r--r-- | Zotlabs/Module/Lang.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php index a32f933a6..1a2f1664e 100644 --- a/Zotlabs/Module/Lang.php +++ b/Zotlabs/Module/Lang.php @@ -7,6 +7,52 @@ use Zotlabs\Web\Controller; class Lang extends Controller { + const MYP = 'ZIN'; + const VERSION = '2.0.0'; + + function post() { + + $re = []; + $isajax = is_ajax(); + $eol = $isajax ? "\n" : EOL; + + if (! Apps::system_app_installed(local_channel(), 'Language')) { + $re['msg'] = 'ZIN0202E, ' . t('Language App') . ' (' . t('Not Installed') . ')' ; + notice( $re['msg'] . EOL); + if ($isajax) { + echo json_encode( $re ); + killme(); + exit; + } else { + return; + } + } + + $lc = x($_POST['zinlc']) && preg_match('/^\?\?|[a-z]{2,2}[x_\-]{0,1}[a-zA-Z]{0,2}$/', $_POST['zinlc']) + ? $_POST['zinlc'] : ''; + $lcs= x($_POST['zinlcs']) && preg_match('/^[a-z,_\-]{0,191}$/', $_POST['zinlcs']) + ? $_POST['zinlcs'] : ''; + + if ($isajax) { + + if ($lc == '??') { + $re['lc'] = get_best_language(); + $re['lcs'] = language_list(); + } else { + $re['lc'] = $lc; + $re['alc'] = App::$language; + $re['slc'] = $_SESSION['language']; + $_SESSION['language'] = $lc; + App::$language = $lc; + load_translation_table($lc, true); + } + + echo json_encode( $re ); + killme(); + exit; + } + } + function get() { if(local_channel()) { |