mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix 653
This commit is contained in:
		| @@ -77,7 +77,9 @@ There are 5 ways to install Gogs: | |||||||
|  |  | ||||||
| ## Contributors | ## Contributors | ||||||
|  |  | ||||||
| The [core team](http://gogs.io/team) of this project. See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for full list of contributors. | - The [core team](http://gogs.io/team) of this project.  | ||||||
|  | - See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for full list of contributors. | ||||||
|  | - See [TRANSLATORS](conf/locale/TRANSLATORS) for full list of translators. | ||||||
|  |  | ||||||
| ## License | ## License | ||||||
|  |  | ||||||
|   | |||||||
| @@ -68,7 +68,9 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自 | |||||||
|  |  | ||||||
| ## 贡献成员 | ## 贡献成员 | ||||||
|  |  | ||||||
| 本项目的 [开发团队](http://gogs.io/team)。您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取完整的贡献者列表。 | - 本项目的 [开发团队](http://gogs.io/team)。 | ||||||
|  | - 您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取完整的贡献者列表。 | ||||||
|  | - 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取完整的翻译人员列表。 | ||||||
|  |  | ||||||
| ## 授权许可 | ## 授权许可 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								conf/locale/TRANSLATORS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								conf/locale/TRANSLATORS
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # This file lists all individuals having contributed content to the translation. | ||||||
|  |  | ||||||
|  | Thomas Fanninger <gogs.thomas@fanninger.at> | ||||||
| @@ -208,6 +208,7 @@ enable_custom_avatar_helper = Enable this to disable fetch from Gravatar | |||||||
| choose_new_avatar = Choose new avatar | choose_new_avatar = Choose new avatar | ||||||
| update_avatar = Update Avatar Setting | update_avatar = Update Avatar Setting | ||||||
| uploaded_avatar_not_a_image = Uploaded file is not a image. | uploaded_avatar_not_a_image = Uploaded file is not a image. | ||||||
|  | no_custom_avatar_available = No custom avatar available, cannot enable it. | ||||||
| update_avatar_success = Your avatar setting has been updated successfully. | update_avatar_success = Your avatar setting has been updated successfully. | ||||||
|  |  | ||||||
| change_password = Change Password | change_password = Change Password | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const APP_VER = "0.5.8.1121 Beta" | const APP_VER = "0.5.8.1122 Beta" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|   | |||||||
| @@ -140,10 +140,14 @@ func (u *User) ValidtePassword(passwd string) bool { | |||||||
| 	return u.Passwd == newUser.Passwd | 	return u.Passwd == newUser.Passwd | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // CustomAvatarPath returns user custom avatar file path. | ||||||
|  | func (u *User) CustomAvatarPath() string { | ||||||
|  | 	return filepath.Join(setting.AvatarUploadPath, com.ToStr(u.Id)) | ||||||
|  | } | ||||||
|  |  | ||||||
| // UploadAvatar saves custom avatar for user. | // UploadAvatar saves custom avatar for user. | ||||||
| // FIXME: splite uploads to different subdirs in case we have massive users. | // FIXME: splite uploads to different subdirs in case we have massive users. | ||||||
| func (u *User) UploadAvatar(data []byte) error { | func (u *User) UploadAvatar(data []byte) error { | ||||||
| 	savePath := filepath.Join(setting.AvatarUploadPath, com.ToStr(u.Id)) |  | ||||||
| 	u.UseCustomAvatar = true | 	u.UseCustomAvatar = true | ||||||
|  |  | ||||||
| 	img, _, err := image.Decode(bytes.NewReader(data)) | 	img, _, err := image.Decode(bytes.NewReader(data)) | ||||||
| @@ -164,7 +168,7 @@ func (u *User) UploadAvatar(data []byte) error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	os.MkdirAll(setting.AvatarUploadPath, os.ModePerm) | 	os.MkdirAll(setting.AvatarUploadPath, os.ModePerm) | ||||||
| 	fw, err := os.Create(savePath) | 	fw, err := os.Create(u.CustomAvatarPath()) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		sess.Rollback() | 		sess.Rollback() | ||||||
| 		return err | 		return err | ||||||
|   | |||||||
| @@ -89,9 +89,6 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) { | |||||||
| 	defer ctx.Redirect(setting.AppSubUrl + "/user/settings") | 	defer ctx.Redirect(setting.AppSubUrl + "/user/settings") | ||||||
|  |  | ||||||
| 	ctx.User.UseCustomAvatar = form.Enable | 	ctx.User.UseCustomAvatar = form.Enable | ||||||
| 	if err := models.UpdateUser(ctx.User); err != nil { |  | ||||||
| 		ctx.Flash.Error(err.Error()) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if form.Avatar != nil { | 	if form.Avatar != nil { | ||||||
| 		fr, err := form.Avatar.Open() | 		fr, err := form.Avatar.Open() | ||||||
| @@ -113,7 +110,19 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) { | |||||||
| 			ctx.Flash.Error(err.Error()) | 			ctx.Flash.Error(err.Error()) | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
|  | 	} else { | ||||||
|  | 		// In case no avatar at all. | ||||||
|  | 		if form.Enable && !com.IsFile(ctx.User.CustomAvatarPath()) { | ||||||
|  | 			ctx.Flash.Error(ctx.Tr("settings.no_custom_avatar_available")) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if err := models.UpdateUser(ctx.User); err != nil { | ||||||
|  | 		ctx.Flash.Error(err.Error()) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	ctx.Flash.Success(ctx.Tr("settings.update_avatar_success")) | 	ctx.Flash.Success(ctx.Tr("settings.update_avatar_success")) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| 0.5.8.1121 Beta | 0.5.8.1122 Beta | ||||||
		Reference in New Issue
	
	Block a user