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  }