diff --git a/core/user_settings/app_languages.php b/core/user_settings/app_languages.php index 69f80311aa..829573450e 100644 --- a/core/user_settings/app_languages.php +++ b/core/user_settings/app_languages.php @@ -25,6 +25,16 @@ $text['table-title']['pt-pt'] = "Informações de Utilizador"; $text['table-title']['fr-fr'] = "Informations de l'usager"; + $text['label-user_language']['en-us'] = "Language"; + $text['label-user_language']['es-cl'] = "Lengua"; + $text['label-user_language']['pt-pt'] = "Língua"; + $text['label-user_language']['fr-fr'] = "Langue"; + + $text['description-user_language']['en-us'] = "Select the language."; + $text['description-user_language']['es-cl'] = "Seleccione el idioma."; + $text['description-user_language']['pt-pt'] = "Selecione o idioma."; + $text['description-user_language']['fr-fr'] = "Sélectionnez la langue."; + $text['label-username']['en-us'] = "Username"; $text['label-username']['es-cl'] = "Nombre de Usuario"; $text['label-username']['pt-pt'] = "Nome de Utilizador"; @@ -65,7 +75,7 @@ $text['label-status']['pt-pt'] = "Estado"; $text['label-status']['fr-fr'] = "Etat"; - $text['description-status']['en-us'] = "Select a the user status."; + $text['description-status']['en-us'] = "Select a user status."; $text['description-status']['es-cl'] = "Seleccione el estado del usuario."; $text['description-status']['pt-pt'] = "Escolha um estado para o utilizador."; $text['description-status']['fr-fr'] = "Sélection de l'état de l'usager."; diff --git a/core/user_settings/user_edit.php b/core/user_settings/user_edit.php index bdd296d67c..4dab4d0a83 100644 --- a/core/user_settings/user_edit.php +++ b/core/user_settings/user_edit.php @@ -38,6 +38,9 @@ else { //add multi-lingual support require_once "app_languages.php"; + foreach($text['button-save'] as $key => $value) { + $languages[$key] = ''; + } foreach($text as $key => $value) { $text[$key] = $value[$_SESSION['domain']['language']['code']]; } @@ -84,6 +87,7 @@ if (count($_POST)>0 && $_POST["persistform"] != "1") { $user_status = check_str($_POST["user_status"]); $user_template_name = check_str($_POST["user_template_name"]); $user_time_zone = check_str($_POST["user_time_zone"]); + $user_language = check_str($_POST["user_language"]); $group_member = check_str($_POST["group_member"]); $msg = ''; @@ -105,7 +109,7 @@ if (count($_POST)>0 && $_POST["persistform"] != "1") { return; } - //get the number of rows in v_user_settings + //check to see if user time_zone is set $sql = "select count(*) as num_rows from v_user_settings "; $sql .= "where user_setting_category = 'domain' "; $sql .= "and user_setting_subcategory = 'time_zone' "; @@ -161,6 +165,62 @@ if (count($_POST)>0 && $_POST["persistform"] != "1") { } } + //check to see if user language is set + $sql = "select count(*) as num_rows from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'language' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] == 0) { + $user_setting_uuid = uuid(); + $sql = "insert into v_user_settings "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "user_setting_uuid, "; + $sql .= "user_setting_category, "; + $sql .= "user_setting_subcategory, "; + $sql .= "user_setting_name, "; + $sql .= "user_setting_value, "; + $sql .= "user_setting_enabled, "; + $sql .= "user_uuid "; + $sql .= ") "; + $sql .= "values "; + $sql .= "("; + $sql .= "'".$_SESSION["domain_uuid"]."', "; + $sql .= "'".$user_setting_uuid."', "; + $sql .= "'domain', "; + $sql .= "'language', "; + $sql .= "'code', "; + $sql .= "'".$user_language."', "; + $sql .= "'true', "; + $sql .= "'".$user_uuid."' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + } + else { + if (strlen($user_time_zone) == 0) { + $sql = "delete from v_user_settings "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'language' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $db->exec(check_sql($sql)); + unset($sql); + } + else { + $sql = "update v_user_settings set "; + $sql .= "user_setting_value = '".$user_language."', "; + $sql .= "user_setting_enabled = 'true' "; + $sql .= "where user_setting_category = 'domain' "; + $sql .= "and user_setting_subcategory = 'language' "; + $sql .= "and user_uuid = '".$user_uuid."' "; + $db->exec(check_sql($sql)); + } + } + } + //if the template has not been assigned by the superadmin //if (strlen($_SESSION['domain']['template']['name']) == 0) { //set the session theme for the active user @@ -361,6 +421,29 @@ else { } */ + echo "