本文整理匯總了Golang中github.com/fuxiaohei/GoInk.Context.Do方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.Do方法的具體用法?Golang Context.Do怎麽用?Golang Context.Do使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/fuxiaohei/GoInk.Context
的用法示例。
在下文中一共展示了Context.Do方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: AdminPlugin
func AdminPlugin(context *GoInk.Context) {
if context.Method == "POST" {
action := context.String("action")
if action == "" {
Json(context, false).End()
return
}
pln := context.String("plugin")
if action == "activate" {
plugin.Activate(pln)
plugin.Update(context.App())
Json(context, true).End()
context.Do("plugin_activated", pln)
return
}
if action == "deactivate" {
plugin.Deactivate(pln)
Json(context, true).End()
context.Do("plugin_deactivated", pln)
return
}
context.Status = 405
Json(context, false).End()
return
}
context.Layout("admin/admin")
context.Render("admin/plugin", map[string]interface{}{
"Title": "插件",
"Plugins": plugin.GetPlugins(),
})
}
示例2: ArticleWrite
func ArticleWrite(context *GoInk.Context) {
if context.Method == "POST" {
c := new(model.Content)
c.Id = 0
data := context.Input()
if !c.ChangeSlug(data["slug"]) {
Json(context, false).Set("msg", "固定鏈接重複").End()
return
}
c.Title = data["title"]
c.Text = data["content"]
c.Tags = strings.Split(strings.Replace(data["tag"], ",", ",", -1), ",")
c.IsComment = data["comment"] == "1"
c.IsLinked = false
c.AuthorId, _ = strconv.Atoi(context.Cookie("token-user"))
c.Template = "blog.html"
c.Status = data["status"]
c.Format = "markdown"
c.Hits = 1
var e error
c, e = model.CreateContent(c, "article")
if e != nil {
Json(context, false).Set("msg", e.Error()).End()
return
}
Json(context, true).Set("content", c).End()
context.Do("article_created", c)
//c.Type = "article"
return
}
context.Layout("admin/admin")
context.Render("admin/write_article", map[string]interface{}{
"Title": "撰寫文章",
})
}
示例3: CmdBackup
func CmdBackup(context *GoInk.Context) {
if context.Method == "POST" {
file, e := cmd.DoBackup(context.App(), true)
if e != nil {
Json(context, false).Set("msg", e.Error()).End()
return
}
Json(context, true).Set("file", file).End()
context.Do("bakcup_success", file)
model.CreateMessage("backup", "[1]"+file)
return
}
if context.Method == "DELETE" {
file := context.String("file")
if file == "" {
Json(context, false).End()
return
}
cmd.RemoveBackupFile(file)
Json(context, true).End()
context.Do("backup_delete", file)
return
}
files, _ := cmd.GetBackupFiles()
context.Layout("admin/cmd")
context.Render("admin/cmd/backup", map[string]interface{}{
"Files": files,
"Title": "備份",
})
}
示例4: AdminProfile
func AdminProfile(context *GoInk.Context) {
uid, _ := strconv.Atoi(context.Cookie("token-user"))
user := model.GetUserById(uid)
if context.Method == "POST" {
data := context.Input()
if !user.ChangeEmail(data["email"]) {
Json(context, false).Set("msg", "郵箱與別的用戶重複").End()
return
}
user.Name = data["user"]
user.Email = data["email"]
user.Avatar = utils.Gravatar(user.Email, "180")
user.Url = data["url"]
user.Nick = data["nick"]
user.Bio = data["bio"]
Json(context, true).End()
go model.SyncUsers()
go model.UpdateCommentAdmin(user)
context.Do("profile_update", user)
return
}
context.Layout("admin/admin")
context.Render("admin/profile", map[string]interface{}{
"Title": "個性資料",
"User": user,
})
}
示例5: Comment
func Comment(context *GoInk.Context) {
cid, _ := strconv.Atoi(context.Param("id"))
if cid < 1 {
Json(context, false).End()
return
}
if model.GetContentById(cid) == nil {
Json(context, false).End()
return
}
data := context.Input()
msg := validateComment(data)
if msg != "" {
Json(context, false).Set("msg", msg).End()
return
}
co := new(model.Comment)
co.Author = data["user"]
co.Email = data["email"]
co.Url = data["url"]
co.Content = data["content"]
co.Avatar = utils.Gravatar(co.Email, "50")
co.Pid, _ = strconv.Atoi(data["pid"])
co.Ip = context.Ip
co.UserAgent = context.UserAgent
co.IsAdmin = false
model.CreateComment(cid, co)
Json(context, true).Set("comment", co.ToJson()).End()
model.CreateMessage("comment", co)
context.Do("comment_created", co)
}
示例6: NavigatorSetting
func NavigatorSetting(context *GoInk.Context) {
order := context.Strings("order")
text := context.Strings("text")
title := context.Strings("title")
link := context.Strings("link")
model.SetNavigators(order, text, title, link)
Json(context, true).End()
context.Do("setting_saved")
return
}
示例7: CustomSetting
func CustomSetting(context *GoInk.Context) {
keys := context.Strings("key")
values := context.Strings("value")
for i, k := range keys {
if len(k) < 1 {
continue
}
model.SetSetting("c_"+k, values[i])
}
model.SyncSettings()
Json(context, true).End()
context.Do("setting_saved")
return
}
示例8: AdminFiles
func AdminFiles(context *GoInk.Context) {
if context.Method == "DELETE" {
id := context.Int("id")
model.RemoveFile(id)
Json(context, true).End()
context.Do("attach_delete", id)
return
}
files, pager := model.GetFileList(context.Int("page"), 10)
context.Layout("admin/admin")
context.Render("admin/files", map[string]interface{}{
"Title": "媒體文件",
"Files": files,
"Pager": pager,
})
}
示例9: AdminPassword
func AdminPassword(context *GoInk.Context) {
if context.Method == "POST" {
uid, _ := strconv.Atoi(context.Cookie("token-user"))
user := model.GetUserById(uid)
if !user.CheckPassword(context.String("old")) {
Json(context, false).Set("msg", "舊密碼錯誤").End()
return
}
user.ChangePassword(context.String("new"))
go model.SyncUsers()
Json(context, true).End()
context.Do("password_update", user)
return
}
context.Layout("admin/admin")
context.Render("admin/password", map[string]interface{}{
"Title": "修改密碼",
//"User":user,
})
}
示例10: FileUpload
func FileUpload(context *GoInk.Context) {
var req *http.Request
req = context.Request
req.ParseMultipartForm(32 << 20)
f, h, e := req.FormFile("file")
if e != nil {
Json(context, false).Set("msg", e.Error()).End()
return
}
data, _ := ioutil.ReadAll(f)
maxSize := context.App().Config().Int("app.upload_size")
defer func() {
f.Close()
data = nil
h = nil
}()
if len(data) >= maxSize {
Json(context, false).Set("msg", "文件應小於10M").End()
return
}
if !strings.Contains(context.App().Config().String("app.upload_files"), path.Ext(h.Filename)) {
Json(context, false).Set("msg", "文件隻支持Office文件,圖片和zip存檔").End()
return
}
ff := new(model.File)
ff.Name = h.Filename
ff.Type = context.StringOr("type", "image")
ff.Size = int64(len(data))
ff.ContentType = h.Header["Content-Type"][0]
ff.Author, _ = strconv.Atoi(context.Cookie("token-user"))
ff.Url = model.CreateFilePath(context.App().Get("upload_dir"), ff)
e = ioutil.WriteFile(ff.Url, data, os.ModePerm)
if e != nil {
Json(context, false).Set("msg", e.Error()).End()
return
}
model.CreateFile(ff)
Json(context, true).Set("file", ff).End()
context.Do("attach_created", ff)
}
示例11: PageEdit
func PageEdit(context *GoInk.Context) {
id, _ := strconv.Atoi(context.Param("id"))
c := model.GetContentById(id)
if c == nil {
context.Redirect("/admin/pages/")
return
}
if context.Method == "DELETE" {
model.RemoveContent(c)
Json(context, true).End()
return
}
if context.Method == "POST" {
data := context.Input()
if !c.ChangeSlug(data["slug"]) {
Json(context, false).Set("msg", "固定鏈接重複").End()
return
}
c.Title = data["title"]
c.Text = data["content"]
//c.Tags = strings.Split(strings.Replace(data["tag"], ",", ",", -1), ",")
c.IsComment = data["comment"] == "1"
c.IsLinked = data["link"] == "1"
//c.AuthorId, _ = strconv.Atoi(context.Cookie("token-user"))
//c.Template = "blog.html"
c.Status = data["status"]
//c.Format = "markdown"
model.SaveContent(c)
Json(context, true).Set("content", c).End()
context.Do("page_modified", c)
//c.Type = "article"
return
}
context.Layout("admin/admin")
context.Render("admin/edit_page", map[string]interface{}{
"Title": "編輯文章",
"Page": c,
})
}
示例12: PluginSetting
func PluginSetting(context *GoInk.Context) {
key := context.Param("plugin_key")
if key == "" {
context.Redirect("/admin/plugins/")
return
}
p := plugin.GetPluginByKey(key)
if p == nil {
context.Redirect("/admin/plugins/")
return
}
if context.Method == "POST" {
p.SetSetting(context.Input())
Json(context, true).End()
context.Do("plugin_setting_saved", p)
return
}
context.Layout("admin/admin")
context.Render("admin/plugin_setting", map[string]interface{}{
"Title": "插件 - " + p.Name(),
"Form": p.Form(),
})
}
示例13: AdminSetting
func AdminSetting(context *GoInk.Context) {
if context.Method == "POST" {
data := context.Input()
for k, v := range data {
if v == "" {
if data[k+"_def"] != "" {
v = data[k+"_def"]
}
}
model.SetSetting(k, v)
}
model.SyncSettings()
Json(context, true).End()
context.Do("setting_saved")
return
}
context.Layout("admin/admin")
context.Render("admin/setting", map[string]interface{}{
"Title": "配置",
"Custom": model.GetCustomSettings(),
"Navigators": model.GetNavigators(),
})
}
示例14: AdminComments
func AdminComments(context *GoInk.Context) {
if context.Method == "DELETE" {
id := context.Int("id")
cmt := model.GetCommentById(id)
model.RemoveComment(cmt.Cid, id)
Json(context, true).End()
context.Do("comment_delete", id)
return
}
if context.Method == "PUT" {
id := context.Int("id")
cmt2 := model.GetCommentById(id)
cmt2.Status = "approved"
cmt2.GetReader().Active = true
model.SaveComment(cmt2)
Json(context, true).End()
context.Do("comment_change_status", cmt2)
return
}
if context.Method == "POST" {
// get required data
pid := context.Int("pid")
cid := model.GetCommentById(pid).Cid
uid, _ := strconv.Atoi(context.Cookie("token-user"))
user := model.GetUserById(uid)
co := new(model.Comment)
co.Author = user.Nick
co.Email = user.Email
co.Url = user.Url
co.Content = context.String("content")
co.Avatar = utils.Gravatar(co.Email, "50")
co.Pid = pid
co.Ip = context.Ip
co.UserAgent = context.UserAgent
co.IsAdmin = true
model.CreateComment(cid, co)
Json(context, true).Set("comment", co.ToJson()).End()
model.CreateMessage("comment", co)
context.Do("comment_reply", co)
return
}
page := context.IntOr("page", 1)
comments, pager := model.GetCommentList(page, 10)
context.Layout("admin/admin")
context.Render("admin/comments", map[string]interface{}{
"Title": "評論",
"Comments": comments,
"Pager": pager,
})
}
示例15: CmdBackupFile
func CmdBackupFile(context *GoInk.Context) {
file := context.String("file")
context.Download(cmd.GetBackupFileAbsPath(file))
context.Do("backup_download", file)
}