mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	#3320 code cleanup
This commit is contained in:
		| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ |  | ||||||
|  |  | ||||||
| ##### Current tip version: 0.9.65 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ##### Current tip version: 0.9.66 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ||||||
|  |  | ||||||
| | Web | UI  | Preview  | | | Web | UI  | Preview  | | ||||||
| |:-------------:|:-------:|:-------:| | |:-------------:|:-------:|:-------:| | ||||||
| @@ -45,7 +45,7 @@ The goal of this project is to make the easiest, fastest, and most painless way | |||||||
| - Repository Git hooks/deploy keys | - Repository Git hooks/deploy keys | ||||||
| - Repository issues, pull requests and wiki | - Repository issues, pull requests and wiki | ||||||
| - Add/Remove repository collaborators | - Add/Remove repository collaborators | ||||||
| - Gravatar and custom source | - Gravatar and Federated avatar with custom source | ||||||
| - Mail service | - Mail service | ||||||
| - Administration panel | - Administration panel | ||||||
| - Supports MySQL, PostgreSQL, SQLite3 and [TiDB](https://github.com/pingcap/tidb) (experimental) | - Supports MySQL, PostgreSQL, SQLite3 and [TiDB](https://github.com/pingcap/tidb) (experimental) | ||||||
| @@ -87,6 +87,7 @@ There are 5 ways to install Gogs: | |||||||
|  |  | ||||||
| ### Screencasts | ### Screencasts | ||||||
|  |  | ||||||
|  | - [How to install Gogs on a Linux Server (DigitalOcean)](https://www.youtube.com/watch?v=deSfX0gqefE) | ||||||
| - [Instalando Gogs no Ubuntu](https://www.youtube.com/watch?v=4UkHAR1F7ZA) (Português) | - [Instalando Gogs no Ubuntu](https://www.youtube.com/watch?v=4UkHAR1F7ZA) (Português) | ||||||
|  |  | ||||||
| ### Deploy to Cloud | ### Deploy to Cloud | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自 | |||||||
| - 支持仓库 Git 钩子和部署密钥 | - 支持仓库 Git 钩子和部署密钥 | ||||||
| - 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki | - 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki | ||||||
| - 支持添加和删除仓库协作者 | - 支持添加和删除仓库协作者 | ||||||
| - 支持 Gravatar 以及自定义源 | - 支持自定义源的 Gravatar 和 Federated Avatar | ||||||
| - 支持邮件服务 | - 支持邮件服务 | ||||||
| - 支持后台管理面板 | - 支持后台管理面板 | ||||||
| - 支持 MySQL、PostgreSQL、SQLite3 和 [TiDB](https://github.com/pingcap/tidb)(实验性支持) 数据库 | - 支持 MySQL、PostgreSQL、SQLite3 和 [TiDB](https://github.com/pingcap/tidb)(实验性支持) 数据库 | ||||||
|   | |||||||
| @@ -229,9 +229,11 @@ AVATAR_UPLOAD_PATH = data/avatars | |||||||
| ; Chinese users can choose "duoshuo" | ; Chinese users can choose "duoshuo" | ||||||
| ; or a custom avatar source, like: http://cn.gravatar.com/avatar/ | ; or a custom avatar source, like: http://cn.gravatar.com/avatar/ | ||||||
| GRAVATAR_SOURCE = gravatar | GRAVATAR_SOURCE = gravatar | ||||||
|  | ; This value will be forced to be true in offline mode. | ||||||
| DISABLE_GRAVATAR = false | DISABLE_GRAVATAR = false | ||||||
| ; Federated avatar lookup uses DNS to discover avatar associated | ; Federated avatar lookup uses DNS to discover avatar associated | ||||||
| ; with emails, see http://www.libravatar.org | ; with emails, see http://www.libravatar.org | ||||||
|  | ; This value will be forced to be false in offline mode or Gravatar is disbaled. | ||||||
| ENABLE_FEDERATED_AVATAR = false | ENABLE_FEDERATED_AVATAR = false | ||||||
|  |  | ||||||
| [attachment] | [attachment] | ||||||
|   | |||||||
| @@ -97,6 +97,7 @@ offline_mode_popup = Disable CDN even in production mode, all resource files wil | |||||||
| disable_gravatar = Disable Gravatar Service | disable_gravatar = Disable Gravatar Service | ||||||
| disable_gravatar_popup = Disable Gravatar and custom sources, all avatars are uploaded by users or default. | disable_gravatar_popup = Disable Gravatar and custom sources, all avatars are uploaded by users or default. | ||||||
| federated_avatar_lookup = Enable Federated Avatars Lookup | federated_avatar_lookup = Enable Federated Avatars Lookup | ||||||
|  | federated_avatar_lookup_popup = Enable federated avatars lookup to use federated open source service based on libravatar. | ||||||
| disable_registration = Disable Self-registration | disable_registration = Disable Self-registration | ||||||
| disable_registration_popup = Disable user self-registration, only admin can create accounts. | disable_registration_popup = Disable user self-registration, only admin can create accounts. | ||||||
| enable_captcha = Enable Captcha | enable_captcha = Enable Captcha | ||||||
|   | |||||||
							
								
								
									
										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.9.65.0806" | const APP_VER = "0.9.66.0806" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|   | |||||||
| @@ -204,26 +204,23 @@ func HashEmail(email string) string { | |||||||
| 	return hex.EncodeToString(h.Sum(nil)) | 	return hex.EncodeToString(h.Sum(nil)) | ||||||
| } | } | ||||||
|  |  | ||||||
| // AvatarLink returns avatar link by given email. | // AvatarLink returns relative avatar link to the site domain by given email, | ||||||
|  | // which includes app sub-url as prefix. However, it is possible | ||||||
|  | // to return full URL if user enables Gravatar-like service. | ||||||
| func AvatarLink(email string) (url string) { | func AvatarLink(email string) (url string) { | ||||||
|  | 	if setting.EnableFederatedAvatar && setting.LibravatarService != nil { | ||||||
| 	if !setting.OfflineMode { | 		var err error | ||||||
| 		if setting.EnableFederatedAvatar && setting.LibravatarService != nil { | 		url, err = setting.LibravatarService.FromEmail(email) | ||||||
| 			var err error | 		if err != nil { | ||||||
| 			url, err = setting.LibravatarService.FromEmail(email) | 			log.Error(1, "LibravatarService.FromEmail: %v", err) | ||||||
| 			if err != nil { |  | ||||||
| 				log.Error(1, "LibravatarService.FromEmail:: %v", err) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		if len(url) == 0 && !setting.DisableGravatar { |  | ||||||
| 			url = setting.GravatarSource + HashEmail(email) |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 	if len(url) == 0 && !setting.DisableGravatar { | ||||||
|  | 		url = setting.GravatarSource + HashEmail(email) | ||||||
|  | 	} | ||||||
| 	if len(url) == 0 { | 	if len(url) == 0 { | ||||||
| 		url = setting.AppSubUrl + "/img/avatar_default.png" | 		url = setting.AppSubUrl + "/img/avatar_default.png" | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return url | 	return url | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -20,8 +20,8 @@ import ( | |||||||
| 	_ "github.com/go-macaron/cache/redis" | 	_ "github.com/go-macaron/cache/redis" | ||||||
| 	"github.com/go-macaron/session" | 	"github.com/go-macaron/session" | ||||||
| 	_ "github.com/go-macaron/session/redis" | 	_ "github.com/go-macaron/session/redis" | ||||||
| 	"gopkg.in/ini.v1" |  | ||||||
| 	"github.com/strk/go-libravatar" | 	"github.com/strk/go-libravatar" | ||||||
|  | 	"gopkg.in/ini.v1" | ||||||
|  |  | ||||||
| 	"github.com/gogits/gogs/modules/bindata" | 	"github.com/gogits/gogs/modules/bindata" | ||||||
| 	"github.com/gogits/gogs/modules/log" | 	"github.com/gogits/gogs/modules/log" | ||||||
| @@ -141,11 +141,11 @@ var ( | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Picture settings | 	// Picture settings | ||||||
| 	AvatarUploadPath  string | 	AvatarUploadPath      string | ||||||
| 	GravatarSource    string | 	GravatarSource        string | ||||||
| 	DisableGravatar   bool | 	DisableGravatar       bool | ||||||
| 	EnableFederatedAvatar   bool | 	EnableFederatedAvatar bool | ||||||
| 	LibravatarService *libravatar.Libravatar | 	LibravatarService     *libravatar.Libravatar | ||||||
|  |  | ||||||
| 	// Log settings | 	// Log settings | ||||||
| 	LogRootPath string | 	LogRootPath string | ||||||
| @@ -470,8 +470,11 @@ func NewContext() { | |||||||
| 		DisableGravatar = true | 		DisableGravatar = true | ||||||
| 		EnableFederatedAvatar = false | 		EnableFederatedAvatar = false | ||||||
| 	} | 	} | ||||||
|  | 	if DisableGravatar { | ||||||
|  | 		EnableFederatedAvatar = false | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if !DisableGravatar && EnableFederatedAvatar { | 	if EnableFederatedAvatar { | ||||||
| 		LibravatarService = libravatar.New() | 		LibravatarService = libravatar.New() | ||||||
| 		parts := strings.Split(GravatarSource, "/") | 		parts := strings.Split(GravatarSource, "/") | ||||||
| 		if len(parts) >= 3 { | 		if len(parts) >= 3 { | ||||||
|   | |||||||
| @@ -187,9 +187,24 @@ function initInstall() { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |     // TODO: better handling of exclusive relations. | ||||||
|     $('#offline-mode input').change(function () { |     $('#offline-mode input').change(function () { | ||||||
|         if ($(this).is(':checked')) { |         if ($(this).is(':checked')) { | ||||||
|             $('#disable-gravatar').checkbox('check'); |             $('#disable-gravatar').checkbox('check'); | ||||||
|  |             $('#federated-avatar-lookup').checkbox('uncheck'); | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  |     $('#disable-gravatar input').change(function () { | ||||||
|  |         if ($(this).is(':checked')) { | ||||||
|  |             $('#federated-avatar-lookup').checkbox('uncheck'); | ||||||
|  |         } else { | ||||||
|  |             $('#offline-mode').checkbox('uncheck'); | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  |     $('#federated-avatar-lookup input').change(function () { | ||||||
|  |         if ($(this).is(':checked')) { | ||||||
|  |             $('#disable-gravatar').checkbox('uncheck'); | ||||||
|  |             $('#offline-mode').checkbox('uncheck'); | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|     $('#disable-registration input').change(function () { |     $('#disable-registration input').change(function () { | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| 0.9.65.0806 | 0.9.66.0806 | ||||||
| @@ -179,7 +179,7 @@ | |||||||
| 							</div> | 							</div> | ||||||
| 							<div class="inline field"> | 							<div class="inline field"> | ||||||
| 								<div class="ui checkbox" id="federated-avatar-lookup"> | 								<div class="ui checkbox" id="federated-avatar-lookup"> | ||||||
| 									<label class="poping up" data-content="{{.i18n.Tr "install.federated_avatar_lookup"}}"><strong>{{.i18n.Tr "install.federated_avatar_lookup"}}</strong></label> | 									<label class="poping up" data-content="{{.i18n.Tr "install.federated_avatar_lookup_popup"}}"><strong>{{.i18n.Tr "install.federated_avatar_lookup"}}</strong></label> | ||||||
| 									<input name="enable_federated_avatar" type="checkbox" {{if .enable_federated_avatar}}checked{{end}}> | 									<input name="enable_federated_avatar" type="checkbox" {{if .enable_federated_avatar}}checked{{end}}> | ||||||
| 								</div> | 								</div> | ||||||
| 							</div> | 							</div> | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ | |||||||
| 						{{.CsrfTokenHtml}} | 						{{.CsrfTokenHtml}} | ||||||
| 						{{if not DisableGravatar}} | 						{{if not DisableGravatar}} | ||||||
| 						<div class="inline field"> | 						<div class="inline field"> | ||||||
| 							<div class="ui radio"> | 							<div class="ui radio checkbox"> | ||||||
| 								<input name="source" value="lookup" type="radio" {{if not .SignedUser.UseCustomAvatar}}checked{{end}}> | 								<input name="source" value="lookup" type="radio" {{if not .SignedUser.UseCustomAvatar}}checked{{end}}> | ||||||
| 								<label>{{.i18n.Tr "settings.lookup_avatar_by_mail"}}</label> | 								<label>{{.i18n.Tr "settings.lookup_avatar_by_mail"}}</label> | ||||||
| 							</div> | 							</div> | ||||||
| @@ -26,7 +26,7 @@ | |||||||
| 						{{end}} | 						{{end}} | ||||||
|  |  | ||||||
| 						<div class="inline field"> | 						<div class="inline field"> | ||||||
| 							<div class="ui radio"> | 							<div class="ui radio checkbox"> | ||||||
| 								<input name="source" value="local" type="radio" {{if .SignedUser.UseCustomAvatar}}checked{{end}}> | 								<input name="source" value="local" type="radio" {{if .SignedUser.UseCustomAvatar}}checked{{end}}> | ||||||
| 								<label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label> | 								<label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label> | ||||||
| 							</div> | 							</div> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user