github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RUpdateLink.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 GetRUpdateLinkHandler(self *makross.Context) error {
    13  	self.Set("catpage", "RUpdateLinkHandler")
    14  	TplNames := "root/update_link"
    15  
    16  	linkid := self.Param("linkid").MustInt64()
    17  
    18  	link, _ := models.GetLink(linkid)
    19  
    20  	self.Set("link", link)
    21  	if nds, err := models.GetNodes(0, 0, "id"); nds != nil && err == nil {
    22  		self.Set("nodes", nds)
    23  
    24  	}
    25  
    26  	return self.Render(TplNames)
    27  
    28  }
    29  
    30  func PostRUpdateLinkHandler(self *makross.Context) error {
    31  
    32  	self.Set("catpage", "RUpdateLinkHandler")
    33  	//TplNames := "root/update_link"
    34  
    35  	linkid := self.Param("linkid").MustInt64()
    36  	nid := self.Args("nodeid").MustInt64()
    37  
    38  	images := self.FormValue("images")
    39  	title := self.FormValue("title")
    40  
    41  	policy := helper.ObjPolicy()
    42  	content := policy.Sanitize(self.FormValue("content"))
    43  
    44  	if nds, err := models.GetNodes(0, 0, "id"); nds != nil && err == nil {
    45  		self.Set("nodes", nds)
    46  	}
    47  
    48  	if len(title) > 0 && len(content) > 0 && linkid > 0 {
    49  		linkz, _ := models.GetLink(linkid)
    50  
    51  		linkz.Title = title
    52  		linkz.Content = content
    53  		linkz.Attachment = images
    54  		nd, _ := models.GetNode(nid)
    55  		if nd != nil {
    56  			linkz.Parent = nd.Title
    57  		}
    58  		linkz.Pid = nid
    59  		models.PutLink(linkid, linkz)
    60  		self.Set("linkz", linkz)
    61  		self.Flash.Success(fmt.Sprint("更新 友链ID[", linkid, "] 成功!"))
    62  		return self.Redirect("/root/update/link/" + strconv.FormatInt(linkid, 10) + "/")
    63  	} else {
    64  		self.Flash.Error(fmt.Sprint("更新 友链ID[", linkid, "] 失败!"))
    65  		return self.Redirect("/root/read/link/")
    66  
    67  	}
    68  
    69  }