diff options
author | 6543 <6543@obermui.de> | 2020-12-04 07:20:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-04 08:20:30 +0200 |
commit | 48a3bb7a32bb4e7e5a31cfeb4ca324621c417527 (patch) | |
tree | 8cab01bb2a7b48c323c11ddcd574f67283a0468c /routers/user/setting | |
parent | 3512c7e40f0b06f9f495a919e0d4925e5688e2da (diff) | |
download | gitea-48a3bb7a32bb4e7e5a31cfeb4ca324621c417527.tar.gz gitea-48a3bb7a32bb4e7e5a31cfeb4ca324621c417527.zip |
User Settings: Ignore empty language codes & validate (#13755)
Diffstat (limited to 'routers/user/setting')
-rw-r--r-- | routers/user/setting/profile.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/routers/user/setting/profile.go b/routers/user/setting/profile.go index 6653230a39..74cc96cb85 100644 --- a/routers/user/setting/profile.go +++ b/routers/user/setting/profile.go @@ -19,6 +19,7 @@ import ( "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/util" "github.com/unknwon/i18n" ) @@ -94,7 +95,14 @@ func ProfilePost(ctx *context.Context, form auth.UpdateProfileForm) { ctx.User.KeepEmailPrivate = form.KeepEmailPrivate ctx.User.Website = form.Website ctx.User.Location = form.Location - ctx.User.Language = form.Language + if len(form.Language) != 0 { + if !util.IsStringInSlice(form.Language, setting.Langs) { + ctx.Flash.Error(ctx.Tr("settings.update_language_not_found", form.Language)) + ctx.Redirect(setting.AppSubURL + "/user/settings") + return + } + ctx.User.Language = form.Language + } ctx.User.Description = form.Description ctx.User.KeepActivityPrivate = form.KeepActivityPrivate if err := models.UpdateUserSetting(ctx.User); err != nil { |