@@ -34,86 +34,91 @@ func Code(ctx *context.Context) {
34
34
35
35
language := ctx .FormTrim ("l" )
36
36
keyword := ctx .FormTrim ("q" )
37
+
38
+ queryType := ctx .FormTrim ("t" )
39
+ isMatch := queryType == "match"
40
+
41
+ ctx .Data ["Keyword" ] = keyword
42
+ ctx .Data ["Language" ] = language
43
+ ctx .Data ["queryType" ] = queryType
44
+ ctx .Data ["PageIsViewCode" ] = true
45
+
46
+ if keyword == "" {
47
+ ctx .HTML (http .StatusOK , tplExploreCode )
48
+ return
49
+ }
50
+
37
51
page := ctx .FormInt ("page" )
38
52
if page <= 0 {
39
53
page = 1
40
54
}
41
55
42
- queryType := ctx .FormTrim ("t" )
43
- isMatch := queryType == "match"
56
+ var (
57
+ repoIDs []int64
58
+ err error
59
+ isAdmin bool
60
+ )
61
+ if ctx .Doer != nil {
62
+ isAdmin = ctx .Doer .IsAdmin
63
+ }
44
64
45
- if keyword != "" {
46
- var (
47
- repoIDs []int64
48
- err error
49
- isAdmin bool
50
- )
51
- if ctx .Doer != nil {
52
- isAdmin = ctx .Doer .IsAdmin
65
+ // guest user or non-admin user
66
+ if ctx .Doer == nil || ! isAdmin {
67
+ repoIDs , err = repo_model .FindUserCodeAccessibleRepoIDs (ctx , ctx .Doer )
68
+ if err != nil {
69
+ ctx .ServerError ("FindUserCodeAccessibleRepoIDs" , err )
70
+ return
53
71
}
72
+ }
54
73
55
- // guest user or non-admin user
56
- if ctx .Doer == nil || ! isAdmin {
57
- repoIDs , err = repo_model .FindUserCodeAccessibleRepoIDs (ctx .Doer )
58
- if err != nil {
74
+ var (
75
+ total int
76
+ searchResults []* code_indexer.Result
77
+ searchResultLanguages []* code_indexer.SearchResultLanguages
78
+ )
79
+
80
+ if (len (repoIDs ) > 0 ) || isAdmin {
81
+ total , searchResults , searchResultLanguages , err = code_indexer .PerformSearch (ctx , repoIDs , language , keyword , page , setting .UI .RepoSearchPagingNum , isMatch )
82
+ if err != nil {
83
+ if code_indexer .IsAvailable () {
59
84
ctx .ServerError ("SearchResults" , err )
60
85
return
61
86
}
87
+ ctx .Data ["CodeIndexerUnavailable" ] = true
88
+ } else {
89
+ ctx .Data ["CodeIndexerUnavailable" ] = ! code_indexer .IsAvailable ()
62
90
}
63
91
64
- var (
65
- total int
66
- searchResults []* code_indexer.Result
67
- searchResultLanguages []* code_indexer.SearchResultLanguages
68
- )
69
-
70
- if (len (repoIDs ) > 0 ) || isAdmin {
71
- total , searchResults , searchResultLanguages , err = code_indexer .PerformSearch (ctx , repoIDs , language , keyword , page , setting .UI .RepoSearchPagingNum , isMatch )
72
- if err != nil {
73
- if code_indexer .IsAvailable () {
74
- ctx .ServerError ("SearchResults" , err )
75
- return
92
+ loadRepoIDs := make ([]int64 , 0 , len (searchResults ))
93
+ for _ , result := range searchResults {
94
+ var find bool
95
+ for _ , id := range loadRepoIDs {
96
+ if id == result .RepoID {
97
+ find = true
98
+ break
76
99
}
77
- ctx .Data ["CodeIndexerUnavailable" ] = true
78
- } else {
79
- ctx .Data ["CodeIndexerUnavailable" ] = ! code_indexer .IsAvailable ()
80
100
}
81
-
82
- loadRepoIDs := make ([]int64 , 0 , len (searchResults ))
83
- for _ , result := range searchResults {
84
- var find bool
85
- for _ , id := range loadRepoIDs {
86
- if id == result .RepoID {
87
- find = true
88
- break
89
- }
90
- }
91
- if ! find {
92
- loadRepoIDs = append (loadRepoIDs , result .RepoID )
93
- }
94
- }
95
-
96
- repoMaps , err := repo_model .GetRepositoriesMapByIDs (loadRepoIDs )
97
- if err != nil {
98
- ctx .ServerError ("SearchResults" , err )
99
- return
101
+ if ! find {
102
+ loadRepoIDs = append (loadRepoIDs , result .RepoID )
100
103
}
104
+ }
101
105
102
- ctx .Data ["RepoMaps" ] = repoMaps
106
+ repoMaps , err := repo_model .GetRepositoriesMapByIDs (loadRepoIDs )
107
+ if err != nil {
108
+ ctx .ServerError ("GetRepositoriesMapByIDs" , err )
109
+ return
103
110
}
104
111
105
- ctx .Data ["Keyword" ] = keyword
106
- ctx .Data ["Language" ] = language
107
- ctx .Data ["queryType" ] = queryType
108
- ctx .Data ["SearchResults" ] = searchResults
109
- ctx .Data ["SearchResultLanguages" ] = searchResultLanguages
110
- ctx .Data ["PageIsViewCode" ] = true
111
-
112
- pager := context .NewPagination (total , setting .UI .RepoSearchPagingNum , page , 5 )
113
- pager .SetDefaultParams (ctx )
114
- pager .AddParam (ctx , "l" , "Language" )
115
- ctx .Data ["Page" ] = pager
112
+ ctx .Data ["RepoMaps" ] = repoMaps
116
113
}
117
114
115
+ ctx .Data ["SearchResults" ] = searchResults
116
+ ctx .Data ["SearchResultLanguages" ] = searchResultLanguages
117
+
118
+ pager := context .NewPagination (total , setting .UI .RepoSearchPagingNum , page , 5 )
119
+ pager .SetDefaultParams (ctx )
120
+ pager .AddParam (ctx , "l" , "Language" )
121
+ ctx .Data ["Page" ] = pager
122
+
118
123
ctx .HTML (http .StatusOK , tplExploreCode )
119
124
}
0 commit comments