parent
							
								
									2343feadd4
								
							
						
					
					
						commit
						590a79ff8a
					
				| @ -139,6 +139,9 @@ repos = Repositories | ||||
| users = Users | ||||
| organizations = Organizations | ||||
| search = Search | ||||
| repo_no_results = There are no matched repositories found. | ||||
| user_no_results = There are no matched users found. | ||||
| org_no_results = There are no matched organizations found. | ||||
| 
 | ||||
| [auth] | ||||
| create_new_account = Create New Account | ||||
|  | ||||
| @ -139,6 +139,9 @@ repos=仓库 | ||||
| users=用户 | ||||
| organizations=组织 | ||||
| search=搜索 | ||||
| repo_no_results = 没有匹配的仓库。 | ||||
| user_no_results = 没有匹配的用户。 | ||||
| org_no_results = 没有匹配的组织。 | ||||
| 
 | ||||
| [auth] | ||||
| create_new_account=创建帐户 | ||||
|  | ||||
| @ -9,6 +9,8 @@ import ( | ||||
| 
 | ||||
| 	"github.com/Unknwon/paginater" | ||||
| 
 | ||||
| 	"bytes" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/models" | ||||
| 	"code.gitea.io/gitea/modules/base" | ||||
| 	"code.gitea.io/gitea/modules/context" | ||||
| @ -60,6 +62,14 @@ type RepoSearchOptions struct { | ||||
| 	TplName  base.TplName | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	nullByte = []byte{0x00} | ||||
| ) | ||||
| 
 | ||||
| func isKeywordValid(keyword string) bool { | ||||
| 	return !bytes.Contains([]byte(keyword), nullByte) | ||||
| } | ||||
| 
 | ||||
| // RenderRepoSearch render repositories search page
 | ||||
| func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { | ||||
| 	page := ctx.QueryInt("page") | ||||
| @ -82,16 +92,18 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { | ||||
| 		} | ||||
| 		count = opts.Counter(opts.Private) | ||||
| 	} else { | ||||
| 		repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ | ||||
| 			Keyword:  keyword, | ||||
| 			OrderBy:  opts.OrderBy, | ||||
| 			Private:  opts.Private, | ||||
| 			Page:     page, | ||||
| 			PageSize: opts.PageSize, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "SearchRepositoryByName", err) | ||||
| 			return | ||||
| 		if isKeywordValid(keyword) { | ||||
| 			repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ | ||||
| 				Keyword:  keyword, | ||||
| 				OrderBy:  opts.OrderBy, | ||||
| 				Private:  opts.Private, | ||||
| 				Page:     page, | ||||
| 				PageSize: opts.PageSize, | ||||
| 			}) | ||||
| 			if err != nil { | ||||
| 				ctx.Handle(500, "SearchRepositoryByName", err) | ||||
| 				return | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| @ -156,16 +168,18 @@ func RenderUserSearch(ctx *context.Context, opts *UserSearchOptions) { | ||||
| 		} | ||||
| 		count = opts.Counter() | ||||
| 	} else { | ||||
| 		users, count, err = models.SearchUserByName(&models.SearchUserOptions{ | ||||
| 			Keyword:  keyword, | ||||
| 			Type:     opts.Type, | ||||
| 			OrderBy:  opts.OrderBy, | ||||
| 			Page:     page, | ||||
| 			PageSize: opts.PageSize, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "SearchUserByName", err) | ||||
| 			return | ||||
| 		if isKeywordValid(keyword) { | ||||
| 			users, count, err = models.SearchUserByName(&models.SearchUserOptions{ | ||||
| 				Keyword:  keyword, | ||||
| 				Type:     opts.Type, | ||||
| 				OrderBy:  opts.OrderBy, | ||||
| 				Page:     page, | ||||
| 				PageSize: opts.PageSize, | ||||
| 			}) | ||||
| 			if err != nil { | ||||
| 				ctx.Handle(500, "SearchUserByName", err) | ||||
| 				return | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
|  | ||||
| @ -24,6 +24,8 @@ | ||||
| 						    </div> | ||||
| 						  </div> | ||||
| 						</div> | ||||
| 					{{else}} | ||||
| 						<div>{{$.i18n.Tr "explore.org_no_results"}}</div> | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 
 | ||||
|  | ||||
| @ -19,5 +19,9 @@ | ||||
| 			{{if .DescriptionHTML}}<p class="has-emoji">{{.DescriptionHTML}}</p>{{end}} | ||||
| 			<p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}</p> | ||||
| 		</div> | ||||
| 	{{else}} | ||||
| 	<div> | ||||
| 		{{$.i18n.Tr "explore.repo_no_results"}} | ||||
| 	</div> | ||||
| 	{{end}} | ||||
| </div> | ||||
|  | ||||
| @ -24,6 +24,8 @@ | ||||
| 						    </div> | ||||
| 						  </div> | ||||
| 						</div> | ||||
| 					{{else}} | ||||
| 						<div>{{$.i18n.Tr "explore.user_no_results"}}</div> | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user