MCPcopy Index your code
hub / github.com/TruthHun/BookStack / parseBookNav

Method parseBookNav

controllers/BookController.go:291–330  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

289}
290
291func (this *BookController) parseBookNav() (navs models.BookNavs, navStr string) {
292 var data struct {
293 Name []string `json:"name"`
294 URL []string `json:"url"`
295 Sort []string `json:"sort"`
296 Icon []string `json:"icon"`
297 Color []string `json:"color"`
298 Target []string `json:"target"`
299 }
300 b, _ := json.Marshal(this.Ctx.Request.PostForm)
301 json.Unmarshal(b, &data)
302 lenName := len(data.Name)
303 if lenName == 0 || lenName != len(data.URL) || lenName != len(data.Sort) || lenName != len(data.Icon) || lenName != len(data.Color) || lenName != len(data.Target) {
304 return
305 }
306
307 for idx, name := range data.Name {
308 name = strings.TrimSpace(name)
309 url := strings.TrimSpace(data.URL[idx])
310 if url == "" || name == "" {
311 continue
312 }
313 nav := models.BookNav{
314 Name: name,
315 URL: url,
316 Color: strings.TrimSpace(data.Color[idx]),
317 Icon: strings.TrimSpace(data.Icon[idx]),
318 Target: strings.TrimSpace(data.Target[idx]),
319 }
320 nav.Sort, _ = strconv.Atoi(strings.TrimSpace(data.Sort[idx]))
321 navs = append(navs, nav)
322 }
323 if len(navs) > 0 {
324 // 排序
325 sort.Sort(navs)
326 b, _ := json.Marshal(navs)
327 navStr = string(b)
328 }
329 return
330}
331
332// 设置书籍私有状态.
333func (this *BookController) PrivatelyOwned() {

Callers 1

SaveBookMethod · 0.95

Calls 3

stringFunction · 0.85
SortMethod · 0.80
appendFunction · 0.50

Tested by

no test coverage detected