github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RCreateLink.go (about) 1 package root 2 3 import ( 4 "fmt" 5 "github.com/insionng/makross" 6 7 "strconv" 8 "github.com/insionng/yougam/helper" 9 "github.com/insionng/yougam/models" 10 ) 11 12 func GetRCreateLinkHandler(self *makross.Context) error { 13 14 self.Set("catpage", "RCreateLinkHandler") 15 if nds, err := models.GetNodes(0, 0, "id"); nds != nil && err == nil { 16 self.Set("nodes", *nds) 17 } 18 19 TplNames := "root/create_link" 20 return self.Render(TplNames) 21 22 } 23 24 func PostRCreateLinkHandler(self *makross.Context) error { 25 26 policy := helper.StandardURLsPolicy() 27 content := policy.Sanitize(self.FormValue("content")) 28 29 title := self.FormValue("title") 30 images := self.FormValue("images") 31 nid := self.Args("nodeid").MustInt64() 32 nd, _ := models.GetNode(nid) 33 var parentname string 34 if nd != nil { 35 parentname = nd.Title 36 } 37 38 if len(title) > 0 && len(content) > 0 { 39 40 if cid, err := models.AddLink(title, content, images, nid, parentname); err != nil { 41 42 self.Flash.Error(fmt.Sprint("增加友链出现错误:", err)) 43 return self.Redirect("/root/create/link/") 44 45 } else { 46 self.Flash.Success("新增友链成功!") 47 return self.Redirect("/root/read/link/" + strconv.FormatInt(cid, 10) + "/") 48 49 } 50 } else { 51 self.Flash.Error("友链标题及内容不能为空!") 52 return self.Redirect("/root/create/link/") 53 54 } 55 56 }